@openui5/sap.ui.mdc 1.130.1 → 1.131.1

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 (162) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/ui/mdc/.library +1 -1
  4. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  5. package/src/sap/ui/mdc/Chart.js +62 -25
  6. package/src/sap/ui/mdc/ChartDelegate.js +17 -14
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +43 -15
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/LinkDelegate.js +1 -1
  15. package/src/sap/ui/mdc/MultiValueField.js +3 -4
  16. package/src/sap/ui/mdc/Table.js +183 -36
  17. package/src/sap/ui/mdc/TableDelegate.js +40 -18
  18. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  19. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -2
  20. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  23. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
  24. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  25. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  26. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +361 -54
  29. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  30. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  31. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  32. package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +0 -1
  33. package/src/sap/ui/mdc/enums/OperatorName.js +127 -1
  34. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  35. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
  36. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  37. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  38. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  39. package/src/sap/ui/mdc/field/FieldBase.js +1 -1
  40. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +2 -2
  41. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  43. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  44. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  45. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  46. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +0 -1
  47. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -2
  48. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  49. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  50. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +1 -1
  51. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  52. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  53. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +4 -1
  54. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +5 -2
  55. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  56. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  57. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  58. package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -2
  59. package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -2
  60. package/src/sap/ui/mdc/library.js +2 -2
  61. package/src/sap/ui/mdc/link/Factory.js +1 -1
  62. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  63. package/src/sap/ui/mdc/link/Panel.js +1 -1
  64. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  65. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  66. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  67. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  68. package/src/sap/ui/mdc/messagebundle.properties +12 -148
  69. package/src/sap/ui/mdc/messagebundle_ar.properties +6 -96
  70. package/src/sap/ui/mdc/messagebundle_bg.properties +6 -96
  71. package/src/sap/ui/mdc/messagebundle_ca.properties +6 -96
  72. package/src/sap/ui/mdc/messagebundle_cnr.properties +6 -96
  73. package/src/sap/ui/mdc/messagebundle_cs.properties +6 -96
  74. package/src/sap/ui/mdc/messagebundle_cy.properties +6 -96
  75. package/src/sap/ui/mdc/messagebundle_da.properties +6 -96
  76. package/src/sap/ui/mdc/messagebundle_de.properties +6 -96
  77. package/src/sap/ui/mdc/messagebundle_el.properties +6 -96
  78. package/src/sap/ui/mdc/messagebundle_en.properties +6 -96
  79. package/src/sap/ui/mdc/messagebundle_en_GB.properties +6 -96
  80. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +6 -98
  81. package/src/sap/ui/mdc/messagebundle_es.properties +7 -97
  82. package/src/sap/ui/mdc/messagebundle_es_MX.properties +6 -96
  83. package/src/sap/ui/mdc/messagebundle_et.properties +6 -96
  84. package/src/sap/ui/mdc/messagebundle_fi.properties +6 -96
  85. package/src/sap/ui/mdc/messagebundle_fr.properties +6 -96
  86. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +6 -96
  87. package/src/sap/ui/mdc/messagebundle_hi.properties +6 -96
  88. package/src/sap/ui/mdc/messagebundle_hr.properties +6 -96
  89. package/src/sap/ui/mdc/messagebundle_hu.properties +6 -96
  90. package/src/sap/ui/mdc/messagebundle_id.properties +6 -96
  91. package/src/sap/ui/mdc/messagebundle_it.properties +6 -96
  92. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -96
  93. package/src/sap/ui/mdc/messagebundle_ja.properties +6 -96
  94. package/src/sap/ui/mdc/messagebundle_kk.properties +6 -96
  95. package/src/sap/ui/mdc/messagebundle_ko.properties +6 -96
  96. package/src/sap/ui/mdc/messagebundle_lt.properties +6 -96
  97. package/src/sap/ui/mdc/messagebundle_lv.properties +6 -96
  98. package/src/sap/ui/mdc/messagebundle_mk.properties +6 -96
  99. package/src/sap/ui/mdc/messagebundle_ms.properties +6 -96
  100. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -97
  101. package/src/sap/ui/mdc/messagebundle_no.properties +6 -96
  102. package/src/sap/ui/mdc/messagebundle_pl.properties +9 -99
  103. package/src/sap/ui/mdc/messagebundle_pt.properties +6 -96
  104. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +6 -96
  105. package/src/sap/ui/mdc/messagebundle_ro.properties +6 -96
  106. package/src/sap/ui/mdc/messagebundle_ru.properties +13 -103
  107. package/src/sap/ui/mdc/messagebundle_sh.properties +6 -96
  108. package/src/sap/ui/mdc/messagebundle_sk.properties +6 -96
  109. package/src/sap/ui/mdc/messagebundle_sl.properties +6 -96
  110. package/src/sap/ui/mdc/messagebundle_sr.properties +6 -96
  111. package/src/sap/ui/mdc/messagebundle_sv.properties +6 -96
  112. package/src/sap/ui/mdc/messagebundle_th.properties +6 -96
  113. package/src/sap/ui/mdc/messagebundle_tr.properties +6 -96
  114. package/src/sap/ui/mdc/messagebundle_uk.properties +6 -96
  115. package/src/sap/ui/mdc/messagebundle_vi.properties +6 -96
  116. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +6 -96
  117. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +6 -96
  118. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  119. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  120. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  121. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  122. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  123. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  124. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +239 -197
  125. package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
  126. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +19 -19
  127. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  128. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +12 -19
  129. package/src/sap/ui/mdc/table/Column.js +3 -0
  130. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  131. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  132. package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
  133. package/src/sap/ui/mdc/table/GridTableType.js +3 -1
  134. package/src/sap/ui/mdc/table/PropertyHelper.js +14 -1
  135. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  136. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  137. package/src/sap/ui/mdc/table/RowSettings.js +3 -2
  138. package/src/sap/ui/mdc/table/TableSettings.js +26 -3
  139. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +32 -41
  140. package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
  141. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
  142. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
  143. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
  144. package/src/sap/ui/mdc/util/InfoBar.js +2 -1
  145. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  146. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  147. package/src/sap/ui/mdc/valuehelp/CollectiveSearchSelect.js +2 -10
  148. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  149. package/src/sap/ui/mdc/valuehelp/FilterBar.js +1 -1
  150. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  151. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  152. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  153. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +30 -32
  154. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  155. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  156. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  157. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  158. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  159. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +6 -1
  160. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  161. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  162. package/src/sap/ui/mdc/valuehelp/content/MTable.js +17 -4
