@skyux/lookup 5.7.2 → 6.0.0-beta.2
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/documentation.json +2 -2
- package/esm2020/index.mjs +32 -0
- package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +61 -0
- package/esm2020/lib/modules/autocomplete/autocomplete-default-search-function.mjs +39 -0
- package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +221 -0
- package/esm2020/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +19 -0
- package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +739 -0
- package/esm2020/lib/modules/autocomplete/autocomplete.module.mjs +65 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-message-type.mjs +15 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-message.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +2 -0
- package/esm2020/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +2 -0
- package/esm2020/lib/modules/country-field/country-field.component.mjs +397 -0
- package/esm2020/lib/modules/country-field/country-field.module.mjs +49 -0
- package/esm2020/lib/modules/country-field/types/country.mjs +2 -0
- package/esm2020/lib/modules/lookup/lookup-adapter.service.mjs +21 -0
- package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +78 -0
- package/esm2020/lib/modules/lookup/lookup-item-selected.pipe.mjs +16 -0
- package/esm2020/lib/modules/lookup/lookup-show-more-async-modal.component.mjs +181 -0
- package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +249 -0
- package/esm2020/lib/modules/lookup/lookup.component.mjs +601 -0
- package/esm2020/lib/modules/lookup/lookup.module.mjs +90 -0
- package/esm2020/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-add-click-event-args.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-select-mode-type.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-select-mode.mjs +16 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-config.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +7 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.mjs +7 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +2 -0
- package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +7 -0
- package/esm2020/lib/modules/search/search-adapter.service.mjs +45 -0
- package/esm2020/lib/modules/search/search.component.mjs +253 -0
- package/esm2020/lib/modules/search/search.module.mjs +46 -0
- package/esm2020/lib/modules/shared/sky-lookup-resources.module.mjs +72 -0
- package/esm2020/lib/modules/shared/sky-lookup-string-utils.mjs +8 -0
- package/esm2020/skyux-lookup.mjs +5 -0
- package/esm2020/testing/country-field/country-field-fixture.mjs +114 -0
- package/esm2020/testing/country-field/country-field-testing.module.mjs +15 -0
- package/esm2020/testing/public-api.mjs +5 -0
- package/esm2020/testing/search/search-fixture.mjs +57 -0
- package/esm2020/testing/search/search-testing.module.mjs +15 -0
- package/esm2020/testing/skyux-lookup-testing.mjs +5 -0
- package/fesm2015/{skyux-lookup-testing.js → skyux-lookup-testing.mjs} +9 -9
- package/fesm2015/skyux-lookup-testing.mjs.map +1 -0
- package/fesm2015/skyux-lookup.mjs +3153 -0
- package/fesm2015/skyux-lookup.mjs.map +1 -0
- package/fesm2020/skyux-lookup-testing.mjs +203 -0
- package/fesm2020/skyux-lookup-testing.mjs.map +1 -0
- package/fesm2020/skyux-lookup.mjs +3144 -0
- package/fesm2020/skyux-lookup.mjs.map +1 -0
- package/package.json +45 -21
- package/testing/package.json +5 -5
- package/bundles/skyux-lookup-testing.umd.js +0 -620
- package/bundles/skyux-lookup.umd.js +0 -3793
- package/esm2015/index.js +0 -32
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js +0 -61
- package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js +0 -39
- package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js +0 -221
- package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js +0 -19
- package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete.component.js +0 -745
- package/esm2015/lib/modules/autocomplete/autocomplete.component.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/autocomplete.module.js +0 -65
- package/esm2015/lib/modules/autocomplete/autocomplete.module.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js +0 -15
- package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js.map +0 -1
- package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js +0 -2
- package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js.map +0 -1
- package/esm2015/lib/modules/country-field/country-field.component.js +0 -404
- package/esm2015/lib/modules/country-field/country-field.component.js.map +0 -1
- package/esm2015/lib/modules/country-field/country-field.module.js +0 -49
- package/esm2015/lib/modules/country-field/country-field.module.js.map +0 -1
- package/esm2015/lib/modules/country-field/types/country.js +0 -2
- package/esm2015/lib/modules/country-field/types/country.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup-adapter.service.js +0 -21
- package/esm2015/lib/modules/lookup/lookup-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js +0 -78
- package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js +0 -16
- package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js +0 -186
- package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js +0 -258
- package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup.component.js +0 -610
- package/esm2015/lib/modules/lookup/lookup.component.js.map +0 -1
- package/esm2015/lib/modules/lookup/lookup.module.js +0 -94
- package/esm2015/lib/modules/lookup/lookup.module.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-select-mode.js +0 -16
- package/esm2015/lib/modules/lookup/types/lookup-select-mode.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js +0 -7
- package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js +0 -7
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js +0 -2
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js.map +0 -1
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js +0 -7
- package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js.map +0 -1
- package/esm2015/lib/modules/search/search-adapter.service.js +0 -45
- package/esm2015/lib/modules/search/search-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/search/search.component.js +0 -260
- package/esm2015/lib/modules/search/search.component.js.map +0 -1
- package/esm2015/lib/modules/search/search.module.js +0 -46
- package/esm2015/lib/modules/search/search.module.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-lookup-resources.module.js +0 -72
- package/esm2015/lib/modules/shared/sky-lookup-resources.module.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-lookup-string-utils.js +0 -8
- package/esm2015/lib/modules/shared/sky-lookup-string-utils.js.map +0 -1
- package/esm2015/skyux-lookup.js +0 -5
- package/esm2015/skyux-lookup.js.map +0 -1
- package/esm2015/testing/country-field/country-field-fixture.js +0 -123
- package/esm2015/testing/country-field/country-field-fixture.js.map +0 -1
- package/esm2015/testing/country-field/country-field-testing.module.js +0 -15
- package/esm2015/testing/country-field/country-field-testing.module.js.map +0 -1
- package/esm2015/testing/public-api.js +0 -5
- package/esm2015/testing/public-api.js.map +0 -1
- package/esm2015/testing/search/search-fixture.js +0 -57
- package/esm2015/testing/search/search-fixture.js.map +0 -1
- package/esm2015/testing/search/search-testing.module.js +0 -15
- package/esm2015/testing/search/search-testing.module.js.map +0 -1
- package/esm2015/testing/skyux-lookup-testing.js +0 -5
- package/esm2015/testing/skyux-lookup-testing.js.map +0 -1
- package/fesm2015/skyux-lookup-testing.js.map +0 -1
- package/fesm2015/skyux-lookup.js +0 -3191
- package/fesm2015/skyux-lookup.js.map +0 -1
package/documentation.json
CHANGED
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"name": "NgModule"
|
|
126
126
|
},
|
|
127
127
|
"arguments": {
|
|
128
|
-
"obj": "{\n declarations: [\n SkyLookupComponent,\n SkyLookupItemSelectedPipe,\n SkyLookupShowMoreAsyncModalComponent,\n SkyLookupShowMoreModalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyAutocompleteModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyInfiniteScrollModule,\n SkyI18nModule,\n SkyLookupResourcesModule,\n SkyModalModule,\n SkyRepeaterModule,\n SkySearchModule,\n SkyThemeModule,\n SkyTokensModule,\n SkyToolbarModule,\n SkyViewkeeperModule,\n SkyWaitModule,\n ],\n
|
|
128
|
+
"obj": "{\n declarations: [\n SkyLookupComponent,\n SkyLookupItemSelectedPipe,\n SkyLookupShowMoreAsyncModalComponent,\n SkyLookupShowMoreModalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyAutocompleteModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyInfiniteScrollModule,\n SkyI18nModule,\n SkyLookupResourcesModule,\n SkyModalModule,\n SkyRepeaterModule,\n SkySearchModule,\n SkyThemeModule,\n SkyTokensModule,\n SkyToolbarModule,\n SkyViewkeeperModule,\n SkyWaitModule,\n ],\n exports: [SkyLookupComponent],\n}"
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
],
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"sources": [
|
|
143
143
|
{
|
|
144
144
|
"fileName": "projects/lookup/src/modules/lookup/lookup.module.ts",
|
|
145
|
-
"line":
|
|
145
|
+
"line": 53,
|
|
146
146
|
"character": 13
|
|
147
147
|
}
|
|
148
148
|
]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from './lib/modules/autocomplete/types/autocomplete-default-search-function-options';
|
|
2
|
+
export * from './lib/modules/autocomplete/types/autocomplete-input-text-change';
|
|
3
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-async-args';
|
|
4
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-async-result';
|
|
5
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-async-result-display-type';
|
|
6
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-function';
|
|
7
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-function-filter';
|
|
8
|
+
export * from './lib/modules/autocomplete/types/autocomplete-search-function-response';
|
|
9
|
+
export * from './lib/modules/autocomplete/types/autocomplete-selection-change';
|
|
10
|
+
export * from './lib/modules/autocomplete/autocomplete.module';
|
|
11
|
+
export * from './lib/modules/country-field/country-field.module';
|
|
12
|
+
export * from './lib/modules/country-field/types/country';
|
|
13
|
+
export * from './lib/modules/lookup/lookup.module';
|
|
14
|
+
export * from './lib/modules/lookup/types/lookup-add-click-callback-args';
|
|
15
|
+
export * from './lib/modules/lookup/types/lookup-add-click-event-args';
|
|
16
|
+
export * from './lib/modules/lookup/types/lookup-select-mode';
|
|
17
|
+
export * from './lib/modules/lookup/types/lookup-select-mode-type';
|
|
18
|
+
export * from './lib/modules/lookup/types/lookup-show-more-config';
|
|
19
|
+
export * from './lib/modules/lookup/types/lookup-show-more-custom-picker';
|
|
20
|
+
export * from './lib/modules/lookup/types/lookup-show-more-custom-picker-context';
|
|
21
|
+
export * from './lib/modules/lookup/types/lookup-show-more-native-picker-config';
|
|
22
|
+
export * from './lib/modules/search/search.module';
|
|
23
|
+
// The following exports are needed internally by @skyux/list-builder.
|
|
24
|
+
// TODO: Find a way to remove them in the next major version release.
|
|
25
|
+
export * from './lib/modules/search/search.component';
|
|
26
|
+
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
27
|
+
// Obscure names are used to indicate types are not part of the public API.
|
|
28
|
+
export { SkyAutocompleteInputDirective as λ1 } from './lib/modules/autocomplete/autocomplete-input.directive';
|
|
29
|
+
export { SkyAutocompleteComponent as λ2 } from './lib/modules/autocomplete/autocomplete.component';
|
|
30
|
+
export { SkyCountryFieldComponent as λ3 } from './lib/modules/country-field/country-field.component';
|
|
31
|
+
export { SkyLookupComponent as λ4 } from './lib/modules/lookup/lookup.component';
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxrRUFBa0UsQ0FBQztBQUVqRixjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELHNFQUFzRTtBQUN0RSxxRUFBcUU7QUFDckUsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsd0JBQXdCLElBQUksRUFBRSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEVBQUUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxFQUFFLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1kZWZhdWx0LXNlYXJjaC1mdW5jdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1pbnB1dC10ZXh0LWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWFzeW5jLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1yZXN1bHQtZGlzcGxheS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VsZWN0aW9uLWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY291bnRyeS1maWVsZC90eXBlcy9jb3VudHJ5JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtYWRkLWNsaWNrLWNhbGxiYWNrLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLWFkZC1jbGljay1ldmVudC1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1zZWxlY3QtbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2VsZWN0LW1vZGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2hvdy1tb3JlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2hvdy1tb3JlLWN1c3RvbS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydHMgYXJlIG5lZWRlZCBpbnRlcm5hbGx5IGJ5IEBza3l1eC9saXN0LWJ1aWxkZXIuXG4vLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHJlbW92ZSB0aGVtIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSBhcyDOuzEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUNvbXBvbmVudCBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZENvbXBvbmVudCBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TG9va3VwQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvbG9va3VwL2xvb2t1cC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable, RendererFactory2, } from '@angular/core';
|
|
2
|
+
import { SkyCoreAdapterService } from '@skyux/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@skyux/core";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SkyAutocompleteAdapterService {
|
|
9
|
+
constructor(coreAdapterService, rendererFactory) {
|
|
10
|
+
this.coreAdapterService = coreAdapterService;
|
|
11
|
+
this.rendererFactory = rendererFactory;
|
|
12
|
+
this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Adds the className for the provided element.
|
|
16
|
+
*/
|
|
17
|
+
addCSSClass(element, className) {
|
|
18
|
+
/* Sanity check */
|
|
19
|
+
/* istanbul ignore else */
|
|
20
|
+
if (element) {
|
|
21
|
+
this.renderer.addClass(element, className);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
getOverlayFocusableElements(overlay) {
|
|
25
|
+
return this.coreAdapterService.getFocusableChildren(
|
|
26
|
+
/* Sanity check - calling function also has null check */
|
|
27
|
+
/* istanbul ignore next */
|
|
28
|
+
overlay?.componentRef.location.nativeElement, { ignoreTabIndex: true });
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Removes the className for the provided element.
|
|
32
|
+
*/
|
|
33
|
+
removeCSSClass(element, className) {
|
|
34
|
+
/* Sanity check */
|
|
35
|
+
/* istanbul ignore else */
|
|
36
|
+
if (element) {
|
|
37
|
+
this.renderer.removeClass(element, className);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setDropdownWidth(elementRef, dropdownRef, isInputBox) {
|
|
41
|
+
const parentElement = isInputBox
|
|
42
|
+
? elementRef.nativeElement.closest('.sky-input-box')
|
|
43
|
+
: elementRef.nativeElement;
|
|
44
|
+
if (parentElement) {
|
|
45
|
+
const width = parentElement.getBoundingClientRect().width;
|
|
46
|
+
this.renderer.setStyle(dropdownRef.nativeElement, 'width', `${width}px`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sets the `tabIndex` of the `element` to the provided `tabIndex`.
|
|
51
|
+
*/
|
|
52
|
+
setTabIndex(element, tabIndex) {
|
|
53
|
+
element.tabIndex = tabIndex;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
SkyAutocompleteAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
SkyAutocompleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService, decorators: [{
|
|
59
|
+
type: Injectable
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i0.RendererFactory2 }]; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxhQUFhLENBQUM7OztBQUV4RTs7R0FFRztBQUVILE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsWUFDVSxrQkFBeUMsRUFDekMsZUFBaUM7UUFEakMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFFekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQW9CLEVBQUUsU0FBaUI7UUFDeEQsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CO1FBQ2pELHlEQUF5RDtRQUN6RCwwQkFBMEI7UUFDMUIsT0FBTyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUM1QyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxPQUFvQixFQUFFLFNBQWlCO1FBQzNELGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLFVBQXNCLEVBQ3RCLFdBQXVCLEVBQ3ZCLFVBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUFHLFVBQVU7WUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzdCLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBb0IsRUFBRSxRQUFnQjtRQUN2RCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDOzswSEE5RFUsNkJBQTZCOzhIQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UsIFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBjbGFzc05hbWUgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFkZENTU0NsYXNzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0T3ZlcmxheUZvY3VzYWJsZUVsZW1lbnRzKFxuICAgIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZVxuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAvKiBTYW5pdHkgY2hlY2sgLSBjYWxsaW5nIGZ1bmN0aW9uIGFsc28gaGFzIG51bGwgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBvdmVybGF5Py5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgIHsgaWdub3JlVGFiSW5kZXg6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgY2xhc3NOYW1lIGZvciB0aGUgcHJvdmlkZWQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVDU1NDbGFzcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldERyb3Bkb3duV2lkdGgoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBkcm9wZG93blJlZjogRWxlbWVudFJlZixcbiAgICBpc0lucHV0Qm94OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBpc0lucHV0Qm94XG4gICAgICA/IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2t5LWlucHV0LWJveCcpXG4gICAgICA6IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAocGFyZW50RWxlbWVudCkge1xuICAgICAgY29uc3Qgd2lkdGggPSBwYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93blJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgdGFiSW5kZXhgIG9mIHRoZSBgZWxlbWVudGAgdG8gdGhlIHByb3ZpZGVkIGB0YWJJbmRleGAuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFiSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBlbGVtZW50LnRhYkluZGV4ID0gdGFiSW5kZXg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { normalizeDiacritics } from '../shared/sky-lookup-string-utils';
|
|
2
|
+
export function skyAutocompleteDefaultSearchFunction(options) {
|
|
3
|
+
const filterData = function (searchText, data) {
|
|
4
|
+
return data.filter((item) => {
|
|
5
|
+
if (!options.searchFilters || !options.searchFilters.length) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
// Find the first failing filter (we can skip the others if one fails).
|
|
9
|
+
const failedFilter = options.searchFilters.find((filter) => {
|
|
10
|
+
return !filter.call({}, searchText, item);
|
|
11
|
+
});
|
|
12
|
+
return failedFilter === undefined;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
const search = function (searchText, data) {
|
|
16
|
+
const results = [];
|
|
17
|
+
/* Sanity check - autocomplete will not call search with empty search text */
|
|
18
|
+
/* istanbul ignore if */
|
|
19
|
+
if (!searchText) {
|
|
20
|
+
return results;
|
|
21
|
+
}
|
|
22
|
+
const searchTextNormalized = normalizeDiacritics(searchText).toUpperCase();
|
|
23
|
+
const filteredData = filterData(searchText, data);
|
|
24
|
+
for (let i = 0, n = filteredData.length; i < n; i++) {
|
|
25
|
+
const result = filteredData[i];
|
|
26
|
+
const isMatch = options.propertiesToSearch.find((property) => {
|
|
27
|
+
let value = (result[property] || '').toString();
|
|
28
|
+
value = normalizeDiacritics(value).toUpperCase();
|
|
29
|
+
return value.indexOf(searchTextNormalized) > -1;
|
|
30
|
+
});
|
|
31
|
+
if (isMatch) {
|
|
32
|
+
results.push(result);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return results;
|
|
36
|
+
};
|
|
37
|
+
return search;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWRlZmF1bHQtc2VhcmNoLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1kZWZhdWx0LXNlYXJjaC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU94RSxNQUFNLFVBQVUsb0NBQW9DLENBQ2xELE9BQW9EO0lBRXBELE1BQU0sVUFBVSxHQUFHLFVBQVUsVUFBa0IsRUFBRSxJQUFXO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCx1RUFBdUU7WUFDdkUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzdDLENBQUMsTUFBMkMsRUFBRSxFQUFFO2dCQUM5QyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxZQUFZLEtBQUssU0FBUyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsVUFDYixVQUFrQixFQUNsQixJQUFXO1FBRVgsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRW5CLDZFQUE2RTtRQUM3RSx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUzRSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQ25FLElBQUksS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN0QjtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZURpYWNyaXRpY3MgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1zdHJpbmctdXRpbHMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVEZWZhdWx0U2VhcmNoRnVuY3Rpb25PcHRpb25zIH0gZnJvbSAnLi90eXBlcy9hdXRvY29tcGxldGUtZGVmYXVsdC1zZWFyY2gtZnVuY3Rpb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbiB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbic7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlciB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXInO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb25SZXNwb25zZSB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBza3lBdXRvY29tcGxldGVEZWZhdWx0U2VhcmNoRnVuY3Rpb24oXG4gIG9wdGlvbnM6IFNreUF1dG9jb21wbGV0ZURlZmF1bHRTZWFyY2hGdW5jdGlvbk9wdGlvbnNcbik6IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uIHtcbiAgY29uc3QgZmlsdGVyRGF0YSA9IGZ1bmN0aW9uIChzZWFyY2hUZXh0OiBzdHJpbmcsIGRhdGE6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBkYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnMuc2VhcmNoRmlsdGVycyB8fCAhb3B0aW9ucy5zZWFyY2hGaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluZCB0aGUgZmlyc3QgZmFpbGluZyBmaWx0ZXIgKHdlIGNhbiBza2lwIHRoZSBvdGhlcnMgaWYgb25lIGZhaWxzKS5cbiAgICAgIGNvbnN0IGZhaWxlZEZpbHRlciA9IG9wdGlvbnMuc2VhcmNoRmlsdGVycy5maW5kKFxuICAgICAgICAoZmlsdGVyOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlcikgPT4ge1xuICAgICAgICAgIHJldHVybiAhZmlsdGVyLmNhbGwoe30sIHNlYXJjaFRleHQsIGl0ZW0pO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZmFpbGVkRmlsdGVyID09PSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2VhcmNoID0gZnVuY3Rpb24gKFxuICAgIHNlYXJjaFRleHQ6IHN0cmluZyxcbiAgICBkYXRhOiBhbnlbXVxuICApOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvblJlc3BvbnNlIHtcbiAgICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgLSBhdXRvY29tcGxldGUgd2lsbCBub3QgY2FsbCBzZWFyY2ggd2l0aCBlbXB0eSBzZWFyY2ggdGV4dCAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghc2VhcmNoVGV4dCkge1xuICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dE5vcm1hbGl6ZWQgPSBub3JtYWxpemVEaWFjcml0aWNzKHNlYXJjaFRleHQpLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBmaWx0ZXJEYXRhKHNlYXJjaFRleHQsIGRhdGEpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBmaWx0ZXJlZERhdGEubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBmaWx0ZXJlZERhdGFbaV07XG4gICAgICBjb25zdCBpc01hdGNoID0gb3B0aW9ucy5wcm9wZXJ0aWVzVG9TZWFyY2guZmluZCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xuICAgICAgICBsZXQgdmFsdWUgPSAocmVzdWx0W3Byb3BlcnR5XSB8fCAnJykudG9TdHJpbmcoKTtcbiAgICAgICAgdmFsdWUgPSBub3JtYWxpemVEaWFjcml0aWNzKHZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdmFsdWUuaW5kZXhPZihzZWFyY2hUZXh0Tm9ybWFsaXplZCkgPiAtMTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfTtcblxuICByZXR1cm4gc2VhcmNoO1xufVxuIl19
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2, forwardRef, } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
// tslint:disable:no-forward-ref no-use-before-declare
|
|
7
|
+
const SKY_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
8
|
+
provide: NG_VALUE_ACCESSOR,
|
|
9
|
+
useExisting: forwardRef(() => SkyAutocompleteInputDirective),
|
|
10
|
+
multi: true,
|
|
11
|
+
};
|
|
12
|
+
const SKY_AUTOCOMPLETE_VALIDATOR = {
|
|
13
|
+
provide: NG_VALIDATORS,
|
|
14
|
+
useExisting: forwardRef(() => SkyAutocompleteInputDirective),
|
|
15
|
+
multi: true,
|
|
16
|
+
};
|
|
17
|
+
// tslint:enable
|
|
18
|
+
export class SkyAutocompleteInputDirective {
|
|
19
|
+
constructor(elementRef, renderer) {
|
|
20
|
+
this.elementRef = elementRef;
|
|
21
|
+
this.renderer = renderer;
|
|
22
|
+
this.isFirstChange = true;
|
|
23
|
+
this.ngUnsubscribe = new Subject();
|
|
24
|
+
this._blur = new Subject();
|
|
25
|
+
this._disabled = false;
|
|
26
|
+
this._focus = new Subject();
|
|
27
|
+
this._textChanges = new Subject();
|
|
28
|
+
// istanbul ignore next
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
30
|
+
this.onValidatorChange = () => { };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the value for the `autocomplete` attribute on the form input.
|
|
34
|
+
* @default "off"
|
|
35
|
+
*/
|
|
36
|
+
set autocompleteAttribute(value) {
|
|
37
|
+
if (!value) {
|
|
38
|
+
this._autocompleteAttribute = 'off';
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this._autocompleteAttribute = value;
|
|
42
|
+
}
|
|
43
|
+
this.renderer.setAttribute(this.elementRef.nativeElement, 'autocomplete', this.autocompleteAttribute);
|
|
44
|
+
}
|
|
45
|
+
get autocompleteAttribute() {
|
|
46
|
+
return this._autocompleteAttribute || 'off';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Indicates whether to disable the autocomplete field.
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
set disabled(value) {
|
|
53
|
+
this._disabled = value;
|
|
54
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);
|
|
55
|
+
}
|
|
56
|
+
get disabled() {
|
|
57
|
+
return this._disabled;
|
|
58
|
+
}
|
|
59
|
+
get blur() {
|
|
60
|
+
return this._blur.asObservable();
|
|
61
|
+
}
|
|
62
|
+
get displayWith() {
|
|
63
|
+
return this._displayWith;
|
|
64
|
+
}
|
|
65
|
+
set displayWith(value) {
|
|
66
|
+
this._displayWith = value;
|
|
67
|
+
this.inputTextValue = this.getValueByKey();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
get inputElement() {
|
|
73
|
+
return this.elementRef.nativeElement;
|
|
74
|
+
}
|
|
75
|
+
get focus() {
|
|
76
|
+
return this._focus.asObservable();
|
|
77
|
+
}
|
|
78
|
+
get inputTextValue() {
|
|
79
|
+
return this.elementRef.nativeElement.value;
|
|
80
|
+
}
|
|
81
|
+
set inputTextValue(value) {
|
|
82
|
+
this.elementRef.nativeElement.value = value || '';
|
|
83
|
+
}
|
|
84
|
+
get textChanges() {
|
|
85
|
+
return this._textChanges.asObservable();
|
|
86
|
+
}
|
|
87
|
+
get value() {
|
|
88
|
+
return this._value;
|
|
89
|
+
}
|
|
90
|
+
set value(value) {
|
|
91
|
+
const isNewValue = value !== this._value;
|
|
92
|
+
/* istanbul ignore else */
|
|
93
|
+
if (isNewValue) {
|
|
94
|
+
this._value = value;
|
|
95
|
+
this.inputTextValue = this.getValueByKey();
|
|
96
|
+
this.onChange(this._value);
|
|
97
|
+
// Do not mark the field as "dirty"
|
|
98
|
+
// if the field has been initialized with a value.
|
|
99
|
+
if (this.isFirstChange && this.control) {
|
|
100
|
+
this.control.markAsPristine();
|
|
101
|
+
}
|
|
102
|
+
if (this.isFirstChange && this._value) {
|
|
103
|
+
this.isFirstChange = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
ngOnInit() {
|
|
108
|
+
const element = this.elementRef.nativeElement;
|
|
109
|
+
this.setAttributes(element);
|
|
110
|
+
observableFromEvent(element, 'input')
|
|
111
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
112
|
+
.subscribe(() => {
|
|
113
|
+
/** Sanity check */
|
|
114
|
+
if (!this.disabled) {
|
|
115
|
+
this._textChanges.next({
|
|
116
|
+
value: this.elementRef.nativeElement.value,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
observableFromEvent(element, 'blur')
|
|
121
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
122
|
+
.subscribe(() => {
|
|
123
|
+
/** Sanity check */
|
|
124
|
+
if (!this.disabled) {
|
|
125
|
+
this._blur.next();
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
observableFromEvent(element, 'focus')
|
|
129
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
130
|
+
.subscribe(() => {
|
|
131
|
+
/** Sanity check */
|
|
132
|
+
if (!this.disabled) {
|
|
133
|
+
this._focus.next();
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
observableFromEvent(element, 'change')
|
|
137
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
138
|
+
.subscribe(() => {
|
|
139
|
+
/** Sanity check */
|
|
140
|
+
/* istanbul ignore else */
|
|
141
|
+
if (!this.disabled) {
|
|
142
|
+
this.isFirstChange = false;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
ngOnDestroy() {
|
|
147
|
+
this._blur.complete();
|
|
148
|
+
this._textChanges.complete();
|
|
149
|
+
this.ngUnsubscribe.next();
|
|
150
|
+
this.ngUnsubscribe.complete();
|
|
151
|
+
this._blur = this._textChanges = this.ngUnsubscribe = undefined;
|
|
152
|
+
}
|
|
153
|
+
writeValue(value) {
|
|
154
|
+
this.value = value;
|
|
155
|
+
}
|
|
156
|
+
registerOnChange(fn) {
|
|
157
|
+
this.onChange = fn;
|
|
158
|
+
}
|
|
159
|
+
registerOnTouched(fn) {
|
|
160
|
+
this.onTouched = fn;
|
|
161
|
+
}
|
|
162
|
+
registerOnValidatorChange(fn) {
|
|
163
|
+
this.onValidatorChange = fn;
|
|
164
|
+
}
|
|
165
|
+
restoreInputTextValueToPreviousState() {
|
|
166
|
+
const modelValue = this.getValueByKey();
|
|
167
|
+
// If the search field contains text, make sure that the value
|
|
168
|
+
// matches the selected descriptor key.
|
|
169
|
+
if (this.inputTextValue !== modelValue) {
|
|
170
|
+
this.inputTextValue = modelValue;
|
|
171
|
+
}
|
|
172
|
+
this.onTouched();
|
|
173
|
+
}
|
|
174
|
+
setDisabledState(disabled) {
|
|
175
|
+
this.disabled = disabled;
|
|
176
|
+
}
|
|
177
|
+
validate(control) {
|
|
178
|
+
if (!this.control) {
|
|
179
|
+
this.control = control;
|
|
180
|
+
}
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
// See: https://www.w3.org/TR/wai-aria-practices/#kbd_focus_activedescendant
|
|
184
|
+
setActiveDescendant(descendantId) {
|
|
185
|
+
if (descendantId) {
|
|
186
|
+
this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-activedescendant', descendantId);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
this.renderer.removeAttribute(this.elementRef.nativeElement, 'aria-activedescendant');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Angular automatically constructs these methods.
|
|
193
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
194
|
+
onChange(value) { }
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
196
|
+
onTouched() { }
|
|
197
|
+
setAttributes(element) {
|
|
198
|
+
this.renderer.setAttribute(element, 'autocomplete', this.autocompleteAttribute);
|
|
199
|
+
this.renderer.setAttribute(element, 'autocapitalize', 'none');
|
|
200
|
+
this.renderer.setAttribute(element, 'autocorrect', 'off');
|
|
201
|
+
this.renderer.setAttribute(element, 'spellcheck', 'false');
|
|
202
|
+
this.renderer.addClass(element, 'sky-form-control');
|
|
203
|
+
}
|
|
204
|
+
getValueByKey() {
|
|
205
|
+
return this.value ? this.value[this.displayWith] : undefined;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
SkyAutocompleteInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
209
|
+
SkyAutocompleteInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: { autocompleteAttribute: "autocompleteAttribute", disabled: "disabled" }, providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR], ngImport: i0 });
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteInputDirective, decorators: [{
|
|
211
|
+
type: Directive,
|
|
212
|
+
args: [{
|
|
213
|
+
selector: 'input[skyAutocomplete], textarea[skyAutocomplete]',
|
|
214
|
+
providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR],
|
|
215
|
+
}]
|
|
216
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { autocompleteAttribute: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], disabled: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}] } });
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFHTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUkzQyxzREFBc0Q7QUFDdEQsTUFBTSwrQkFBK0IsR0FBRztJQUN0QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7SUFDNUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBRztJQUNqQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO0lBQzVELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUNGLGdCQUFnQjtBQU1oQixNQUFNLE9BQU8sNkJBQTZCO0lBeUh4QyxZQUFvQixVQUFzQixFQUFVLFFBQW1CO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbEIvRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixrQkFBYSxHQUFHLElBQUksT0FBTyxF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QUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDOzswSEFoUVUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsOEpBRjdCLENBQUMsK0JBQStCLEVBQUUsMEJBQTBCLENBQUM7MkZBRTdELDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbURBQW1EO29CQUM3RCxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSwwQkFBMEIsQ0FBQztpQkFDekU7eUhBU1kscUJBQXFCO3NCQUQvQixLQUFLO2dCQXdCSyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZSB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLWlucHV0LXRleHQtY2hhbmdlJztcblxuLy8gdHNsaW50OmRpc2FibGU6bm8tZm9yd2FyZC1yZWYgbm8tdXNlLWJlZm9yZS1kZWNsYXJlXG5jb25zdCBTS1lfQVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcbi8vIHRzbGludDplbmFibGVcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b2NvbXBsZXRlXSwgdGV4dGFyZWFbc2t5QXV0b2NvbXBsZXRlXScsXG4gIHByb3ZpZGVyczogW1NLWV9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1IsIFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB2YWx1ZSBmb3IgdGhlIGBhdXRvY29tcGxldGVgIGF0dHJpYnV0ZSBvbiB0aGUgZm9ybSBpbnB1dC5cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdXRvY29tcGxldGVBdHRyaWJ1dGUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZUF0dHJpYnV0ZSA9ICdvZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hdXRvY29tcGxldGVBdHRyaWJ1dGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2F1dG9jb21wbGV0ZScsXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUF0dHJpYnV0ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVBdHRyaWJ1dGUgfHwgJ29mZic7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgYXV0b2NvbXBsZXRlIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJsdXIoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2JsdXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoO1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNwbGF5V2l0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheVdpdGggPSB2YWx1ZTtcbiAgICB0aGlzLmlucHV0VGV4dFZhbHVlID0gdGhpcy5nZXRWYWx1ZUJ5S2V5KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnB1dFRleHRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW5wdXRUZXh0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRDaGFuZ2VzKCk6IE9ic2VydmFibGU8U2t5QXV0b2NvbXBsZXRlSW5wdXRUZXh0Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSB2YWx1ZSAhPT0gdGhpcy5fdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpc05ld1ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVCeUtleSgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG5cbiAgICAgIC8vIERvIG5vdCBtYXJrIHRoZSBmaWVsZCBhcyBcImRpcnR5XCJcbiAgICAgIC8vIGlmIHRoZSBmaWVsZCBoYXMgYmVlbiBpbml0aWFsaXplZCB3aXRoIGEgdmFsdWUuXG4gICAgICBpZiAodGhpcy5pc0ZpcnN0Q2hhbmdlICYmIHRoaXMuY29udHJvbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNGaXJzdENoYW5nZSAmJiB0aGlzLl92YWx1ZSkge1xuICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcblxuICBwcml2YXRlIGlzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlQXR0cmlidXRlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfYmx1ciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kaXNwbGF5V2l0aDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2ZvY3VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF90ZXh0Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZT4oKTtcblxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoZWxlbWVudCk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvKiogU2FuaXR5IGNoZWNrICovXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuX3RleHRDaGFuZ2VzLm5leHQoe1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZWxlbWVudCwgJ2JsdXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyoqIFNhbml0eSBjaGVjayAqL1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLl9ibHVyLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdmb2N1cycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvKiogU2FuaXR5IGNoZWNrICovXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdjaGFuZ2UnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyoqIFNhbml0eSBjaGVjayAqL1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYmx1ci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3RleHRDaGFuZ2VzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fYmx1ciA9IHRoaXMuX3RleHRDaGFuZ2VzID0gdGhpcy5uZ1Vuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZXN0b3JlSW5wdXRUZXh0VmFsdWVUb1ByZXZpb3VzU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWxWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVCeUtleSgpO1xuXG4gICAgLy8gSWYgdGhlIHNlYXJjaCBmaWVsZCBjb250YWlucyB0ZXh0LCBtYWtlIHN1cmUgdGhhdCB0aGUgdmFsdWVcbiAgICAvLyBtYXRjaGVzIHRoZSBzZWxlY3RlZCBkZXNjcmlwdG9yIGtleS5cbiAgICBpZiAodGhpcy5pbnB1dFRleHRWYWx1ZSAhPT0gbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IG1vZGVsVmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZWU6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMvI2tiZF9mb2N1c19hY3RpdmVkZXNjZW5kYW50XG4gIHB1YmxpYyBzZXRBY3RpdmVEZXNjZW5kYW50KGRlc2NlbmRhbnRJZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChkZXNjZW5kYW50SWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsXG4gICAgICAgIGRlc2NlbmRhbnRJZFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50J1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbmd1bGFyIGF1dG9tYXRpY2FsbHkgY29uc3RydWN0cyB0aGVzZSBtZXRob2RzLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7fVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblRvdWNoZWQoKTogdm9pZCB7fVxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlcyhlbGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIGVsZW1lbnQsXG4gICAgICAnYXV0b2NvbXBsZXRlJyxcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQXR0cmlidXRlXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnYXV0b2NhcGl0YWxpemUnLCAnbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdhdXRvY29ycmVjdCcsICdvZmYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnc3BlbGxjaGVjaycsICdmYWxzZScpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3NreS1mb3JtLWNvbnRyb2wnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVCeUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZVt0aGlzLmRpc3BsYXlXaXRoXSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyAutcompleteSearchAsyncDisabledPipe {
|
|
7
|
+
transform(searchAsync, searchAsyncDisabled) {
|
|
8
|
+
return searchAsyncDisabled || searchAsync.observers.length === 0;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
SkyAutcompleteSearchAsyncDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
12
|
+
SkyAutcompleteSearchAsyncDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, name: "skyAutocompleteSearchAsyncDisabled" });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{
|
|
16
|
+
name: 'skyAutocompleteSearchAsyncDisabled',
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1kaXNhYmxlZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtYXN5bmMtZGlzYWJsZWQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBSWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHFDQUFxQztJQUN6QyxTQUFTLENBQ2QsV0FBeUQsRUFDekQsbUJBQTRCO1FBRTVCLE9BQU8sbUJBQW1CLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7O2tJQU5VLHFDQUFxQztnSUFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBSGpELElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9DQUFvQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoQXN5bmNBcmdzIH0gZnJvbSAnLi90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWFzeW5jLWFyZ3MnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lBdXRvY29tcGxldGVTZWFyY2hBc3luY0Rpc2FibGVkJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0Y29tcGxldGVTZWFyY2hBc3luY0Rpc2FibGVkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHNlYXJjaEFzeW5jOiBFdmVudEVtaXR0ZXI8U2t5QXV0b2NvbXBsZXRlU2VhcmNoQXN5bmNBcmdzPixcbiAgICBzZWFyY2hBc3luY0Rpc2FibGVkOiBib29sZWFuXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWFyY2hBc3luY0Rpc2FibGVkIHx8IHNlYXJjaEFzeW5jLm9ic2VydmVycy5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiJdfQ==
|