@sapui5/sap.fe.templates 1.144.0 → 1.146.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 (137) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +2 -2
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +1 -1
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +1 -1
  5. package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
  6. package/src/sap/fe/templates/ListComponent.js +1 -1
  7. package/src/sap/fe/templates/ListReport/Component.js +1 -1
  8. package/src/sap/fe/templates/ListReport/ExtendPageDefinition.js +1 -1
  9. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
  10. package/src/sap/fe/templates/ListReport/LRMessageStrip.js +1 -1
  11. package/src/sap/fe/templates/ListReport/ListReport.view.xml +8 -0
  12. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +48 -41
  13. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +51 -39
  14. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +1 -1
  15. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +23 -20
  16. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +23 -20
  17. package/src/sap/fe/templates/ListReport/designtime/ListReport.designtime.helper.js +1 -1
  18. package/src/sap/fe/templates/ListReport/designtime/ListReport.designtime.js +1 -1
  19. package/src/sap/fe/templates/ListReport/manifest.json +1 -1
  20. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  21. package/src/sap/fe/templates/ListReport/overrides/MessageHandler.js +1 -1
  22. package/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
  23. package/src/sap/fe/templates/ListReport/overrides/SideEffects.js +1 -1
  24. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +3 -4
  25. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +1 -2
  26. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +32 -0
  27. package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +1 -0
  28. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block.js +1 -1
  29. package/src/sap/fe/templates/ListReport/view/fragments/Table.fragment.xml +3 -1
  30. package/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  31. package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +74 -3
  33. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +80 -0
  34. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +6 -1
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +50 -41
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +61 -50
  37. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +3 -72
  38. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +0 -74
  39. package/src/sap/fe/templates/ObjectPage/card/AdaptiveCardContent.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/card/BaseCardContentProvider.js +1 -1
  41. package/src/sap/fe/templates/ObjectPage/card/Generator.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/card/actions/HeaderActions.js +7 -8
  43. package/src/sap/fe/templates/ObjectPage/card/actions/HeaderActions.ts +5 -6
  44. package/src/sap/fe/templates/ObjectPage/card/facets/HeaderContent.js +1 -1
  45. package/src/sap/fe/templates/ObjectPage/card/facets/HeaderTitle.js +1 -1
  46. package/src/sap/fe/templates/ObjectPage/components/CollaborationDiscardDialog.js +1 -1
  47. package/src/sap/fe/templates/ObjectPage/components/CollaborationDraft.js +1 -1
  48. package/src/sap/fe/templates/ObjectPage/components/DraftToggle.js +76 -9
  49. package/src/sap/fe/templates/ObjectPage/components/DraftToggle.tsx +83 -13
  50. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  51. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +1 -1
  52. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +1 -1
  53. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
  54. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.helper.js +23 -4
  55. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.helper.ts +30 -1
  56. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.js +6 -3
  57. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.ts +7 -0
  58. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  59. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  60. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js +1 -1
  61. package/src/sap/fe/templates/ObjectPage/flexibility/StashControlAndDisconnect.js +1 -1
  62. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
  63. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
  64. package/src/sap/fe/templates/ObjectPage/flexibility/UnstashControlAndConnect.js +1 -1
  65. package/src/sap/fe/templates/ObjectPage/manifest.json +5 -5
  66. package/src/sap/fe/templates/ObjectPage/overrides/CollaborationManager.js +3 -2
  67. package/src/sap/fe/templates/ObjectPage/overrides/CollaborationManager.ts +1 -0
  68. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  69. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  70. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +7 -3
  71. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +6 -1
  72. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  73. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
  74. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  75. package/src/sap/fe/templates/ObjectPage/view/fragments/ExpandedHeading.fragment.xml +45 -7
  76. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderContent.fragment.xml +8 -13
  77. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +36 -6
  78. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +1 -1
  79. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +1 -1
  80. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +0 -1
  81. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +82 -39
  82. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +6 -1
  83. package/src/sap/fe/templates/ObjectPage/view/fragments/Table.fragment.xml +3 -1
  84. package/src/sap/fe/templates/ObjectPage/view/fragments/TransportSelection.js +1 -1
  85. package/src/sap/fe/templates/TableScroller.js +1 -1
  86. package/src/sap/fe/templates/library.js +2 -2
  87. package/src/sap/fe/templates/messagebundle.properties +18 -6
  88. package/src/sap/fe/templates/messagebundle_ar.properties +14 -0
  89. package/src/sap/fe/templates/messagebundle_bg.properties +14 -0
  90. package/src/sap/fe/templates/messagebundle_ca.properties +14 -0
  91. package/src/sap/fe/templates/messagebundle_cnr.properties +15 -1
  92. package/src/sap/fe/templates/messagebundle_cs.properties +14 -0
  93. package/src/sap/fe/templates/messagebundle_cy.properties +14 -0
  94. package/src/sap/fe/templates/messagebundle_da.properties +14 -0
  95. package/src/sap/fe/templates/messagebundle_de.properties +14 -0
  96. package/src/sap/fe/templates/messagebundle_el.properties +14 -0
  97. package/src/sap/fe/templates/messagebundle_en.properties +14 -0
  98. package/src/sap/fe/templates/messagebundle_en_GB.properties +14 -0
  99. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +11 -3
  100. package/src/sap/fe/templates/messagebundle_es.properties +16 -2
  101. package/src/sap/fe/templates/messagebundle_es_MX.properties +14 -0
  102. package/src/sap/fe/templates/messagebundle_et.properties +14 -0
  103. package/src/sap/fe/templates/messagebundle_fi.properties +14 -0
  104. package/src/sap/fe/templates/messagebundle_fr.properties +14 -0
  105. package/src/sap/fe/templates/messagebundle_fr_CA.properties +14 -0
  106. package/src/sap/fe/templates/messagebundle_hi.properties +14 -0
  107. package/src/sap/fe/templates/messagebundle_hr.properties +14 -0
  108. package/src/sap/fe/templates/messagebundle_hu.properties +14 -0
  109. package/src/sap/fe/templates/messagebundle_id.properties +14 -0
  110. package/src/sap/fe/templates/messagebundle_it.properties +14 -0
  111. package/src/sap/fe/templates/messagebundle_iw.properties +15 -1
  112. package/src/sap/fe/templates/messagebundle_ja.properties +15 -1
  113. package/src/sap/fe/templates/messagebundle_kk.properties +14 -0
  114. package/src/sap/fe/templates/messagebundle_ko.properties +14 -0
  115. package/src/sap/fe/templates/messagebundle_lt.properties +16 -2
  116. package/src/sap/fe/templates/messagebundle_lv.properties +14 -0
  117. package/src/sap/fe/templates/messagebundle_mk.properties +14 -0
  118. package/src/sap/fe/templates/messagebundle_ms.properties +14 -0
  119. package/src/sap/fe/templates/messagebundle_nl.properties +14 -0
  120. package/src/sap/fe/templates/messagebundle_no.properties +14 -0
  121. package/src/sap/fe/templates/messagebundle_pl.properties +14 -0
  122. package/src/sap/fe/templates/messagebundle_pt.properties +14 -0
  123. package/src/sap/fe/templates/messagebundle_pt_PT.properties +14 -0
  124. package/src/sap/fe/templates/messagebundle_ro.properties +14 -0
  125. package/src/sap/fe/templates/messagebundle_ru.properties +14 -0
  126. package/src/sap/fe/templates/messagebundle_sh.properties +15 -1
  127. package/src/sap/fe/templates/messagebundle_sk.properties +14 -0
  128. package/src/sap/fe/templates/messagebundle_sl.properties +17 -3
  129. package/src/sap/fe/templates/messagebundle_sr.properties +15 -1
  130. package/src/sap/fe/templates/messagebundle_sv.properties +14 -0
  131. package/src/sap/fe/templates/messagebundle_th.properties +14 -0
  132. package/src/sap/fe/templates/messagebundle_tr.properties +14 -0
  133. package/src/sap/fe/templates/messagebundle_uk.properties +14 -0
  134. package/src/sap/fe/templates/messagebundle_vi.properties +16 -2
  135. package/src/sap/fe/templates/messagebundle_zh_CN.properties +14 -0
  136. package/src/sap/fe/templates/messagebundle_zh_TW.properties +14 -0
  137. package/src/sap/fe/templates/types/sap.fe.templates-auto-ext.d.js +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/macros/insights/CommonInsightsHelper"], function (Log, CommonUtils, CommonInsightsHelper) {
