@openui5/sap.ui.table 1.93.3 → 1.96.2

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.
Files changed (53) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +1 -1
  5. package/src/sap/ui/table/AnalyticalColumn.js +1 -1
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  7. package/src/sap/ui/table/AnalyticalTable.js +51 -12
  8. package/src/sap/ui/table/Column.js +29 -6
  9. package/src/sap/ui/table/ColumnMenu.js +3 -1
  10. package/src/sap/ui/table/CreationRow.js +1 -1
  11. package/src/sap/ui/table/Row.js +1 -1
  12. package/src/sap/ui/table/RowAction.js +1 -1
  13. package/src/sap/ui/table/RowActionItem.js +1 -1
  14. package/src/sap/ui/table/RowSettings.js +3 -2
  15. package/src/sap/ui/table/Table.js +79 -98
  16. package/src/sap/ui/table/TablePersoController.js +1 -1
  17. package/src/sap/ui/table/TableRenderer.js +9 -3
  18. package/src/sap/ui/table/TreeTable.js +27 -2
  19. package/src/sap/ui/table/extensions/Accessibility.js +45 -26
  20. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
  21. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  22. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  23. package/src/sap/ui/table/extensions/Keyboard.js +25 -45
  24. package/src/sap/ui/table/extensions/KeyboardDelegate.js +67 -46
  25. package/src/sap/ui/table/extensions/Pointer.js +1 -14
  26. package/src/sap/ui/table/extensions/Scrolling.js +133 -126
  27. package/src/sap/ui/table/extensions/ScrollingIOS.js +369 -0
  28. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  29. package/src/sap/ui/table/library.js +10 -10
  30. package/src/sap/ui/table/messagebundle_fr.properties +1 -1
  31. package/src/sap/ui/table/messagebundle_it.properties +3 -3
  32. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  33. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  34. package/src/sap/ui/table/plugins/SelectionModelSelection.js +17 -28
  35. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  36. package/src/sap/ui/table/plugins/V4Aggregation.js +9 -2
  37. package/src/sap/ui/table/rowmodes/AutoRowMode.js +16 -1
  38. package/src/sap/ui/table/rowmodes/FixedRowMode.js +16 -1
  39. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +23 -9
  40. package/src/sap/ui/table/rowmodes/RowMode.js +10 -28
  41. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  42. package/src/sap/ui/table/themes/base/Cell.less +1 -10
  43. package/src/sap/ui/table/themes/base/Grouping.less +4 -1
  44. package/src/sap/ui/table/themes/base/ScrollingIOS.less +26 -0
  45. package/src/sap/ui/table/themes/base/Table.less +1 -1
  46. package/src/sap/ui/table/themes/base/library.source.less +1 -0
  47. package/src/sap/ui/table/utils/TableUtils.js +25 -60
  48. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  49. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  50. package/src/sap/ui/table/utils/_GroupingUtils.js +5 -1
  51. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  52. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
  53. package/ui5.yaml +4 -1
