@sap_oss/wdio-qmate-service 2.1.1 → 2.2.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/lib/reuse/modules/common/userInteraction.d.ts +3 -3
- package/lib/reuse/modules/common/userInteraction.js +19 -18
- package/lib/reuse/modules/common/userInteraction.js.map +1 -1
- package/lib/reuse/modules/nonUi5/element.d.ts +11 -1
- package/lib/reuse/modules/nonUi5/element.js +14 -1
- package/lib/reuse/modules/nonUi5/element.js.map +1 -1
- package/lib/reuse/modules/nonUi5/userInteraction.d.ts +30 -11
- package/lib/reuse/modules/nonUi5/userInteraction.js +251 -155
- package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -1
- package/lib/reuse/modules/ui5/userInteraction.d.ts +41 -21
- package/lib/reuse/modules/ui5/userInteraction.js +95 -45
- package/lib/reuse/modules/ui5/userInteraction.js.map +1 -1
- package/package.json +1 -1
- package/test/helper/website/checkBox.html +9 -1
- package/test/reuse/nonUi5/userInteraction/check.spec.js +44 -0
- package/test/reuse/nonUi5/userInteraction/clear.spec.js +4 -4
- package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +22 -18
- package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +11 -13
- package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +5 -4
- package/test/reuse/nonUi5/userInteraction/click.spec.js +7 -9
- package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +8 -9
- package/test/reuse/nonUi5/userInteraction/fill.spec.js +5 -5
- package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +8 -9
- package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +8 -13
- package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +4 -6
- package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +2 -4
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +46 -40
- package/test/reuse/nonUi5/userInteraction/uncheck.spec.js +44 -0
- package/test/reuse/ui5/userInteraction/check.spec.js +66 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +3 -1
- package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +5 -4
- package/test/reuse/ui5/userInteraction/uncheck.spec.js +66 -0
|
@@ -9,7 +9,7 @@ const userInteraction_constants_1 = require("./constants/userInteraction.constan
|
|
|
9
9
|
*/
|
|
10
10
|
class UserInteraction {
|
|
11
11
|
constructor() {
|
|
12
|
-
this.vlf = new verboseLogger_1.VerboseLoggerFactory("
|
|
12
|
+
this.vlf = new verboseLogger_1.VerboseLoggerFactory("nonUi5", "userInteraction");
|
|
13
13
|
}
|
|
14
14
|
// =================================== CLICK ===================================
|
|
15
15
|
/**
|
|
@@ -23,28 +23,28 @@ class UserInteraction {
|
|
|
23
23
|
*/
|
|
24
24
|
async click(element, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
25
25
|
const vl = this.vlf.initLog(this.click);
|
|
26
|
-
vl.log("Expecting element to be displayed and enabled");
|
|
27
|
-
await Promise.all([
|
|
28
|
-
expect(element).toBeDisplayed({
|
|
29
|
-
//TODO: Reuse of internal functions?
|
|
30
|
-
wait: timeout,
|
|
31
|
-
interval: 100,
|
|
32
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
33
|
-
}),
|
|
34
|
-
expect(element).toBeEnabled({
|
|
35
|
-
//TODO: Reuse of internal functions?
|
|
36
|
-
wait: timeout,
|
|
37
|
-
interval: 100,
|
|
38
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
39
|
-
})
|
|
40
|
-
]);
|
|
41
26
|
try {
|
|
27
|
+
this._verifyElement(element);
|
|
28
|
+
vl.log("Expecting element to be displayed and enabled");
|
|
29
|
+
await Promise.all([
|
|
30
|
+
expect(element).toBeDisplayed({
|
|
31
|
+
//TODO: Reuse of internal functions?
|
|
32
|
+
wait: timeout,
|
|
33
|
+
interval: 100,
|
|
34
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
35
|
+
}),
|
|
36
|
+
expect(element).toBeEnabled({
|
|
37
|
+
//TODO: Reuse of internal functions?
|
|
38
|
+
wait: timeout,
|
|
39
|
+
interval: 100,
|
|
40
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
41
|
+
})
|
|
42
|
+
]);
|
|
42
43
|
vl.log("Clicking the element");
|
|
43
44
|
await element.click();
|
|
44
45
|
}
|
|
45
46
|
catch (error) {
|
|
46
|
-
|
|
47
|
-
throw new Error(errorMessage);
|
|
47
|
+
this._throwErrorForFunction("click", error);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
@@ -60,11 +60,14 @@ class UserInteraction {
|
|
|
60
60
|
*/
|
|
61
61
|
async clickAndRetry(element, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000, retries = 3, interval = 5000) {
|
|
62
62
|
const vl = this.vlf.initLog(this.click);
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
try {
|
|
64
|
+
this._verifyElement(element);
|
|
65
|
+
vl.log("Clicking the element");
|
|
66
|
+
return util.function.retry(this.click, [element, timeout], retries, interval, this);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
this._throwErrorForFunction("clickAndRetry", error);
|
|
65
70
|
}
|
|
66
|
-
vl.log("Retrying...");
|
|
67
|
-
return util.function.retry(this.click, [element, timeout], retries, interval, this);
|
|
68
71
|
}
|
|
69
72
|
/**
|
|
70
73
|
* @function doubleClick
|
|
@@ -77,26 +80,26 @@ class UserInteraction {
|
|
|
77
80
|
*/
|
|
78
81
|
async doubleClick(element, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
79
82
|
const vl = this.vlf.initLog(this.doubleClick);
|
|
80
|
-
vl.log("Expecting element to be displayed and enabled");
|
|
81
|
-
await Promise.all([
|
|
82
|
-
expect(element).toBeDisplayed({
|
|
83
|
-
wait: timeout,
|
|
84
|
-
interval: 100,
|
|
85
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
86
|
-
}),
|
|
87
|
-
expect(element).toBeEnabled({
|
|
88
|
-
wait: timeout,
|
|
89
|
-
interval: 100,
|
|
90
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
91
|
-
})
|
|
92
|
-
]);
|
|
93
83
|
try {
|
|
84
|
+
this._verifyElement(element);
|
|
85
|
+
vl.log("Expecting element to be displayed and enabled");
|
|
86
|
+
await Promise.all([
|
|
87
|
+
expect(element).toBeDisplayed({
|
|
88
|
+
wait: timeout,
|
|
89
|
+
interval: 100,
|
|
90
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
91
|
+
}),
|
|
92
|
+
expect(element).toBeEnabled({
|
|
93
|
+
wait: timeout,
|
|
94
|
+
interval: 100,
|
|
95
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
96
|
+
})
|
|
97
|
+
]);
|
|
94
98
|
vl.log("Clicking the element");
|
|
95
99
|
await element.doubleClick();
|
|
96
100
|
}
|
|
97
101
|
catch (error) {
|
|
98
|
-
|
|
99
|
-
throw new Error(errorMessage);
|
|
102
|
+
this._throwErrorForFunction("doubleClick", error);
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
/**
|
|
@@ -110,28 +113,75 @@ class UserInteraction {
|
|
|
110
113
|
*/
|
|
111
114
|
async rightClick(element, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
112
115
|
const vl = this.vlf.initLog(this.rightClick);
|
|
113
|
-
vl.log("Expecting element to be displayed and enabled");
|
|
114
|
-
await Promise.all([
|
|
115
|
-
expect(element).toBeDisplayed({
|
|
116
|
-
wait: timeout,
|
|
117
|
-
interval: 100,
|
|
118
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
119
|
-
}),
|
|
120
|
-
expect(element).toBeEnabled({
|
|
121
|
-
wait: timeout,
|
|
122
|
-
interval: 100,
|
|
123
|
-
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
124
|
-
})
|
|
125
|
-
]);
|
|
126
116
|
try {
|
|
117
|
+
this._verifyElement(element);
|
|
118
|
+
vl.log("Expecting element to be displayed and enabled");
|
|
119
|
+
await Promise.all([
|
|
120
|
+
expect(element).toBeDisplayed({
|
|
121
|
+
wait: timeout,
|
|
122
|
+
interval: 100,
|
|
123
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is displayed.`
|
|
124
|
+
}),
|
|
125
|
+
expect(element).toBeEnabled({
|
|
126
|
+
wait: timeout,
|
|
127
|
+
interval: 100,
|
|
128
|
+
message: `Timeout '${+timeout / 1000}s' by waiting for element is enabled.`
|
|
129
|
+
})
|
|
130
|
+
]);
|
|
127
131
|
vl.log("Clicking the element");
|
|
128
132
|
await element.click({
|
|
129
133
|
button: "right"
|
|
130
134
|
});
|
|
131
135
|
}
|
|
132
136
|
catch (error) {
|
|
133
|
-
|
|
134
|
-
|
|
137
|
+
this._throwErrorForFunction("rightClick", error);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// =================================== CHECK ===================================
|
|
141
|
+
/**
|
|
142
|
+
* @function check
|
|
143
|
+
* @memberOf nonUi5.userInteraction
|
|
144
|
+
* @description Checks the given checkbox.
|
|
145
|
+
* @param {Object} element - The element.
|
|
146
|
+
* @example await nonUi5.userInteraction.check(selector);
|
|
147
|
+
*/
|
|
148
|
+
async check(element) {
|
|
149
|
+
const vl = this.vlf.initLog(this.check);
|
|
150
|
+
try {
|
|
151
|
+
this._verifyElement(element);
|
|
152
|
+
const isSelected = await nonUi5.element.isSelected(element);
|
|
153
|
+
if (!isSelected) {
|
|
154
|
+
await this.click(element);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
vl.log("Checkbox already selected.");
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
this._throwErrorForFunction("check", error);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @function uncheck
|
|
166
|
+
* @memberOf nonUi5.userInteraction
|
|
167
|
+
* @description Unchecks the given checkbox.
|
|
168
|
+
* @param {Object} element - The element.
|
|
169
|
+
* @example await nonUi5.userInteraction.uncheck(selector);
|
|
170
|
+
*/
|
|
171
|
+
async uncheck(element) {
|
|
172
|
+
const vl = this.vlf.initLog(this.check);
|
|
173
|
+
try {
|
|
174
|
+
this._verifyElement(element);
|
|
175
|
+
const isSelected = await nonUi5.element.isSelected(element);
|
|
176
|
+
if (isSelected) {
|
|
177
|
+
await this.click(element);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
vl.log("Checkbox already unchecked.");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
this._throwErrorForFunction("uncheck", error);
|
|
135
185
|
}
|
|
136
186
|
}
|
|
137
187
|
// =================================== FILL ===================================
|
|
@@ -140,35 +190,20 @@ class UserInteraction {
|
|
|
140
190
|
* @memberOf nonUi5.userInteraction
|
|
141
191
|
* @description Fills the given value into the passed input.
|
|
142
192
|
* @param {Object} element - The element.
|
|
143
|
-
* @param {String} value - The value to
|
|
193
|
+
* @param {String | Number} value - The value to enter.
|
|
144
194
|
* @example const elem = await nonUi5.element.getById("input01");
|
|
145
195
|
* await nonUi5.userInteraction.fill(elem, "Service 01");
|
|
146
196
|
*/
|
|
147
197
|
async fill(element, value) {
|
|
148
198
|
const vl = this.vlf.initLog(this.fill);
|
|
149
|
-
|
|
150
|
-
|
|
199
|
+
try {
|
|
200
|
+
this._verifyElement(element);
|
|
201
|
+
this._verifyValue(value);
|
|
202
|
+
vl.log(`Setting the value of element to ${value}`);
|
|
203
|
+
await element.setValue(value);
|
|
151
204
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
vl.log(`Setting the value of element to ${value}`);
|
|
155
|
-
await element.setValue(value);
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
// @ts-ignore
|
|
159
|
-
if (error.message && error.message.match(new RegExp(/(invalid element state|element not interactable)/))) {
|
|
160
|
-
const errorMessage = await util.function.mapWdioErrorToQmateErrorMessage(error, "fill");
|
|
161
|
-
throw new Error(errorMessage);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
if (!value) {
|
|
165
|
-
throw new Error("Function 'fill' failed: Please provide a value as second argument: " + error);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
throw error;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
this._throwErrorForFunction("fill", error);
|
|
172
207
|
}
|
|
173
208
|
}
|
|
174
209
|
/**
|
|
@@ -176,7 +211,7 @@ class UserInteraction {
|
|
|
176
211
|
* @memberOf nonUi5.userInteraction
|
|
177
212
|
* @description Fills the given value into the passed input, retries in case of a failure.
|
|
178
213
|
* @param {Object} element - The element.
|
|
179
|
-
* @param {String} value - The value to
|
|
214
|
+
* @param {String | Number} value - The value to enter.
|
|
180
215
|
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
181
216
|
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
182
217
|
* @example const elem = await nonUi5.element.getById("input01");
|
|
@@ -184,13 +219,15 @@ class UserInteraction {
|
|
|
184
219
|
*/
|
|
185
220
|
async fillAndRetry(element, value, retries = 3, interval = 5000) {
|
|
186
221
|
const vl = this.vlf.initLog(this.fillAndRetry);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
vl.log("Retrying...");
|
|
222
|
+
try {
|
|
223
|
+
this._verifyElement(element);
|
|
224
|
+
this._verifyValue(value);
|
|
225
|
+
vl.log(`Setting the value of element to ${value}`);
|
|
192
226
|
return util.function.retry(this.fill, [element, value], retries, interval, this);
|
|
193
227
|
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
this._throwErrorForFunction("fillAndRetry", error);
|
|
230
|
+
}
|
|
194
231
|
}
|
|
195
232
|
// =================================== CLEAR ===================================
|
|
196
233
|
/**
|
|
@@ -203,10 +240,14 @@ class UserInteraction {
|
|
|
203
240
|
*/
|
|
204
241
|
async clear(element) {
|
|
205
242
|
const vl = this.vlf.initLog(this.clear);
|
|
206
|
-
|
|
207
|
-
|
|
243
|
+
try {
|
|
244
|
+
this._verifyElement(element);
|
|
245
|
+
vl.log(`Clearing the value of element`);
|
|
246
|
+
return element.clearValue();
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
this._throwErrorForFunction("clear", error);
|
|
208
250
|
}
|
|
209
|
-
return element.clearValue();
|
|
210
251
|
}
|
|
211
252
|
/**
|
|
212
253
|
* @function clearAndRetry
|
|
@@ -220,36 +261,35 @@ class UserInteraction {
|
|
|
220
261
|
*/
|
|
221
262
|
async clearAndRetry(element, retries = 3, interval = 5000) {
|
|
222
263
|
const vl = this.vlf.initLog(this.clearAndRetry);
|
|
223
|
-
|
|
224
|
-
|
|
264
|
+
try {
|
|
265
|
+
this._verifyElement(element);
|
|
266
|
+
vl.log(`Clearing the value of element`);
|
|
267
|
+
return util.function.retry(this.clear, [element], retries, interval, this);
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
this._throwErrorForFunction("clearAndRetry", error);
|
|
225
271
|
}
|
|
226
|
-
return util.function.retry(this.clear, [element], retries, interval, this);
|
|
227
272
|
}
|
|
228
273
|
/**
|
|
229
274
|
* @function clearAndFill
|
|
230
275
|
* @memberOf nonUi5.userInteraction
|
|
231
276
|
* @description Clears and fills the passed input element.
|
|
232
277
|
* @param {Object} element - The element.
|
|
233
|
-
* @param {String} value - The value to
|
|
278
|
+
* @param {String | Number} value - The value to enter in.
|
|
234
279
|
* @example const elem = await nonUi5.element.getById("input01");
|
|
235
280
|
* await nonUi5.userInteraction.clearAndFill(elem, "Service 01");
|
|
236
281
|
*/
|
|
237
282
|
async clearAndFill(element, value) {
|
|
238
283
|
const vl = this.vlf.initLog(this.clearAndFill);
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
284
|
+
try {
|
|
285
|
+
this._verifyElement(element);
|
|
286
|
+
this._verifyValue(value);
|
|
287
|
+
await this.clear(element);
|
|
288
|
+
vl.log(`Setting the value of element to ${value}`);
|
|
289
|
+
await element.setValue(value);
|
|
242
290
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
vl.log("Clearing the element");
|
|
246
|
-
await this.clear(element);
|
|
247
|
-
vl.log(`Setting the value of element to ${value}`);
|
|
248
|
-
await element.setValue(value);
|
|
249
|
-
}
|
|
250
|
-
catch (error) {
|
|
251
|
-
throw new Error(`Function 'clearAndFill' failed: ${error}`);
|
|
252
|
-
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
this._throwErrorForFunction("clearAndFill", error);
|
|
253
293
|
}
|
|
254
294
|
}
|
|
255
295
|
/**
|
|
@@ -257,7 +297,7 @@ class UserInteraction {
|
|
|
257
297
|
* @memberOf nonUi5.userInteraction
|
|
258
298
|
* @description Clears and fills the passed input, retries in case it fails.
|
|
259
299
|
* @param {Object} element - The element.
|
|
260
|
-
* @param {String} value - The value to
|
|
300
|
+
* @param {String | Number} value - The value to enter in.
|
|
261
301
|
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
262
302
|
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
263
303
|
* @param {Boolean} [verify=true] - Specifies if the filled value should be verified.
|
|
@@ -266,34 +306,42 @@ class UserInteraction {
|
|
|
266
306
|
*/
|
|
267
307
|
async clearAndFillAndRetry(element, value, retries = 3, interval = 5000, verify = true) {
|
|
268
308
|
const vl = this.vlf.initLog(this.clearAndFillAndRetry);
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
309
|
+
try {
|
|
310
|
+
this._verifyElement(element);
|
|
311
|
+
this._verifyValue(value);
|
|
312
|
+
return util.function.retry(async (elem, value) => {
|
|
313
|
+
await this.clearAndFill(elem, value);
|
|
314
|
+
if (verify) {
|
|
315
|
+
const elemValue = await elem.getValue();
|
|
316
|
+
if (elemValue != value)
|
|
317
|
+
throw new Error("Verification of value failed.");
|
|
318
|
+
}
|
|
319
|
+
}, [element, value], retries, interval, this);
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
this._throwErrorForFunction("clearAndFillAndRetry", error);
|
|
323
|
+
}
|
|
277
324
|
}
|
|
278
325
|
// =================================== OTHERS ===================================
|
|
279
326
|
/**
|
|
280
327
|
* @function mouseOverElement
|
|
281
328
|
* @memberOf nonUi5.userInteraction
|
|
282
329
|
* @description Moves the cursor/focus to the passed element.
|
|
283
|
-
* @param {Object} element - The
|
|
330
|
+
* @param {Object} element - The element.
|
|
284
331
|
* @param {Number} [xOffset] - X offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.
|
|
285
332
|
* @param {Number} [yOffset] - Y offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.
|
|
286
333
|
* @example const elem = await nonUi5.element.getById("dropdown42");
|
|
287
334
|
* await nonUi5.userInteraction.mouseOverElement(elem);
|
|
288
335
|
*/
|
|
289
|
-
async mouseOverElement(
|
|
336
|
+
async mouseOverElement(element, xOffset, yOffset) {
|
|
290
337
|
const vl = this.vlf.initLog(this.mouseOverElement);
|
|
291
338
|
try {
|
|
292
|
-
|
|
339
|
+
this._verifyElement(element);
|
|
340
|
+
vl.log("Moving mouse to element");
|
|
341
|
+
await element.moveTo({ xOffset, yOffset });
|
|
293
342
|
}
|
|
294
343
|
catch (error) {
|
|
295
|
-
|
|
296
|
-
throw new Error("Function: 'mouseOverElement' failed: ", error);
|
|
344
|
+
this._throwErrorForFunction("mouseOverElement", error);
|
|
297
345
|
}
|
|
298
346
|
}
|
|
299
347
|
/**
|
|
@@ -306,13 +354,20 @@ class UserInteraction {
|
|
|
306
354
|
* @example const elem = await nonUi5.userInteraction.getElementById("footer01");
|
|
307
355
|
* await nonUi5.userInteraction.scrollToElement(elem);
|
|
308
356
|
*/
|
|
309
|
-
async scrollToElement(
|
|
357
|
+
async scrollToElement(element, alignment = userInteraction_constants_1.AlignmentValues.CENTER) {
|
|
310
358
|
const vl = this.vlf.initLog(this.scrollToElement);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
359
|
+
try {
|
|
360
|
+
this._verifyElement(element);
|
|
361
|
+
const options = {
|
|
362
|
+
block: alignment,
|
|
363
|
+
inline: alignment
|
|
364
|
+
};
|
|
365
|
+
vl.log("Scrolling to element");
|
|
366
|
+
await element.scrollIntoView(options);
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
this._throwErrorForFunction("scrollToElement", error);
|
|
370
|
+
}
|
|
316
371
|
}
|
|
317
372
|
/**
|
|
318
373
|
* @function dragAndDrop
|
|
@@ -326,27 +381,32 @@ class UserInteraction {
|
|
|
326
381
|
*/
|
|
327
382
|
async dragAndDrop(element, targetElem) {
|
|
328
383
|
const vl = this.vlf.initLog(this.dragAndDrop);
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
384
|
+
try {
|
|
385
|
+
this._verifyElement(element);
|
|
386
|
+
const sourceSize = await element.getSize();
|
|
387
|
+
const targetSize = await targetElem.getSize();
|
|
388
|
+
const sourceLocation = await element.getLocation();
|
|
389
|
+
const targetLocation = await targetElem.getLocation();
|
|
390
|
+
// Get centers of elements to move from center to center (e.g. to avoid errors in rounded elements)
|
|
391
|
+
const sourceCenterLocation = {
|
|
392
|
+
x: +Number(sourceSize.width / 2).toFixed(0) + +Number(sourceLocation.x).toFixed(0) + 1,
|
|
393
|
+
y: +Number(sourceSize.height / 2).toFixed(0) + +Number(sourceLocation.y).toFixed(0) + 1
|
|
394
|
+
};
|
|
395
|
+
const targetCenterLocation = {
|
|
396
|
+
x: +Number(targetSize.width / 2).toFixed(0) + +Number(targetLocation.x).toFixed(0) + 1,
|
|
397
|
+
y: +Number(targetSize.height / 2).toFixed(0) + +Number(targetLocation.y).toFixed(0) + 1
|
|
398
|
+
};
|
|
399
|
+
await browser
|
|
400
|
+
.action("pointer")
|
|
401
|
+
.move({ duration: 0, x: sourceCenterLocation.x, y: sourceCenterLocation.y })
|
|
402
|
+
.down({ button: 0 }) //left button
|
|
403
|
+
.move({ duration: 0, x: targetCenterLocation.x, y: targetCenterLocation.y })
|
|
404
|
+
.down({ button: 0 }) //left button
|
|
405
|
+
.perform();
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
this._throwErrorForFunction("dragAndDrop", error);
|
|
409
|
+
}
|
|
350
410
|
}
|
|
351
411
|
/**
|
|
352
412
|
* @function moveCursorAndClick
|
|
@@ -358,8 +418,14 @@ class UserInteraction {
|
|
|
358
418
|
*/
|
|
359
419
|
async moveCursorAndClick(element) {
|
|
360
420
|
const vl = this.vlf.initLog(this.moveCursorAndClick);
|
|
361
|
-
|
|
362
|
-
|
|
421
|
+
try {
|
|
422
|
+
this._verifyElement(element);
|
|
423
|
+
await element.moveTo();
|
|
424
|
+
await element.click();
|
|
425
|
+
}
|
|
426
|
+
catch (error) {
|
|
427
|
+
this._throwErrorForFunction("moveCursorAndClick", error);
|
|
428
|
+
}
|
|
363
429
|
}
|
|
364
430
|
/**
|
|
365
431
|
* @function clickElementInSvg
|
|
@@ -373,17 +439,47 @@ class UserInteraction {
|
|
|
373
439
|
*/
|
|
374
440
|
async clickElementInSvg(svgElem, innerSelector) {
|
|
375
441
|
const vl = this.vlf.initLog(this.clickElementInSvg);
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
442
|
+
try {
|
|
443
|
+
const innerElem = await $(innerSelector);
|
|
444
|
+
const svgPos = await svgElem.getLocation();
|
|
445
|
+
const innerPos = await innerElem.getLocation();
|
|
446
|
+
const svgSize = await svgElem.getSize();
|
|
447
|
+
const innerSize = await innerElem.getSize();
|
|
448
|
+
const diffX = innerPos.x - svgPos.x;
|
|
449
|
+
const diffY = innerPos.y - svgPos.y;
|
|
450
|
+
const centerOffsetX = -(svgSize.width / 2) + diffX + innerSize.width / 2;
|
|
451
|
+
const centerOffsetY = -(svgSize.height / 2) + diffY + innerSize.height / 2;
|
|
452
|
+
// @ts-ignore
|
|
453
|
+
await svgElem.click({ x: parseInt(centerOffsetX), y: parseInt(centerOffsetY) });
|
|
454
|
+
}
|
|
455
|
+
catch (error) {
|
|
456
|
+
this._throwErrorForFunction("clickElementInSvg", error);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
// =================================== HELPERS ===================================
|
|
460
|
+
// TODO: move to internal utility classes
|
|
461
|
+
_throwErrorForFunction(functionName, error) {
|
|
462
|
+
if (error instanceof Error) {
|
|
463
|
+
if (error.message) {
|
|
464
|
+
throw new Error(`Function '${functionName}' failed with: ${error.message}`);
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
throw new Error(`Function '${functionName}' failed with ${error.message}`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
471
|
+
throw new Error(`Function '${functionName}' failed with an unknown error.`);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
_verifyElement(element) {
|
|
475
|
+
if (!element) {
|
|
476
|
+
throw new Error("Please provide an element as first argument.");
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
_verifyValue(value) {
|
|
480
|
+
if (typeof value !== "string" && typeof value !== "number") {
|
|
481
|
+
throw new Error("value is invalid. It must be of type 'string' or 'number'");
|
|
482
|
+
}
|
|
387
483
|
}
|
|
388
484
|
}
|
|
389
485
|
exports.UserInteraction = UserInteraction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../../../src/reuse/modules/nonUi5/userInteraction.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAGb,8DAAkE;AAClE,qFAAwE;AAExE;;;GAGG;AACH,MAAa,eAAe;IAA5B;QACU,QAAG,GAAG,IAAI,oCAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAyYtE,CAAC;IAvYC,gFAAgF;IAChF;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;QAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;gBAC5B,oCAAoC;gBACpC,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,yCAAyC;aAC9E,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;gBAC1B,oCAAoC;gBACpC,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,uCAAuC;aAC5E,CAAC;SACH,CAAC,CAAC;QACH,IAAI;YACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAc,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI;QACrH,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;SAClG;QACD,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;QACrF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;gBAC5B,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,yCAAyC;aAC9E,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,uCAAuC;aAC5E,CAAC;SACH,CAAC,CAAC;QACH,IAAI;YACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAc,EAAE,aAAa,CAAC,CAAC;YACxG,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;QACpF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;gBAC5B,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,yCAAyC;aAC9E,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,uCAAuC;aAC5E,CAAC;SACH,CAAC,CAAC;QACH,IAAI;YACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAc,EAAE,YAAY,CAAC,CAAC;YACvG,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,+EAA+E;IAC/E;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,OAAgB,EAAE,KAAa;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YAC7D,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;SACvH;aAAM;YACL,IAAI;gBACF,EAAE,CAAC,GAAG,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;gBACnD,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC/B;YAAC,OAAO,KAAK,EAAE;gBACd,aAAa;gBACb,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,kDAAkD,CAAC,CAAC,EAAE;oBACxG,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;oBACjG,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,CAAC,KAAK,EAAE;wBACV,MAAM,IAAI,KAAK,CAAC,qEAAqE,GAAG,KAAK,CAAC,CAAC;qBAChG;yBAAM;wBACL,MAAM,KAAK,CAAC;qBACb;iBACF;aACF;SACF;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAa,EAAE,UAAkB,CAAC,EAAE,WAAmB,IAAI;QAC9F,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;SACtG;aAAM;YACL,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SAClF;IACH,CAAC;IAED,gFAAgF;IAChF;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;SAC1F;QACD,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;SAClG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAa;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,kHAAkH;QAClH,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YACzE,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;SAChI;aAAM;YACL,IAAI;gBACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1B,EAAE,CAAC,GAAG,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;gBACnD,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC/B;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;aAC7D;SACF;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAgB,EAAE,KAAa,EAAE,UAAkB,CAAC,EAAE,WAAmB,IAAI,EAAE,SAAkB,IAAI;QAC9H,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CACxB,KAAK,EAAE,IAAa,EAAE,KAAa,EAAE,EAAE;YACrC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,MAAM,EAAE;gBACV,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,SAAS,IAAI,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;aAClH;QACH,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,CAAC,EAChB,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAa,EAAE,OAAe,EAAE,OAAe;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;SACzC;QAAC,OAAO,KAAK,EAAE;YACd,aAAa;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;SACjE;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,IAAa,EAAE,YAA6B,2CAAe,CAAC,MAAM;QACtF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,UAAmB;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,yCAAyC;QAEzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QAEtD,mGAAmG;QACnG,MAAM,oBAAoB,GAAG;YAC3B,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACtF,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;SACxF,CAAC;QAEF,MAAM,oBAAoB,GAAG;YAC3B,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACtF,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;SACxF,CAAC;QAEF,MAAM,OAAO;aACV,MAAM,CAAC,SAAS,CAAC;aACjB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;aAC3E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa;aACjC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;aAC3E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa;aACjC,OAAO,EAAE,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAgB;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,aAAqB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3E,aAAa;QACb,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;CACF;AA1YD,0CA0YC;AACD,kBAAe,IAAI,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../../../src/reuse/modules/nonUi5/userInteraction.ts"],"names":[],"mappings":"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"}
|