6
6
  "use strict";
@@ -17,6 +17,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/macros/insight
17
17
  const controller = view.getController();
18
18
  const appComponent = controller.getOwnerComponent().getAppComponent();
19
19
  const isEditable = CommonUtils.getIsEditable(view);
20
+ await controller.pageReady.waitPageReady();
20
21
  const card = !isEditable ? await appComponent.getCollaborationManagerService().getDesignTimeCard(RetrieveCardTypes.INTEGRATION) : undefined;
21
22
  if (card) {
22
23
  const onAddCardToCollaborationManagerCallback = () => {
@@ -41,4 +42,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/macros/insight
41
42
  };
42
43
  return CollaborationManagerOverride;
43
44
  }, false);
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXRyaWV2ZUNhcmRUeXBlcyIsIklOVEVHUkFUSU9OIiwiX2V4cG9ydHMiLCJDb2xsYWJvcmF0aW9uTWFuYWdlck92ZXJyaWRlIiwiY29sbGVjdEF2YWlsYWJsZUNhcmRzIiwiY2FyZHMiLCJ2aWV3IiwiYmFzZSIsImdldFZpZXciLCJjb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsImFwcENvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50IiwiaXNFZGl0YWJsZSIsIkNvbW1vblV0aWxzIiwiZ2V0SXNFZGl0YWJsZSIsImNhcmQiLCJnZXRDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UiLCJnZXREZXNpZ25UaW1lQ2FyZCIsInVuZGVmaW5lZCIsIm9uQWRkQ2FyZFRvQ29sbGFib3JhdGlvbk1hbmFnZXJDYWxsYmFjayIsInB1Ymxpc2hDYXJkIiwiZSIsInNob3dHZW5lcmljRXJyb3JNZXNzYWdlIiwiTG9nIiwiZXJyb3IiLCJwYWdlVGl0bGVJbmZvcm1hdGlvbiIsIl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbiIsInB1c2giLCJ0aXRsZSIsInN1YnRpdGxlIiwiY2FsbGJhY2siXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgdHlwZSBSZXRyaWV2ZUNhcmRUeXBlIH0gZnJvbSBcInNhcC9jYXJkcy9hcC9jb21tb24vc2VydmljZXMvUmV0cmlldmVDYXJkXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBDb2xsYWJvcmF0aW9uTWFuYWdlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvY2FyZHMvQ29sbGFib3JhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgV3JhcHBlZENhcmQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHsgc2hvd0dlbmVyaWNFcnJvck1lc3NhZ2UgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnNpZ2h0cy9Db21tb25JbnNpZ2h0c0hlbHBlclwiO1xuaW1wb3J0IHsgdHlwZSBDYXJkTWFuaWZlc3QgfSBmcm9tIFwic2FwL2luc2lnaHRzL0NhcmRIZWxwZXJcIjtcbmV4cG9ydCBjb25zdCBSZXRyaWV2ZUNhcmRUeXBlczogUmVjb3JkPHN0cmluZywgUmV0cmlldmVDYXJkVHlwZT4gPSB7XG5cdElOVEVHUkFUSU9OOiBcImludGVncmF0aW9uXCJcbn07XG5cbmNvbnN0IENvbGxhYm9yYXRpb25NYW5hZ2VyT3ZlcnJpZGUgPSB7XG5cdGFzeW5jIGNvbGxlY3RBdmFpbGFibGVDYXJkcyh0aGlzOiBDb2xsYWJvcmF0aW9uTWFuYWdlciwgY2FyZHM6IFdyYXBwZWRDYXJkW10pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5iYXNlLmdldFZpZXcoKTtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdmlldy5nZXRDb250cm9sbGVyKCk7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGNvbnN0IGlzRWRpdGFibGUgPSBDb21tb25VdGlscy5nZXRJc0VkaXRhYmxlKHZpZXcpO1xuXHRcdGNvbnN0IGNhcmQgPSAhaXNFZGl0YWJsZVxuXHRcdFx0PyBhd2FpdCBhcHBDb21wb25lbnQuZ2V0Q29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlKCkuZ2V0RGVzaWduVGltZUNhcmQoUmV0cmlldmVDYXJkVHlwZXMuSU5URUdSQVRJT04pXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRpZiAoY2FyZCkge1xuXHRcdFx0Y29uc3Qgb25BZGRDYXJkVG9Db2xsYWJvcmF0aW9uTWFuYWdlckNhbGxiYWNrID0gKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGlmIChjYXJkKSB7XG5cdFx0XHRcdFx0XHRhcHBDb21wb25lbnQuZ2V0Q29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlKCkucHVibGlzaENhcmQoY2FyZCBhcyBDYXJkTWFuaWZlc3QpO1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdHNob3dHZW5lcmljRXJyb3JNZXNzYWdlKHZpZXcpO1xuXHRcdFx0XHRcdExvZy5lcnJvcihlIGFzIHN0cmluZyk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHRjb25zdCBwYWdlVGl0bGVJbmZvcm1hdGlvbiA9IGF3YWl0IGNvbnRyb2xsZXIuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCk7XG5cdFx0XHRjYXJkcy5wdXNoKHtcblx0XHRcdFx0Y2FyZDogY2FyZCxcblx0XHRcdFx0dGl0bGU6IHBhZ2VUaXRsZUluZm9ybWF0aW9uLnN1YnRpdGxlIHx8IFwiXCIsXG5cdFx0XHRcdGNhbGxiYWNrOiBvbkFkZENhcmRUb0NvbGxhYm9yYXRpb25NYW5hZ2VyQ2FsbGJhY2tcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxufTtcbmV4cG9ydCBkZWZhdWx0IENvbGxhYm9yYXRpb25NYW5hZ2VyT3ZlcnJpZGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztFQU9PLE1BQU1BLGlCQUFtRCxHQUFHO0lBQ2xFQyxXQUFXLEVBQUU7RUFDZCxDQUFDO0VBQUNDLFFBQUEsQ0FBQUYsaUJBQUEsR0FBQUEsaUJBQUE7RUFFRixNQUFNRyw0QkFBNEIsR0FBRztJQUNwQyxNQUFNQyxxQkFBcUJBLENBQTZCQyxLQUFvQixFQUFpQjtNQUM1RixNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDQyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ2hDLE1BQU1DLFVBQVUsR0FBR0gsSUFBSSxDQUFDSSxhQUFhLENBQUMsQ0FBQztNQUN2QyxNQUFNQyxZQUFZLEdBQUdGLFVBQVUsQ0FBQ0csaUJBQWlCLENBQUMsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztNQUNyRSxNQUFNQyxVQUFVLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDVixJQUFJLENBQUM7TUFDbEQsTUFBTVcsSUFBSSxHQUFHLENBQUNILFVBQVUsR0FDckIsTUFBTUgsWUFBWSxDQUFDTyw4QkFBOEIsQ0FBQyxDQUFDLENBQUNDLGlCQUFpQixDQUFDbkIsaUJBQWlCLENBQUNDLFdBQVcsQ0FBQyxHQUNwR21CLFNBQVM7TUFDWixJQUFJSCxJQUFJLEVBQUU7UUFDVCxNQUFNSSx1Q0FBdUMsR0FBR0EsQ0FBQSxLQUFZO1VBQzNELElBQUk7WUFDSCxJQUFJSixJQUFJLEVBQUU7Y0FDVE4sWUFBWSxDQUFDTyw4QkFBOEIsQ0FBQyxDQUFDLENBQUNJLFdBQVcsQ0FBQ0wsSUFBb0IsQ0FBQztjQUMvRTtZQUNEO1VBQ0QsQ0FBQyxDQUFDLE9BQU9NLENBQUMsRUFBRTtZQUNYQyx1QkFBdUIsQ0FBQ2xCLElBQUksQ0FBQztZQUM3Qm1CLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDSCxDQUFXLENBQUM7VUFDdkI7UUFDRCxDQUFDO1FBQ0QsTUFBTUksb0JBQW9CLEdBQUcsTUFBTWxCLFVBQVUsQ0FBQ21CLHdCQUF3QixDQUFDLENBQUM7UUFDeEV2QixLQUFLLENBQUN3QixJQUFJLENBQUM7VUFDVlosSUFBSSxFQUFFQSxJQUFJO1VBQ1ZhLEtBQUssRUFBRUgsb0JBQW9CLENBQUNJLFFBQVEsSUFBSSxFQUFFO1VBQzFDQyxRQUFRLEVBQUVYO1FBQ1gsQ0FBQyxDQUFDO01BQ0g7SUFDRDtFQUNELENBQUM7RUFBQyxPQUNhbEIsNEJBQTRCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXRyaWV2ZUNhcmRUeXBlcyIsIklOVEVHUkFUSU9OIiwiX2V4cG9ydHMiLCJDb2xsYWJvcmF0aW9uTWFuYWdlck92ZXJyaWRlIiwiY29sbGVjdEF2YWlsYWJsZUNhcmRzIiwiY2FyZHMiLCJ2aWV3IiwiYmFzZSIsImdldFZpZXciLCJjb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsImFwcENvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50IiwiaXNFZGl0YWJsZSIsIkNvbW1vblV0aWxzIiwiZ2V0SXNFZGl0YWJsZSIsInBhZ2VSZWFkeSIsIndhaXRQYWdlUmVhZHkiLCJjYXJkIiwiZ2V0Q29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlIiwiZ2V0RGVzaWduVGltZUNhcmQiLCJ1bmRlZmluZWQiLCJvbkFkZENhcmRUb0NvbGxhYm9yYXRpb25NYW5hZ2VyQ2FsbGJhY2siLCJwdWJsaXNoQ2FyZCIsImUiLCJzaG93R2VuZXJpY0Vycm9yTWVzc2FnZSIsIkxvZyIsImVycm9yIiwicGFnZVRpdGxlSW5mb3JtYXRpb24iLCJfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJwdXNoIiwidGl0bGUiLCJzdWJ0aXRsZSIsImNhbGxiYWNrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb2xsYWJvcmF0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IHR5cGUgUmV0cmlldmVDYXJkVHlwZSB9IGZyb20gXCJzYXAvY2FyZHMvYXAvY29tbW9uL3NlcnZpY2VzL1JldHJpZXZlQ2FyZFwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgQ29sbGFib3JhdGlvbk1hbmFnZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL2NhcmRzL0NvbGxhYm9yYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIFdyYXBwZWRDYXJkIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCB7IHNob3dHZW5lcmljRXJyb3JNZXNzYWdlIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW5zaWdodHMvQ29tbW9uSW5zaWdodHNIZWxwZXJcIjtcbmltcG9ydCB7IHR5cGUgQ2FyZE1hbmlmZXN0IH0gZnJvbSBcInNhcC9pbnNpZ2h0cy9DYXJkSGVscGVyXCI7XG5leHBvcnQgY29uc3QgUmV0cmlldmVDYXJkVHlwZXM6IFJlY29yZDxzdHJpbmcsIFJldHJpZXZlQ2FyZFR5cGU+ID0ge1xuXHRJTlRFR1JBVElPTjogXCJpbnRlZ3JhdGlvblwiXG59O1xuXG5jb25zdCBDb2xsYWJvcmF0aW9uTWFuYWdlck92ZXJyaWRlID0ge1xuXHRhc3luYyBjb2xsZWN0QXZhaWxhYmxlQ2FyZHModGhpczogQ29sbGFib3JhdGlvbk1hbmFnZXIsIGNhcmRzOiBXcmFwcGVkQ2FyZFtdKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuYmFzZS5nZXRWaWV3KCk7XG5cdFx0Y29uc3QgY29udHJvbGxlciA9IHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHRcdGNvbnN0IGFwcENvbXBvbmVudCA9IGNvbnRyb2xsZXIuZ2V0T3duZXJDb21wb25lbnQoKS5nZXRBcHBDb21wb25lbnQoKTtcblx0XHRjb25zdCBpc0VkaXRhYmxlID0gQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZSh2aWV3KTtcblx0ICAgIGF3YWl0IGNvbnRyb2xsZXIucGFnZVJlYWR5LndhaXRQYWdlUmVhZHkoKTtcblx0XHRjb25zdCBjYXJkID0gIWlzRWRpdGFibGVcblx0XHRcdD8gYXdhaXQgYXBwQ29tcG9uZW50LmdldENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSgpLmdldERlc2lnblRpbWVDYXJkKFJldHJpZXZlQ2FyZFR5cGVzLklOVEVHUkFUSU9OKVxuXHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0aWYgKGNhcmQpIHtcblx0XHRcdGNvbnN0IG9uQWRkQ2FyZFRvQ29sbGFib3JhdGlvbk1hbmFnZXJDYWxsYmFjayA9ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRpZiAoY2FyZCkge1xuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50LmdldENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSgpLnB1Ymxpc2hDYXJkKGNhcmQgYXMgQ2FyZE1hbmlmZXN0KTtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRzaG93R2VuZXJpY0Vycm9yTWVzc2FnZSh2aWV3KTtcblx0XHRcdFx0XHRMb2cuZXJyb3IoZSBhcyBzdHJpbmcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0Y29uc3QgcGFnZVRpdGxlSW5mb3JtYXRpb24gPSBhd2FpdCBjb250cm9sbGVyLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpO1xuXHRcdFx0Y2FyZHMucHVzaCh7XG5cdFx0XHRcdGNhcmQ6IGNhcmQsXG5cdFx0XHRcdHRpdGxlOiBwYWdlVGl0bGVJbmZvcm1hdGlvbi5zdWJ0aXRsZSB8fCBcIlwiLFxuXHRcdFx0XHRjYWxsYmFjazogb25BZGRDYXJkVG9Db2xsYWJvcmF0aW9uTWFuYWdlckNhbGxiYWNrXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cbn07XG5leHBvcnQgZGVmYXVsdCBDb2xsYWJvcmF0aW9uTWFuYWdlck92ZXJyaWRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7RUFPTyxNQUFNQSxpQkFBbUQsR0FBRztJQUNsRUMsV0FBVyxFQUFFO0VBQ2QsQ0FBQztFQUFDQyxRQUFBLENBQUFGLGlCQUFBLEdBQUFBLGlCQUFBO0VBRUYsTUFBTUcsNEJBQTRCLEdBQUc7SUFDcEMsTUFBTUMscUJBQXFCQSxDQUE2QkMsS0FBb0IsRUFBaUI7TUFDNUYsTUFBTUMsSUFBSSxHQUFHLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQztNQUNoQyxNQUFNQyxVQUFVLEdBQUdILElBQUksQ0FBQ0ksYUFBYSxDQUFDLENBQUM7TUFDdkMsTUFBTUMsWUFBWSxHQUFHRixVQUFVLENBQUNHLGlCQUFpQixDQUFDLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFDckUsTUFBTUMsVUFBVSxHQUFHQyxXQUFXLENBQUNDLGFBQWEsQ0FBQ1YsSUFBSSxDQUFDO01BQy9DLE1BQU1HLFVBQVUsQ0FBQ1EsU0FBUyxDQUFDQyxhQUFhLENBQUMsQ0FBQztNQUM3QyxNQUFNQyxJQUFJLEdBQUcsQ0FBQ0wsVUFBVSxHQUNyQixNQUFNSCxZQUFZLENBQUNTLDhCQUE4QixDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUNyQixpQkFBaUIsQ0FBQ0MsV0FBVyxDQUFDLEdBQ3BHcUIsU0FBUztNQUNaLElBQUlILElBQUksRUFBRTtRQUNULE1BQU1JLHVDQUF1QyxHQUFHQSxDQUFBLEtBQVk7VUFDM0QsSUFBSTtZQUNILElBQUlKLElBQUksRUFBRTtjQUNUUixZQUFZLENBQUNTLDhCQUE4QixDQUFDLENBQUMsQ0FBQ0ksV0FBVyxDQUFDTCxJQUFvQixDQUFDO2NBQy9FO1lBQ0Q7VUFDRCxDQUFDLENBQUMsT0FBT00sQ0FBQyxFQUFFO1lBQ1hDLHVCQUF1QixDQUFDcEIsSUFBSSxDQUFDO1lBQzdCcUIsR0FBRyxDQUFDQyxLQUFLLENBQUNILENBQVcsQ0FBQztVQUN2QjtRQUNELENBQUM7UUFDRCxNQUFNSSxvQkFBb0IsR0FBRyxNQUFNcEIsVUFBVSxDQUFDcUIsd0JBQXdCLENBQUMsQ0FBQztRQUN4RXpCLEtBQUssQ0FBQzBCLElBQUksQ0FBQztVQUNWWixJQUFJLEVBQUVBLElBQUk7VUFDVmEsS0FBSyxFQUFFSCxvQkFBb0IsQ0FBQ0ksUUFBUSxJQUFJLEVBQUU7VUFDMUNDLFFBQVEsRUFBRVg7UUFDWCxDQUFDLENBQUM7TUFDSDtJQUNEO0VBQ0QsQ0FBQztFQUFDLE9BQ2FwQiw0QkFBNEI7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -15,6 +15,7 @@ const CollaborationManagerOverride = {
15
15
  const controller = view.getController();
16
16
  const appComponent = controller.getOwnerComponent().getAppComponent();
17
17
  const isEditable = CommonUtils.getIsEditable(view);
18
+ await controller.pageReady.waitPageReady();
18
19
  const card = !isEditable
19
20
  ? await appComponent.getCollaborationManagerService().getDesignTimeCard(RetrieveCardTypes.INTEGRATION)
20
21
  : undefined;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/navigation/SelectionVariant"], function (CommonUtils, SelectionVariant) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
6
6
  "use strict";
@@ -14,7 +14,11 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
14
14
  const boundContextMessages = [];
15
15
  transitionMessages?.forEach(message => {
16
16
  if (message.getTargets().length === 1 && message.getTargets()[0] === context?.getPath() && message.getPersistent() === true) {
17
- boundContextMessages.push(message);
17
+ // Do not filter out ETag messages (412 with concurrent modification) as they are critical for user awareness
18
+ const technicalDetails = message.getTechnicalDetails();
19
+ if (!(technicalDetails?.httpStatus === 412 && technicalDetails?.isConcurrentModification)) {
20
+ boundContextMessages.push(message);
21
+ }
18
22
  }
19
23
  });
20
24
  if (boundContextMessages.length === 1) {
@@ -27,4 +31,4 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
27
31
  };
28
32
  return MessageHandlerExtension;
29
33
  }, false);
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiIsImdldFNob3dCb3VuZE1lc3NhZ2VzSW5NZXNzYWdlRGlhbG9nIiwiQ29tbW9uVXRpbHMiLCJnZXRJc0VkaXRhYmxlIiwiYmFzZSIsImdldFZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFByb3BlcnR5IiwiZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXMiLCJ0cmFuc2l0aW9uTWVzc2FnZXMiLCJjb250ZXh0IiwiYm91bmRDb250ZXh0TWVzc2FnZXMiLCJmb3JFYWNoIiwibWVzc2FnZSIsImdldFRhcmdldHMiLCJsZW5ndGgiLCJnZXRQYXRoIiwiZ2V0UGVyc2lzdGVudCIsInB1c2giLCJmaWx0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbE1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5cbmNvbnN0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uID0ge1xuXHRnZXRTaG93Qm91bmRNZXNzYWdlc0luTWVzc2FnZURpYWxvZzogZnVuY3Rpb24gKHRoaXM6IE1lc3NhZ2VIYW5kbGVyKTogYm9vbGVhbiB7XG5cdFx0Ly8gaW4gY2FzZSBvZiBlZGl0IG1vZGUgd2Ugc2hvdyB0aGUgbWVzc2FnZXMgaW4gdGhlIG1lc3NhZ2UgcG9wb3ZlclxuXHRcdHJldHVybiAoXG5cdFx0XHQhQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZSh0aGlzLmJhc2UpIHx8XG5cdFx0XHQodGhpcy5iYXNlLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0KS5nZXRQcm9wZXJ0eShcImlzT3BlcmF0aW9uRGlhbG9nT3BlblwiKSB8fFxuXHRcdFx0KHRoaXMuYmFzZS5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dCkuZ2V0UHJvcGVydHkoXCJnZXRCb3VuZE1lc3NhZ2VzRm9yTWFzc0VkaXRcIilcblx0XHQpO1xuXHR9LFxuXHRmaWx0ZXJDb250ZXh0Qm91bmRNZXNzYWdlcyh0cmFuc2l0aW9uTWVzc2FnZXM6IE1lc3NhZ2VbXSwgY29udGV4dDogQ29udGV4dCk6IE1lc3NhZ2VbXSB7XG5cdFx0Y29uc3QgYm91bmRDb250ZXh0TWVzc2FnZXM6IE1lc3NhZ2VbXSA9IFtdO1xuXHRcdHRyYW5zaXRpb25NZXNzYWdlcz8uZm9yRWFjaCgobWVzc2FnZTogTWVzc2FnZSkgPT4ge1xuXHRcdFx0aWYgKG1lc3NhZ2UuZ2V0VGFyZ2V0cygpLmxlbmd0aCA9PT0gMSAmJiBtZXNzYWdlLmdldFRhcmdldHMoKVswXSA9PT0gY29udGV4dD8uZ2V0UGF0aCgpICYmIG1lc3NhZ2UuZ2V0UGVyc2lzdGVudCgpID09PSB0cnVlKSB7XG5cdFx0XHRcdGJvdW5kQ29udGV4dE1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aWYgKGJvdW5kQ29udGV4dE1lc3NhZ2VzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dHJhbnNpdGlvbk1lc3NhZ2VzID0gdHJhbnNpdGlvbk1lc3NhZ2VzPy5maWx0ZXIoZnVuY3Rpb24gKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcblx0XHRcdFx0cmV0dXJuIG1lc3NhZ2UgIT09IGJvdW5kQ29udGV4dE1lc3NhZ2VzWzBdO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiB0cmFuc2l0aW9uTWVzc2FnZXM7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBTUEsTUFBTUEsdUJBQXVCLEdBQUc7SUFDL0JDLG1DQUFtQyxFQUFFLFNBQUFBLENBQUEsRUFBeUM7TUFDN0U7TUFDQSxPQUNDLENBQUNDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQ3BDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBMEJDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUMvRyxJQUFJLENBQUNILElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQTBCQyxXQUFXLENBQUMsNkJBQTZCLENBQUM7SUFFeEgsQ0FBQztJQUNEQywwQkFBMEJBLENBQUNDLGtCQUE2QixFQUFFQyxPQUFnQixFQUFhO01BQ3RGLE1BQU1DLG9CQUErQixHQUFHLEVBQUU7TUFDMUNGLGtCQUFrQixFQUFFRyxPQUFPLENBQUVDLE9BQWdCLElBQUs7UUFDakQsSUFBSUEsT0FBTyxDQUFDQyxVQUFVLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUFJRixPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUtKLE9BQU8sRUFBRU0sT0FBTyxDQUFDLENBQUMsSUFBSUgsT0FBTyxDQUFDSSxhQUFhLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtVQUM1SE4sb0JBQW9CLENBQUNPLElBQUksQ0FBQ0wsT0FBTyxDQUFDO1FBQ25DO01BQ0QsQ0FBQyxDQUFDO01BQ0YsSUFBSUYsb0JBQW9CLENBQUNJLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdENOLGtCQUFrQixHQUFHQSxrQkFBa0IsRUFBRVUsTUFBTSxDQUFDLFVBQVVOLE9BQWdCLEVBQUU7VUFDM0UsT0FBT0EsT0FBTyxLQUFLRixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDO01BQ0g7TUFDQSxPQUFPRixrQkFBa0I7SUFDMUI7RUFDRCxDQUFDO0VBQUMsT0FFYVQsdUJBQXVCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiIsImdldFNob3dCb3VuZE1lc3NhZ2VzSW5NZXNzYWdlRGlhbG9nIiwiQ29tbW9uVXRpbHMiLCJnZXRJc0VkaXRhYmxlIiwiYmFzZSIsImdldFZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFByb3BlcnR5IiwiZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXMiLCJ0cmFuc2l0aW9uTWVzc2FnZXMiLCJjb250ZXh0IiwiYm91bmRDb250ZXh0TWVzc2FnZXMiLCJmb3JFYWNoIiwibWVzc2FnZSIsImdldFRhcmdldHMiLCJsZW5ndGgiLCJnZXRQYXRoIiwiZ2V0UGVyc2lzdGVudCIsInRlY2huaWNhbERldGFpbHMiLCJnZXRUZWNobmljYWxEZXRhaWxzIiwiaHR0cFN0YXR1cyIsImlzQ29uY3VycmVudE1vZGlmaWNhdGlvbiIsInB1c2giLCJmaWx0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGVjaG5pY2FsRGV0YWlscyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9tZXNzYWdlSGFuZGxlci9tZXNzYWdlSGFuZGxpbmdcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG5jb25zdCBNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiA9IHtcblx0Z2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2c6IGZ1bmN0aW9uICh0aGlzOiBNZXNzYWdlSGFuZGxlcik6IGJvb2xlYW4ge1xuXHRcdC8vIGluIGNhc2Ugb2YgZWRpdCBtb2RlIHdlIHNob3cgdGhlIG1lc3NhZ2VzIGluIHRoZSBtZXNzYWdlIHBvcG92ZXJcblx0XHRyZXR1cm4gKFxuXHRcdFx0IUNvbW1vblV0aWxzLmdldElzRWRpdGFibGUodGhpcy5iYXNlKSB8fFxuXHRcdFx0KHRoaXMuYmFzZS5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dCkuZ2V0UHJvcGVydHkoXCJpc09wZXJhdGlvbkRpYWxvZ09wZW5cIikgfHxcblx0XHRcdCh0aGlzLmJhc2UuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQpLmdldFByb3BlcnR5KFwiZ2V0Qm91bmRNZXNzYWdlc0Zvck1hc3NFZGl0XCIpXG5cdFx0KTtcblx0fSxcblx0ZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXModHJhbnNpdGlvbk1lc3NhZ2VzOiBNZXNzYWdlW10sIGNvbnRleHQ6IENvbnRleHQpOiBNZXNzYWdlW10ge1xuXHRcdGNvbnN0IGJvdW5kQ29udGV4dE1lc3NhZ2VzOiBNZXNzYWdlW10gPSBbXTtcblx0XHR0cmFuc2l0aW9uTWVzc2FnZXM/LmZvckVhY2goKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcblx0XHRcdGlmIChtZXNzYWdlLmdldFRhcmdldHMoKS5sZW5ndGggPT09IDEgJiYgbWVzc2FnZS5nZXRUYXJnZXRzKClbMF0gPT09IGNvbnRleHQ/LmdldFBhdGgoKSAmJiBtZXNzYWdlLmdldFBlcnNpc3RlbnQoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHQvLyBEbyBub3QgZmlsdGVyIG91dCBFVGFnIG1lc3NhZ2VzICg0MTIgd2l0aCBjb25jdXJyZW50IG1vZGlmaWNhdGlvbikgYXMgdGhleSBhcmUgY3JpdGljYWwgZm9yIHVzZXIgYXdhcmVuZXNzXG5cdFx0XHRcdGNvbnN0IHRlY2huaWNhbERldGFpbHMgPSBtZXNzYWdlLmdldFRlY2huaWNhbERldGFpbHMoKSBhcyBNZXNzYWdlVGVjaG5pY2FsRGV0YWlscztcblx0XHRcdFx0aWYgKCEodGVjaG5pY2FsRGV0YWlscz8uaHR0cFN0YXR1cyA9PT0gNDEyICYmIHRlY2huaWNhbERldGFpbHM/LmlzQ29uY3VycmVudE1vZGlmaWNhdGlvbikpIHtcblx0XHRcdFx0XHRib3VuZENvbnRleHRNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aWYgKGJvdW5kQ29udGV4dE1lc3NhZ2VzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dHJhbnNpdGlvbk1lc3NhZ2VzID0gdHJhbnNpdGlvbk1lc3NhZ2VzPy5maWx0ZXIoZnVuY3Rpb24gKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcblx0XHRcdFx0cmV0dXJuIG1lc3NhZ2UgIT09IGJvdW5kQ29udGV4dE1lc3NhZ2VzWzBdO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiB0cmFuc2l0aW9uTWVzc2FnZXM7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBT0EsTUFBTUEsdUJBQXVCLEdBQUc7SUFDL0JDLG1DQUFtQyxFQUFFLFNBQUFBLENBQUEsRUFBeUM7TUFDN0U7TUFDQSxPQUNDLENBQUNDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQ3BDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBMEJDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUMvRyxJQUFJLENBQUNILElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQTBCQyxXQUFXLENBQUMsNkJBQTZCLENBQUM7SUFFeEgsQ0FBQztJQUNEQywwQkFBMEJBLENBQUNDLGtCQUE2QixFQUFFQyxPQUFnQixFQUFhO01BQ3RGLE1BQU1DLG9CQUErQixHQUFHLEVBQUU7TUFDMUNGLGtCQUFrQixFQUFFRyxPQUFPLENBQUVDLE9BQWdCLElBQUs7UUFDakQsSUFBSUEsT0FBTyxDQUFDQyxVQUFVLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUFJRixPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUtKLE9BQU8sRUFBRU0sT0FBTyxDQUFDLENBQUMsSUFBSUgsT0FBTyxDQUFDSSxhQUFhLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtVQUM1SDtVQUNBLE1BQU1DLGdCQUFnQixHQUFHTCxPQUFPLENBQUNNLG1CQUFtQixDQUFDLENBQTRCO1VBQ2pGLElBQUksRUFBRUQsZ0JBQWdCLEVBQUVFLFVBQVUsS0FBSyxHQUFHLElBQUlGLGdCQUFnQixFQUFFRyx3QkFBd0IsQ0FBQyxFQUFFO1lBQzFGVixvQkFBb0IsQ0FBQ1csSUFBSSxDQUFDVCxPQUFPLENBQUM7VUFDbkM7UUFDRDtNQUNELENBQUMsQ0FBQztNQUNGLElBQUlGLG9CQUFvQixDQUFDSSxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3RDTixrQkFBa0IsR0FBR0Esa0JBQWtCLEVBQUVjLE1BQU0sQ0FBQyxVQUFVVixPQUFnQixFQUFFO1VBQzNFLE9BQU9BLE9BQU8sS0FBS0Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQztNQUNIO01BQ0EsT0FBT0Ysa0JBQWtCO0lBQzFCO0VBQ0QsQ0FBQztFQUFDLE9BRWFULHVCQUF1QjtBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,5 +1,6 @@
1
1
  import CommonUtils from "sap/fe/core/CommonUtils";