@@ -209,7 +209,7 @@ sap.ui.define([
209
209
  * Static collection of utility functions related to the sap.ui.table.Table, ...
210
210
  *
211
211
  * @author SAP SE
212
- * @version 1.93.3
212
+ * @version 1.96.2
213
213
  * @namespace
214
214
  * @alias sap.ui.table.utils.TableUtils
215
215
  * @private
@@ -399,55 +399,6 @@ sap.ui.define([
399
399
  return oTable.getDomRef().querySelector("#" + oTable.getId() + "-sapUiTableGridCnt > .sapUiLocalBusyIndicator") != null;
400
400
  },
401
401
 
402
- /**
403
- * Returns whether one or more requests are currently in process by the binding.
404
- *
405
- * @param {sap.ui.table.Table} oTable Instance of the table.
406
- * @returns {boolean} Whether the binding of the table is currently requesting data.
407
- */
408
- hasPendingRequests: function(oTable) {
409
- if (!oTable) {
410
- return false;
411
- }
412
-
413
- if (TableUtils.canUsePendingRequestsCounter(oTable)) {
414
- return oTable._iPendingRequests > 0;
415
- } else {
416
- return oTable._bPendingRequest;
417
- }
418
- },
419
-
420
- /**
421
- * A counter to determine whether there are pending requests can be used if exactly one dataReceived event is fired for every
422
- * dataRequested event. If this is not the case and there can be an imbalance between dataReceived and dataRequested events, a more limited
423
- * method using a boolean flag must be used.
424
- *
425
- * It is not always possible to correctly determine whether there is a pending request, because the table must use a flag instead of a
426
- * counter. A flag is necessary under the following conditions:
427
- *
428
- * If the AnalyticalBinding is created with the parameter "useBatchRequest" set to false, an imbalance between dataRequested and
429
- * dataReceived events can occur. There will be one dataRequested event for every request that would otherwise be part of a batch
430
- * request. But still only one dataReceived event is fired after all responses are received.
431
- *
432
- * If the ODataTreeBindingFlat adapter is applied to the TreeBinding, the adapter fires a dataRequested event on every call of getNodes,
433
- * even if no request is sent. This can happen if the adapter ignores the request, because it finds out there is a pending request which
434
- * covers it. When a request is ignored no dataReceived event is fired.
435
- *
436
- * @param {sap.ui.table.Table} oTable Instance of the table.
437
- * @returns {boolean} Returns <code>true</code>, if the table can use a counter for pending request detection.
438
- */
439
- canUsePendingRequestsCounter: function(oTable) {
440
- var oBinding = oTable ? oTable.getBinding() : null;
441
-
442
- if (TableUtils.isA(oBinding, "sap.ui.model.analytics.AnalyticalBinding")) {
443
- return oBinding.bUseBatchRequests;
444
- } else if (TableUtils.isA(oBinding, "sap.ui.model.TreeBinding")) {
445
- return false;
446
- }
447
-
448
- return true;
449
- },
450
-
451
402
  /**
452
403
  * Checks whether an object is of the given type(s).
453
404
  * Wrapper for {@link sap.ui.base.Object.isA}.
@@ -1392,28 +1343,28 @@ sap.ui.define([
1392
1343
  *
1393
1344
  * @param {string} sCSSSize The CSSSize to convert.
1394
1345
  * @param {boolean} [bWithUnit=false] Whether the value should be returned as a string with the unit.
1395
- * @returns {string | int | null} The pixel value as an integer, or string if <code>bWithUnit</code> is <code>true</code>. Returns
1346
+ * @returns {string | float | null} The pixel value as a number, or string if <code>bWithUnit</code> is <code>true</code>. Returns
1396
1347
  * <code>null</code> if the CSS size could not be converted.
1397
1348
  */
1398
1349
  convertCSSSizeToPixel: function(sCSSSize, bWithUnit) {
1399
- var iPixelValue;
1350
+ var fPixelValue;
1400
1351
 
1401
1352
  if (typeof sCSSSize !== "string") {
1402
1353
  return null;
1403
1354
  }
1404
1355
 
1405
1356
  if (sCSSSize.endsWith("px")) {
1406
- iPixelValue = parseInt(sCSSSize);
1357
+ fPixelValue = parseFloat(sCSSSize);
1407
1358
  } else if (sCSSSize.endsWith("em") || sCSSSize.endsWith("rem")) {
1408
- iPixelValue = Math.ceil(parseFloat(sCSSSize) * TableUtils.getBaseFontSize());
1359
+ fPixelValue = parseFloat(sCSSSize) * TableUtils.getBaseFontSize();
1409
1360
  } else {
1410
1361
  return null;
1411
1362
  }
1412
1363
 
1413
1364
  if (bWithUnit) {
1414
- return iPixelValue + "px";
1365
+ return fPixelValue + "px";
1415
1366
  } else {
1416
- return iPixelValue;
1367
+ return fPixelValue;
1417
1368
  }
1418
1369
  },
1419
1370
 
@@ -1441,8 +1392,22 @@ sap.ui.define([
1441
1392
  // Converting the row height CSS parameters (e.g. _sap_ui_table_RowHeight) is too complex (CSS calc()).
1442
1393
  // Therefore, the base sizes are used and calculation is done in JavaScript.
1443
1394
 
1395
+ var mParams = ThemeParameters.get({
1396
+ name: [
1397
+ "_sap_ui_table_BaseSize",
1398
+ "_sap_ui_table_BaseSizeCozy",
1399
+ "_sap_ui_table_BaseSizeCompact",
1400
+ "_sap_ui_table_BaseSizeCondensed",
1401
+ "_sap_ui_table_BaseBorderWidth",
1402
+ "_sap_ui_table_NavigationIcon",
1403
+ "_sap_ui_table_DeleteIcon",
1404
+ "_sap_ui_table_ClearSelectionIcon",
1405
+ "_sap_ui_table_NavIndicatorWidth"
1406
+ ]
1407
+ });
1408
+
1444
1409
  function getPixelValue(sThemeParameterName) {
1445
- return TableUtils.convertCSSSizeToPixel(ThemeParameters.get(sThemeParameterName));
1410
+ return TableUtils.convertCSSSizeToPixel(mParams[sThemeParameterName]);
1446
1411
  }
1447
1412
 
1448
1413
  mBaseSize.undefined = getPixelValue("_sap_ui_table_BaseSize");
@@ -1457,9 +1422,9 @@ sap.ui.define([
1457
1422
  mDefaultRowHeight.sapUiSizeCompact = mBaseSize.sapUiSizeCompact + iRowHorizontalFrameSize;
1458
1423
  mDefaultRowHeight.sapUiSizeCondensed = mBaseSize.sapUiSizeCondensed + iRowHorizontalFrameSize;
1459
1424
 
1460
- mThemeParameters.navigationIcon = ThemeParameters.get("_sap_ui_table_NavigationIcon");
1461
- mThemeParameters.deleteIcon = ThemeParameters.get("_sap_ui_table_DeleteIcon");
1462
- mThemeParameters.clearSelectionIcon = ThemeParameters.get("_sap_ui_table_ClearSelectionIcon");
1425
+ mThemeParameters.navigationIcon = mParams["_sap_ui_table_NavigationIcon"];
1426
+ mThemeParameters.deleteIcon = mParams["_sap_ui_table_DeleteIcon"];
1427
+ mThemeParameters.clearSelectionIcon = mParams["_sap_ui_table_ClearSelectionIcon"];
1463
1428
  mThemeParameters.navIndicatorWidth = getPixelValue("_sap_ui_table_NavIndicatorWidth");
1464
1429
  },
1465
1430
 
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
14
14
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Binding...</code>
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.93.3
17
+ * @version 1.96.2
18
18
  * @namespace
19
19
  * @alias sap.ui.table.utils._BindingUtils
20
20
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Column...</code>
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.93.3
21
+ * @version 1.96.2
22
22
  * @namespace
23
23
  * @alias sap.ui.table.utils._ColumnUtils
24
24
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Grouping...</code>
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.93.3
26
+ * @version 1.96.2
27
27
  * @namespace
28
28
  * @alias sap.ui.table.utils._GroupingUtils
29
29
  * @private
@@ -340,6 +340,10 @@ sap.ui.define([
340
340
  if (GroupingUtils.isInTreeMode(oTable)) {
341
341
  var $TreeIcon = $Row.find(".sapUiTableTreeIcon");
342
342
 
343
+ if (!bIsExpandable && document.activeElement === $TreeIcon[0]) {
344
+ GroupingUtils.TableUtils.getParentCell(oTable, $TreeIcon[0]).focus();
345
+ }
346
+
343
347
  $TreeIcon.toggleClass("sapUiTableTreeIconLeaf", !bIsExpandable)
344
348
  .toggleClass("sapUiTableTreeIconNodeOpen", bIsExpandable && bIsExpanded)
345
349
  .toggleClass("sapUiTableTreeIconNodeClosed", bIsExpandable && !bIsExpanded);
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/base/DataType", "sap/base/Log"], function(DataType, Log)
22
22
  * - There is no concept for public or protected hooks. Never expose a hook directly, only indirectly as can be seen in the examples.
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.93.3
25
+ * @version 1.96.2
26
26
  * @namespace
27
27
  * @alias sap.ui.table.utils._HookUtils
28
28
  *
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Menu...</code>
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.93.3
45
+ * @version 1.96.2
46
46
  * @namespace
47
47
  * @alias sap.ui.table.utils._MenuUtils
48
48
  * @private
package/ui5.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- specVersion: "1.1"
2
+ specVersion: "2.0"
3
3
  type: library
4
4
  metadata:
5
5
  name: sap.ui.table
@@ -7,3 +7,6 @@ metadata:
7
7
  OpenUI5
8
8
  * (c) Copyright 2009-${currentYear} SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10
+ resources:
11
+ configuration:
12
+ propertiesFileSourceEncoding: ISO-8859-1