@@ -121,7 +121,7 @@ sap.ui.define([
121
121
  * @extends sap.ui.core.Control
122
122
  *
123
123
  * @author SAP SE
124
- * @version 1.130.1
124
+ * @version 1.131.1
125
125
  *
126
126
  * @constructor
127
127
  * @alias sap.ui.mdc.valuehelp.base.DefineConditionPanel
@@ -822,8 +822,8 @@ sap.ui.define([
822
822
  let oCondition;
823
823
 
824
824
  // if type of operator changed -> remove binding and create it new later on
825
- if (sKey && sOldKey) {
826
- const oOperator = FilterOperatorUtil.getOperator(sKey);
825
+ if (sOldKey) {
826
+ const oOperator = sKey && FilterOperatorUtil.getOperator(sKey);
827
827
  const oOperatorOld = FilterOperatorUtil.getOperator(sOldKey);
828
828
  const oGrid = oField.getParent();
829
829
  let oValue0Field;
@@ -832,15 +832,15 @@ sap.ui.define([
832
832
 
833
833
  // find fields and initialize error state
834
834
  oValue0Field = oGrid.getContent()[iIndex + 2];
835
- if (oValue0Field && oValue0Field.hasOwnProperty("_iValueIndex") && oValue0Field._iValueIndex === 0) {
836
- if (oValue0Field instanceof Field && !oValue0Field.isInvalidInput()) { // TODO: better was to find out parsing error // TODO: handle custom controls
835
+ if (oValue0Field?.hasOwnProperty("_iValueIndex") && oValue0Field._iValueIndex === 0) {
836
+ if (oValue0Field instanceof Field && !oValue0Field.isInvalidInput()) { // TODO: better way to find out parsing error // TODO: handle custom controls
837
837
  // if Field is in parsing error state, don't remove error
838
838
  oValue0Field.setValueState(ValueState.None);
839
839
  oValue0Field.setValueStateText();
840
840
  }
841
841
  oValue1Field = oGrid.getContent()[iIndex + 3]; // second field only exists if first field exist
842
- if (oValue1Field && oValue1Field.hasOwnProperty("_iValueIndex") && oValue1Field._iValueIndex === 1) {
843
- if (oValue1Field instanceof Field && !oValue1Field.isInvalidInput()) { // TODO: better was to find out parsing error // TODO: handle custom controls
842
+ if (oValue1Field?.hasOwnProperty("_iValueIndex") && oValue1Field._iValueIndex === 1) {
843
+ if (oValue1Field instanceof Field && !oValue1Field.isInvalidInput()) { // TODO: better way to find out parsing error // TODO: handle custom controls
844
844
  // if Field is in parsing error state, don't remove error
845
845
  oValue1Field.setValueState(ValueState.None);
846
846
  oValue1Field.setValueStateText();
@@ -852,36 +852,29 @@ sap.ui.define([
852
852
  oValue0Field = undefined;
853
853
  }
854
854
 
855
- if (_operatorSupportsValueHelp(sKey)) {
855
+ let sValueHelp;
856
+ if (sKey && _operatorSupportsValueHelp(sKey)) {
856
857
  // enable the ValueHelp for the used value fields
857
- const sValueHelp = this._getValueHelp();
858
- oValue0Field && oValue0Field.setValueHelp && oValue0Field.setValueHelp(sValueHelp);
859
- oValue1Field && oValue1Field.setValueHelp && oValue1Field.setValueHelp(sValueHelp);
860
- } else {
861
- // remove the ValueHelp for the used value fields
862
- oValue0Field && oValue0Field.setValueHelp && oValue0Field.setValueHelp();
863
- oValue1Field && oValue1Field.setValueHelp && oValue1Field.setValueHelp();
858
+ sValueHelp = this._getValueHelp();
864
859
  }
860
+ oValue0Field?.setValueHelp?.(sValueHelp);
861
+ oValue1Field?.setValueHelp?.(sValueHelp);
865
862
 
866
- if (oOperator.createControl || oOperatorOld.createControl) {
863
+ if (oOperator?.createControl || oOperatorOld?.createControl) {
867
864
  // custom control used -> needs to be created new
868
- if (oValue0Field) {
869
- oValue0Field.destroy();
870
- }
871
- if (oValue1Field) {
872
- oValue1Field.destroy();
873
- }
865
+ oValue0Field?.destroy();
866
+ oValue1Field?.destroy();
874
867
  } else {
875
- if (oValue0Field && oOperator.valueTypes[0] !== oOperatorOld.valueTypes[0]) {
868
+ if (oValue0Field && oOperator?.valueTypes[0] !== oOperatorOld?.valueTypes[0]) {
876
869
  oValue0Field.unbindProperty("value");
877
870
  }
878
- if (oValue1Field && oOperator.valueTypes[1] !== oOperatorOld.valueTypes[1] && oOperatorOld.valueTypes[1]) { // 2nd Field only exist if there was a valueType defined
871
+ if (oValue1Field && oOperator?.valueTypes[1] !== oOperatorOld?.valueTypes[1] && oOperatorOld?.valueTypes[1]) { // 2nd Field only exist if there was a valueType defined
879
872
  oValue1Field.unbindProperty("value");
880
873
  }
881
874
  }
882
875
  }
883
876
 
884
- if (!sKey) { // TODO: remove? Because cannot longer happen as Field don't allow empty input because of used data type constraints
877
+ if (!sKey) { // happens if conditions cleared via Binding
885
878
  // key must not be empty
886
879
  oCondition = oField.getBindingContext("$this").getObject();
887
880
  if (oCondition) { // condition might be deleted before Field instance is deleted
@@ -1106,15 +1099,18 @@ sap.ui.define([
1106
1099
 
1107
1100
  const sFixedListId = this._sOperatorHelpId + "-pop-fl";
1108
1101
  const oFixedList = Element.getElementById(sFixedListId);
1102
+ const oBindingInfo = oFixedList.getBindingInfo("items");
1103
+ let oTemplate = oBindingInfo?.template;
1109
1104
 
1110
- let oTemplate;
1111
- if (bHasMultipleGroups) {
1112
- oTemplate = new FixedListItem({ key: "{om>key}", text: "{om>text}", additionalText: "{om>additionalText}", groupKey: "{om>groupId}", groupText: "{om>groupText}" });
1113
- } else {
1114
- oTemplate = new FixedListItem({ key: "{om>key}", text: "{om>text}", additionalText: "{om>additionalText}" });
1105
+ if (!oTemplate || oFixedList.getGroupable() !== bHasMultipleGroups) {
1106
+ if (bHasMultipleGroups) {
1107
+ oTemplate = new FixedListItem({ key: "{om>key}", text: "{om>text}", additionalText: "{om>additionalText}", groupKey: "{om>groupId}", groupText: "{om>groupText}" });
1108
+ } else {
1109
+ oTemplate = new FixedListItem({ key: "{om>key}", text: "{om>text}", additionalText: "{om>additionalText}" });
1110
+ }
1111
+ oFixedList.bindAggregation("items", { path: 'om>/', templateShareable: false, template: oTemplate });
1112
+ oFixedList.setGroupable(bHasMultipleGroups);
1115
1113
  }
1116
- oFixedList.bindAggregation("items", { path: 'om>/', templateShareable: false, template: oTemplate });
1117
- oFixedList.setGroupable(bHasMultipleGroups);
1118
1114
 
1119
1115
  for (const sOperator of aOperators) {
1120
1116
  const oOperator = FilterOperatorUtil.getOperator(sOperator);
@@ -1149,6 +1145,8 @@ sap.ui.define([
1149
1145
  });
1150
1146
  }
1151
1147
 
1148
+ oFixedList.destroyItems(); // to destroy old bindings and internal items and let them create new.
1149
+ this.oOperatorModel.setData(); // to make sure taht model data changed
1152
1150
  this.oOperatorModel.setData(aOperatorsData);
1153
1151
  }
1154
1152
 
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @param {object} [mSettings] Initial settings for the new control
21
21
  * @class Content for the <code>sap.ui.mdc.valuehelp.content.Dialog</code> element.
22
22
  * @extends sap.ui.core.Control
23
- * @version 1.130.1
23
+ * @version 1.131.1
24
24
  * @constructor
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.mdc
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @param {object} [mSettings] Initial settings for the new element
45
45
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element.
46
46
  * @extends sap.ui.mdc.valuehelp.base.ListContent
47
- * @version 1.130.1
47
+ * @version 1.131.1
48
48
  * @constructor
49
49
  * @abstract
50
50
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @param {object} [mSettings] Initial settings for the new element
22
22
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element.
23
23
  * @extends sap.ui.mdc.valuehelp.base.Content
24
- * @version 1.130.1
24
+ * @version 1.131.1
25
25
  * @constructor
26
26
  * @abstract
27
27
  * @public
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @param {object} [mSettings] Initial settings for the new element
21
21
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element to provide a value help for boolean fields.
22
22
  * @extends sap.ui.mdc.valuehelp.content.FixedList
23
- * @version 1.130.1
23
+ * @version 1.131.1
24
24
  * @constructor
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.mdc
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @param {object} [mSettings] Initial settings for the new element
28
28
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element showing a condition panel.
29
29
  * @extends sap.ui.mdc.valuehelp.base.Content
30
- * @version 1.130.1
30
+ * @version 1.131.1
31
31
  * @constructor
32
32
  * @public
33
33
  * @since 1.95.0
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @param {object} [mSettings] Initial settings for the new element
33
33
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element showing a list with fixed values.
34
34
  * @extends sap.ui.mdc.valuehelp.base.ListContent
35
- * @version 1.130.1
35
+ * @version 1.131.1
36
36
  * @constructor
37
37
  * @public
38
38
  * @since 1.95.0
@@ -658,6 +658,11 @@ sap.ui.define([
658
658
  _updateSelection.call(this);
659
659
  };
660
660
 
661
+ FixedList.prototype.destroyItems = function () {
662
+ const oList = _getList.call(this);
663
+ oList?.destroyItems(); // directly destroy all internal items and it's bindings to prevent step-by-step removement from ManagedObjectModel
664
+ return this.destroyAggregation("items");
665
+ };
661
666
 
662
667
  return FixedList;
663
668
  });
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.ListItem
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.130.1
26
+ * @version 1.131.1
27
27
  *
28
28
  * @public
29
29
  * @since 1.114.0
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @param {object} [mSettings] Initial settings for the new element
39
39
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element using a {@link sap.ui.mdc.Table}.
40
40
  * @extends sap.ui.mdc.valuehelp.base.FilterableListContent
41
- * @version 1.130.1
41
+ * @version 1.131.1
42
42
  * @constructor
43
43
  * @public
44
44
  * @since 1.95.0
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @param {object} [mSettings] Initial settings for the new element
54
54
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element using a {@link sap.m.Table}.
55
55
  * @extends sap.ui.mdc.valuehelp.base.FilterableListContent
56
- * @version 1.130.1
56
+ * @version 1.131.1
57
57
  * @constructor
58
58
  * @public
59
59
  * @since 1.95.0
@@ -844,10 +844,23 @@ sap.ui.define([
844
844
 
845
845
  MTable.prototype.isNavigationEnabled = function(iStep) {
846
846
 
847
- if (iStep === 1 || (iStep === -1 && (this.isSingleSelect() || !this.getParent().isOpen()))) { // prevent arrow-up navigation to end on multi-selection or
848
- return true;
847
+ if (iStep === 1 || iStep === -1) {
848
+ if (iStep === 1 || (iStep === -1 && (this.isSingleSelect() || !this.getParent().isOpen()))) { // prevent arrow-up navigation to end on multi-selection on opened table
849
+ return true;
850
+ } else {
851
+ return false;
852
+ }
853
+ } else if (this.isSingleSelect()) { // prevent Home/End navigation to end on multi-selection on opened and closed table
854
+ const oListBinding = this.getListBinding();
855
+ const oBindingInfo = this.getListBindingInfo();
856
+ if ((oListBinding?.isLengthFinal() || oBindingInfo.length) && !oListBinding?.isSuspended()) { // if all relevant items known, allow Home/End...
857
+ // TODO: what if ListBinding pending?
858
+ return true;
859
+ } else {
860
+ return false;
861
+ }
849
862
  } else {
850
- return false; // TODO: check if everything already loaded?
863
+ return false;
851
864
  }
852
865
 
853
866
  };