2
2
  import type MessageHandler from "sap/fe/core/controllerextensions/MessageHandler";
3
+ import type { MessageTechnicalDetails } from "sap/fe/core/controllerextensions/messageHandler/messageHandling";
3
4
  import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
4
5
  import type Message from "sap/ui/core/message/Message";
5
6
  import type Context from "sap/ui/model/Context";
@@ -17,7 +18,11 @@ const MessageHandlerExtension = {
17
18
  const boundContextMessages: Message[] = [];
18
19
  transitionMessages?.forEach((message: Message) => {
19
20
  if (message.getTargets().length === 1 && message.getTargets()[0] === context?.getPath() && message.getPersistent() === true) {
20
- boundContextMessages.push(message);
21
+ // Do not filter out ETag messages (412 with concurrent modification) as they are critical for user awareness
22
+ const technicalDetails = message.getTechnicalDetails() as MessageTechnicalDetails;
23
+ if (!(technicalDetails?.httpStatus === 412 && technicalDetails?.isConcurrentModification)) {
24
+ boundContextMessages.push(message);
25
+ }
21
26
  }
22
27
  });
23
28
  if (boundContextMessages.length === 1) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/converters/helpers/ConfigurableObject", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/SemanticKeyHelper", "sap/fe/templates/ObjectPage/card/Generator", "sap/ui/core/routing/HashChanger", "sap/ui/model/Filter", "sap/ui/model/FilterOperator"], function (Log, CommonUtils, MetaModelConverter, ConfigurableObject, ModelHelper, SemanticKeyHelper, AdaptiveCardGenerator, HashChanger, Filter, FilterOperator) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/KeepAliveHelper", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/library"], function (Log, CommonUtils, KeepAliveHelper, ModelHelper, CoreLibrary) {
6
6
  "use strict";
@@ -1,17 +1,55 @@
1
- <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:macrosHeader="sap.fe.macros.header">
1
+ <core:FragmentDefinition
2
+ xmlns="sap.m"
3
+ xmlns:core="sap.ui.core"
4
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
5
+ xmlns:macros="sap.fe.macros"
6
+ xmlns:macrosControls="sap.fe.macros.controls"
7
+ xmlns:macrosHeader="sap.fe.macros.header"
8
+ xmlns:fpm="sap.fe.macros.fpm"
9
+ template:require="{
10
+ COMMONFORMATTERS: 'sap/fe/core/templating/CommonFormatters',
11
+ OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating'
12
+ }"
13
+ >
2
14
  <FlexBox renderType="Bare">
