@sap_oss/wdio-qmate-service 2.17.0 → 2.18.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.
@@ -21,7 +21,7 @@ class Table {
21
21
  * @memberOf ui5.table
22
22
  * @description Sorts the given column "Ascending".
23
23
  * @param {String} columnName - The name of the column to sort.
24
- * @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
24
+ * @param {Ui5Selector} tableSelector - The selector describing the table element (in case there are more then one).
25
25
  * @example await ui5.table.sortColumnAscending("Supplier");
26
26
  * @example const glAccountItemsTable = {
27
27
  * "elementProperties": {
@@ -68,7 +68,7 @@ class Table {
68
68
  * @memberOf ui5.table
69
69
  * @description Sorts the given column "Descending".
70
70
  * @param {String} columnName The name of the column to sort.
71
- * @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
71
+ * @param {Ui5Selector} tableSelector - The selector describing the table element (in case there are more then one).
72
72
  * @example await ui5.table.sortColumnDescending("Supplier");
73
73
  * @example const glAccountItemsTable = {
74
74
  * "elementProperties": {
@@ -115,7 +115,7 @@ class Table {
115
115
  * @function clickSettingsButton
116
116
  * @memberOf ui5.table
117
117
  * @description Opens the user Settings.
118
- * @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
118
+ * @param {Ui5Selector} tableSelector - The selector describing the table element (in case there are more then one).
119
119
  * @example await ui5.table.clickSettingsButton();
120
120
  * @example const glAccountItemsTable = {
121
121
  * "elementProperties": {
@@ -127,7 +127,7 @@ class Table {
127
127
  * await ui5.table.clickSettingsButton(glAccountItemsTable);
128
128
  */
129
129
  async clickSettingsButton(tableSelector) {
130
- const vl = this.vlf.initLog(this.clickSettingsButton);
130
+ this.vlf.initLog(this.clickSettingsButton);
131
131
  const settingsButtonSelector = {
132
132
  elementProperties: {
133
133
  metadata: "sap.m.OverflowToolbarButton",
@@ -147,7 +147,7 @@ class Table {
147
147
  * @function getTotalNumberOfRows
148
148
  * @memberOf ui5.table
149
149
  * @description Returns the total number of rows in the table.
150
- * @param {Object | String} [tableSelector] - The selector or ID describing the outer smart table element.
150
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
151
151
  * @returns {Number} The total number of rows in the table.
152
152
  * @example const selector = {
153
153
  * elementProperties: {
@@ -158,37 +158,403 @@ class Table {
158
158
  * };
159
159
  * const numberOfRows = await ui5.table.getTotalNumberOfRows(selector);
160
160
  */
161
- async getTotalNumberOfRows(tableSelector) {
161
+ async getTotalNumberOfRows(tableSelectorOrId) {
162
162
  this.vlf.initLog(this.getTotalNumberOfRows);
163
- const smartTableSelector = this._resolveTableSelector(tableSelector);
163
+ const ancestorSelector = await this._resolveTableSelectorOrId(tableSelectorOrId);
164
164
  const tableTitleSelector = {
165
165
  elementProperties: {
166
166
  metadata: "sap.m.Title"
167
167
  },
168
168
  parentProperties: {
169
169
  metadata: "sap.m.OverflowToolbar",
170
- ancestorProperties: smartTableSelector
170
+ ancestorProperties: ancestorSelector.elementProperties
171
171
  }
172
172
  };
173
173
  const tableTitleText = await ui5.element.getPropertyValue(tableTitleSelector, "text");
174
174
  return this._extractRowCountFromTitle(tableTitleText);
175
175
  }
176
+ /**
177
+ * @function getTotalNumberOfRowsByValues
178
+ * @memberOf ui5.table
179
+ * @description Returns the total number of rows in the table that match the given values.
180
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
181
+ * @param {String | Array<String>} values - The value(s) to match in the table rows.
182
+ * @param {Number} [index=0] - The index of the matching row to consider.
183
+ * @returns {Number} The total number of matching rows in the table.
184
+ * @example const selector = {
185
+ * elementProperties: {
186
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
187
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
188
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
189
+ * }
190
+ * };
191
+ * const numberOfRows = await ui5.table.getTotalNumberOfRowsByValues(selector, ["value1", "value2"]);
192
+ * const numberOfRows = await ui5.table.getTotalNumberOfRowsByValues(selector, "value");
193
+ **/
194
+ async getTotalNumberOfRowsByValues(tableSelectorOrId, values) {
195
+ this.vlf.initLog(this.getTotalNumberOfRowsByValues);
196
+ const rowSelectors = await this.getSelectorsForRowsByValues(tableSelectorOrId, values);
197
+ return rowSelectors.length;
198
+ }
199
+ /**
200
+ * @function selectRowByIndex
201
+ * @memberOf ui5.table
202
+ * @description Selects a row in the table by its index.
203
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
204
+ * @param {Number} index - The index of the row to select.
205
+ * @example await ui5.table.selectRowByIndex("application-ReportingTask-run-component---ReportList--ReportingTable", 0);
206
+ * @example const selector = {
207
+ * elementProperties: {
208
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
209
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
210
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
211
+ * }
212
+ * };
213
+ * await ui5.table.selectRowByIndex(selector, 0);
214
+ */
215
+ async selectRowByIndex(tableSelectorOrId, index) {
216
+ this.vlf.initLog(this.selectRowByIndex);
217
+ const ancestorSelector = await this._resolveTableSelectorOrId(tableSelectorOrId);
218
+ const checkBoxSelector = {
219
+ elementProperties: {
220
+ metadata: "sap.m.CheckBox"
221
+ },
222
+ parentProperties: {
223
+ metadata: Table.COLUMN_LIST_ITEM_METADATA,
224
+ ancestorProperties: ancestorSelector.elementProperties
225
+ }
226
+ };
227
+ await ui5.userInteraction.check(checkBoxSelector, index);
228
+ }
229
+ /**
230
+ * @function openItemByIndex
231
+ * @memberOf ui5.table
232
+ * @description Opens the item in the table by its index.
233
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
234
+ * @param {Number} index - The index of the item to open.
235
+ * @example const selector = {
236
+ * elementProperties: {
237
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
238
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
239
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
240
+ * }
241
+ * };
242
+ * await ui5.table.openItemByIndex(selector, 0);
243
+ * @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable";
244
+ * await ui5.table.openItemByIndex(id, 0);
245
+ */
246
+ async openItemByIndex(tableSelectorOrId, index) {
247
+ this.vlf.initLog(this.openItemByIndex);
248
+ const rowSelector = await this.getSelectorForRowByIndex(tableSelectorOrId, index);
249
+ await ui5.userInteraction.click(rowSelector);
250
+ }
251
+ /**
252
+ * @function openItemByValues
253
+ * @memberOf ui5.table
254
+ * @description Opens the item in the table containing the given values. If multiple items match, it opens the index-th item.
255
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
256
+ * @param {String | Array<String>} values - The value(s) to match in the table rows.
257
+ * @param {Number} [index=0] - The index of the matching row to consider.
258
+ * @example const selector = {
259
+ * elementProperties: {
260
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
261
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
262
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
263
+ * }
264
+ * };
265
+ * await ui5.table.openItemByValues(selector, ["value1", "value2"]);
266
+ * @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable";
267
+ * await ui5.table.openItemByValues(id, "value");
268
+ */
269
+ async openItemByValues(tableSelectorOrId, values, index = 0) {
270
+ this.vlf.initLog(this.openItemByValues);
271
+ const rowSelectors = await this.getSelectorsForRowsByValues(tableSelectorOrId, values);
272
+ if (rowSelectors.length === 0) {
273
+ return this.ErrorHandler.logException(new Error(`No items found with the provided values: ${values}.`));
274
+ }
275
+ else if (rowSelectors.length <= index) {
276
+ return this.ErrorHandler.logException(new Error(`The index ${index} is out of bounds. The number of matching items is ${rowSelectors.length}.`));
277
+ }
278
+ else {
279
+ const rowSelector = rowSelectors[index];
280
+ await ui5.userInteraction.click(rowSelector);
281
+ }
282
+ }
283
+ /**
284
+ * @function getSelectorsForRowsByValues
285
+ * @memberOf ui5.table
286
+ * @description Gets the selectors of rows in the table that contain the given values. If multiple values are provided, it only returns the selectors of rows that contain all of them.
287
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
288
+ * @param {string} values - The value(s) to match in the table rows.
289
+ * @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable"
290
+ * await ui5.table.getSelectorsForRowsByValues(id, "February");
291
+ * @example const selector = {
292
+ * elementProperties: {
293
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
294
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
295
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
296
+ * }
297
+ * };
298
+ * await ui5.table.getSelectorsForRowsByValues(selector, ["January", "2022"]);
299
+ */
300
+ async getSelectorsForRowsByValues(tableSelector, values) {
301
+ this.vlf.initLog(this.getSelectorsForRowsByValues);
302
+ if (typeof values === "string") {
303
+ values = [values];
304
+ }
305
+ else if (!Array.isArray(values)) {
306
+ this.ErrorHandler.logException(new Error("Invalid values provided. It should be either a string or an array of strings."));
307
+ }
308
+ const constructedTableSelector = await this._constructTableSelector(tableSelector);
309
+ let filteredRowIds;
310
+ try {
311
+ // =========================== BROWSER COMMAND ===========================
312
+ filteredRowIds = await util.browser.executeScript((constructedTableSelector, values, tableMetadata, smartTableMetadata) => {
313
+ const table = sap.ui.getCore().getElementById(constructedTableSelector.elementProperties?.id);
314
+ let items = [];
315
+ if (tableMetadata === constructedTableSelector.elementProperties.metadata && table.getItems !== undefined) {
316
+ items = table.getItems();
317
+ }
318
+ else if (tableMetadata === constructedTableSelector.elementProperties.metadata && table.getRows !== undefined) {
319
+ items = table.getRows();
320
+ }
321
+ else if (smartTableMetadata === constructedTableSelector.elementProperties.metadata && table.getTable !== undefined && table.getTable().getItems !== undefined) {
322
+ items = table.getTable().getItems();
323
+ }
324
+ else {
325
+ return undefined;
326
+ }
327
+ return items.filter((item) => values.every((val) => Object.values(item.getBindingContext().getObject()).includes(val))).map((filteredItems) => filteredItems.getId());
328
+ }, constructedTableSelector, values, Table.TABLE_METADATA, Table.SMART_TABLE_METADATA);
329
+ // ========================================================================
330
+ }
331
+ catch (error) {
332
+ return this.ErrorHandler.logException(new Error(`Error while executing browser command: ${error}`));
333
+ }
334
+ if (filteredRowIds && filteredRowIds.length > 0) {
335
+ const rowsSelectors = [];
336
+ for (const id of filteredRowIds) {
337
+ const columnListItemSelector = {
338
+ elementProperties: {
339
+ metadata: Table.COLUMN_LIST_ITEM_METADATA,
340
+ id: id
341
+ }
342
+ };
343
+ rowsSelectors.push(columnListItemSelector);
344
+ }
345
+ return rowsSelectors;
346
+ }
347
+ else {
348
+ return [];
349
+ }
350
+ }
351
+ /**
352
+ * @function getSelectorForRowByIndex
353
+ * @memberOf ui5.table
354
+ * @description Gets the selector of a row in the table by its index.
355
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
356
+ * @param {Number} index - The index of the item to open.
357
+ * @example const selector = {
358
+ * elementProperties: {
359
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
360
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
361
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
362
+ * }
363
+ * };
364
+ * const rowSelector = await ui5.table.getSelectorForRowByIndex(selector, 0);
365
+ * @example id = "application-ReportingTask-run-component---ReportList--ReportingTable"
366
+ * const rowSelector = await ui5.table.getSelectorForRowByIndex(id, 0);
367
+ */
368
+ async getSelectorForRowByIndex(tableSelector, index) {
369
+ this.vlf.initLog(this.getSelectorForRowByIndex);
370
+ const constructedTableSelector = await this._constructTableSelector(tableSelector);
371
+ let columnListItemId;
372
+ try {
373
+ // =========================== BROWSER COMMAND ===========================
374
+ columnListItemId = await util.browser.executeScript((constructedTableSelector, index, tableMetadata, smartTableMetadata) => {
375
+ const table = sap.ui.getCore().getElementById(constructedTableSelector.elementProperties?.id);
376
+ let items = [];
377
+ if (tableMetadata === constructedTableSelector.elementProperties.metadata && table.getItems !== undefined) {
378
+ items = table.getItems();
379
+ }
380
+ else if (tableMetadata === constructedTableSelector.elementProperties.metadata && table.getRows !== undefined) {
381
+ items = table.getRows();
382
+ }
383
+ else if (smartTableMetadata === constructedTableSelector.elementProperties.metadata && table.getTable !== undefined && table.getTable().getItems !== undefined) {
384
+ items = table.getTable().getItems();
385
+ }
386
+ if (!items || !items[index])
387
+ return undefined;
388
+ // Filter items with undefined or empty title since titles in rows/columnListItems are only used for dividers of grouped items
389
+ const filteredItems = items.filter((item) => item.getTitle === undefined || item.getTitle() === "");
390
+ const item = filteredItems[index];
391
+ return item?.getId?.();
392
+ }, constructedTableSelector, index, Table.TABLE_METADATA, Table.SMART_TABLE_METADATA);
393
+ // ========================================================================
394
+ }
395
+ catch (error) {
396
+ return this.ErrorHandler.logException(new Error(`Error while executing browser command: ${error}`));
397
+ }
398
+ if (!columnListItemId) {
399
+ return this.ErrorHandler.logException(new Error(`No item found with index ${index}.`));
400
+ }
401
+ const columnListItemSelector = {
402
+ elementProperties: {
403
+ metadata: Table.COLUMN_LIST_ITEM_METADATA,
404
+ id: columnListItemId
405
+ }
406
+ };
407
+ return columnListItemSelector;
408
+ }
409
+ /**
410
+ * @function selectAllRows
411
+ * @memberOf ui5.table
412
+ * @description Selects all rows in the table.
413
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
414
+ * @example await ui5.table.selectAllRows("application-ReportingTask-run-component---ReportList--ReportingTable");
415
+ * await ui5.table.selectAllRows(selector);
416
+ */
417
+ async selectAllRows(tableSelectorOrId) {
418
+ this.vlf.initLog(this.selectAllRows);
419
+ const parentSelector = await this._resolveTableSelectorOrId(tableSelectorOrId);
420
+ const checkBoxSelector = {
421
+ elementProperties: {
422
+ metadata: "sap.m.CheckBox"
423
+ },
424
+ parentProperties: parentSelector.elementProperties
425
+ };
426
+ await ui5.userInteraction.check(checkBoxSelector);
427
+ }
428
+ /**
429
+ * @function deselectRowByIndex
430
+ * @memberOf ui5.table
431
+ * @description Deselects a row in the table by its index.
432
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
433
+ * @example const selector = {
434
+ * elementProperties: {
435
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
436
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
437
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
438
+ * }
439
+ * };
440
+ * await ui5.table.deselectRowByIndex(selector, 0);
441
+ * @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable";
442
+ * await ui5.table.deselectRowByIndex(id, 0);
443
+ */
444
+ async deselectRowByIndex(tableSelectorOrId, index) {
445
+ this.vlf.initLog(this.selectRowByIndex);
446
+ const ancestorSelector = await this._resolveTableSelectorOrId(tableSelectorOrId);
447
+ const checkBoxSelector = {
448
+ elementProperties: {
449
+ metadata: "sap.m.CheckBox"
450
+ },
451
+ parentProperties: {
452
+ metadata: "sap.m.ColumnListItem",
453
+ ancestorProperties: ancestorSelector.elementProperties
454
+ }
455
+ };
456
+ await ui5.userInteraction.uncheck(checkBoxSelector, index);
457
+ }
458
+ /**
459
+ * @function deselectAllRows
460
+ * @memberOf ui5.table
461
+ * @description Deselects all rows in the table.
462
+ * @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
463
+ * @example await ui5.table.deselectAllRows("application-ReportingTask-run-component---ReportList--ReportingTable");
464
+ * @example const selector = {
465
+ * elementProperties: {
466
+ * viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
467
+ * metadata: "sap.ui.comp.smarttable.SmartTable",
468
+ * id: "application-ReportingTask-run-component---ReportList--ReportingTable"
469
+ * }
470
+ * };
471
+ * await ui5.table.deselectAllRows(selector);
472
+ */
473
+ async deselectAllRows(tableSelectorOrId) {
474
+ this.vlf.initLog(this.selectAllRows);
475
+ const parentSelector = await this._resolveTableSelectorOrId(tableSelectorOrId);
476
+ const checkBoxSelector = {
477
+ elementProperties: {
478
+ metadata: "sap.m.CheckBox"
479
+ },
480
+ parentProperties: parentSelector.elementProperties
481
+ };
482
+ await ui5.userInteraction.uncheck(checkBoxSelector);
483
+ }
176
484
  // =================================== HELPER ===================================
177
- _resolveTableSelector(tableSelector) {
178
- let smartTableSelector;
179
- if (typeof tableSelector === "string") {
180
- smartTableSelector = {
181
- metadata: "sap.ui.comp.smarttable.SmartTable",
182
- id: tableSelector
183
- };
485
+ async _resolveTableSelectorOrId(tableSelectorOrId) {
486
+ if (typeof tableSelectorOrId === "string") {
487
+ const selectors = [
488
+ {
489
+ elementProperties: {
490
+ metadata: Table.SMART_TABLE_METADATA,
491
+ id: tableSelectorOrId
492
+ }
493
+ },
494
+ {
495
+ elementProperties: {
496
+ metadata: Table.TABLE_METADATA,
497
+ id: tableSelectorOrId
498
+ }
499
+ }
500
+ ];
501
+ try {
502
+ const index = await Promise.any(selectors.map(async (selectors, index) => {
503
+ return await ui5.element.getDisplayed(selectors).then(() => index);
504
+ }));
505
+ return selectors[index];
506
+ }
507
+ catch (error) {
508
+ // Intentionally left empty, as the error is handled below
509
+ }
184
510
  }
185
- else if (typeof tableSelector === "object") {
186
- smartTableSelector = tableSelector;
511
+ else if (typeof tableSelectorOrId === "object" && "elementProperties" in tableSelectorOrId) {
512
+ if (tableSelectorOrId.elementProperties.metadata === Table.TABLE_METADATA || tableSelectorOrId.elementProperties.metadata === Table.SMART_TABLE_METADATA) {
513
+ return tableSelectorOrId;
514
+ }
515
+ }
516
+ throw new Error(`The provided table selector "${tableSelectorOrId}" is not valid. Please provide a valid selector or ID for control type 'SmartTable' or 'Table'.`);
517
+ }
518
+ async _getId(tableSelectorOrId) {
519
+ this.vlf.initLog(this._getId);
520
+ if (typeof tableSelectorOrId === "string") {
521
+ return tableSelectorOrId;
187
522
  }
188
523
  else {
189
- throw new Error("Invalid table selector provided. It should be either a string or an object (Qmate selector).");
524
+ const resolvedTableSelectorOrId = await this._resolveTableSelectorOrId(tableSelectorOrId);
525
+ return await ui5.element.getId(resolvedTableSelectorOrId);
190
526
  }
191
- return smartTableSelector;
527
+ }
528
+ async _getTableMetadata(tableId) {
529
+ const vl = this.vlf.initLog(this._getTableMetadata);
530
+ vl.log(`The table selector is a string: ${tableId}`);
531
+ let browserCommand;
532
+ try {
533
+ browserCommand = `
534
+ return (function () {
535
+ const table = sap.ui.getCore().getElementById("${tableId}");
536
+ return table.getMetadata().getName();
537
+ })();
538
+ `;
539
+ const tableMetadata = await util.browser.executeScript(browserCommand);
540
+ return tableMetadata;
541
+ }
542
+ catch (error) {
543
+ throw new Error(`Browser Command: ${browserCommand} failed with: ${error}`);
544
+ }
545
+ }
546
+ async _constructTableSelector(tableSelector) {
547
+ this.vlf.initLog(this._constructTableSelector);
548
+ const tableId = await this._getId(tableSelector);
549
+ const tableMetaData = await this._getTableMetadata(tableId);
550
+ const selector = {
551
+ elementProperties: {
552
+ metadata: tableMetaData,
553
+ id: tableId
554
+ }
555
+ };
556
+ await ui5.element.waitForAll(selector);
557
+ return selector;
192
558
  }
193
559
  _extractRowCountFromTitle(title) {
194
560
  const vl = this.vlf.initLog(this._extractRowCountFromTitle);
@@ -230,7 +596,7 @@ class Table {
230
596
  await Promise.any([ui5.userInteraction.click(this._prepareAncestorSelector(tableColumnSelector, tableSelector)), ui5.userInteraction.click(this._prepareAncestorSelector(tableGridColumnSelector, tableSelector))]);
231
597
  }
232
598
  }
233
- async _getSortValudGridTable(selector, ancestor) {
599
+ async _getSortValueGridTable(selector, ancestor) {
234
600
  const sortOrder = await ui5.element.getPropertyValue(selector, "sortOrder", ancestor);
235
601
  const sorted = await ui5.element.getPropertyValue(selector, "sorted", ancestor);
236
602
  return sorted ? sortOrder : "";
@@ -254,15 +620,15 @@ class Table {
254
620
  }
255
621
  };
256
622
  if (!tableSelector) {
257
- return Promise.any([ui5.element.getPropertyValue(tableColumnSelector, "sortIndicator"), this._getSortValudGridTable(tableGridColumnSelector)]);
623
+ return Promise.any([ui5.element.getPropertyValue(tableColumnSelector, "sortIndicator"), this._getSortValueGridTable(tableGridColumnSelector)]);
258
624
  }
259
625
  if (typeof tableSelector == "number") {
260
626
  util.console.warn(`The usage of argument 'index' in function ${arguments.callee.caller.name} is deprecated. Please pass a valid table selector instead.`);
261
- return Promise.any([ui5.element.getPropertyValue(tableColumnSelector, "sortIndicator", tableSelector), this._getSortValudGridTable(tableGridColumnSelector, tableSelector)]);
627
+ return Promise.any([ui5.element.getPropertyValue(tableColumnSelector, "sortIndicator", tableSelector), this._getSortValueGridTable(tableGridColumnSelector, tableSelector)]);
262
628
  }
263
629
  else if (typeof tableSelector === "object") {
264
630
  const selector = this._prepareAncestorSelector(tableColumnSelector, tableSelector);
265
- return Promise.any([ui5.element.getPropertyValue(this._prepareAncestorSelector(tableColumnSelector, tableSelector), "sortIndicator"), this._getSortValudGridTable(this._prepareAncestorSelector(tableGridColumnSelector, tableSelector))]);
631
+ return Promise.any([ui5.element.getPropertyValue(this._prepareAncestorSelector(tableColumnSelector, tableSelector), "sortIndicator"), this._getSortValueGridTable(this._prepareAncestorSelector(tableGridColumnSelector, tableSelector))]);
266
632
  }
267
633
  }
268
634
  _prepareAncestorSelector(selector, ancestorSelector) {
@@ -283,5 +649,9 @@ class Table {
283
649
  }
284
650
  }
285
651
  exports.Table = Table;
652
+ // =================================== CONSTANTS ===================================
653
+ Table.SMART_TABLE_METADATA = "sap.ui.comp.smarttable.SmartTable";
654
+ Table.TABLE_METADATA = "sap.m.Table";
655
+ Table.COLUMN_LIST_ITEM_METADATA = "sap.m.ColumnListItem";
286
656
  exports.default = new Table();
287
657
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/table.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,26 @@
1
- export type Ui5Selector = {
2
- elementProperties: any;
3
- ancestorProperties?: any;
4
- parentProperties?: any;
5
- siblingProperties?: any;
6
- prevSiblingProperties?: any;
7
- nextSiblingProperties?: any;
8
- childProperties?: any;
9
- descendantProperties?: any;
10
- };
1
+ export type QmateSelectors = Record<string, Ui5Selector | Ui5DynamicSelector | CssSelector | CssDynamicSelector>;
2
+ export interface Ui5Selector {
3
+ elementProperties: ElementProperties;
4
+ ancestorProperties?: ElementProperties;
5
+ parentProperties?: ElementProperties;
6
+ siblingProperties?: ElementProperties;
7
+ prevSiblingProperties?: ElementProperties;
8
+ nextSiblingProperties?: ElementProperties;
9
+ childProperties?: ElementProperties;
10
+ descendantProperties?: ElementProperties;
11
+ }
12
+ export type Ui5DynamicSelector = (...args: Array<any>) => Ui5Selector;
13
+ export interface ElementProperties {
14
+ viewName?: string;
15
+ metadata: Ui5ControlMetadata;
16
+ [key: string]: any;
17
+ }
18
+ export type Ui5ControlMetadata = `sap.m.${Capitalize<string>}` | `sap.ui.comp.${Lowercase<string>}.${Capitalize<string>}`;
11
19
  export type Ui5SelectorWithOptions = {
12
20
  selector: Ui5Selector;
13
21
  index?: number;
14
22
  timeout?: number;
15
23
  returnAllDomElements?: boolean;
16
24
  };
25
+ export type CssSelector = string;
26
+ export type CssDynamicSelector = (...args: Array<any>) => CssSelector;
@@ -114,7 +114,7 @@ export declare class Browser {
114
114
  * @returns {Any} The result from the executed function.
115
115
  * @example await util.browser.executeScript(command);
116
116
  */
117
- executeScript(command: string | Function): Promise<any>;
117
+ executeScript(command: string | Function, ...args: Array<any>): Promise<any>;
118
118
  /**
119
119
  * @function switchToNewWindow
120
120
  * @memberOf util.browser
@@ -246,9 +246,9 @@ class Browser {
246
246
  * @returns {Any} The result from the executed function.
247
247
  * @example await util.browser.executeScript(command);
248
248
  */
249
- async executeScript(command) {
249
+ async executeScript(command, ...args) {
250
250
  const vl = this.vlf.initLog(this.executeScript);
251
- return browser.execute(command);
251
+ return browser.execute(command, ...args);
252
252
  }
253
253
  // =================================== WINDOW HANDLING ===================================
254
254
  /**