@openui5/sap.ui.integration 1.132.1 → 1.134.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.
Files changed (219) hide show
  1. package/.reuse/dep5 +2 -9
  2. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  3. package/THIRDPARTY.txt +45 -78
  4. package/package.json +7 -7
  5. package/src/sap/ui/integration/.library +1 -1
  6. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  7. package/src/sap/ui/integration/Designtime.js +1 -1
  8. package/src/sap/ui/integration/Extension.js +1 -1
  9. package/src/sap/ui/integration/Host.js +1 -1
  10. package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
  11. package/src/sap/ui/integration/cards/AnalyticalContent.js +9 -2
  12. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +8 -1
  13. package/src/sap/ui/integration/cards/BaseContent.js +30 -2
  14. package/src/sap/ui/integration/cards/BaseContentRenderer.js +1 -1
  15. package/src/sap/ui/integration/cards/BaseListContent.js +10 -7
  16. package/src/sap/ui/integration/cards/CalendarContent.js +6 -6
  17. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  18. package/src/sap/ui/integration/cards/Footer.js +151 -13
  19. package/src/sap/ui/integration/cards/Header.js +1 -1
  20. package/src/sap/ui/integration/cards/ListContent.js +1 -1
  21. package/src/sap/ui/integration/cards/NumericHeader.js +1 -1
  22. package/src/sap/ui/integration/cards/ObjectContent.js +19 -1
  23. package/src/sap/ui/integration/cards/TableContent.js +1 -1
  24. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  25. package/src/sap/ui/integration/cards/WebPageContent.js +8 -1
  26. package/src/sap/ui/integration/cards/WebPageContentRenderer.js +3 -1
  27. package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  32. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  33. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/ComboBoxFilter.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  37. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  38. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  39. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  40. package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
  41. package/src/sap/ui/integration/controls/ActionsStrip.js +22 -1
  42. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  43. package/src/sap/ui/integration/controls/BlockingMessage.js +1 -1
  44. package/src/sap/ui/integration/controls/ComboBox.js +1 -1
  45. package/src/sap/ui/integration/controls/ImageWithOverlay.js +1 -1
  46. package/src/sap/ui/integration/controls/ListContentItem.js +1 -1
  47. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  48. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  49. package/src/sap/ui/integration/controls/ObjectStatus.js +1 -1
  50. package/src/sap/ui/integration/delegate/OverflowHandler.js +131 -0
  51. package/src/sap/ui/integration/delegate/Paginator.js +4 -26
  52. package/src/sap/ui/integration/delegate/PreventKeyboardScrolling.js +120 -0
  53. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +6 -6
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +5 -5
  69. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  86. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  87. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  88. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  89. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  90. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  91. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  92. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  93. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  94. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
  95. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  96. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  97. package/src/sap/ui/integration/designtime/editor/Card.js +1 -1
  98. package/src/sap/ui/integration/designtime/editor/CardEditor.js +21 -3
  99. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  100. package/src/sap/ui/integration/editor/Editor.js +9 -5
  101. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  102. package/src/sap/ui/integration/editor/Extension.js +1 -1
  103. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  104. package/src/sap/ui/integration/editor/Settings.js +2 -2
  105. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  106. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  107. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  108. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  109. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  110. package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
  111. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  112. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  113. package/src/sap/ui/integration/editor/fields/ObjectField.js +1 -1
  114. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  115. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  116. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  117. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  118. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  119. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
  120. package/src/sap/ui/integration/editor/fields/viz/ImageSelect.js +1 -1
  121. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  122. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
  123. package/src/sap/ui/integration/extensions/OAuth3LO.js +1 -1
  124. package/src/sap/ui/integration/library-bootstrap.js +6 -8
  125. package/src/sap/ui/integration/library.js +34 -2
  126. package/src/sap/ui/integration/messagebundle.properties +5 -5
  127. package/src/sap/ui/integration/messagebundle_ar.properties +5 -5
  128. package/src/sap/ui/integration/messagebundle_bg.properties +5 -5
  129. package/src/sap/ui/integration/messagebundle_ca.properties +5 -5
  130. package/src/sap/ui/integration/messagebundle_cnr.properties +5 -5
  131. package/src/sap/ui/integration/messagebundle_cs.properties +5 -5
  132. package/src/sap/ui/integration/messagebundle_cy.properties +5 -5
  133. package/src/sap/ui/integration/messagebundle_da.properties +5 -5
  134. package/src/sap/ui/integration/messagebundle_de.properties +5 -5
  135. package/src/sap/ui/integration/messagebundle_el.properties +4 -4
  136. package/src/sap/ui/integration/messagebundle_en.properties +5 -5
  137. package/src/sap/ui/integration/messagebundle_en_GB.properties +5 -5
  138. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +5 -5
  139. package/src/sap/ui/integration/messagebundle_es.properties +5 -5
  140. package/src/sap/ui/integration/messagebundle_es_MX.properties +5 -5
  141. package/src/sap/ui/integration/messagebundle_et.properties +5 -5
  142. package/src/sap/ui/integration/messagebundle_fi.properties +4 -4
  143. package/src/sap/ui/integration/messagebundle_fr.properties +4 -4
  144. package/src/sap/ui/integration/messagebundle_fr_CA.properties +3 -3
  145. package/src/sap/ui/integration/messagebundle_hi.properties +5 -5
  146. package/src/sap/ui/integration/messagebundle_hr.properties +3 -3
  147. package/src/sap/ui/integration/messagebundle_hu.properties +3 -3
  148. package/src/sap/ui/integration/messagebundle_id.properties +5 -5
  149. package/src/sap/ui/integration/messagebundle_it.properties +3 -3
  150. package/src/sap/ui/integration/messagebundle_iw.properties +5 -5
  151. package/src/sap/ui/integration/messagebundle_ja.properties +5 -5
  152. package/src/sap/ui/integration/messagebundle_kk.properties +6 -6
  153. package/src/sap/ui/integration/messagebundle_ko.properties +4 -4
  154. package/src/sap/ui/integration/messagebundle_lt.properties +5 -5
  155. package/src/sap/ui/integration/messagebundle_lv.properties +6 -6
  156. package/src/sap/ui/integration/messagebundle_mk.properties +6 -6
  157. package/src/sap/ui/integration/messagebundle_ms.properties +5 -5
  158. package/src/sap/ui/integration/messagebundle_nl.properties +5 -5
  159. package/src/sap/ui/integration/messagebundle_no.properties +5 -5
  160. package/src/sap/ui/integration/messagebundle_pl.properties +5 -5
  161. package/src/sap/ui/integration/messagebundle_pt.properties +5 -5
  162. package/src/sap/ui/integration/messagebundle_pt_PT.properties +5 -5
  163. package/src/sap/ui/integration/messagebundle_ro.properties +4 -4
  164. package/src/sap/ui/integration/messagebundle_ru.properties +5 -5
  165. package/src/sap/ui/integration/messagebundle_sh.properties +5 -5
  166. package/src/sap/ui/integration/messagebundle_sk.properties +4 -4
  167. package/src/sap/ui/integration/messagebundle_sl.properties +4 -4
  168. package/src/sap/ui/integration/messagebundle_sr.properties +5 -5
  169. package/src/sap/ui/integration/messagebundle_sv.properties +2 -2
  170. package/src/sap/ui/integration/messagebundle_th.properties +3 -3
  171. package/src/sap/ui/integration/messagebundle_tr.properties +3 -3
  172. package/src/sap/ui/integration/messagebundle_uk.properties +3 -3
  173. package/src/sap/ui/integration/messagebundle_vi.properties +5 -5
  174. package/src/sap/ui/integration/messagebundle_zh_CN.properties +3 -3
  175. package/src/sap/ui/integration/messagebundle_zh_TW.properties +5 -5
  176. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  177. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  178. package/src/sap/ui/integration/schemas/sap-card.json +21 -3
  179. package/src/sap/ui/integration/themes/base/AdaptiveCard.less +15 -1
  180. package/src/sap/ui/integration/themes/base/Card.less +15 -7
  181. package/src/sap/ui/integration/themes/base/CardVariants.less +51 -11
  182. package/src/sap/ui/integration/themes/base/Footer.less +21 -0
  183. package/src/sap/ui/integration/themes/base/Microchart.less +0 -1
  184. package/src/sap/ui/integration/themes/base/ObjectContent.less +1 -1
  185. package/src/sap/ui/integration/themes/sap_hcb/base_CardVariants.less +4 -4
  186. package/src/sap/ui/integration/util/AnalyticsCloudHelper.js +1 -1
  187. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  188. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  189. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  190. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  191. package/src/sap/ui/integration/util/ComboBoxHelper.js +1 -1
  192. package/src/sap/ui/integration/util/ContentFactory.js +3 -2
  193. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  194. package/src/sap/ui/integration/util/DataProvider.js +1 -1
  195. package/src/sap/ui/integration/util/DataProviderFactory.js +1 -1
  196. package/src/sap/ui/integration/util/DelayedLoadingProvider.js +50 -0
  197. package/src/sap/ui/integration/util/Destinations.js +1 -1
  198. package/src/sap/ui/integration/util/DisplayVariants.js +1 -1
  199. package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
  200. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  201. package/src/sap/ui/integration/util/Form.js +1 -1
  202. package/src/sap/ui/integration/util/HeaderFactory.js +1 -28
  203. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  204. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  205. package/src/sap/ui/integration/util/Manifest.js +1 -1
  206. package/src/sap/ui/integration/util/OAuth3LOHelper.js +1 -1
  207. package/src/sap/ui/integration/util/RequestDataProvider.js +1 -1
  208. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  209. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  210. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  211. package/src/sap/ui/integration/util/SorterHelper.js +1 -1
  212. package/src/sap/ui/integration/util/Utils.js +20 -2
  213. package/src/sap/ui/integration/util/Validators.js +1 -1
  214. package/src/sap/ui/integration/util/openCardDialog.js +10 -12
  215. package/src/sap/ui/integration/util/openCardShowMore.js +49 -0
  216. package/src/sap/ui/integration/widgets/Card.js +127 -27
  217. package/src/sap/ui/integration/widgets/CardRenderer.js +5 -0
  218. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  219. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.integration.widgets.Card
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.132.1
26
+ * @version 1.134.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * Utility class helping with sap.ui.model.Sorter control.
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.132.1
20
+ * @version 1.134.0
21
21
  *