3
15
  <FlexBox visible="{header>title/expandedImageVisible}">
4
- <macrosHeader:HeaderAvatar
16
+ <macrosControls:Avatar
5
17
  src="{avatar>src}"
6
18
  initials="{avatar>initials}"
7
19
  fallbackIcon="{avatar>fallbackIcon}"
8
20
  displayShape="{avatar>displayShape}"
21
+ displaySize="S"
22
+ imageFitType="{avatar>imageFitType}"
23
+ tooltip="{= COMMONFORMATTERS.getBindingWithText(${headerInfo>Title/Value@@UI.getDataModelObjectPath}) }"
24
+ showLightBox="true"
25
+ lightBoxTitle="{avatar>lightBoxTitle}"
26
+ lightBoxSubtitle="{avatar>lightBoxSubtitle}"
9
27
  />
10
28
  </FlexBox>
11
- <macrosHeader:HeaderTitleDescription VBoxType="Bare">
12
- <macrosHeader:layoutData>
13
- <FlexItemData minWidth="0" />
14
- </macrosHeader:layoutData>
15
- </macrosHeader:HeaderTitleDescription>
29
+ <VBox>
30
+ <macrosHeader:HeaderTitleDescription VBoxType="Bare">
31
+ <macrosHeader:layoutData>
32
+ <FlexItemData minWidth="0" />
33
+ </macrosHeader:layoutData>
34
+ </macrosHeader:HeaderTitleDescription>
35
+ <template:if test="{= ${header>aiNotice} &amp;&amp; ${header>aiNotice/visible} !== false }">
36
+ <macros:AINotice visible="{header>aiNotice/visible}" placementType="Bottom">
37
+ <macros:popoverContent>
38
+ <template:if test="{header>aiNotice/contentText}">
39
+ <template:then>
40
+ <Text text="{header>aiNotice/contentText}" />
41
+ </template:then>
42
+ <template:elseif test="{header>aiNotice/contentFragmentName}">
43
+ <fpm:CustomFragment
44
+ id="fe::expandedHeaderNotice"
45
+ fragmentName="{header>aiNotice/contentFragmentName}"
46
+ contextPath="{fullContextPath>}"
47
+ />
48
+ </template:elseif>
49
+ </template:if>
50
+ </macros:popoverContent>
51
+ </macros:AINotice>
52
+ </template:if>
53
+ </VBox>
16
54
  </FlexBox>
