@fkui/vue 6.9.0 → 6.11.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.
@@ -1197,32 +1197,19 @@ var FStaticFieldPageObject = class {
1197
1197
  }
1198
1198
  };
1199
1199
 
1200
- // src/cypress/FTableColumn.pageobject.ts
1201
- var FTableColumnPageObject = class {
1202
- constructor(selector, index) {
1203
- this.selector = `${selector}:nth(${index})`;
1204
- this.index = index;
1205
- this.el = () => cy.get(this.selector);
1206
- }
1207
- tableRowBodyContent(position) {
1208
- return cy.get(`${this.selector} td:nth(${position})`);
1209
- }
1210
- tableRowHeaderContent() {
1211
- return cy.get(`${this.selector} th`);
1212
- }
1213
- checkbox() {
1214
- return new FCheckboxFieldPageObject(this.selector);
1215
- }
1216
- };
1217
-
1218
1200
  // src/cypress/FInteractiveTable.pageobject.ts
1219
1201
  var FInteractiveTablePageObject = class {
1220
1202
  /**
1221
- * @param selector - table selector.
1203
+ * @param selector - root element selector for `FInteractiveTable`, usually `.table`.
1222
1204
  */
1223
- constructor(selector) {
1205
+ constructor(selector = ".table") {
1224
1206
  this.selector = selector;
1225
- this.el = () => cy.get(this.selector);
1207
+ }
1208
+ /**
1209
+ * Get root element.
1210
+ */
1211
+ el() {
1212
+ return cy.get(this.selector);
1226
1213
  }
1227
1214
  /**
1228
1215
  * Get table cell (typically `<td>` but can be `<th>` if row headers are
@@ -1256,33 +1243,87 @@ var FInteractiveTablePageObject = class {
1256
1243
  ].join(" ")
1257
1244
  );
1258
1245
  }
1246
+ /**
1247
+ * Get `<caption>` element.
1248
+ */
1259
1249
  caption() {
1260
1250
  return cy.get(`${this.selector} caption`);
1261
1251
  }
1262
- bodyRow() {
1263
- return cy.get(`${this.selector} tbody tr`);
1252
+ /**
1253
+ * Get table header cell (`<th>` in `<thead>`).
1254
+ *
1255
+ * Neither the marker for expandable rows or the checkbox for selectable
1256
+ * rows are included in the column count, i.e. `1` always refers to the
1257
+ * first column with content.
1258
+ *
1259
+ * @public
1260
+ * @param col - column number of header (1-indexed).
1261
+ * @returns The header cell element.
1262
+ */
1263
+ header(col) {
1264
+ const index = col - 1;
1265
+ return cy.get(`${this.selector} thead .table__column:nth(${index})`);
1264
1266
  }
1267
+ /**
1268
+ * Get all table headers (`<th>` in `<thead>`).
1269
+ *
1270
+ * Includes the headers for checkboxes in selectable rows and markers in expandable rows.
1271
+ */
1272
+ headersRow() {
1273
+ return cy.get(`${this.selector} thead th`);
1274
+ }
1275
+ /**
1276
+ * Get row (`<tr>` in `<tbody>`) of given index.
1277
+ *
1278
+ * Includes expandable rows even if not expanded.
1279
+ *
1280
+ * @param index - Row number (0-indexed).
1281
+ */
1265
1282
  row(index) {
1266
1283
  return cy.get(`${this.selector} tbody tr:nth(${index})`);
1267
1284
  }
1268
- headersRow() {
1269
- return cy.get(`${this.selector} thead th`);
1285
+ /**
1286
+ * Get all table body rows (`<tr>` in `<tbody>`).
1287
+ *
1288
+ * Includes expandable rows even if not expanded.
1289
+ */
1290
+ bodyRow() {
1291
+ return cy.get(`${this.selector} tbody tr`);
1270
1292
  }
1271
1293
  /**
1272
- * Hämta page object för specifikt Table row item.
1294
+ * Get page object with selector for the checkbox in given row.
1295
+ *
1296
+ * For expandable rows the row count depend on whenever a row is expanded or
1297
+ * not. If the first row is collapsed the second row refers to the next
1298
+ * parent row while if the first row is expanded the second row refers to
1299
+ * the first expanded row under the first row.
1300
+ *
1301
+ * Requires a `selectable` table.
1302
+ *
1303
+ * @public
1304
+ * @param row - Row number (1-indexed).
1305
+ * @returns Page object for `FCheckboxField`.
1273
1306
  */
1274
- columnItem(index) {
1275
- return new FTableColumnPageObject(
1276
- `${this.selector} .table__row`,
1277
- index
1307
+ checkbox(row) {
1308
+ const index = row - 1;
1309
+ return new FCheckboxFieldPageObject(
1310
+ [
1311
+ this.selector,
1312
+ `tbody`,
1313
+ `tr:not(.table__expandable-row--collapsed):nth(${index})`,
1314
+ `.checkbox`
1315
+ ].join(" ")
1278
1316
  );
1279
1317
  }
1280
1318
  /**
1281
- * Hämta page object för specifikt Header row item.
1319
+ * Get sort order icon in given column.
1320
+ *
1321
+ * Index includes the columns for checkboxes in selectable rows and markers in expandable rows.
1322
+ *
1323
+ * @param index - Column index (0-indexed).
1324
+ * @param order - Column sort order.
1325
+ * @returns icon of given sort order.
1282
1326
  */
1283
- headerRowItem() {
1284
- return new FTableColumnPageObject(`${this.selector} .table__row`, 0);
1285
- }
1286
1327
  getColumnSortedByIcon(index, order) {
1287
1328
  let iconName;
1288
1329
  switch (order) {
@@ -1298,8 +1339,61 @@ var FInteractiveTablePageObject = class {
1298
1339
  default:
1299
1340
  throw Error("Invalid order");
1300
1341
  }
1301
- const column = this.headerRowItem().tableRowHeaderContent().eq(index);
1302
- return column.find(`svg.${iconName}`);
1342
+ return cy.get(
1343
+ `${this.selector} thead th:nth(${index}) svg.${iconName}`
1344
+ );
1345
+ }
1346
+ /**
1347
+ * Get page object for `FTableColumn` with selector targeting the header row.
1348
+ *
1349
+ * @deprecated Use `header()` instead. Deprecated since v6.11.0.
1350
+ * @returns Page object for `FTableColumn`.
1351
+ */
1352
+ headerRowItem() {
1353
+ return new FTableColumnPageObject(`${this.selector} .table__row`, 0);
1354
+ }
1355
+ /**
1356
+ * Get page object for `FTableColumn` with selector targeting the given row number.
1357
+ *
1358
+ * Index includes the header row (index 0 selects the header row while 1 selects first row in table body).
1359
+ * Index ignores expandable rows.
1360
+ *
1361
+ * @deprecated Use `cell()` for body content and `header()` for header content instead. Deprecated since v6.11.0.
1362
+ * @param index - Row number (0-indexed).
1363
+ * @returns Page object for `FTableColumn`.
1364
+ */
1365
+ columnItem(index) {
1366
+ return new FTableColumnPageObject(
1367
+ `${this.selector} .table__row`,
1368
+ index
1369
+ );
1370
+ }
1371
+ };
1372
+
1373
+ // src/cypress/FTableColumn.pageobject.ts
1374
+ var FTableColumnPageObject = class {
1375
+ constructor(selector, index) {
1376
+ this.selector = `${selector}:nth(${index})`;
1377
+ this.index = index;
1378
+ this.el = () => cy.get(this.selector);
1379
+ }
1380
+ /**
1381
+ * @deprecated Use ´FInteractiveTablePageObject.cell()´ instead. Deprecated since v6.11.0.
1382
+ */
1383
+ tableRowBodyContent(position) {
1384
+ return cy.get(`${this.selector} td:nth(${position})`);
1385
+ }
1386
+ /**
1387
+ * @deprecated Use ´FInteractiveTablePageObject.header()´ instead. Deprecated since v6.11.0.
1388
+ */
1389
+ tableRowHeaderContent() {
1390
+ return cy.get(`${this.selector} th`);
1391
+ }
1392
+ /**
1393
+ * @deprecated Use ´FInteractiveTablePageObject.checkbox()´ instead. Deprecated since v6.11.0.
1394
+ */
1395
+ checkbox() {
1396
+ return new FCheckboxFieldPageObject(this.selector);
1303
1397
  }
1304
1398
  };
1305
1399