@skyux/lookup 11.22.0 → 11.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1965 -1846
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +2 -2
- package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
- package/esm2022/lib/modules/lookup/lookup.component.mjs +2 -2
- package/esm2022/lib/modules/search/search.component.mjs +3 -3
- package/esm2022/testing/legacy/country-field/country-field-fixture.mjs +121 -0
- package/esm2022/testing/{country-field → legacy/country-field}/country-field-testing.module.mjs +1 -1
- package/esm2022/testing/legacy/search/search-fixture.mjs +60 -0
- package/esm2022/testing/{search → legacy/search}/search-testing.module.mjs +1 -1
- package/esm2022/testing/modules/autocomplete/autocomplete-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-harness.mjs +192 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-input-harness.mjs +17 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness.mjs +38 -0
- package/esm2022/testing/modules/country-field/country-field-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/country-field/country-field-harness.mjs +139 -0
- package/esm2022/testing/modules/country-field/country-field-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/country-field/country-field-search-result-harness.mjs +27 -0
- package/esm2022/testing/modules/lookup/lookup-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-harness.mjs +181 -0
- package/esm2022/testing/modules/lookup/lookup-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-search-result-harness.mjs +24 -0
- package/esm2022/testing/modules/lookup/lookup-selection-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-selection-harness.mjs +8 -0
- package/esm2022/testing/modules/lookup/lookup-selections-list-harness.mjs +26 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness.mjs +28 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness.mjs +8 -0
- package/esm2022/testing/modules/search/search-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/search/search-harness.mjs +143 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-harness.mjs +172 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness.mjs +7 -0
- package/esm2022/testing/public-api.mjs +17 -17
- package/fesm2022/skyux-lookup-testing.mjs +82 -73
- package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +8 -8
- package/fesm2022/skyux-lookup.mjs.map +1 -1
- package/package.json +11 -11
- package/testing/{country-field → legacy/country-field}/country-field-fixture.d.ts +1 -1
- package/testing/{country-field → modules/country-field}/country-field-search-result-harness-filters.d.ts +1 -1
- package/testing/{lookup → modules/lookup}/lookup-search-result-harness-filters.d.ts +1 -1
- package/testing/public-api.d.ts +26 -26
- package/esm2022/testing/autocomplete/autocomplete-harness-filters.mjs +0 -2
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +0 -192
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +0 -17
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -38
- package/esm2022/testing/country-field/country-field-fixture.mjs +0 -119
- package/esm2022/testing/country-field/country-field-harness-filters.mjs +0 -2
- package/esm2022/testing/country-field/country-field-harness.mjs +0 -139
- package/esm2022/testing/country-field/country-field-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/country-field/country-field-search-result-harness.mjs +0 -24
- package/esm2022/testing/lookup/lookup-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-harness.mjs +0 -181
- package/esm2022/testing/lookup/lookup-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-search-result-harness.mjs +0 -21
- package/esm2022/testing/lookup/lookup-selection-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-selection-harness.mjs +0 -8
- package/esm2022/testing/lookup/lookup-selections-list-harness.mjs +0 -26
- package/esm2022/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-show-more-picker-harness.mjs +0 -28
- package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -8
- package/esm2022/testing/search/search-fixture.mjs +0 -60
- package/esm2022/testing/search/search-harness-filters.mjs +0 -2
- package/esm2022/testing/search/search-harness.mjs +0 -143
- package/esm2022/testing/selection-modal/selection-modal-harness.mjs +0 -171
- package/esm2022/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -7
- /package/testing/{country-field → legacy/country-field}/country-field-testing.module.d.ts +0 -0
- /package/testing/{search → legacy/search}/search-fixture.d.ts +0 -0
- /package/testing/{search → legacy/search}/search-testing.module.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness-filters.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-input-harness.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness-filters.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-harness-filters.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-harness.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-search-result-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-search-result-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selection-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selection-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selections-list-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness.d.ts +0 -0
- /package/testing/{search → modules/search}/search-harness-filters.d.ts +0 -0
- /package/testing/{search → modules/search}/search-harness.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-harness.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness-filters.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness.d.ts +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { SkyOverlayHarness } from '@skyux/core/testing';
|
|
2
|
+
import { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';
|
|
3
|
+
import { SkyAutocompleteInputHarness } from '../autocomplete/autocomplete-input-harness';
|
|
4
|
+
import { SkyLookupSearchResultHarness } from './lookup-search-result-harness';
|
|
5
|
+
import { SkyLookupSelectionsListHarness } from './lookup-selections-list-harness';
|
|
6
|
+
import { SkyLookupShowMorePickerHarness } from './lookup-show-more-picker-harness';
|
|
7
|
+
/**
|
|
8
|
+
* Harness for interacting with a lookup component in tests.
|
|
9
|
+
*/
|
|
10
|
+
export class SkyLookupHarness extends SkyAutocompleteHarness {
|
|
11
|
+
/**
|
|
12
|
+
* Finds a standard lookup component, or a lookup component that is wrapped by an input box component.
|
|
13
|
+
* For input box implementations, we need to use the `.sky-input-box` selector since the `sky-lookup`
|
|
14
|
+
* element is removed from the DOM.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
static { this.hostSelector = 'sky-lookup,.sky-input-box'; }
|
|
18
|
+
#documentRootLocator = this.documentRootLocatorFactory();
|
|
19
|
+
#getAutocompleteHarness = this.locatorFor(SkyAutocompleteHarness);
|
|
20
|
+
#getInput = this.locatorFor(SkyAutocompleteInputHarness);
|
|
21
|
+
#getSelectionsListHarness = this.locatorFor(SkyLookupSelectionsListHarness);
|
|
22
|
+
#getWrapper = this.locatorFor('.sky-lookup');
|
|
23
|
+
/**
|
|
24
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
25
|
+
* `SkyLookupHarness` that meets certain criteria.
|
|
26
|
+
*
|
|
27
|
+
* These filters only work for standalone lookups. For lookups
|
|
28
|
+
* wrapped inside `sky-input-box`, place filters on the input box
|
|
29
|
+
* instead and query the datepicker using a `SkyInputBoxHarness`.
|
|
30
|
+
* For the input box implementation, see the code example.
|
|
31
|
+
*/
|
|
32
|
+
static with(filters) {
|
|
33
|
+
return SkyLookupHarness.getDataSkyIdPredicate(filters);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Blurs the lookup input.
|
|
37
|
+
*/
|
|
38
|
+
async blur() {
|
|
39
|
+
await super.blur();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Clears the lookup input value.
|
|
43
|
+
*/
|
|
44
|
+
async clear() {
|
|
45
|
+
await super.clear();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Clicks the "Add" button on the search results panel.
|
|
49
|
+
*/
|
|
50
|
+
async clickAddButton() {
|
|
51
|
+
await this.focus();
|
|
52
|
+
await super.clickAddButton();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Clicks the "Show more" button on the search results panel.
|
|
56
|
+
*/
|
|
57
|
+
async clickShowMoreButton() {
|
|
58
|
+
await this.focus();
|
|
59
|
+
await super.clickShowMoreButton();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Dismisses the selections made with a multiselect lookup.
|
|
63
|
+
*/
|
|
64
|
+
async dismissSelections() {
|
|
65
|
+
await (await this.#getSelectionsListHarness()).dismissSelections();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Enters text into the lookup input.
|
|
69
|
+
*/
|
|
70
|
+
async enterText(value) {
|
|
71
|
+
await super.enterText(value);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Focuses the lookup input.
|
|
75
|
+
*/
|
|
76
|
+
async focus() {
|
|
77
|
+
await super.focus();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Gets the lookup `aria-labelledby` value.
|
|
81
|
+
* @deprecated Don't use this property. It returns a value from a deprecated input that lookup no longer uses.
|
|
82
|
+
*/
|
|
83
|
+
async getAriaLabelledby() {
|
|
84
|
+
return await super.getAriaLabelledby();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns lookup search result harnesses.
|
|
88
|
+
*/
|
|
89
|
+
async getSearchResults(filters) {
|
|
90
|
+
const overlay = await this.#getOverlay();
|
|
91
|
+
if (!overlay) {
|
|
92
|
+
throw new Error('Unable to retrieve search results. The lookup is closed.');
|
|
93
|
+
}
|
|
94
|
+
const harnesses = await overlay.queryHarnesses(SkyLookupSearchResultHarness.with(filters || {}));
|
|
95
|
+
if (filters && harnesses.length === 0) {
|
|
96
|
+
// Stringify the regular expression so that it's readable in the console log.
|
|
97
|
+
if (filters.text instanceof RegExp) {
|
|
98
|
+
filters.text = filters.text.toString();
|
|
99
|
+
}
|
|
100
|
+
throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
|
|
101
|
+
}
|
|
102
|
+
return harnesses;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns the text content for each lookup search result.
|
|
106
|
+
*/
|
|
107
|
+
async getSearchResultsText(filters) {
|
|
108
|
+
const harnesses = await this.getSearchResults(filters);
|
|
109
|
+
const text = [];
|
|
110
|
+
for (const harness of harnesses) {
|
|
111
|
+
text.push(await harness.getText());
|
|
112
|
+
}
|
|
113
|
+
return text;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Gets the "Show more" picker harness.
|
|
117
|
+
*/
|
|
118
|
+
async getShowMorePicker() {
|
|
119
|
+
const pickerId = await (await (await this.#getAutocompleteHarness()).host()).getAttribute('data-sky-lookup-show-more-picker-id');
|
|
120
|
+
const defaultPicker = await this.#documentRootLocator.locatorForOptional(SkyLookupShowMorePickerHarness.with({ selector: `#${pickerId}` }))();
|
|
121
|
+
if (!defaultPicker) {
|
|
122
|
+
throw new Error('Cannot get the "Show more" picker because it is not open.');
|
|
123
|
+
}
|
|
124
|
+
return defaultPicker;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Gets a list of selections made with a multiselect lookup.
|
|
128
|
+
*/
|
|
129
|
+
async getSelections() {
|
|
130
|
+
return await (await this.#getSelectionsListHarness()).getSelections();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Gets the text content of all selections made with a multiselect lookup.
|
|
134
|
+
*/
|
|
135
|
+
async getSelectionsText() {
|
|
136
|
+
return await (await this.#getSelectionsListHarness()).getSelectionsText();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets the value of the lookup input.
|
|
140
|
+
*/
|
|
141
|
+
async getValue() {
|
|
142
|
+
return await super.getValue();
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Whether the lookup input is disabled.
|
|
146
|
+
*/
|
|
147
|
+
async isDisabled() {
|
|
148
|
+
return await super.isDisabled();
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Whether the lookup input is focused.
|
|
152
|
+
*/
|
|
153
|
+
async isFocused() {
|
|
154
|
+
return await super.isFocused();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Whether the lookup allows for multiple selections.
|
|
158
|
+
*/
|
|
159
|
+
async isMultiselect() {
|
|
160
|
+
return !(await (await this.#getWrapper()).hasClass('sky-lookup-single'));
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Whether the lookup is open.
|
|
164
|
+
*/
|
|
165
|
+
async isOpen() {
|
|
166
|
+
return await super.isOpen();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Selects a search result.
|
|
170
|
+
*/
|
|
171
|
+
async selectSearchResult(filters) {
|
|
172
|
+
await super.selectSearchResult(filters);
|
|
173
|
+
}
|
|
174
|
+
async #getOverlay() {
|
|
175
|
+
const overlayId = await (await this.#getInput()).getAriaControls();
|
|
176
|
+
return overlayId
|
|
177
|
+
? await this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
|
|
178
|
+
: null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbG9va3VwL2xvb2t1cC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHNCQUFzQjtJQUMxRDs7Ozs7T0FLRzthQUNvQixpQkFBWSxHQUFHLDJCQUEyQixDQUFDO0lBRWxFLG9CQUFvQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBRXpELHVCQUF1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUVsRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXpELHlCQUF5QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUU1RSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU3Qzs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBVSxJQUFJLENBQ3pCLE9BQWdDO1FBRWhDLE9BQU8sZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENB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S0FBSyxDQUFDLE1BQU07UUFDMUIsT0FBTyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsa0JBQWtCLENBQ3RDLE9BQTRDO1FBRTVDLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRW5FLE9BQU8sU0FBUztZQUNkLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FDaEQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1lBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUxvb2t1cFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5TG9va3VwU2VsZWN0aW9uSGFybmVzcyB9IGZyb20gJy4vbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzJztcbmltcG9ydCB7IFNreUxvb2t1cFNlbGVjdGlvbnNMaXN0SGFybmVzcyB9IGZyb20gJy4vbG9va3VwLXNlbGVjdGlvbnMtbGlzdC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzcyB9IGZyb20gJy4vbG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGxvb2t1cCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBIYXJuZXNzIGV4dGVuZHMgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyB7XG4gIC8qKlxuICAgKiBGaW5kcyBhIHN0YW5kYXJkIGxvb2t1cCBjb21wb25lbnQsIG9yIGEgbG9va3VwIGNvbXBvbmVudCB0aGF0IGlzIHdyYXBwZWQgYnkgYW4gaW5wdXQgYm94IGNvbXBvbmVudC5cbiAgICogRm9yIGlucHV0IGJveCBpbXBsZW1lbnRhdGlvbnMsIHdlIG5lZWQgdG8gdXNlIHRoZSBgLnNreS1pbnB1dC1ib3hgIHNlbGVjdG9yIHNpbmNlIHRoZSBgc2t5LWxvb2t1cGBcbiAgICogZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGhvc3RTZWxlY3RvciA9ICdza3ktbG9va3VwLC5za3ktaW5wdXQtYm94JztcblxuICAjZG9jdW1lbnRSb290TG9jYXRvciA9IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKTtcblxuICAjZ2V0QXV0b2NvbXBsZXRlSGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihTa3lBdXRvY29tcGxldGVIYXJuZXNzKTtcblxuICAjZ2V0SW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoU2t5QXV0b2NvbXBsZXRlSW5wdXRIYXJuZXNzKTtcblxuICAjZ2V0U2VsZWN0aW9uc0xpc3RIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUxvb2t1cFNlbGVjdGlvbnNMaXN0SGFybmVzcyk7XG5cbiAgI2dldFdyYXBwZXIgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktbG9va3VwJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxvb2t1cEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICpcbiAgICogVGhlc2UgZmlsdGVycyBvbmx5IHdvcmsgZm9yIHN0YW5kYWxvbmUgbG9va3Vwcy4gRm9yIGxvb2t1cHNcbiAgICogd3JhcHBlZCBpbnNpZGUgYHNreS1pbnB1dC1ib3hgLCBwbGFjZSBmaWx0ZXJzIG9uIHRoZSBpbnB1dCBib3hcbiAgICogaW5zdGVhZCBhbmQgcXVlcnkgdGhlIGRhdGVwaWNrZXIgdXNpbmcgYSBgU2t5SW5wdXRCb3hIYXJuZXNzYC5cbiAgICogRm9yIHRoZSBpbnB1dCBib3ggaW1wbGVtZW50YXRpb24sIHNlZSB0aGUgY29kZSBleGFtcGxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUxvb2t1cEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUxvb2t1cEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5TG9va3VwSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIGxvb2t1cCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmJsdXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGxvb2t1cCBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJBZGRcIiBidXR0b24gb24gdGhlIHNlYXJjaCByZXN1bHRzIHBhbmVsLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGNsaWNrQWRkQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZm9jdXMoKTtcbiAgICBhd2FpdCBzdXBlci5jbGlja0FkZEJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24gb24gdGhlIHNlYXJjaCByZXN1bHRzIHBhbmVsLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGNsaWNrU2hvd01vcmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5mb2N1cygpO1xuICAgIGF3YWl0IHN1cGVyLmNsaWNrU2hvd01vcmVCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNtaXNzZXMgdGhlIHNlbGVjdGlvbnMgbWFkZSB3aXRoIGEgbXVsdGlzZWxlY3QgbG9va3VwLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRpc21pc3NTZWxlY3Rpb25zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTZWxlY3Rpb25zTGlzdEhhcm5lc3MoKSkuZGlzbWlzc1NlbGVjdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGV4dCBpbnRvIHRoZSBsb29rdXAgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZW50ZXJUZXh0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGxvb2t1cCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxvb2t1cCBgYXJpYS1sYWJlbGxlZGJ5YCB2YWx1ZS5cbiAgICogQGRlcHJlY2F0ZWQgRG9uJ3QgdXNlIHRoaXMgcHJvcGVydHkuIEl0IHJldHVybnMgYSB2YWx1ZSBmcm9tIGEgZGVwcmVjYXRlZCBpbnB1dCB0aGF0IGxvb2t1cCBubyBsb25nZXIgdXNlcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRBcmlhTGFiZWxsZWRieSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0QXJpYUxhYmVsbGVkYnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGxvb2t1cCBzZWFyY2ggcmVzdWx0IGhhcm5lc3Nlcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBsb29rdXAgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IG92ZXJsYXkucXVlcnlIYXJuZXNzZXMoXG4gICAgICBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSksXG4gICAgKTtcblxuICAgIGlmIChmaWx0ZXJzICYmIGhhcm5lc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFN0cmluZ2lmeSB0aGUgcmVndWxhciBleHByZXNzaW9uIHNvIHRoYXQgaXQncyByZWFkYWJsZSBpbiB0aGUgY29uc29sZSBsb2cuXG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgZmluZCBzZWFyY2ggcmVzdWx0cyBtYXRjaGluZyBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFybmVzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBmb3IgZWFjaCBsb29rdXAgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzVGV4dChcbiAgICBmaWx0ZXJzPzogU2t5TG9va3VwU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG5cbiAgICBjb25zdCB0ZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaGFybmVzcyBvZiBoYXJuZXNzZXMpIHtcbiAgICAgIHRleHQucHVzaChhd2FpdCBoYXJuZXNzLmdldFRleHQoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgXCJTaG93IG1vcmVcIiBwaWNrZXIgaGFybmVzcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTaG93TW9yZVBpY2tlcigpOiBQcm9taXNlPFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzcz4ge1xuICAgIGNvbnN0IHBpY2tlcklkID0gYXdhaXQgKFxuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEF1dG9jb21wbGV0ZUhhcm5lc3MoKSkuaG9zdCgpXG4gICAgKS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2t5LWxvb2t1cC1zaG93LW1vcmUtcGlja2VyLWlkJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0UGlja2VyID0gYXdhaXQgdGhpcy4jZG9jdW1lbnRSb290TG9jYXRvci5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lMb29rdXBTaG93TW9yZVBpY2tlckhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiBgIyR7cGlja2VySWR9YCB9KSxcbiAgICApKCk7XG5cbiAgICBpZiAoIWRlZmF1bHRQaWNrZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBnZXQgdGhlIFwiU2hvdyBtb3JlXCIgcGlja2VyIGJlY2F1c2UgaXQgaXMgbm90IG9wZW4uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRQaWNrZXI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGxpc3Qgb2Ygc2VsZWN0aW9ucyBtYWRlIHdpdGggYSBtdWx0aXNlbGVjdCBsb29rdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0aW9ucygpOiBQcm9taXNlPFNreUxvb2t1cFNlbGVjdGlvbkhhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U2VsZWN0aW9uc0xpc3RIYXJuZXNzKCkpLmdldFNlbGVjdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgYWxsIHNlbGVjdGlvbnMgbWFkZSB3aXRoIGEgbXVsdGlzZWxlY3QgbG9va3VwLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGlvbnNUZXh0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldFNlbGVjdGlvbnNMaXN0SGFybmVzcygpKS5nZXRTZWxlY3Rpb25zVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBsb29rdXAgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsb29rdXAgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxvb2t1cCBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbG9va3VwIGFsbG93cyBmb3IgbXVsdGlwbGUgc2VsZWN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc011bHRpc2VsZWN0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRXcmFwcGVyKCkpLmhhc0NsYXNzKCdza3ktbG9va3VwLXNpbmdsZScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsb29rdXAgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBpc09wZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzT3BlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIHNlbGVjdFNlYXJjaFJlc3VsdChcbiAgICBmaWx0ZXJzOiBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIuc2VsZWN0U2VhcmNoUmVzdWx0KGZpbHRlcnMpO1xuICB9XG5cbiAgYXN5bmMgI2dldE92ZXJsYXkoKTogUHJvbWlzZTxTa3lPdmVybGF5SGFybmVzcyB8IG51bGw+IHtcbiAgICBjb25zdCBvdmVybGF5SWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXJpYUNvbnRyb2xzKCk7XG5cbiAgICByZXR1cm4gb3ZlcmxheUlkXG4gICAgICA/IGF3YWl0IHRoaXMuI2RvY3VtZW50Um9vdExvY2F0b3IubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgICAgIFNreU92ZXJsYXlIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogYCMke292ZXJsYXlJZH1gIH0pLFxuICAgICAgICApKClcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVyc1xuICBleHRlbmRzIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
import { SkyAutocompleteSearchResultHarness } from '../autocomplete/autocomplete-search-result-harness';
|
|
3
|
+
/**
|
|
4
|
+
* Harness for interacting with an autocomplete search result in tests.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyLookupSearchResultHarness extends SkyAutocompleteSearchResultHarness {
|
|
7
|
+
/**
|
|
8
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
9
|
+
* `SkyLookupSearchResultHarness` that meets certain criteria.
|
|
10
|
+
*/
|
|
11
|
+
static with(filters) {
|
|
12
|
+
return new HarnessPredicate(SkyLookupSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => {
|
|
13
|
+
const searchResultText = await harness.getText();
|
|
14
|
+
return await HarnessPredicate.stringMatches(searchResultText, text);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Returns the value of the search result's descriptor property.
|
|
19
|
+
*/
|
|
20
|
+
async getDescriptorValue() {
|
|
21
|
+
return await super.getDescriptorValue();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlYXJjaC1yZXN1bHQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNlYXJjaC1yZXN1bHQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUl4Rzs7R0FFRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxrQ0FBa0M7SUFDbEY7OztPQUdHO0lBQ0ksTUFBTSxDQUFVLElBQUksQ0FDekIsT0FBNEM7UUFFNUMsT0FBTyxJQUFJLGdCQUFnQixDQUN6Qiw0QkFBNEIsRUFDNUIsT0FBTyxDQUNSLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0QsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QyxPQUFPLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2xvb2t1cC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBhdXRvY29tcGxldGUgc2VhcmNoIHJlc3VsdCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxvb2t1cFNlYXJjaFJlc3VsdEhhcm5lc3MgZXh0ZW5kcyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxvb2t1cFNlYXJjaFJlc3VsdEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lMb29rdXBTZWFyY2hSZXN1bHRIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFxuICAgICAgU2t5TG9va3VwU2VhcmNoUmVzdWx0SGFybmVzcyxcbiAgICAgIGZpbHRlcnMsXG4gICAgKS5hZGRPcHRpb24oJ3RleHRDb250ZW50JywgZmlsdGVycy50ZXh0LCBhc3luYyAoaGFybmVzcywgdGV4dCkgPT4ge1xuICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0VGV4dCA9IGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpO1xuICAgICAgcmV0dXJuIGF3YWl0IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhzZWFyY2hSZXN1bHRUZXh0LCB0ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIHJlc3VsdCdzIGRlc2NyaXB0b3IgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0RGVzY3JpcHRvclZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldERlc2NyaXB0b3JWYWx1ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zZWxlY3Rpb24taGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUb2tlbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lMb29rdXBTZWxlY3Rpb25IYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lMb29rdXBTZWxlY3Rpb25IYXJuZXNzRmlsdGVyc1xuICBleHRlbmRzIFNreVRva2VuSGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SkyTokenHarness } from '@skyux/indicators/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a multiselect lookup selection in tests.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyLookupSelectionHarness extends SkyTokenHarness {
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxlQUFlO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUb2tlbkhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycy90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgbXVsdGlzZWxlY3QgbG9va3VwIHNlbGVjdGlvbiBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwU2VsZWN0aW9uSGFybmVzcyBleHRlbmRzIFNreVRva2VuSGFybmVzcyB7fVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SkyTokensHarness } from '@skyux/indicators/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with multiselect lookup selections in tests.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyLookupSelectionsListHarness extends SkyTokensHarness {
|
|
7
|
+
/**
|
|
8
|
+
* Gets a list of selections.
|
|
9
|
+
*/
|
|
10
|
+
async getSelections() {
|
|
11
|
+
return await super.getTokens();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Dismisses the selections in the list.
|
|
15
|
+
*/
|
|
16
|
+
async dismissSelections() {
|
|
17
|
+
await super.dismissTokens();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Gets the text content of all selections in the list.
|
|
21
|
+
*/
|
|
22
|
+
async getSelectionsText() {
|
|
23
|
+
return await super.getTokensText();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlbGVjdGlvbnMtbGlzdC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9ucy1saXN0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJN0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFnQjtJQUNsRTs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE9BQU8sTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sTUFBTSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VG9rZW5zSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBTZWxlY3Rpb25IYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAtc2VsZWN0aW9uLWhhcm5lc3MnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggbXVsdGlzZWxlY3QgbG9va3VwIHNlbGVjdGlvbnMgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxvb2t1cFNlbGVjdGlvbnNMaXN0SGFybmVzcyBleHRlbmRzIFNreVRva2Vuc0hhcm5lc3Mge1xuICAvKipcbiAgICogR2V0cyBhIGxpc3Qgb2Ygc2VsZWN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3Rpb25zKCk6IFByb21pc2U8U2t5TG9va3VwU2VsZWN0aW9uSGFybmVzc1tdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldFRva2VucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyB0aGUgc2VsZWN0aW9ucyBpbiB0aGUgbGlzdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkaXNtaXNzU2VsZWN0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5kaXNtaXNzVG9rZW5zKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIGFsbCBzZWxlY3Rpb25zIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGlvbnNUZXh0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0VG9rZW5zVGV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzRmlsdGVyc1xuICAvLyBPbWl0dGluZyAnYW5jZXN0b3InLCBzaW5jZSBhbGwgd2UgY2FyZSBhYm91dCBpcyB0aGUgJ3NlbGVjdG9yJyBmaWx0ZXIsXG4gIC8vIHdoaWNoIGlzIHVzZWQgdG8gZmluZCBhIG1vZGFsIGluc3RhbmNlIGJ5IGl0cyBlbGVtZW50IElELlxuICBleHRlbmRzIE9taXQ8QmFzZUhhcm5lc3NGaWx0ZXJzLCAnYW5jZXN0b3InPiB7fVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
import { SkySelectionModalHarness } from '../selection-modal/selection-modal-harness';
|
|
3
|
+
/**
|
|
4
|
+
* Harness for interacting with a lookup's "Show more" picker in tests.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export class SkyLookupShowMorePickerHarness extends SkySelectionModalHarness {
|
|
8
|
+
/**
|
|
9
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
10
|
+
* `SkyLookupShowMorePickerHarness` that meets certain criteria.
|
|
11
|
+
*/
|
|
12
|
+
static with(filters) {
|
|
13
|
+
return new HarnessPredicate(SkyLookupShowMorePickerHarness, filters);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Selects multiple search results based on a set of criteria.
|
|
17
|
+
*/
|
|
18
|
+
async selectSearchResult(filters) {
|
|
19
|
+
await super.selectSearchResult(filters);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Gets a list of search results.
|
|
23
|
+
*/
|
|
24
|
+
async getSearchResults(filters) {
|
|
25
|
+
return await super.getSearchResults(filters);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU10Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBQzFFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThDO1FBRTlDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyw4QkFBOEIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsa0JBQWtCLENBQ3RDLE9BQTJEO1FBRTNELE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNhLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEMsT0FBMkQ7UUFFM0QsT0FBTyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbEhhcm5lc3MgfSBmcm9tICcuLi9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwLXNob3ctbW9yZS1waWNrZXItc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBsb29rdXAncyBcIlNob3cgbW9yZVwiIHBpY2tlciBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzIGV4dGVuZHMgU2t5U2VsZWN0aW9uTW9kYWxIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzcywgZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBtdWx0aXBsZSBzZWFyY2ggcmVzdWx0cyBiYXNlZCBvbiBhIHNldCBvZiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBzZWxlY3RTZWFyY2hSZXN1bHQoXG4gICAgZmlsdGVycz86IFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnNlbGVjdFNlYXJjaFJlc3VsdChmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBzZWFyY2ggcmVzdWx0cy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lMb29rdXBTaG93TW9yZVBpY2tlclNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzc1tdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness-filters.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1waWNrZXItc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lMb29rdXBTaG93TW9yZVBpY2tlclNlYXJjaFJlc3VsdEhhcm5lc3NgIGluc3RhbmNlcy5cbiAqIEBpbnRlcm5hbFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgLy8gT21pdHRpbmcgJ3RpdGxlVGV4dCcgYW5kICdhbmNlc3Rvcicgc2luY2UgdGhleSBhcmUgbm90IHJlbGV2YW50IGZpbHRlcnMgZm9yIHRoZSBwaWNrZXIncyBzZWFyY2ggcmVzdWx0cy5cbiAgZXh0ZW5kcyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SkySelectionModalSearchResultHarness } from '../selection-modal/selection-modal-search-result-harness';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a lookup's "Show more" picker search results in tests.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyLookupShowMorePickerSearchResultHarness extends SkySelectionModalSearchResultHarness {
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1waWNrZXItc2VhcmNoLXJlc3VsdC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1zZWFyY2gtcmVzdWx0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFaEg7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLG9DQUFvQztDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBsb29rdXAncyBcIlNob3cgbW9yZVwiIHBpY2tlciBzZWFyY2ggcmVzdWx0cyBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJTZWFyY2hSZXN1bHRIYXJuZXNzIGV4dGVuZHMgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzIHt9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9zZWFyY2gvc2VhcmNoLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreVNlYXJjaEhhcm5lc3NgIGluc3RhbmNlcy5cbiAqIEBpbnRlcm5hbFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreVNlYXJjaEhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a search component in tests.
|
|
4
|
+
*/
|
|
5
|
+
export class SkySearchHarness extends SkyComponentHarness {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
static { this.hostSelector = 'sky-search'; }
|
|
10
|
+
#getInput = this.locatorFor('input.sky-search-input');
|
|
11
|
+
#getClearButton = this.locatorFor('button.sky-search-btn-clear');
|
|
12
|
+
#getDismissButton = this.locatorForOptional('button.sky-search-btn-dismiss');
|
|
13
|
+
#getSubmitButton = this.locatorFor('button.sky-search-btn-apply');
|
|
14
|
+
#getOpenButton = this.locatorFor('button.sky-search-btn-open');
|
|
15
|
+
/**
|
|
16
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
17
|
+
* `SkySearchHarness` that meets certain criteria.
|
|
18
|
+
*/
|
|
19
|
+
static with(filters) {
|
|
20
|
+
return this.getDataSkyIdPredicate(filters);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Blurs the search input.
|
|
24
|
+
*/
|
|
25
|
+
async blur() {
|
|
26
|
+
await this.#assertIsExpanded('Failed to blur the search input.');
|
|
27
|
+
await (await this.#getInput()).blur();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clears the search input.
|
|
31
|
+
*/
|
|
32
|
+
async clear() {
|
|
33
|
+
await this.#assertIsExpanded('Failed to clear the search input.');
|
|
34
|
+
const input = await this.#getInput();
|
|
35
|
+
await input.focus();
|
|
36
|
+
await input.clear();
|
|
37
|
+
await this.clickSubmitButton();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Clicks the search input clear button.
|
|
41
|
+
*/
|
|
42
|
+
async clickClearButton() {
|
|
43
|
+
await this.#assertIsExpanded('Failed to click clear button.');
|
|
44
|
+
await (await this.#getClearButton()).click();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clicks search dismiss button to collapse search back to a button.
|
|
48
|
+
*/
|
|
49
|
+
async clickDismissSearchButton() {
|
|
50
|
+
const button = await this.#getDismissButton();
|
|
51
|
+
if (!button) {
|
|
52
|
+
throw new Error('Cannot find dismiss search button. Is a collapsed search open?');
|
|
53
|
+
}
|
|
54
|
+
await button.click();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Clicks the search icon button that opens search input when it is collapsed.
|
|
58
|
+
*/
|
|
59
|
+
async clickOpenSearchButton() {
|
|
60
|
+
const button = await this.#getOpenButton();
|
|
61
|
+
if (!(await this.isCollapsed())) {
|
|
62
|
+
throw new Error('Cannot click search open button as search is not collapsed');
|
|
63
|
+
}
|
|
64
|
+
await button.click();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Clicks the search submit button.
|
|
68
|
+
*/
|
|
69
|
+
async clickSubmitButton() {
|
|
70
|
+
await this.#assertIsExpanded('Failed to click the submit button.');
|
|
71
|
+
await (await this.#getSubmitButton()).click();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Enters text into the search input and performs a search.
|
|
75
|
+
*/
|
|
76
|
+
async enterText(value) {
|
|
77
|
+
await this.#assertIsExpanded('Failed to enter text into the search input.');
|
|
78
|
+
const input = await this.#getInput();
|
|
79
|
+
await input.clear();
|
|
80
|
+
await input.focus();
|
|
81
|
+
await input.sendKeys(value);
|
|
82
|
+
await this.clickSubmitButton();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Focuses the search input.
|
|
86
|
+
*/
|
|
87
|
+
async focus() {
|
|
88
|
+
await this.#assertIsExpanded('Failed to focus the search input.');
|
|
89
|
+
await (await this.#getInput()).focus();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Gets the search input's `aria-label`.
|
|
93
|
+
*/
|
|
94
|
+
async getAriaLabel() {
|
|
95
|
+
return await (await this.#getInput()).getAttribute('aria-label');
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets the search's aria-labelledby.
|
|
99
|
+
*/
|
|
100
|
+
async getAriaLabelledby() {
|
|
101
|
+
return await (await this.#getInput()).getAttribute('aria-labelledby');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Gets the value of the input's placeholder attribute.
|
|
105
|
+
*/
|
|
106
|
+
async getPlaceholderText() {
|
|
107
|
+
await this.#assertIsExpanded('Failed to get the placeholder text.');
|
|
108
|
+
return await (await this.#getInput()).getAttribute('placeholder');
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Gets the value of the search input.
|
|
112
|
+
*/
|
|
113
|
+
async getValue() {
|
|
114
|
+
await this.#assertIsExpanded('Failed to get the value of the search input.');
|
|
115
|
+
return await (await this.#getInput()).getProperty('value');
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Whether the search input is collapsed.
|
|
119
|
+
*/
|
|
120
|
+
async isCollapsed() {
|
|
121
|
+
return ((await (await this.#getOpenButton()).getAttribute('hidden')) === null);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Whether the search input is disabled.
|
|
125
|
+
*/
|
|
126
|
+
async isDisabled() {
|
|
127
|
+
const disabled = await (await this.#getInput()).getAttribute('disabled');
|
|
128
|
+
return disabled !== null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Whether the search input is focused.
|
|
132
|
+
*/
|
|
133
|
+
async isFocused() {
|
|
134
|
+
await this.#assertIsExpanded('Failed to get the search input focus status.');
|
|
135
|
+
return await (await this.#getInput()).isFocused();
|
|
136
|
+
}
|
|
137
|
+
async #assertIsExpanded(errorMessage) {
|
|
138
|
+
if (await this.isCollapsed()) {
|
|
139
|
+
throw new Error(`${errorMessage} Search is collapsed.`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VhcmNoL3NlYXJjaC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFtQjtJQUN2RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBRTFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFdEQsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUM3RSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbEUsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUUvRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFakUsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxJQUFJLENBQUMsaUJB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ImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWFyY2gtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgc2VhcmNoIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVNlYXJjaEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlYXJjaCc7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKCdpbnB1dC5za3ktc2VhcmNoLWlucHV0Jyk7XG5cbiAgI2dldENsZWFyQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LXNlYXJjaC1idG4tY2xlYXInKTtcbiAgI2dldERpc21pc3NCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnYnV0dG9uLnNreS1zZWFyY2gtYnRuLWRpc21pc3MnKTtcbiAgI2dldFN1Ym1pdEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1zZWFyY2gtYnRuLWFwcGx5Jyk7XG4gICNnZXRPcGVuQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LXNlYXJjaC1idG4tb3BlbicpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWFyY2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VhcmNoSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VhcmNoSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZCgnRmFpbGVkIHRvIGJsdXIgdGhlIHNlYXJjaCBpbnB1dC4nKTtcblxuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZCgnRmFpbGVkIHRvIGNsZWFyIHRoZSBzZWFyY2ggaW5wdXQuJyk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMuI2dldElucHV0KCk7XG4gICAgYXdhaXQgaW5wdXQuZm9jdXMoKTtcbiAgICBhd2FpdCBpbnB1dC5jbGVhcigpO1xuICAgIGF3YWl0IHRoaXMuY2xpY2tTdWJtaXRCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNlYXJjaCBpbnB1dCBjbGVhciBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tDbGVhckJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKCdGYWlsZWQgdG8gY2xpY2sgY2xlYXIgYnV0dG9uLicpO1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRDbGVhckJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyBzZWFyY2ggZGlzbWlzcyBidXR0b24gdG8gY29sbGFwc2Ugc2VhcmNoIGJhY2sgdG8gYSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEaXNtaXNzU2VhcmNoQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldERpc21pc3NCdXR0b24oKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCBkaXNtaXNzIHNlYXJjaCBidXR0b24uIElzIGEgY29sbGFwc2VkIHNlYXJjaCBvcGVuPycsXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgc2VhcmNoIGljb24gYnV0dG9uIHRoYXQgb3BlbnMgc2VhcmNoIGlucHV0IHdoZW4gaXQgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrT3BlblNlYXJjaEJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRPcGVuQnV0dG9uKCk7XG5cbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzQ29sbGFwc2VkKCkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgY2xpY2sgc2VhcmNoIG9wZW4gYnV0dG9uIGFzIHNlYXJjaCBpcyBub3QgY29sbGFwc2VkJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBzZWFyY2ggc3VibWl0IGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1N1Ym1pdEJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKCdGYWlsZWQgdG8gY2xpY2sgdGhlIHN1Ym1pdCBidXR0b24uJyk7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldFN1Ym1pdEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIHNlYXJjaCBpbnB1dCBhbmQgcGVyZm9ybXMgYSBzZWFyY2guXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZW50ZXJUZXh0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKCdGYWlsZWQgdG8gZW50ZXIgdGV4dCBpbnRvIHRoZSBzZWFyY2ggaW5wdXQuJyk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMuI2dldElucHV0KCk7XG4gICAgYXdhaXQgaW5wdXQuY2xlYXIoKTtcbiAgICBhd2FpdCBpbnB1dC5mb2N1cygpO1xuICAgIGF3YWl0IGlucHV0LnNlbmRLZXlzKHZhbHVlKTtcbiAgICBhd2FpdCB0aGlzLmNsaWNrU3VibWl0QnV0dG9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGZvY3VzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Fzc2VydElzRXhwYW5kZWQoJ0ZhaWxlZCB0byBmb2N1cyB0aGUgc2VhcmNoIGlucHV0LicpO1xuXG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VhcmNoIGlucHV0J3MgYGFyaWEtbGFiZWxgLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNlYXJjaCdzIGFyaWEtbGFiZWxsZWRieS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWxsZWRieSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0J3MgcGxhY2Vob2xkZXIgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBsYWNlaG9sZGVyVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKCdGYWlsZWQgdG8gZ2V0IHRoZSBwbGFjZWhvbGRlciB0ZXh0LicpO1xuXG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNlYXJjaCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGF3YWl0IHRoaXMuI2Fzc2VydElzRXhwYW5kZWQoXG4gICAgICAnRmFpbGVkIHRvIGdldCB0aGUgdmFsdWUgb2YgdGhlIHNlYXJjaCBpbnB1dC4nLFxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFByb3BlcnR5KCd2YWx1ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaCBpbnB1dCBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNDb2xsYXBzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0T3BlbkJ1dHRvbigpKS5nZXRBdHRyaWJ1dGUoJ2hpZGRlbicpKSA9PT0gbnVsbFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgIHJldHVybiBkaXNhYmxlZCAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZChcbiAgICAgICdGYWlsZWQgdG8gZ2V0IHRoZSBzZWFyY2ggaW5wdXQgZm9jdXMgc3RhdHVzLicsXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICBhc3luYyAjYXNzZXJ0SXNFeHBhbmRlZChlcnJvck1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlcnJvck1lc3NhZ2V9IFNlYXJjaCBpcyBjb2xsYXBzZWQuYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|