17
55
  </core:FragmentDefinition>
@@ -4,6 +4,8 @@
4
4
  xmlns:dt="sap.ui.dt"
5
5
  xmlns:fl="sap.ui.fl"
6
6
  xmlns:fe="sap.fe.templates.ObjectPage.controls"
7
+ xmlns:macros="sap.fe.macros"
8
+ xmlns:macrosControls="sap.fe.macros.controls"
7
9
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
8
10
  template:require="{
9
11
  COMMON: 'sap/fe/macros/CommonHelper',
@@ -14,26 +16,19 @@
14
16
  }"
15
17
  >
16
18
  <template:if test="{header>avatar}">
17
- <Avatar
19
+ <macrosControls:Avatar
18
20
  class="sapUiSmallMarginEnd sapUiSmallMarginBottom"
19
21
  src="{header>avatar/src}"
20
22
  initials="{header>avatar/initials}"
21
23
  fallbackIcon="{header>avatar/fallbackIcon}"
22
24
  displayShape="{header>avatar/displayShape}"
23
25
  displaySize="L"
24
- imageFitType="Cover"
26
+ imageFitType="{header>avatar/imageFitType}"
25
27
  tooltip="{= COMMONFORMATTERS.getBindingWithText(${headerInfo>Title/Value@@UI.getDataModelObjectPath}) }"