22
22
  * @private
23
23
  * @alias sap.ui.integration.util.SorterHelper
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * Utility class helping with JSON strings and formatters.
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.132.1
32
+ * @version 1.134.0
33
33
  *
34
34
  * @private
35
35
  * @alias sap.ui.integration.util.Utils
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  var Utils = { };
38
38
 
39
39
  /**
40
- * Currently WZ language list does not match the one used by Card Editor
40
+ * Currently language list of WZ Advanced Edition does not match the one used by Card Editor
41
41
  * Need to mapping the different languages
42
42
  * key/value: language_code_in_WZ/language_code_in_CE
43
43
  * NOTES: skip the languages which does not match between Card Editor and UI5, eg: cy-GB/cy, nb-NO/no, sr-RS/sh
@@ -45,6 +45,7 @@ sap.ui.define([
45
45
  Utils.languageMapping = {
46
46
  //"cy": "cy-GB",
47
47
  "da-DK": "da",
48
+ "en-US": "en",
48
49
  "hi-IN": "hi",
49
50
  "hu-HU": "hu",
50
51
  "id-ID": "id",
@@ -66,10 +67,27 @@ sap.ui.define([
66
67
  return Utils.languageMapping[language] || language;
67
68
  };
68
69
 
70
+ /**
71
+ * Replace underline to dash of language codes in translation texts of changes
72
+ * @returns {object} translation texts
73
+ */
74
+ Utils.formatLanguageCodesInTranslationTexts = function(oTexts) {
75
+ var oFormattedTexts;
76
+ if (oTexts) {
77
+ oFormattedTexts = {};
78
+ Object.keys(oTexts).forEach(function(sLanguage) {
79
+ var sFormattedLanguage = sLanguage.replaceAll('_', '-');
80
+ oFormattedTexts[sFormattedLanguage] = oTexts[sLanguage];
81
+ });
82
+ }
83
+ return oFormattedTexts;
84
+ };
85
+
69
86
  Utils.mapLanguagesInManifestChanges = function(oManifestChanges) {
70
87
  if (typeof oManifestChanges === "object") {
71
88
  oManifestChanges.forEach(function (oChange) {
72
89
  if (oChange.texts) {
90
+ oChange.texts = Utils.formatLanguageCodesInTranslationTexts(oChange.texts);
73
91
  for (var [sLanguage, sMappingLanguage] of Object.entries(Utils.languageMapping)) {
74
92
  if (oChange.texts[sLanguage]) {
75
93
  var oTranslations = deepClone(oChange.texts[sLanguage], 500);
@@ -11,7 +11,7 @@ sap.ui.define([], function () {
11
11
  * Utility class helping with input validations.
12
12
  *
13
13
  * @author SAP SE
14
- * @version 1.132.1
14
+ * @version 1.134.0
15
15
  *
16
16
  * @private
17
17
  * @alias sap.ui.integration.util.Validators
@@ -62,15 +62,6 @@ sap.ui.define([
62
62
  });
63
63
  }
64
64
 
65
- function _enableResizing(oDialog, oChildCard) {
66
- // We can not set the contentHeight during resize as the dialog "jumps" if invalidated then.
67
- // So it needs to be done after open.
68
- oDialog.attachAfterOpen(() => {
69
- oChildCard.setHeight("100%");
70
- oDialog.setContentHeight(oDialog.getDomRef("cont").offsetHeight + "px");
71
- });
72
- }
73
-
74
65
  function _setDialogHeader(oDialog, oChildCard) {
75
66
  const oHeader = oChildCard.getCardHeader();
76
67
  if (!oHeader) {
@@ -145,17 +136,24 @@ sap.ui.define([
145
136
  oChildCard.attachEvent("_ready", () => {
146
137
  _setDialogHeader(oDialog, oChildCard);
147
138
  _setAriaAttributes(oDialog, oChildCard);
148
- oDialog.open();
139
+ if (!oChildCard._isComponentCard()) {
140
+ oDialog.open();
141
+ }
149
142
  _setFocus(oChildCard, oDialog);
150
143
  });
151
144
 
152
145
  if (!Device.system.phone) {
153
146
  _addAnimationDelegate(oDialog, oParentCard);
154
- _enableResizing(oDialog, oChildCard);
155
147
  }
156
148
 
157
- oChildCard.startManifestProcessing();
149
+ oChildCard.attachManifestReady(() => {
150
+ // component card does not trigger the ready event if it hasn't been rendered yet
151
+ if (oChildCard._isComponentCard()) {
152
+ oDialog.open();
153
+ }
154
+ });
158
155
 
156
+ oChildCard.startManifestProcessing();
159
157
  return oDialog;
160
158
  }
161
159
 
@@ -0,0 +1,49 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/base/util/uid",
9
+ "sap/ui/integration/util/openCardDialog"
10
+ ], (
11
+ uid,
12
+ openCardDialog
13
+ ) => {
14
+ "use strict";
15
+
16
+ function _createManifest(oCard) {
17
+ const oManifest = oCard.getManifestEntry("/");
18
+
19
+ oManifest["sap.app"].id = oManifest["sap.app"].id + uid();
20
+
21
+ oCard.getAggregation("_filterBar")?._getFilters().forEach((oFilter) => {
22
+ oFilter.writeValueToConfiguration(oManifest["sap.card"].configuration.filters[oFilter.getKey()]);
23
+ });
24
+
25
+ return oManifest;
26
+ }
27
+
28
+ /**
29
+ * Opens the same card in a dialog with scrolling.
30
+ * @function
31
+ * @since 1.133
32
+ * @private
33
+ * @ui5-restricted sap.ui.integration
34
+ * @param {sap.ui.integration.widgets.Card} oCard The card to be opened.
35
+ * @returns {sap.m.Dialog} The opened dialog.
36
+ */
37
+ function openCardShowMore(oCard) {
38
+ return openCardDialog(
39
+ oCard,
40
+ {
41
+ manifest: _createManifest(oCard),
42
+ baseUrl: oCard.getBaseUrl(),
43
+ showCloseButton: true
44
+ }
45
+ );
46
+ }
47
+
48
+ return openCardShowMore;
49
+ });
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  "sap/f/library",
29
29
  "sap/ui/integration/library",
30
30
  "sap/ui/integration/util/Destinations",
31
- "sap/ui/integration/util/LoadingProvider",
31
+ "sap/ui/integration/util/DelayedLoadingProvider",
32
32
  "sap/ui/integration/util/HeaderFactory",
33
33
  "sap/ui/integration/util/ContentFactory",
34
34
  "sap/ui/integration/util/BindingResolver",
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  fLibrary,
68
68
  library,
69
69
  Destinations,
70
- LoadingProvider,
70
+ DelayedLoadingProvider,
71
71
  HeaderFactory,
72
72
  ContentFactory,
73
73
  BindingResolver,
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  ) {
85
85
  "use strict";
86
86
 
87
- var MANIFEST_PATHS = {
87
+ const MANIFEST_PATHS = {
88
88
  TYPE: "/sap.card/type",
89
89
  ACTIONS: "/sap.card/actions",
90
90
  DATA: "/sap.card/data",
@@ -103,37 +103,39 @@ sap.ui.define([
103
103
  MODEL_SIZE_LIMIT: "/sap.card/configuration/modelSizeLimit"
104
104
  };
105
105
 
106
- var RESERVED_PARAMETER_NAMES = ["visibleItems", "allItems"];
106
+ const RESERVED_PARAMETER_NAMES = ["visibleItems", "allItems"];
107
107
 
108
- var HeaderPosition = fLibrary.cards.HeaderPosition;
108
+ const HeaderPosition = fLibrary.cards.HeaderPosition;
109
109
 
110
- var SemanticRole = fLibrary.cards.SemanticRole;
110
+ const SemanticRole = fLibrary.cards.SemanticRole;
111
111
 
112
- var ActionArea = library.CardActionArea;
112
+ const ActionArea = library.CardActionArea;
113
113
 
114
- var CardArea = library.CardArea;
114
+ const CardArea = library.CardArea;
115
115
 
116
- var CardDataMode = library.CardDataMode;
116
+ const CardDataMode = library.CardDataMode;
117
117
 
118
- var CardDesign = library.CardDesign;
118
+ const CardDesign = library.CardDesign;
119
119
 
120
- var CardDisplayVariant = library.CardDisplayVariant;
120
+ const CardDisplayVariant = library.CardDisplayVariant;
121
121
 
122
- var CardPreviewMode = library.CardPreviewMode;
122
+ const CardPreviewMode = library.CardPreviewMode;
123
123
 
124
- var CardBlockingMessageType = library.CardBlockingMessageType;
124
+ const CardOverflow = library.CardOverflow;
125
125
 
126
- var CARD_DESTROYED_ERROR = "Card is destroyed!";
126
+ const CardBlockingMessageType = library.CardBlockingMessageType;
127
127
 
128
- var MODULE_PREFIX = "module:";
128
+ const CARD_DESTROYED_ERROR = "Card is destroyed!";
129
129
 
130
- var DEFAULT_MODEL_SIZE_LIMIT = 1000;
130
+ const MODULE_PREFIX = "module:";
131
+
132
+ const DEFAULT_MODEL_SIZE_LIMIT = 1000;
131
133
 
132
134
  /**
133
135
  * Constructor for a new <code>Card</code>.
134
136
  *
135
- * @param {string} [sId] ID for the new control, generated automatically if no ID is given
136
- * @param {object} [mSettings] Initial settings for the new control
137
+ * @param {string} [sId] ID for the new control. ID generated automatically if no ID is provided.
138
+ * @param {object} [mSettings] Initial settings for the new control.
137
139
  *
138
140
  * @class
139
141
  * A control that represents a container with a header and content.
@@ -186,7 +188,7 @@ sap.ui.define([
186
188
  * @extends sap.f.CardBase
187
189
  *
188
190
  * @author SAP SE
189
- * @version 1.132.1
191
+ * @version 1.134.0
190
192
  * @public
191
193
  * @constructor
192
194
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -356,6 +358,20 @@ sap.ui.define([
356
358
  defaultValue: false
357
359
  },
358
360
 
361
+ /**
362
+ * Allows to control the overflow behaviour of the card.
363
+ *
364
+ * <b>Note</b>: If the "Default" option is used, the card must be allowed to grow in height as much as it needs to avoid overflowing. Use a layout which allows this.
365
+ *
366
+ * @experimental Since 1.133
367
+ * @since 1.133
368
+ */
369
+ overflow: {
370
+ type: "sap.ui.integration.CardOverflow",
371
+ group: "Behavior",
372
+ defaultValue: CardOverflow.Default
373
+ },
374
+
359
375
  /**
360
376
  * @since 1.128
361
377
  */
@@ -583,7 +599,7 @@ sap.ui.define([
583
599
  Card.prototype.init = function () {
584
600
  CardBase.prototype.init.call(this);
585
601
 
586
- this.setAggregation("_loadingProvider", new LoadingProvider());
602
+ this.setAggregation("_loadingProvider", new DelayedLoadingProvider());
587
603
 
588
604
  this._oIntegrationRb = Library.getResourceBundleFor("sap.ui.integration");
589
605
  this._iModelSizeLimit = DEFAULT_MODEL_SIZE_LIMIT;
@@ -608,7 +624,7 @@ sap.ui.define([
608
624
  * @experimental since 1.79
609
625
  * @public
610
626
  * @author SAP SE
611
- * @version 1.132.1
627
+ * @version 1.134.0
612
628
  * @borrows sap.ui.integration.widgets.Card#getId as getId
613
629
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
614
630
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
@@ -789,9 +805,15 @@ sap.ui.define([
789
805
  * @private
790
806
  */
791
807
  Card.prototype.onBeforeRendering = function () {
792
- var oCardContent = this.getCardContent();
808
+ const oCardContent = this.getCardContent();
793
809
  if (oCardContent && oCardContent.isA("sap.ui.integration.cards.BaseContent")) {
794
810
  oCardContent.setDesign(this.getDesign());
811
+ oCardContent.setOverflowWithShowMore(this.getOverflow() === CardOverflow.ShowMore);
812
+ }
813
+
814
+ const oFooter = this.getCardFooter();
815
+ if (oFooter) {
816
+ oFooter.setDetectVisibility(this.getOverflow() === CardOverflow.ShowMore);
795
817
  }
796
818
 
797
819
  if (this._getActualDataMode() !== CardDataMode.Active) {
@@ -1891,6 +1913,7 @@ sap.ui.define([
1891
1913
 
1892
1914
  this._applyModelSizeLimit();
1893
1915
 
1916
+ this._applyLoadingDelay();
1894
1917
  this._applyServiceManifestSettings();
1895
1918
  this._applyFilterBarManifestSettings();
1896
1919
  this._applyDataManifestSettings();
@@ -2142,6 +2165,7 @@ sap.ui.define([
2142
2165
  if (oPrevHeader) {
2143
2166
  oPrevHeader.setToolbar(null); // ensure that actionsToolbar won't be destroyed
2144
2167
  oPrevHeader.destroy();
2168
+ this._bMimicPressAttached = false;
2145
2169
  }
2146
2170
 
2147
2171
  var oHeader = this.createHeader();
@@ -2164,6 +2188,10 @@ sap.ui.define([
2164
2188
  this.fireEvent("_headerReady");
2165
2189
  }.bind(this));
2166
2190
  }
2191
+
2192
+ if (this._shouldMimicHeaderAction()) {
2193
+ this._mimicHeaderAction(oHeader);
2194
+ }
2167
2195
  };
2168
2196
 
2169
2197
  Card.prototype._applyFilterBarManifestSettings = function () {
@@ -2198,6 +2226,14 @@ sap.ui.define([
2198
2226
  this.fireEvent("_footerReady");
2199
2227
  };
2200
2228
 
2229
+ Card.prototype._applyLoadingDelay = function () {
2230
+ const iLoadingDelay = parseInt(this.getManifestEntry("/sap.card/configuration/loadingPlaceholders/delay"));
2231
+ if (!iLoadingDelay){
2232
+ return;
2233
+ }
2234
+ this.getAggregation("_loadingProvider").applyDelay(iLoadingDelay);
2235
+ };
2236
+
2201
2237
  /**
2202
2238
  * Gets the instance of the <code>host</code> association.
2203
2239
  *
@@ -2241,7 +2277,8 @@ sap.ui.define([
2241
2277
  dataProviderFactory: this._oDataProviderFactory,
2242
2278
  iconFormatter: this._oIconFormatter,
2243
2279
  noDataConfiguration: this._oCardManifest.get(MANIFEST_PATHS.NO_DATA_MESSAGES),
2244
- paginator: this._oPaginator
2280
+ paginator: this._oPaginator,
2281
+ overflowWithShowMore: this.getOverflow() === CardOverflow.ShowMore
2245
2282
  });
2246
2283
  } catch (e) {
2247
2284
  this._handleError({
@@ -2331,6 +2368,7 @@ sap.ui.define([
2331
2368
  /**
2332
2369
  * Checks if this is a Component Card. Manifest must be loaded for that check.
2333
2370
  * @private
2371
+ * @ui5-restricted sap.ui.integration
2334
2372
  * @returns {boolean} True if this is a Component Card.
2335
2373
  */
2336
2374
  Card.prototype._isComponentCard = function () {
@@ -2389,14 +2427,11 @@ sap.ui.define([
2389
2427
  Card.prototype.createFooter = function () {
2390
2428
  var oManifestFooter = this._oCardManifest.get(MANIFEST_PATHS.FOOTER);
2391
2429
 
2392
- if (!oManifestFooter) {
2393
- return null;
2394
- }
2395
-
2396
2430
  return Footer.create({
2397
2431
  card: this,
2398
2432
  configuration: oManifestFooter,
2399
2433
  showCloseButton: this.getProperty("showCloseButton"),
2434
+ detectVisibility: this.getOverflow() === CardOverflow.ShowMore,
2400
2435
  paginator: this._oPaginator
2401
2436
  });
2402
2437
  };
@@ -2431,6 +2466,7 @@ sap.ui.define([
2431
2466
  return this._oContentFactory.create(mContentConfig);
2432
2467
  };
2433
2468
 
2469
+
2434
2470
  /**
2435
2471
  * Sets a card content.
2436
2472
  *
@@ -2704,6 +2740,10 @@ sap.ui.define([
2704
2740
  * @protected
2705
2741
  */
2706
2742
  Card.prototype.getFocusDomRef = function () {
2743
+ if (this.getGridItemRole()) {
2744
+ return this.getDomRef();
2745
+ }
2746
+
2707
2747
  if (this.isInteractive() && this.getSemanticRole() === SemanticRole.ListItem) {
2708
2748
  return this.getDomRef();
2709
2749
  }
@@ -3340,6 +3380,66 @@ sap.ui.define([
3340
3380
  return bIsInteractive && this.getProperty("interactive");
3341
3381
  };
3342
3382
 
3383
+ /**
3384
+ * @override
3385
+ */
3386
+ Card.prototype.isMouseInteractionDisabled = function() {
3387
+ return this._shouldMimicHeaderAction();
3388
+ };
3389
+
3390
+ /**
3391
+ * Checks if the header action must be mimicked by the card.
3392
+ * @private
3393
+ * @returns {boolean} Whether the header action should be mimicked.
3394
+ */
3395
+ Card.prototype._shouldMimicHeaderAction = function () {
3396
+ if (!this._isManifestReady) {
3397
+ return false;
3398
+ }
3399
+
3400
+ const oCardActions = this.getManifestEntry("/sap.card/actions");
3401
+ const oHeaderActions = this.getManifestEntry("/sap.card/header/actions");
3402
+ const bIsListItem = this.isRoleListItem();
3403
+
3404
+ if (bIsListItem && !oCardActions && oHeaderActions) {
3405
+ return true;
3406
+ }
3407
+
3408
+ return false;
3409
+ };
3410
+
3411
+ /**
3412
+ * Attaches the press event of the header to the card.
3413
+ * @private
3414
+ * @param {Object} oHeader The header.
3415
+ */
3416
+ Card.prototype._mimicHeaderAction = function (oHeader) {
3417
+ // header must be clickable, but not focusable
3418
+ oHeader.setProperty("focusable", false);
3419
+
3420
+ // card must invalidate to update the mouse interactivity
3421
+ this.invalidate();
3422
+
3423
+ oHeader.addEventDelegate({
3424
+ onBeforeRendering: () => {
3425
+ this.setProperty("interactive", oHeader.getInteractive());
3426
+
3427
+ if (!oHeader.getInteractive()) {
3428
+ return;
3429
+ }
3430
+
3431
+ if (!this._bMimicPressAttached) {
3432
+ this.attachPress((oEvent) => {
3433
+ oHeader.firePress({
3434
+ originalEvent: oEvent.getParameter("originalEvent")
3435
+ });
3436
+ });
3437
+ this._bMimicPressAttached = true;
3438
+ }
3439
+ }
3440
+ });
3441
+ };
3442
+
3343
3443
  /**
3344
3444
  * @private
3345
3445
  * @ui5-restricted sap.ui.integration
@@ -58,6 +58,11 @@ sap.ui.define([
58
58
  if (oCard.getManifest() && (!oCard.getCardHeader() || oCard._getActualDataMode() !== CardDataMode.Active)) {
59
59
  oRm.attr("tabindex", "0");
60
60
  }
61
+
62
+ const oLoadingProvider = oCard.getAggregation("_loadingProvider");
63
+ if (oLoadingProvider.getDelayed()) {
64
+ oRm.class("sapFCardLoadingDelayed");
65
+ }
61
66
  },
62
67
 
63
68
  renderCardAppId: function (oRm, oCard) {
@@ -1,5 +0,0 @@
1
- Unless specified below, all files in the tz code and data (including
2
- this LICENSE file) are in the public domain.
3
-
4
- If the files date.c, newstrftime.3, and strftime.c are present, they
5
- contain material derived from BSD and use the BSD 3-clause license.
@@ -1,51 +0,0 @@
1
- UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
2
-
3
- Unicode Data Files include all data files under the directories http://www.unicode.org/Public/,
4
- http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. Unicode
5
- Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/.
6
- Software includes any source code published in the Unicode Standard or under
7
- the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/,
8
- and http://www.unicode.org/cldr/data/.
9
-
10
- NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,
11
- INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"),
12
- AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND
13
- BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE,
14
- DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
15
-
16
- COPYRIGHT AND PERMISSION NOTICE
17
-
18
- Copyright © 1991-2015 Unicode, Inc. All rights reserved. Distributed under
19
- the Terms of Use in http://www.unicode.org/copyright.html.
20
-
21
- Permission is hereby granted, free of charge, to any person obtaining a copy
22
- of the Unicode data files and any associated documentation (the "Data Files")
23
- or Unicode software and any associated documentation (the "Software") to deal
24
- in the Data Files or Software without restriction, including without limitation
25
- the rights to use, copy, modify, merge, publish, distribute, and/or sell copies
26
- of the Data Files or Software, and to permit persons to whom the Data Files
27
- or Software are furnished to do so, provided that
28
-
29
- (a) this copyright and permission notice appear with all copies of the Data
30
- Files or Software,
31
-
32
- (b) this copyright and permission notice appear in associated documentation,
33
- and
34
-
35
- (c) there is clear notice in each modified Data File or in the Software as
36
- well as in the documentation associated with the Data File(s) or Software
37
- that the data or software has been modified.
38
-
39
- THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
40
- KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
41
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
42
- IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
43
- BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
44
- OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
45
- IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
46
- OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
47
-
48
- Except as contained in this notice, the name of a copyright holder shall not
49
- be used in advertising or otherwise to promote the sale, use or other dealings
50
- in these Data Files or Software without prior written authorization of the
51
- copyright holder.