@skyux/lookup 8.7.2 → 9.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +244 -244
- package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +61 -0
- package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +237 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +4 -4
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +817 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete.module.mjs +27 -27
- package/esm2022/lib/modules/country-field/country-field.component.mjs +444 -0
- package/{esm2020 → esm2022}/lib/modules/country-field/country-field.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/lookup/lookup-autocomplete-adapter.mjs +114 -0
- package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +270 -0
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.component.mjs +299 -280
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.module.mjs +37 -37
- package/esm2022/lib/modules/search/search-adapter.service.mjs +46 -0
- package/esm2022/lib/modules/search/search.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/modules/search/search.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +4 -4
- package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +201 -0
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal.module.mjs +27 -27
- package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +89 -0
- package/esm2022/lib/modules/selection-modal/types/selection-modal-instance.mjs +45 -0
- package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +71 -0
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +155 -0
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +63 -0
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +44 -0
- package/esm2022/testing/country-field/country-field-fixture.mjs +118 -0
- package/{esm2020 → esm2022}/testing/country-field/country-field-testing.module.mjs +5 -5
- package/esm2022/testing/lookup/lookup-harness.mjs +76 -0
- package/{esm2020 → esm2022}/testing/search/search-fixture.mjs +18 -19
- package/esm2022/testing/search/search-harness.mjs +80 -0
- package/{esm2020 → esm2022}/testing/search/search-testing.module.mjs +5 -5
- package/esm2022/testing/selection-modal/selection-modal-harness.mjs +122 -0
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs +171 -187
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +3707 -0
- package/{fesm2015 → fesm2022}/skyux-lookup.mjs.map +1 -1
- package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +1 -1
- package/lib/modules/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/modules/country-field/country-field.component.d.ts +1 -1
- package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +1 -1
- package/lib/modules/lookup/lookup.component.d.ts +1 -1
- package/lib/modules/search/search.component.d.ts +1 -1
- package/package.json +23 -31
- package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +0 -64
- package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +0 -235
- package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +0 -775
- package/esm2020/lib/modules/country-field/country-field.component.mjs +0 -433
- package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +0 -115
- package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +0 -271
- package/esm2020/lib/modules/search/search-adapter.service.mjs +0 -46
- package/esm2020/lib/modules/search/search.component.mjs +0 -279
- package/esm2020/lib/modules/selection-modal/selection-modal.component.mjs +0 -199
- package/esm2020/lib/modules/selection-modal/selection-modal.service.mjs +0 -92
- package/esm2020/lib/modules/selection-modal/types/selection-modal-instance.mjs +0 -48
- package/esm2020/lib/modules/shared/sky-lookup-resources.module.mjs +0 -71
- package/esm2020/testing/autocomplete/autocomplete-harness.mjs +0 -161
- package/esm2020/testing/autocomplete/autocomplete-input-harness.mjs +0 -63
- package/esm2020/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -44
- package/esm2020/testing/country-field/country-field-fixture.mjs +0 -114
- package/esm2020/testing/lookup/lookup-harness.mjs +0 -82
- package/esm2020/testing/search/search-harness.mjs +0 -86
- package/esm2020/testing/selection-modal/selection-modal-harness.mjs +0 -128
- package/fesm2015/skyux-lookup-testing.mjs +0 -980
- package/fesm2015/skyux-lookup-testing.mjs.map +0 -1
- package/fesm2015/skyux-lookup.mjs +0 -3642
- package/fesm2020/skyux-lookup.mjs +0 -3625
- package/fesm2020/skyux-lookup.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-default-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-close-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-open-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/shared/sky-lookup-string-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-lookup.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selections-list-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/search/search-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-lookup-testing.mjs +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _SkySearchFixture_instances, _SkySearchFixture_debugEl, _SkySearchFixture_getApplyBtnEl, _SkySearchFixture_getClearBtnEl, _SkySearchFixture_getInputEl;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
1
|
import { By } from '@angular/platform-browser';
|
|
4
2
|
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
5
3
|
/**
|
|
@@ -12,18 +10,17 @@ export class SkySearchFixture {
|
|
|
12
10
|
* Gets the search's current text.
|
|
13
11
|
*/
|
|
14
12
|
get searchText() {
|
|
15
|
-
return
|
|
13
|
+
return this.#getInputEl().nativeElement.value;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
16
|
* Gets the search's current placeholder text.
|
|
19
17
|
*/
|
|
20
18
|
get placeholderText() {
|
|
21
|
-
return
|
|
19
|
+
return this.#getInputEl().nativeElement.placeholder;
|
|
22
20
|
}
|
|
21
|
+
#debugEl;
|
|
23
22
|
constructor(fixture, skyTestId) {
|
|
24
|
-
|
|
25
|
-
_SkySearchFixture_debugEl.set(this, void 0);
|
|
26
|
-
__classPrivateFieldSet(this, _SkySearchFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-search'), "f");
|
|
23
|
+
this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-search');
|
|
27
24
|
}
|
|
28
25
|
/**
|
|
29
26
|
* Applies the specified search text, invoking the search.
|
|
@@ -32,9 +29,9 @@ export class SkySearchFixture {
|
|
|
32
29
|
*/
|
|
33
30
|
apply(searchText) {
|
|
34
31
|
if (searchText) {
|
|
35
|
-
SkyAppTestUtility.setInputValue(
|
|
32
|
+
SkyAppTestUtility.setInputValue(this.#getInputEl().nativeElement, searchText);
|
|
36
33
|
}
|
|
37
|
-
const btnEl =
|
|
34
|
+
const btnEl = this.#getApplyBtnEl();
|
|
38
35
|
btnEl.triggerEventHandler('click', {});
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
@@ -42,20 +39,22 @@ export class SkySearchFixture {
|
|
|
42
39
|
* not currently applied, an error is thrown.
|
|
43
40
|
*/
|
|
44
41
|
clear() {
|
|
45
|
-
const clearEl =
|
|
42
|
+
const clearEl = this.#debugEl.query(By.css('.sky-input-group-clear'));
|
|
46
43
|
if (!SkyAppTestUtility.isVisible(clearEl)) {
|
|
47
44
|
throw new Error('There currently is no search text or the current search text has not been applied, ' +
|
|
48
45
|
'so the clear button is not visible.');
|
|
49
46
|
}
|
|
50
|
-
const btnEl =
|
|
47
|
+
const btnEl = this.#getClearBtnEl();
|
|
51
48
|
btnEl.triggerEventHandler('click', {});
|
|
52
49
|
}
|
|
50
|
+
#getApplyBtnEl() {
|
|
51
|
+
return this.#debugEl.query(By.css('.sky-search-btn-apply'));
|
|
52
|
+
}
|
|
53
|
+
#getClearBtnEl() {
|
|
54
|
+
return this.#debugEl.query(By.css('.sky-search-btn-clear'));
|
|
55
|
+
}
|
|
56
|
+
#getInputEl() {
|
|
57
|
+
return this.#debugEl.query(By.css('.sky-search-input'));
|
|
58
|
+
}
|
|
53
59
|
}
|
|
54
|
-
|
|
55
|
-
return __classPrivateFieldGet(this, _SkySearchFixture_debugEl, "f").query(By.css('.sky-search-btn-apply'));
|
|
56
|
-
}, _SkySearchFixture_getClearBtnEl = function _SkySearchFixture_getClearBtnEl() {
|
|
57
|
-
return __classPrivateFieldGet(this, _SkySearchFixture_debugEl, "f").query(By.css('.sky-search-btn-clear'));
|
|
58
|
-
}, _SkySearchFixture_getInputEl = function _SkySearchFixture_getInputEl() {
|
|
59
|
-
return __classPrivateFieldGet(this, _SkySearchFixture_debugEl, "f").query(By.css('.sky-search-input'));
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlYXJjaC9zZWFyY2gtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLHVCQUFBLElBQUksaUVBQVksTUFBaEIsSUFBSSxDQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBQSxJQUFJLGlFQUFZLE1BQWhCLElBQUksQ0FBYyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQztJQUlELFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFGN0QsNENBQXVCO1FBR3JCLHVCQUFBLElBQUksNkJBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxDQUNiLE1BQUEsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFVBQW1CO1FBQzlCLElBQUksVUFBVSxFQUFFO1lBQ2QsaUJBQWlCLENBQUMsYUFBYSxDQUM3Qix1QkFBQSxJQUFJLGlFQUFZLE1BQWhCLElBQUksQ0FBYyxDQUFDLGFBQWEsRUFDaEMsVUFBVSxDQUNYLENBQUM7U0FDSDtRQUVELE1BQU0sS0FBSyxHQUFHLHVCQUFBLElBQUksb0VBQWUsTUFBbkIsSUFBSSxDQUFpQixDQUFDO1FBRXBDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUs7UUFDVixNQUFNLE9BQU8sR0FBRyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FDYixxRkFBcUY7Z0JBQ25GLHFDQUFxQyxDQUN4QyxDQUFDO1NBQ0g7UUFFRCxNQUFNLEtBQUssR0FBRyx1QkFBQSxJQUFJLG9FQUFlLE1BQW5CLElBQUksQ0FBaUIsQ0FBQztRQUVwQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FhRjs7SUFWRyxPQUFPLHVCQUFBLElBQUksaUNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztJQUdDLE9BQU8sdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0lBR0MsT0FBTyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBzZWFyY2ggY29tcG9uZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lTZWFyY2hIYXJuZXNzYCBpbnN0ZWFkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hGaXh0dXJlIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIHNlYXJjaCdzIGN1cnJlbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2VhcmNoVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWFyY2gncyBjdXJyZW50IHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LXNlYXJjaCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgdGhlIHNwZWNpZmllZCBzZWFyY2ggdGV4dCwgaW52b2tpbmcgdGhlIHNlYXJjaC5cbiAgICogQHBhcmFtIHNlYXJjaFRleHQgVGhlIHNlYXJjaCB0ZXh0IHRvIGFwcGx5LiAgSWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSBzZWFyY2gnc1xuICAgKiBjdXJyZW50IHNlYXJjaCB0ZXh0IHdpbGwgYmUgYXBwbGllZC5cbiAgICovXG4gIHB1YmxpYyBhcHBseShzZWFyY2hUZXh0Pzogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIFNreUFwcFRlc3RVdGlsaXR5LnNldElucHV0VmFsdWUoXG4gICAgICAgIHRoaXMuI2dldElucHV0RWwoKS5uYXRpdmVFbGVtZW50LFxuICAgICAgICBzZWFyY2hUZXh0XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ0bkVsID0gdGhpcy4jZ2V0QXBwbHlCdG5FbCgpO1xuXG4gICAgYnRuRWwudHJpZ2dlckV2ZW50SGFuZGxlcignY2xpY2snLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHNlYXJjaCB0ZXh0LiBJZiB0aGVyZSBpcyBubyBzZWFyY2ggdGV4dCBvciB0aGUgc2VhcmNoIHRleHQgaXNcbiAgICogbm90IGN1cnJlbnRseSBhcHBsaWVkLCBhbiBlcnJvciBpcyB0aHJvd24uXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgY29uc3QgY2xlYXJFbCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWlucHV0LWdyb3VwLWNsZWFyJykpO1xuXG4gICAgaWYgKCFTa3lBcHBUZXN0VXRpbGl0eS5pc1Zpc2libGUoY2xlYXJFbCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZXJlIGN1cnJlbnRseSBpcyBubyBzZWFyY2ggdGV4dCBvciB0aGUgY3VycmVudCBzZWFyY2ggdGV4dCBoYXMgbm90IGJlZW4gYXBwbGllZCwgJyArXG4gICAgICAgICAgJ3NvIHRoZSBjbGVhciBidXR0b24gaXMgbm90IHZpc2libGUuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG5FbCA9IHRoaXMuI2dldENsZWFyQnRuRWwoKTtcblxuICAgIGJ0bkVsLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xuICB9XG5cbiAgI2dldEFwcGx5QnRuRWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktc2VhcmNoLWJ0bi1hcHBseScpKTtcbiAgfVxuXG4gICNnZXRDbGVhckJ0bkVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXNlYXJjaC1idG4tY2xlYXInKSk7XG4gIH1cblxuICAjZ2V0SW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1zZWFyY2gtaW5wdXQnKSk7XG4gIH1cbn1cbiJdfQ==
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlYXJjaC9zZWFyY2gtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFlO0lBRXZCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsVUFBbUI7UUFDOUIsSUFBSSxVQUFVLEVBQUU7WUFDZCxpQkFBaUIsQ0FBQyxhQUFhLENBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLEVBQ2hDLFVBQVUsQ0FDWCxDQUFDO1NBQ0g7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFcEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FDYixxRkFBcUY7Z0JBQ25GLHFDQUFxQyxDQUN4QyxDQUFDO1NBQ0g7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFcEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBzZWFyY2ggY29tcG9uZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lTZWFyY2hIYXJuZXNzYCBpbnN0ZWFkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hGaXh0dXJlIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIHNlYXJjaCdzIGN1cnJlbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2VhcmNoVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWFyY2gncyBjdXJyZW50IHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LXNlYXJjaCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgdGhlIHNwZWNpZmllZCBzZWFyY2ggdGV4dCwgaW52b2tpbmcgdGhlIHNlYXJjaC5cbiAgICogQHBhcmFtIHNlYXJjaFRleHQgVGhlIHNlYXJjaCB0ZXh0IHRvIGFwcGx5LiAgSWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSBzZWFyY2gnc1xuICAgKiBjdXJyZW50IHNlYXJjaCB0ZXh0IHdpbGwgYmUgYXBwbGllZC5cbiAgICovXG4gIHB1YmxpYyBhcHBseShzZWFyY2hUZXh0Pzogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIFNreUFwcFRlc3RVdGlsaXR5LnNldElucHV0VmFsdWUoXG4gICAgICAgIHRoaXMuI2dldElucHV0RWwoKS5uYXRpdmVFbGVtZW50LFxuICAgICAgICBzZWFyY2hUZXh0XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ0bkVsID0gdGhpcy4jZ2V0QXBwbHlCdG5FbCgpO1xuXG4gICAgYnRuRWwudHJpZ2dlckV2ZW50SGFuZGxlcignY2xpY2snLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHNlYXJjaCB0ZXh0LiBJZiB0aGVyZSBpcyBubyBzZWFyY2ggdGV4dCBvciB0aGUgc2VhcmNoIHRleHQgaXNcbiAgICogbm90IGN1cnJlbnRseSBhcHBsaWVkLCBhbiBlcnJvciBpcyB0aHJvd24uXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgY29uc3QgY2xlYXJFbCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWlucHV0LWdyb3VwLWNsZWFyJykpO1xuXG4gICAgaWYgKCFTa3lBcHBUZXN0VXRpbGl0eS5pc1Zpc2libGUoY2xlYXJFbCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZXJlIGN1cnJlbnRseSBpcyBubyBzZWFyY2ggdGV4dCBvciB0aGUgY3VycmVudCBzZWFyY2ggdGV4dCBoYXMgbm90IGJlZW4gYXBwbGllZCwgJyArXG4gICAgICAgICAgJ3NvIHRoZSBjbGVhciBidXR0b24gaXMgbm90IHZpc2libGUuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG5FbCA9IHRoaXMuI2dldENsZWFyQnRuRWwoKTtcblxuICAgIGJ0bkVsLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xuICB9XG5cbiAgI2dldEFwcGx5QnRuRWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktc2VhcmNoLWJ0bi1hcHBseScpKTtcbiAgfVxuXG4gICNnZXRDbGVhckJ0bkVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXNlYXJjaC1idG4tY2xlYXInKSk7XG4gIH1cblxuICAjZ2V0SW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1zZWFyY2gtaW5wdXQnKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with an search component in tests.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkySearchHarness extends SkyComponentHarness {
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
static { this.hostSelector = 'sky-search'; }
|
|
11
|
+
#getInput = this.locatorFor('input.sky-search-input');
|
|
12
|
+
#getSubmitButton = this.locatorFor('button.sky-search-btn-apply');
|
|
13
|
+
/**
|
|
14
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
15
|
+
* `SkySearchHarness` that meets certain criteria.
|
|
16
|
+
*/
|
|
17
|
+
static with(filters) {
|
|
18
|
+
return this.getDataSkyIdPredicate(filters);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Blurs the input.
|
|
22
|
+
*/
|
|
23
|
+
async blur() {
|
|
24
|
+
await (await this.#getInput()).blur();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Clears the input.
|
|
28
|
+
*/
|
|
29
|
+
async clear() {
|
|
30
|
+
const input = await this.#getInput();
|
|
31
|
+
await input.focus();
|
|
32
|
+
await input.clear();
|
|
33
|
+
await this.#clickSubmitButton();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Enters text into the input and performs a search.
|
|
37
|
+
*/
|
|
38
|
+
async enterText(value) {
|
|
39
|
+
const input = await this.#getInput();
|
|
40
|
+
await input.clear();
|
|
41
|
+
await input.focus();
|
|
42
|
+
await input.sendKeys(value);
|
|
43
|
+
await this.#clickSubmitButton();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Focuses the input.
|
|
47
|
+
*/
|
|
48
|
+
async focus() {
|
|
49
|
+
await (await this.#getInput()).focus();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets the value of the input's placeholder attribute.
|
|
53
|
+
*/
|
|
54
|
+
async getPlaceholderText() {
|
|
55
|
+
return (await this.#getInput()).getAttribute('placeholder');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Gets the value of the input.
|
|
59
|
+
*/
|
|
60
|
+
async getValue() {
|
|
61
|
+
return (await this.#getInput()).getProperty('value');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Whether the input is disabled.
|
|
65
|
+
*/
|
|
66
|
+
async isDisabled() {
|
|
67
|
+
const disabled = await (await this.#getInput()).getAttribute('disabled');
|
|
68
|
+
return disabled !== null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Whether the input is focused.
|
|
72
|
+
*/
|
|
73
|
+
async isFocused() {
|
|
74
|
+
return (await this.#getInput()).isFocused();
|
|
75
|
+
}
|
|
76
|
+
async #clickSubmitButton() {
|
|
77
|
+
return (await this.#getSubmitButton()).click();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlYXJjaC9zZWFyY2gtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBQ3ZEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxZQUFZLENBQUM7SUFFMUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUV0RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFbEU7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VhcmNoLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBzZWFyY2ggY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1zZWFyY2gnO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXQuc2t5LXNlYXJjaC1pbnB1dCcpO1xuXG4gICNnZXRTdWJtaXRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktc2VhcmNoLWJ0bi1hcHBseScpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWFyY2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VhcmNoSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lTZWFyY2hIYXJuZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMuI2dldElucHV0KCk7XG4gICAgYXdhaXQgaW5wdXQuZm9jdXMoKTtcbiAgICBhd2FpdCBpbnB1dC5jbGVhcigpO1xuICAgIGF3YWl0IHRoaXMuI2NsaWNrU3VibWl0QnV0dG9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgaW5wdXQgYW5kIHBlcmZvcm1zIGEgc2VhcmNoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCB0aGlzLiNnZXRJbnB1dCgpO1xuICAgIGF3YWl0IGlucHV0LmNsZWFyKCk7XG4gICAgYXdhaXQgaW5wdXQuZm9jdXMoKTtcbiAgICBhd2FpdCBpbnB1dC5zZW5kS2V5cyh2YWx1ZSk7XG4gICAgYXdhaXQgdGhpcy4jY2xpY2tTdWJtaXRCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQncyBwbGFjZWhvbGRlciBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGxhY2Vob2xkZXJUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0UHJvcGVydHkoJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGRpc2FibGVkICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICBhc3luYyAjY2xpY2tTdWJtaXRCdXR0b24oKSB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTdWJtaXRCdXR0b24oKSkuY2xpY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -6,14 +6,14 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export class SkySearchTestingModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkySearchTestingModule, exports: [NoopAnimationsModule, SkySearchModule] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchTestingModule, imports: [NoopAnimationsModule, SkySearchModule] }); }
|
|
9
12
|
}
|
|
10
|
-
|
|
11
|
-
SkySearchTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkySearchTestingModule, exports: [NoopAnimationsModule, SkySearchModule] });
|
|
12
|
-
SkySearchTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySearchTestingModule, imports: [NoopAnimationsModule, SkySearchModule] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySearchTestingModule, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchTestingModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
exports: [NoopAnimationsModule, SkySearchModule],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9zZWFyY2gvc2VhcmNoLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFaEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQUZ2QixvQkFBb0IsRUFBRSxlQUFlOytHQUVwQyxzQkFBc0IsWUFGdkIsb0JBQW9CLEVBQUUsZUFBZTs7MkZBRXBDLHNCQUFzQjtrQkFIbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFNreVNlYXJjaE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbTm9vcEFuaW1hdGlvbnNNb2R1bGUsIFNreVNlYXJjaE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaFRlc3RpbmdNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
|
+
import { SkyInfiniteScrollHarness, SkyRepeaterItemHarness, } from '@skyux/lists/testing';
|
|
3
|
+
import { SkySearchHarness } from '../search/search-harness';
|
|
4
|
+
/**
|
|
5
|
+
* Harness for interacting with a selection modal in tests.
|
|
6
|
+
*/
|
|
7
|
+
export class SkySelectionModalHarness extends ComponentHarness {
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
static { this.hostSelector = '.sky-lookup-show-more-modal'; }
|
|
12
|
+
#getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');
|
|
13
|
+
#getClearAllButton = this.locatorForOptional('button.sky-lookup-show-more-modal-clear-all-btn');
|
|
14
|
+
#getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);
|
|
15
|
+
#getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');
|
|
16
|
+
#getSearchHarness = this.locatorFor(SkySearchHarness);
|
|
17
|
+
#getSelectAllButton = this.locatorForOptional('button.sky-lookup-show-more-modal-select-all-btn');
|
|
18
|
+
#getAddButton = this.locatorForOptional('button.sky-lookup-show-more-modal-add');
|
|
19
|
+
/**
|
|
20
|
+
* Clears the text of the search input.
|
|
21
|
+
*/
|
|
22
|
+
async clearSearchText() {
|
|
23
|
+
return (await this.#getSearchHarness()).clear();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Enters text into the search input and performs a search.
|
|
27
|
+
*/
|
|
28
|
+
async enterSearchText(value) {
|
|
29
|
+
return (await this.#getSearchHarness()).enterText(value);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Selects multiple search results based on a set of criteria.
|
|
33
|
+
*/
|
|
34
|
+
async selectSearchResult(filters) {
|
|
35
|
+
const harnesses = await this.getSearchResults(filters);
|
|
36
|
+
if (await this.isMultiselect()) {
|
|
37
|
+
for (const harness of harnesses) {
|
|
38
|
+
await harness.select();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// Click on the item directly because we've added a custom click event in the picker's template.
|
|
43
|
+
await (await harnesses[0].host()).click();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Saves any selections made and closes the modal.
|
|
48
|
+
*/
|
|
49
|
+
async saveAndClose() {
|
|
50
|
+
return (await this.#getSaveButton()).click();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Closes the picker without saving any selections made.
|
|
54
|
+
*/
|
|
55
|
+
async cancel() {
|
|
56
|
+
return (await this.#getCancelButton()).click();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Gets a list of search results.
|
|
60
|
+
*/
|
|
61
|
+
async getSearchResults(filters) {
|
|
62
|
+
const pickerId = (await (await this.host()).getAttribute('id'));
|
|
63
|
+
const harnesses = await this.locatorForAll(SkyRepeaterItemHarness.with({
|
|
64
|
+
...(filters || {}),
|
|
65
|
+
ancestor: `#${pickerId}`,
|
|
66
|
+
}))();
|
|
67
|
+
if (filters && harnesses.length === 0) {
|
|
68
|
+
throw new Error(`Could not find search results in the picker matching filter(s): ${JSON.stringify(filters)}`);
|
|
69
|
+
}
|
|
70
|
+
return harnesses;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Clears all selections made.
|
|
74
|
+
*/
|
|
75
|
+
async clearAll() {
|
|
76
|
+
const button = await this.#getClearAllButton();
|
|
77
|
+
if (!button) {
|
|
78
|
+
throw new Error('Could not clear all selections because the "Clear all" button could not be found.');
|
|
79
|
+
}
|
|
80
|
+
await button.click();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Whether the selection modal is configured to allow multiple selections.
|
|
84
|
+
*/
|
|
85
|
+
async isMultiselect() {
|
|
86
|
+
return !(await (await this.host()).hasClass('sky-lookup-show-more-modal-single'));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Selects all search results.
|
|
90
|
+
*/
|
|
91
|
+
async selectAll() {
|
|
92
|
+
const button = await this.#getSelectAllButton();
|
|
93
|
+
if (!button) {
|
|
94
|
+
throw new Error('Could not select all selections because the "Select all" button could not be found.');
|
|
95
|
+
}
|
|
96
|
+
await button.click();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Loads more results in the picker.
|
|
100
|
+
*/
|
|
101
|
+
async loadMore() {
|
|
102
|
+
return (await this.#getInfiniteScroll()).loadMore();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Whether the selection modal is configured to show the add button.
|
|
106
|
+
*/
|
|
107
|
+
async hasAddButton() {
|
|
108
|
+
const button = await this.#getAddButton();
|
|
109
|
+
return !!button;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Clicks the add button.
|
|
113
|
+
*/
|
|
114
|
+
async clickAddButton() {
|
|
115
|
+
const button = await this.#getAddButton();
|
|
116
|
+
if (!button) {
|
|
117
|
+
throw new Error('Could not click the add button because the button could not be found.');
|
|
118
|
+
}
|
|
119
|
+
await button.click();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN2QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSzVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM1RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsNkJBQTZCLENBQUM7SUFFM0QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBRTlFLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUMsaURBQWlELENBQ2xELENBQUM7SUFFRixrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFL0QsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUUzRSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdEQsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUMzQyxrREFBa0QsQ0FDbkQsQ0FBQztJQUVGLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQ3JDLHVDQUF1QyxDQUN4QyxDQUFDO0lBRUY7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUs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TUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYix1RUFBdUUsQ0FDeEUsQ0FBQztTQUNIO1FBRUQsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQge1xuICBTa3lJbmZpbml0ZVNjcm9sbEhhcm5lc3MsXG4gIFNreVJlcGVhdGVySXRlbUhhcm5lc3MsXG59IGZyb20gJ0Bza3l1eC9saXN0cy90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoSGFybmVzcyB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gtaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBzZWxlY3Rpb24gbW9kYWwgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLnNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsJztcblxuICAjZ2V0Q2FuY2VsQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xvc2UnKTtcblxuICAjZ2V0Q2xlYXJBbGxCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAnYnV0dG9uLnNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsZWFyLWFsbC1idG4nXG4gICk7XG5cbiAgI2dldEluZmluaXRlU2Nyb2xsID0gdGhpcy5sb2NhdG9yRm9yKFNreUluZmluaXRlU2Nyb2xsSGFybmVzcyk7XG5cbiAgI2dldFNhdmVCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zYXZlJyk7XG5cbiAgI2dldFNlYXJjaEhhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoU2t5U2VhcmNoSGFybmVzcyk7XG5cbiAgI2dldFNlbGVjdEFsbEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICdidXR0b24uc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG4nXG4gICk7XG5cbiAgI2dldEFkZEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICdidXR0b24uc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtYWRkJ1xuICApO1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIHRleHQgb2YgdGhlIHNlYXJjaCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGVhclNlYXJjaFRleHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTZWFyY2hIYXJuZXNzKCkpLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgc2VhcmNoIGlucHV0IGFuZCBwZXJmb3JtcyBhIHNlYXJjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclNlYXJjaFRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0U2VhcmNoSGFybmVzcygpKS5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgbXVsdGlwbGUgc2VhcmNoIHJlc3VsdHMgYmFzZWQgb24gYSBzZXQgb2YgY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0U2VhcmNoUmVzdWx0KFxuICAgIGZpbHRlcnM/OiBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMuZ2V0U2VhcmNoUmVzdWx0cyhmaWx0ZXJzKTtcblxuICAgIGlmIChhd2FpdCB0aGlzLmlzTXVsdGlzZWxlY3QoKSkge1xuICAgICAgZm9yIChjb25zdCBoYXJuZXNzIG9mIGhhcm5lc3Nlcykge1xuICAgICAgICBhd2FpdCBoYXJuZXNzLnNlbGVjdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDbGljayBvbiB0aGUgaXRlbSBkaXJlY3RseSBiZWNhdXNlIHdlJ3ZlIGFkZGVkIGEgY3VzdG9tIGNsaWNrIGV2ZW50IGluIHRoZSBwaWNrZXIncyB0ZW1wbGF0ZS5cbiAgICAgIGF3YWl0IChhd2FpdCBoYXJuZXNzZXNbMF0uaG9zdCgpKS5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhbnkgc2VsZWN0aW9ucyBtYWRlIGFuZCBjbG9zZXMgdGhlIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmVBbmRDbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFNhdmVCdXR0b24oKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBpY2tlciB3aXRob3V0IHNhdmluZyBhbnkgc2VsZWN0aW9ucyBtYWRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldENhbmNlbEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIHNlYXJjaCByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlYXJjaFJlc3VsdHMoXG4gICAgZmlsdGVycz86IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgKTogUHJvbWlzZTxTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NbXT4ge1xuICAgIGNvbnN0IHBpY2tlcklkID0gKGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdpZCcpKSBhcyBzdHJpbmc7XG5cbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lSZXBlYXRlckl0ZW1IYXJuZXNzLndpdGgoe1xuICAgICAgICAuLi4oZmlsdGVycyB8fCB7fSksXG4gICAgICAgIGFuY2VzdG9yOiBgIyR7cGlja2VySWR9YCxcbiAgICAgIH0pXG4gICAgKSgpO1xuXG4gICAgaWYgKGZpbHRlcnMgJiYgaGFybmVzc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgaW4gdGhlIHBpY2tlciBtYXRjaGluZyBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVyc1xuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhcm5lc3NlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIHNlbGVjdGlvbnMgbWFkZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGVhckFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRDbGVhckFsbEJ1dHRvbigpO1xuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgY2xlYXIgYWxsIHNlbGVjdGlvbnMgYmVjYXVzZSB0aGUgXCJDbGVhciBhbGxcIiBidXR0b24gY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VsZWN0aW9uIG1vZGFsIGlzIGNvbmZpZ3VyZWQgdG8gYWxsb3cgbXVsdGlwbGUgc2VsZWN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc011bHRpc2VsZWN0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhKGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuaG9zdCgpXG4gICAgKS5oYXNDbGFzcygnc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2luZ2xlJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYWxsIHNlYXJjaCByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdEFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRTZWxlY3RBbGxCdXR0b24oKTtcbiAgICBpZiAoIWJ1dHRvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IHNlbGVjdCBhbGwgc2VsZWN0aW9ucyBiZWNhdXNlIHRoZSBcIlNlbGVjdCBhbGxcIiBidXR0b24gY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgbW9yZSByZXN1bHRzIGluIHRoZSBwaWNrZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZE1vcmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbmZpbml0ZVNjcm9sbCgpKS5sb2FkTW9yZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBtb2RhbCBpcyBjb25maWd1cmVkIHRvIHNob3cgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzQWRkQnV0dG9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldEFkZEJ1dHRvbigpO1xuICAgIHJldHVybiAhIWJ1dHRvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tBZGRCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QWRkQnV0dG9uKCk7XG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBjbGljayB0aGUgYWRkIGJ1dHRvbiBiZWNhdXNlIHRoZSBidXR0b24gY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cbn1cbiJdfQ==
|