26
- >
27
- <detailBox>
28
- <LightBox>
29
- <LightBoxItem
30
- imageSrc="{header>avatar/src}"
31
- title="{= OP.getExpressionForTitle(${fullContextPath>@@UI.getDataModelObjectPath}, ${viewData>}, ${headerInfo>@@UI.getConverterContext})}"
32
- subtitle="{= OP.getExpressionForDescription(${fullContextPath>@@UI.getDataModelObjectPath}, ${headerInfo>@@UI.getConverterContext})}"
33
- />
34
- </LightBox>
35
- </detailBox>
36
- </Avatar>
28
+ showLightBox="true"
29
+ lightBoxTitle="{header>avatar/lightBoxTitle}"
30
+ lightBoxSubtitle="{header>avatar/lightBoxSubtitle}"
31
+ />
37
32
  </template:if>
38
33
  <template:with path="converterContext>header/facets" var="converterHeaderFacets">
39
34
  <template:repeat list="{converterHeaderFacets>}" var="converterHeaderFacet">
@@ -4,10 +4,14 @@
4
4
  xmlns:uxap="sap.uxap"
5
5
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
6
6
  xmlns:fragments="sap.fe.templates.ObjectPage.view.fragments"
7
+ xmlns:macros="sap.fe.macros"
8
+ xmlns:macrosControls="sap.fe.macros.controls"
7
9
  xmlns:macrosHeader="sap.fe.macros.header"
10
+ xmlns:fpm="sap.fe.macros.fpm"
8
11
  template:require="{
9
12
  UI: 'sap/fe/core/templating/UIFormatters',
10
13
  DATAFIELDHELPER : 'sap/fe/core/converters/helpers/DataFieldHelper',
14
+ COMMONFORMATTERS: 'sap/fe/core/templating/CommonFormatters',
11
15
  OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating',
12
16
  FE_MODEL: 'sap/fe/core/helpers/ModelHelper'
13
17
  }"
@@ -19,17 +23,43 @@
19
23
  </uxap:expandedHeading>
20
24
  <uxap:snappedHeading>
21
25
  <FlexBox renderType="Bare">
22
- <macrosHeader:HeaderAvatar
26
+ <macrosControls:Avatar
23
27
  src="{avatar>src}"
24
28
  initials="{avatar>initials}"
25
29
  fallbackIcon="{avatar>fallbackIcon}"
26
30
  displayShape="{avatar>displayShape}"
31
+ displaySize="S"
32
+ imageFitType="{avatar>imageFitType}"
33
+ tooltip="{= COMMONFORMATTERS.getBindingWithText(${headerInfo>Title/Value@@UI.getDataModelObjectPath}) }"
34
+ showLightBox="true"
35
+ lightBoxTitle="{avatar>lightBoxTitle}"
36
+ lightBoxSubtitle="{avatar>lightBoxSubtitle}"
27
37
  />
28
- <macrosHeader:HeaderTitleDescription>
29
- <macrosHeader:layoutData>
30
- <FlexItemData minWidth="0" />
31
- </macrosHeader:layoutData>
32
- </macrosHeader:HeaderTitleDescription>
38
+ <VBox>
39
+ <macrosHeader:HeaderTitleDescription>
40
+ <macrosHeader:layoutData>
41
+ <FlexItemData minWidth="0" />
42
+ </macrosHeader:layoutData>
43
+ </macrosHeader:HeaderTitleDescription>
44
+ <template:if test="{= ${header>aiNotice} &amp;&amp; ${header>aiNotice/visible} !== false }">
45
+ <macros:AINotice visible="{header>aiNotice/visible}" placementType="Bottom">
46
+ <macros:popoverContent>
47
+ <template:if test="{header>aiNotice/contentText}">
48
+ <template:then>
49
+ <Text text="{header>aiNotice/contentText}" />
50
+ </template:then>
51
+ <template:elseif test="{header>aiNotice/contentFragmentName}">
52
+ <fpm:CustomFragment
53
+ id="fe::snappedHeaderNotice"
54
+ fragmentName="{header>aiNotice/contentFragmentName}"
55
+ contextPath="{fullContextPath>}"
56
+ />
57
+ </template:elseif>
58
+ </template:if>
59
+ </macros:popoverContent>
60
+ </macros:AINotice>
61
+ </template:if>
62
+ </VBox>
33
63
  </FlexBox>
34
64
  </uxap:snappedHeading>
35
65
  <template:if test="{= !${header>hasContent} }">
@@ -18,7 +18,7 @@
18
18
  displayInline="true"
19
19
  binding="{= OP.createBindingForAlternateAndSecondaryKeys((MODEL.getNavigationPath(${headerFacet>Target/$AnnotationPath@@UI.getDataModelObjectPath})))}"
20
20
  >
21
- <Title level="H3" text="{headerFacet>Label}" />
21
+ <Title text="{headerFacet>Label}" />
22
22
  <Text renderWhitespace="true" class="sapMLabel" text="{addressPath>label@@MODEL.format}" />
23
23
  </VBox>
24
24
  </template:with>
@@ -19,7 +19,7 @@
19
19
  binding="{= OP.createBindingForAlternateAndSecondaryKeys(${headerFacet>Target/$AnnotationPath@@UI.getDataModelObjectPath})}"
20
20
  >
21
21
  <template:if test="{headerFacet>@@MODEL.label}">
22
- <Title level="H3" text="{headerFacet>@@MODEL.label}" class="sapUiSmallMarginBottom" />
22
+ <Title text="{headerFacet>@@MODEL.label}" class="sapUiSmallMarginBottom" />
23
23
  </template:if>
24
24
  <template:with path="headerFacet>Target/$AnnotationPath" var="metaPath">
25
25
  <macro:Contact
@@ -23,7 +23,6 @@
23
23
  >
24
24
  <template:if test="{converterHeaderFacet>headerFormData/label}">
25
25
  <Title
26
- level="H3"
27
26
  text="{converterHeaderFacet>headerFormData/label}"
28
27
  id="{= ID.generate([ ${converterHeaderFacet>headerFormData/id}, 'Title'])}"
29
28
  class="sapUiSmallMarginBottom"
@@ -20,48 +20,91 @@
20
20
  <template:if test="{= ${subSection>type} === 'XMLFragment'}">
21
21
  <template:then>
22
22
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.FormActions" type="XML" />
23
- <macroSectionContent:blocks>
24
- <uxap:ObjectPageLazyLoader
25
- stashed="{subSection>objectPageLazyLoaderEnabled}"
26
- id="{= ID.generate(['fe', 'lazyLoader', ${subSection>id}])}"
27
- >
28
- <opcontrol:SubSectionBlock>
29
- <opcontrol:content>
30
- <template:if test="{= ${subSection>sideContent} !== undefined}">
31
- <template:then>
32
- <layout:DynamicSideContent
33
- id="{= ID.generate(['fe', ${subSection>key}, 'SideContentLayout'])}"
34
- showMainContent="true"
35
- showSideContent="{subSection>sideContent/visible}"
36
- sideContentFallDown="BelowM"
37
- containerQuery="true"
38
- equalSplit="{subSection>sideContent/equalSplit}"
39
- >
40
- <layout:mainContent>
23
+ <template:if test="{= ${subSection>isPartOfPreview} !== false}">
24
+ <template:then>
25
+ <macroSectionContent:blocks>
26
+ <uxap:ObjectPageLazyLoader
27
+ stashed="{subSection>objectPageLazyLoaderEnabled}"
28
+ id="{= ID.generate(['fe', 'lazyLoader', ${subSection>id}])}"
29
+ >
30
+ <opcontrol:SubSectionBlock>
31
+ <opcontrol:content>
32
+ <template:if test="{= ${subSection>sideContent} !== undefined}">
33
+ <template:then>
34
+ <layout:DynamicSideContent
35
+ id="{= ID.generate(['fe', ${subSection>key}, 'SideContentLayout'])}"
36
+ showMainContent="true"
37
+ showSideContent="{subSection>sideContent/visible}"
38
+ sideContentFallDown="BelowM"
39
+ containerQuery="true"
40
+ equalSplit="{subSection>sideContent/equalSplit}"
41
+ >
42
+ <layout:mainContent>
43
+ <core:Fragment
44
+ fragmentName="sap.fe.templates.ObjectPage.view.fragments.SectionCustomSection"
45
+ type="XML"
46
+ />
47
+ </layout:mainContent>
48
+ <layout:sideContent>
49
+ <core:Fragment
50
+ fragmentName="sap.fe.templates.ObjectPage.view.fragments.SideContentCustomContainer"
51
+ type="XML"
52
+ />
53
+ </layout:sideContent>
54
+ </layout:DynamicSideContent>
55
+ </template:then>
56
+ <template:else>
41
57
  <core:Fragment
42
58
  fragmentName="sap.fe.templates.ObjectPage.view.fragments.SectionCustomSection"
43
59
  type="XML"
44
60
  />
45
- </layout:mainContent>
46
- <layout:sideContent>
47
- <core:Fragment
48
- fragmentName="sap.fe.templates.ObjectPage.view.fragments.SideContentCustomContainer"
49
- type="XML"
50
- />
51
- </layout:sideContent>
52
- </layout:DynamicSideContent>
53
- </template:then>
54
- <template:else>
55
- <core:Fragment
56
- fragmentName="sap.fe.templates.ObjectPage.view.fragments.SectionCustomSection"
57
- type="XML"
58
- />
59
- </template:else>
60
- </template:if>
61
- </opcontrol:content>
62
- </opcontrol:SubSectionBlock>
63
- </uxap:ObjectPageLazyLoader>
64
- </macroSectionContent:blocks>
61
+ </template:else>
62
+ </template:if>
63
+ </opcontrol:content>
64
+ </opcontrol:SubSectionBlock>
65
+ </uxap:ObjectPageLazyLoader>
66
+ </macroSectionContent:blocks>
67
+ </template:then>
68
+ <template:else>
69
+ <macroSectionContent:moreBlocks>
70
+ <opcontrol:SubSectionBlock>
71
+ <opcontrol:content>
72
+ <template:if test="{= ${subSection>sideContent} !== undefined}">
73
+ <template:then>
74
+ <layout:DynamicSideContent
75
+ id="{= ID.generate(['fe', ${subSection>key}, 'SideContentLayout'])}"
76
+ showMainContent="true"
77
+ showSideContent="{subSection>sideContent/visible}"
78
+ sideContentFallDown="BelowM"
79
+ containerQuery="true"
80
+ equalSplit="{subSection>sideContent/equalSplit}"
81
+ >
82
+ <layout:mainContent>
83
+ <core:Fragment
84
+ fragmentName="sap.fe.templates.ObjectPage.view.fragments.SectionCustomSection"
85
+ type="XML"
86
+ />
87
+ </layout:mainContent>
88
+ <layout:sideContent>
89
+ <core:Fragment
90
+ fragmentName="sap.fe.templates.ObjectPage.view.fragments.SideContentCustomContainer"
91
+ type="XML"
92
+ />
93
+ </layout:sideContent>
94
+ </layout:DynamicSideContent>
95
+ </template:then>
96
+ <template:else>
97
+ <core:Fragment
98
+ fragmentName="sap.fe.templates.ObjectPage.view.fragments.SectionCustomSection"
99
+ type="XML"
100
+ />
101
+ </template:else>
102
+ </template:if>
103
+ </opcontrol:content>
104
+ </opcontrol:SubSectionBlock>
105
+ </macroSectionContent:moreBlocks>
106
+ </template:else>
107
+ </template:if>
65
108
  </template:then>
66
109
  <template:elseif test="{= ${subSection>type} === 'Form'}">
67
110
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.FormActions" type="XML" />
@@ -169,7 +212,7 @@
169
212
  visible="{subSection>dataVisualizationTitleVisible}"
170
213
  />
171
214
  </template:if>
172
- <opcontrol:SubSectionBlock>
215
+ <opcontrol:SubSectionBlock visible="{subSection>visible}">
173
216
  <opcontrol:content>
174
217
  <template:if test="{= ${subSection>sideContent} !== undefined}">
175
218
  <template:then>
@@ -7,5 +7,10 @@
7
7
  ID: 'sap/fe/core/helpers/StableIdHelper'
8
8
  }"
9
9
  >
10
- <fpm:CustomFragment id="{subSection>id}" contextPath="{entitySet>}" fragmentName="{subSection>template}" />
10
+ <fpm:CustomFragment
11
+ id="{subSection>id}"
12
+ contextPath="{entitySet>}"
13
+ fragmentName="{subSection>template}"
14
+ isPartOfPreview="{subSection>isPartOfPreview}"
15
+ />
11
16
  </core:FragmentDefinition>
@@ -11,6 +11,7 @@
11
11
  }"
12
12
  >
13
13
  <macros:Table
14
+ templateType="{viewData>/converterType}"
14
15
  id="{visualizationDefinition>annotation/apiId}"
15
16
  contentId="{visualizationDefinition>annotation/id}"
16
17
  metaPath="{presentationContext>annotationPath}"
@@ -19,6 +20,7 @@
19
20
  filterBar="{= ${converterContext>filterBarId} ? ${converterContext>filterBarId} : undefined}"
20
21
  busy='{= "{ui>/busyLocal/"+${visualizationDefinition>annotation/id}+"}" }'
21
22
  listBindingChange=".handlers.onTableContextChange"
23
+ bindingUpdated=".handlers.onTableBindingUpdated"
22
24
  variantSelected=".handlers.onVariantSelected"
23
25
  variantSaved=".handlers.onVariantSaved"
24
26
  isAlp="{converterContext>hasMultiVisualizations}"
@@ -45,7 +47,7 @@
45
47
  <macrosFPM:childCustomData>
46
48
  <core:CustomData
47
49
  key="AssociatedProperties"
48
- value="{= TABLEHELPER.createBindingToLoadProperties(${column>properties})}"
50
+ value="{= TABLEHELPER.createBindingToLoadProperties(${column>loadedProperties})}"
49
51
  />
50
52
  </macrosFPM:childCustomData>
51
53
  </macrosFPM:CustomFragment>
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/base/HookSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/BindingHelper", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/core/templating/FieldControlHelper", "sap/fe/core/templating/UIFormatters", "sap/fe/macros/field/FieldTemplating", "sap/m/Link", "sap/m/MessageStrip", "sap/ui/core/message/MessageType", "sap/fe/base/jsx-runtime/jsx"], function (BindingToolkit, ClassSupport, HookSupport, BuildingBlock, BindingHelper, DataModelPathHelper, FieldControlHelper, UIFormatters, FieldTemplating, Link, MessageStrip, MessageType, _jsx) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/f/library", "sap/fe/core/library", "sap/fe/macros/library", "sap/fe/templates/ListReport/view/fragments/MultipleMode.block", "sap/ui/base/DataType", "sap/ui/core/Lib", "sap/ui/core/library", "sap/ui/fl/library"], function (_library, _library2, _library3, MultipleModeBlock, DataType, Library, _library4, _library5) {
6
6
  "use strict";
@@ -36,7 +36,7 @@ sap.ui.define(["sap/f/library", "sap/fe/core/library", "sap/fe/macros/library",
36
36
  controls: [],
37
37
  elements: [],
38
38
  // eslint-disable-next-line no-template-curly-in-string
39
- version: "1.144.0",
39
+ version: "1.146.0",
40
40
  noLibraryCSS: true
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  });
@@ -36,14 +36,14 @@ T_COMMON_OBJECT_PAGE_VALIDATE_DRAFT=Validate
36
36
  # XBUT,15: Text for the 'Create' Button for Object Pages
37
37
  T_OP_OBJECT_PAGE_CREATE=Create
38
38
 
39
- # XBUT,15: Text for the 'Create and Leave' Button for Object Pages
40
- T_OP_OBJECT_PAGE_CREATEANDLEAVE=Create and Leave
39
+ # XBUT: Text for the 'Create and Back' Button for Object Pages
40
+ T_OP_OBJECT_PAGE_CREATEANDBACK=Create and Back
41
41
 
42
42
  # XBUT,15: Text for the 'Save' Button for Draft Handling
43
43
  T_OP_OBJECT_PAGE_SAVE=Save
44
44
 
45
- # XBUT,15: Text for the 'Save and Leave' Button for Draft Handling
46
- T_OP_OBJECT_PAGE_SAVEANDLEAVE=Save and Leave
45
+ # XBUT: Text for the 'Save and Back' Button for Draft Handling
46
+ T_OP_OBJECT_PAGE_SAVEANDBACK=Save and Back
47
47
 
48
48
  # XBUT,45: Text for the 'Saved Version' Button
49
49
  C_COMMON_OBJECT_PAGE_SAVED_VERSION_BUT=Saved Version
@@ -184,6 +184,18 @@ RTA_CONFIGURATION_OP_VM_ENUM_CONTROL=Control
184
184
  # XFLD: Value in dropdown selection for Configuration dialog setting
185
185
  RTA_CONFIGURATION_OP_VM_ENUM_NONE=Not Enabled
186
186
 
187
+ # XFLD: Label for Configuration dialog setting
188
+ RTA_CONFIGURATION_OP_AIFT_NAME=Avatar Image Fit Type
189
+
190
+ # XTIT: Label for Configuration dialog setting description
191
+ RTA_CONFIGURATION_OP_AIFT_DESC=Decide how the avatar image is displayed in the header
192
+
193
+ # XFLD: Value in dropdown selection for Configuration dialog setting
194
+ RTA_CONFIGURATION_OP_AIFT_ENUM_COVER=Cover
195
+
196
+ # XFLD: Value in dropdown selection for Configuration dialog setting
197
+ RTA_CONFIGURATION_OP_AIFT_ENUM_CONTAIN=Contain
198
+
187
199
  # XFLD: Label for Configuration dialog setting
188
200
  RTA_CONFIGURATION_OP_EHC_NAME=Editable Header Content
189
201
 
@@ -442,8 +454,8 @@ SHARE_SHORTCUT_DESCRIPTION=Share
442
454
  # XFLD: Description for the shortcut for the 'Save' button
443
455
  SAVE_SHORTCUT_DESCRIPTION=Save
444
456
 
445
- # XFLD: Description for the shortcut for the 'Save and Leave' button
446
- SAVEANDLEAVE_SHORTCUT_DESCRIPTION=Save and Leave
457
+ # XFLD: Description for the shortcut for the 'Save and Back' button
458
+ SAVEANDBACK_SHORTCUT_DESCRIPTION=Save and Back
447
459
 
448
460
  # XFLD: Description for the shortcut for the 'Save' button
449
461
  EDIT_SHORTCUT_DESCRIPTION=Edit