@sapui5/sap.fe.templates 1.145.1 → 1.147.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 (127) 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 +2 -2
  10. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +1 -1
  11. package/src/sap/fe/templates/ListReport/LRMessageStrip.js +1 -1
  12. package/src/sap/fe/templates/ListReport/ListReport.view.xml +53 -10
  13. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +78 -10
  14. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +92 -10
  15. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +40 -4
  16. package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +35 -1
  17. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +1 -1
  18. package/src/sap/fe/templates/ListReport/designtime/ListReport.designtime.helper.js +1 -1
  19. package/src/sap/fe/templates/ListReport/designtime/ListReport.designtime.js +1 -1
  20. package/src/sap/fe/templates/ListReport/manifest.json +1 -1
  21. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  22. package/src/sap/fe/templates/ListReport/overrides/MessageHandler.js +4 -3
  23. package/src/sap/fe/templates/ListReport/overrides/MessageHandler.ts +2 -1
  24. package/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
  25. package/src/sap/fe/templates/ListReport/overrides/SideEffects.js +1 -1
  26. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  27. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block.js +1 -1
  28. package/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  29. package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js +1 -1
  30. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +26 -5
  31. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +26 -3
  32. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +5 -1
  33. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +90 -30
  34. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +111 -33
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +25 -14
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +32 -27
  37. package/src/sap/fe/templates/ObjectPage/card/AdaptiveCardContent.js +1 -1
  38. package/src/sap/fe/templates/ObjectPage/card/BaseCardContentProvider.js +1 -1
  39. package/src/sap/fe/templates/ObjectPage/card/Generator.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/card/actions/HeaderActions.js +1 -1
  41. package/src/sap/fe/templates/ObjectPage/card/facets/HeaderContent.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/card/facets/HeaderTitle.js +1 -1
  43. package/src/sap/fe/templates/ObjectPage/components/CollaborationDiscardDialog.js +1 -1
  44. package/src/sap/fe/templates/ObjectPage/components/CollaborationDraft.js +1 -1
  45. package/src/sap/fe/templates/ObjectPage/components/DraftToggle.js +1 -1
  46. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  47. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +1 -1
  48. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +1 -1
  49. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
  50. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.helper.js +1 -1
  51. package/src/sap/fe/templates/ObjectPage/designtime/ObjectPage.designtime.js +1 -1
  52. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  53. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  54. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js +1 -1
  55. package/src/sap/fe/templates/ObjectPage/flexibility/StashControlAndDisconnect.js +1 -1
  56. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
  57. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
  58. package/src/sap/fe/templates/ObjectPage/flexibility/UnstashControlAndConnect.js +1 -1
  59. package/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  60. package/src/sap/fe/templates/ObjectPage/overrides/CollaborationManager.js +1 -1
  61. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  62. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  63. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  64. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  65. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +3 -3
  66. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +1 -1
  67. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +12 -2
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/EmphasizedFirstHeaderAction.fragment.xml +181 -0
  70. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +2 -0
  71. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +18 -12
  72. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +2 -0
  73. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +2 -0
  74. package/src/sap/fe/templates/ObjectPage/view/fragments/TransportSelection.js +1 -1
  75. package/src/sap/fe/templates/TableScroller.js +1 -1
  76. package/src/sap/fe/templates/library.js +2 -2
  77. package/src/sap/fe/templates/messagebundle.properties +1 -1
  78. package/src/sap/fe/templates/messagebundle_ar.properties +1 -1
  79. package/src/sap/fe/templates/messagebundle_bg.properties +1 -1
  80. package/src/sap/fe/templates/messagebundle_ca.properties +1 -1
  81. package/src/sap/fe/templates/messagebundle_cnr.properties +1 -1
  82. package/src/sap/fe/templates/messagebundle_cs.properties +1 -1
  83. package/src/sap/fe/templates/messagebundle_cy.properties +1 -1
  84. package/src/sap/fe/templates/messagebundle_da.properties +1 -1
  85. package/src/sap/fe/templates/messagebundle_de.properties +8 -8
  86. package/src/sap/fe/templates/messagebundle_el.properties +1 -1
  87. package/src/sap/fe/templates/messagebundle_en.properties +1 -1
  88. package/src/sap/fe/templates/messagebundle_en_GB.properties +1 -1
  89. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
  90. package/src/sap/fe/templates/messagebundle_es.properties +3 -3
  91. package/src/sap/fe/templates/messagebundle_es_MX.properties +1 -1
  92. package/src/sap/fe/templates/messagebundle_et.properties +1 -1
  93. package/src/sap/fe/templates/messagebundle_fi.properties +1 -1
  94. package/src/sap/fe/templates/messagebundle_fr.properties +1 -1
  95. package/src/sap/fe/templates/messagebundle_fr_CA.properties +1 -1
  96. package/src/sap/fe/templates/messagebundle_hi.properties +1 -1
  97. package/src/sap/fe/templates/messagebundle_hr.properties +1 -1
  98. package/src/sap/fe/templates/messagebundle_hu.properties +1 -1
  99. package/src/sap/fe/templates/messagebundle_id.properties +1 -1
  100. package/src/sap/fe/templates/messagebundle_it.properties +1 -1
  101. package/src/sap/fe/templates/messagebundle_iw.properties +2 -2
  102. package/src/sap/fe/templates/messagebundle_ja.properties +1 -1
  103. package/src/sap/fe/templates/messagebundle_kk.properties +1 -1
  104. package/src/sap/fe/templates/messagebundle_ko.properties +1 -1
  105. package/src/sap/fe/templates/messagebundle_lt.properties +1 -1
  106. package/src/sap/fe/templates/messagebundle_lv.properties +1 -1
  107. package/src/sap/fe/templates/messagebundle_mk.properties +1 -1
  108. package/src/sap/fe/templates/messagebundle_ms.properties +1 -1
  109. package/src/sap/fe/templates/messagebundle_nl.properties +1 -1
  110. package/src/sap/fe/templates/messagebundle_no.properties +1 -1
  111. package/src/sap/fe/templates/messagebundle_pl.properties +1 -1
  112. package/src/sap/fe/templates/messagebundle_pt.properties +1 -1
  113. package/src/sap/fe/templates/messagebundle_pt_PT.properties +1 -1
  114. package/src/sap/fe/templates/messagebundle_ro.properties +1 -1
  115. package/src/sap/fe/templates/messagebundle_ru.properties +1 -1
  116. package/src/sap/fe/templates/messagebundle_sh.properties +1 -1
  117. package/src/sap/fe/templates/messagebundle_sk.properties +1 -1
  118. package/src/sap/fe/templates/messagebundle_sl.properties +1 -1
  119. package/src/sap/fe/templates/messagebundle_sr.properties +1 -1
  120. package/src/sap/fe/templates/messagebundle_sv.properties +1 -1
  121. package/src/sap/fe/templates/messagebundle_th.properties +1 -1
  122. package/src/sap/fe/templates/messagebundle_tr.properties +1 -1
  123. package/src/sap/fe/templates/messagebundle_uk.properties +3 -3
  124. package/src/sap/fe/templates/messagebundle_vi.properties +1 -1
  125. package/src/sap/fe/templates/messagebundle_zh_CN.properties +1 -1
  126. package/src/sap/fe/templates/messagebundle_zh_TW.properties +1 -1
  127. package/src/sap/fe/templates/types/sap.fe.templates-auto-ext.d.js +1 -1
@@ -24,6 +24,7 @@ import CoreLibrary from "sap/fe/core/library";
24
24
  import type { TitleInformation } from "sap/fe/core/rootView/RootViewBaseController";
25
25
  import type Breadcrumbs from "sap/fe/macros/Breadcrumbs";
26
26
  import type ChartType from "sap/fe/macros/Chart";
27
+ import type FilterBarAPI from "sap/fe/macros/FilterBar";
27
28
  import type MacroAPI from "sap/fe/macros/MacroAPI";
28
29
  import type MessageButton from "sap/fe/macros/MessageButton";
29
30
  import type TableAPI from "sap/fe/macros/Table";
@@ -32,18 +33,18 @@ import ChartUtils from "sap/fe/macros/chart/ChartUtils";
32
33
  import type ContentSwitcher from "sap/fe/macros/contentSwitcher/ContentSwitcher";
33
34
  import type FilterBar from "sap/fe/macros/controls/FilterBar";
34
35
  import FilterUtils from "sap/fe/macros/filter/FilterUtils";
35
- import type FilterBarAPI from "sap/fe/macros/filterBar/FilterBarAPI";
36
36
  import SelectionVariant from "sap/fe/navigation/SelectionVariant";
37
37
  import ExtensionAPI from "sap/fe/templates/ListReport/ExtensionAPI";
38
38
  import type MultipleModeControl from "sap/fe/templates/ListReport/controls/MultipleModeControl";
39
39
  import SideEffectsOverride from "sap/fe/templates/ListReport/overrides/SideEffects";
40
40
  import TableScroller from "sap/fe/templates/TableScroller";
41
+ import type Button from "sap/m/Button";
41
42
  import type IconTabBar from "sap/m/IconTabBar";
42
43
  import type TabContainerItem from "sap/m/TabContainerItem";
43
44
  import Device from "sap/ui/Device";
44
45
  import type UI5Event from "sap/ui/base/Event";
45
46
  import type Control from "sap/ui/core/Control";
46
- import UI5Element from "sap/ui/core/Element";
47
+ import type UI5Element from "sap/ui/core/Element";
47
48
  import InvisibleMessage from "sap/ui/core/InvisibleMessage";
48
49
  import { InvisibleMessageMode } from "sap/ui/core/library";
49
50
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
@@ -56,6 +57,7 @@ import type { FilterBarBase$FiltersChangedEvent } from "sap/ui/mdc/filterbar/Fil
56
57
  import StateUtil from "sap/ui/mdc/p13n/StateUtil";
57
58
  import type JSONModel from "sap/ui/model/json/JSONModel";
58
59
  import type Context from "sap/ui/model/odata/v4/Context";
60
+ import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
59
61
  import hasher from "sap/ui/thirdparty/hasher";
60
62
  import type { TitleAdditionalInfo } from "sap/ushell/ui5service/ShellUIService";
61
63
  import * as ListReportTemplating from "./ListReportTemplating";
@@ -200,6 +202,14 @@ class ListReportController extends PageController {
200
202
  const aTables = this._getControls("table") as Table[];
201
203
  let updateActions = true;
202
204
  if (EditState.isEditStateDirty()) {
205
+ // Terminate any lingering ABAP draft session when returning from an edit session
206
+ // This handles the case where the user navigates back via browser back button,
207
+ // which doesn't trigger the draft data loss dialog
208
+ const model: ODataModel = this.getModel();
209
+ if (model) {
210
+ this.editFlow.terminateDraftSession(model);
211
+ }
212
+
203
213
  this._getMultiModeControl()?.invalidateContent();
204
214
  const table = this._getTable();
205
215
  const oTableBinding = table?.getRowBinding();
@@ -408,10 +418,42 @@ class ListReportController extends PageController {
408
418
  }
409
419
 
410
420
  /**
411
- * This method sets the initial focus in a list report based on the User Experience guidelines.
412
- *
421
+ * Tries to focus the emphasized (primary) header action in the DynamicPageTitle actions.
422
+ * This is used when no FilterBar is rendered so that the first actionable control receives focus.
423
+ * @returns True if an emphasized and focusable action is found and focused
424
+ */
425
+ private setFocusOnEmphasizedHeaderAction(): boolean {
426
+ const dynamicPage = this._getDynamicListReportControl();
427
+ const title = dynamicPage.getTitle();
428
+ const actions = title.getActions();
429
+ const emphasizedButton = actions.find((control) => {
430
+ return (
431
+ control &&
432
+ control.isA?.("sap.m.Button") &&
433
+ (control as Button).getType() === "Emphasized" &&
434
+ control.getVisible() &&
435
+ (control as Button).getEnabled() !== false
436
+ );
437
+ });
438
+ if (emphasizedButton) {
439
+ emphasizedButton.focus();
440
+ return true;
441
+ }
442
+ return false;
443
+ }
444
+
445
+ /**
446
+ * Sets the initial focus in the ListReport based on the UX focus rules.
413
447
  */
414
448
  async _setInitialFocus(): Promise<void> {
449
+ // In FCL, when navigating forward to an Object Page (e.g. after Create), the routeMatched event
450
+ // fires first for the parent route (LR only) before the child route (LR+OP). This causes
451
+ // onPageReady to be called on the LR with forceFocus=true, stealing focus from the OP.
452
+ // Guard: skip focus if the FCL is showing more than one column (deeper page is visible).
453
+ const rootViewController = this.getAppComponent().getRootViewController();
454
+ if (rootViewController.isFclEnabled() && rootViewController.getVisibleViews().length > 1) {
455
+ return;
456
+ }
415
457
  const dynamicPage = this._getDynamicListReportControl(),
416
458
  isHeaderExpanded = dynamicPage.getHeaderExpanded(),
417
459
  filterBar = this._getFilterBarControl() as FilterBar;
@@ -434,6 +476,10 @@ class ListReportController extends PageController {
434
476
  });
435
477
  }
436
478
  } else {
479
+ // No FilterBar rendered: focus the emphasized (primary) header action if available
480
+ if (this.setFocusOnEmphasizedHeaderAction()) {
481
+ return;
482
+ }
437
483
  await this._getTable()
438
484
  ?.focusRow(0)
439
485
  .catch(function (error: unknown) {
@@ -494,6 +540,31 @@ class ListReportController extends PageController {
494
540
  }
495
541
  }
496
542
 
543
+ /**
544
+ * Gets all control-level variant management controls (FilterBar, Tables, Charts).
545
+ * This is only applicable when variant management is set to "Control" mode.
546
+ * @returns Array of VariantManagement controls, or empty array if control variant IDs don't exist
547
+ */
548
+ _getControlVariantManagementControls(): VariantManagement[] {
549
+ const controlVariantIds = this._getPageModel()?.getProperty("/variantManagement/controlVariantIds");
550
+
551
+ if (!controlVariantIds) {
552
+ return [];
553
+ }
554
+
555
+ const variantControls: VariantManagement[] = [];
556
+ const variantIdArray = controlVariantIds.split(",");
557
+
558
+ variantIdArray.forEach((variantId: string) => {
559
+ const variantControl = this.getView().byId(variantId.trim()) as VariantManagement;
560
+ if (variantControl) {
561
+ variantControls.push(variantControl);
562
+ }
563
+ });
564
+
565
+ return variantControls;
566
+ }
567
+
497
568
  _getSegmentedButton(): UI5Element | undefined {
498
569
  const contentSwitcher = this.getView().byId("fe::ContentSwitcher") as UI5Element & { $segmentedButton?: { current?: UI5Element } };
499
570
  return contentSwitcher?.$segmentedButton?.current;
@@ -786,12 +857,23 @@ class ListReportController extends PageController {
786
857
  handlers = {
787
858
  onFilterLayoutSwitch(this: ListReportController, oEvent: UI5Event<{}, ContentSwitcher>): void {
788
859
  const currentKey = oEvent.getSource().selectedKey;
789
- const variantManagement = this._getControlFromPageModelProperty("/variantManagement/pageId");
790
- if (variantManagement) {
791
- if (currentKey === "ai") {
792
- variantManagement.setVisible(false);
793
- } else {
794
- variantManagement.setVisible(true);
860
+ const controlVariantControls = this._getControlVariantManagementControls();
861
+
862
+ if (controlVariantControls.length > 0) {
863
+ // Control variant management is configured
864
+ const isVisible = currentKey !== "ai";
865
+ controlVariantControls.forEach((variantControl) => {
866
+ variantControl.setVisible(isVisible);
867
+ });
868
+ } else {
869
+ // Page variant management
870
+ const variantManagement = this._getControlFromPageModelProperty("/variantManagement/pageId");
871
+ if (variantManagement) {
872
+ if (currentKey === "ai") {
873
+ variantManagement.setVisible(false);
874
+ } else {
875
+ variantManagement.setVisible(true);
876
+ }
795
877
  }
796
878
  }
797
879
  },
@@ -1,18 +1,19 @@
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
- sap.ui.define(["sap/fe/core/helpers/StableIdHelper"], function (StableIdHelper) {
5
+ sap.ui.define(["sap/fe/core/helpers/ActionUtilities", "sap/fe/core/helpers/StableIdHelper"], function (ActionUtilities, StableIdHelper) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
9
  var generate = StableIdHelper.generate;
10
+ var LR_EMPHASIS_SUPPRESSION_CONDITION = ActionUtilities.LR_EMPHASIS_SUPPRESSION_CONDITION;
10
11
  // Template Helpers for the List Report
11
12
  /**
12
13
  * Method returns an VariantBackReference expression based on variantManagement and oConverterContext value.
13
14
  * @param viewData Object Containing View Data
14
15
  * @param converterContextObject Object containing converted context
15
- * @returns {string}
16
+ * @returns The variant back reference ID or undefined
16
17
  */
17
18
 
18
19
  const getVariantBackReference = function (viewData, converterContextObject) {
@@ -32,7 +33,42 @@ sap.ui.define(["sap/fe/core/helpers/StableIdHelper"], function (StableIdHelper)
32
33
  }
33
34
  }
34
35
  };
36
+
37
+ /**
38
+ * Returns the binding expression condition for when ListReport header emphasis should be suppressed.
39
+ * This condition is centralized to ensure consistency between converters and templates.
40
+ * Emphasis is suppressed when FilterBar is visible and liveMode is disabled (Go button gets emphasis).
41
+ * @returns The suppression condition as a binding string
42
+ */
35
43
  _exports.getDefaultPath = getDefaultPath;
44
+ const getEmphasisSuppressionCondition = function () {
45
+ return LR_EMPHASIS_SUPPRESSION_CONDITION;
46
+ };
47
+
48
+ /**
49
+ * Determines whether ListReport header emphasis should be suppressed at runtime.
50
+ * This formatter is used in templates to apply the same logic as the converter.
51
+ * @param hideFilterBar Whether the FilterBar is hidden
52
+ * @param useHiddenFilterBar Whether a hidden FilterBar is used
53
+ * @param liveMode Whether liveMode is enabled
54
+ * @returns True if emphasis should be suppressed (FilterBar visible and liveMode disabled)
55
+ */
56
+ _exports.getEmphasisSuppressionCondition = getEmphasisSuppressionCondition;
57
+ const isListReportEmphasisSuppressed = function (hideFilterBar, useHiddenFilterBar, liveMode) {
58
+ return !hideFilterBar && !useHiddenFilterBar && !liveMode;
59
+ };
60
+
61
+ /**
62
+ * Returns the dt:designtime value for a header action based on whether it's an emphasized-first clone.
63
+ * Emphasized-first clones are technical duplicates and should not be adaptable in RTA.
64
+ * @param action The action to check
65
+ * @returns The designtime value: "not-adaptable" for emphasized-first clones, undefined otherwise
66
+ */
67
+ _exports.isListReportEmphasisSuppressed = isListReportEmphasisSuppressed;
68
+ const getDesigntimeForHeaderAction = function (action) {
69
+ return ActionUtilities.isEmphasizedFirstClone(action) ? "not-adaptable" : undefined;
70
+ };
71
+ _exports.getDesigntimeForHeaderAction = getDesigntimeForHeaderAction;
36
72
  return _exports;
37
73
  }, false);
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWYXJpYW50QmFja1JlZmVyZW5jZSIsInZpZXdEYXRhIiwiY29udmVydGVyQ29udGV4dE9iamVjdCIsInZhcmlhbnRNYW5hZ2VtZW50IiwiZ2VuZXJhdGUiLCJmaWx0ZXJCYXJJZCIsInVuZGVmaW5lZCIsIl9leHBvcnRzIiwiZ2V0RGVmYXVsdFBhdGgiLCJhVmlld3MiLCJpIiwibGVuZ3RoIiwiZGVmYXVsdFBhdGgiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkxpc3RSZXBvcnRUZW1wbGF0aW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRlbXBsYXRlIEhlbHBlcnMgZm9yIHRoZSBMaXN0IFJlcG9ydFxuaW1wb3J0IHR5cGUgeyBMaXN0UmVwb3J0RGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL3RlbXBsYXRlcy9MaXN0UmVwb3J0Q29udmVydGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFZpZXdEYXRhIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1RlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeVwiO1xuXG4vKipcbiAqIE1ldGhvZCByZXR1cm5zIGFuIFZhcmlhbnRCYWNrUmVmZXJlbmNlIGV4cHJlc3Npb24gYmFzZWQgb24gdmFyaWFudE1hbmFnZW1lbnQgYW5kIG9Db252ZXJ0ZXJDb250ZXh0IHZhbHVlLlxuICogQHBhcmFtIHZpZXdEYXRhIE9iamVjdCBDb250YWluaW5nIFZpZXcgRGF0YVxuICogQHBhcmFtIGNvbnZlcnRlckNvbnRleHRPYmplY3QgT2JqZWN0IGNvbnRhaW5pbmcgY29udmVydGVkIGNvbnRleHRcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldFZhcmlhbnRCYWNrUmVmZXJlbmNlID0gZnVuY3Rpb24gKHZpZXdEYXRhOiBWaWV3RGF0YSwgY29udmVydGVyQ29udGV4dE9iamVjdDogTGlzdFJlcG9ydERlZmluaXRpb24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRpZiAodmlld0RhdGEgJiYgdmlld0RhdGEudmFyaWFudE1hbmFnZW1lbnQgPT09IFwiUGFnZVwiKSB7XG5cdFx0cmV0dXJuIFwiZmU6OlBhZ2VWYXJpYW50TWFuYWdlbWVudFwiO1xuXHR9XG5cdGlmICh2aWV3RGF0YSAmJiB2aWV3RGF0YS52YXJpYW50TWFuYWdlbWVudCA9PT0gXCJDb250cm9sXCIpIHtcblx0XHRyZXR1cm4gZ2VuZXJhdGUoW2NvbnZlcnRlckNvbnRleHRPYmplY3QuZmlsdGVyQmFySWQsIFwiVmFyaWFudE1hbmFnZW1lbnRcIl0pO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFBhdGggPSBmdW5jdGlvbiAoYVZpZXdzOiB7IGRlZmF1bHRQYXRoPzogc3RyaW5nIH1bXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgYVZpZXdzLmxlbmd0aDsgaSsrKSB7XG5cdFx0aWYgKGFWaWV3c1tpXS5kZWZhdWx0UGF0aCkge1xuXHRcdFx0cmV0dXJuIGFWaWV3c1tpXS5kZWZhdWx0UGF0aDtcblx0XHR9XG5cdH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztFQUFBO0VBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUVPLE1BQU1BLHVCQUF1QixHQUFHLFNBQUFBLENBQVVDLFFBQWtCLEVBQUVDLHNCQUE0QyxFQUFzQjtJQUN0SSxJQUFJRCxRQUFRLElBQUlBLFFBQVEsQ0FBQ0UsaUJBQWlCLEtBQUssTUFBTSxFQUFFO01BQ3RELE9BQU8sMkJBQTJCO0lBQ25DO0lBQ0EsSUFBSUYsUUFBUSxJQUFJQSxRQUFRLENBQUNFLGlCQUFpQixLQUFLLFNBQVMsRUFBRTtNQUN6RCxPQUFPQyxRQUFRLENBQUMsQ0FBQ0Ysc0JBQXNCLENBQUNHLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsT0FBT0MsU0FBUztFQUNqQixDQUFDO0VBQUNDLFFBQUEsQ0FBQVAsdUJBQUEsR0FBQUEsdUJBQUE7RUFFSyxNQUFNUSxjQUFjLEdBQUcsU0FBQUEsQ0FBVUMsTUFBa0MsRUFBc0I7SUFDL0YsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtNQUN2QyxJQUFJRCxNQUFNLENBQUNDLENBQUMsQ0FBQyxDQUFDRSxXQUFXLEVBQUU7UUFDMUIsT0FBT0gsTUFBTSxDQUFDQyxDQUFDLENBQUMsQ0FBQ0UsV0FBVztNQUM3QjtJQUNEO0VBQ0QsQ0FBQztFQUFDTCxRQUFBLENBQUFDLGNBQUEsR0FBQUEsY0FBQTtFQUFBLE9BQUFELFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWYXJpYW50QmFja1JlZmVyZW5jZSIsInZpZXdEYXRhIiwiY29udmVydGVyQ29udGV4dE9iamVjdCIsInZhcmlhbnRNYW5hZ2VtZW50IiwiZ2VuZXJhdGUiLCJmaWx0ZXJCYXJJZCIsInVuZGVmaW5lZCIsIl9leHBvcnRzIiwiZ2V0RGVmYXVsdFBhdGgiLCJhVmlld3MiLCJpIiwibGVuZ3RoIiwiZGVmYXVsdFBhdGgiLCJnZXRFbXBoYXNpc1N1cHByZXNzaW9uQ29uZGl0aW9uIiwiTFJfRU1QSEFTSVNfU1VQUFJFU1NJT05fQ09ORElUSU9OIiwiaXNMaXN0UmVwb3J0RW1waGFzaXNTdXBwcmVzc2VkIiwiaGlkZUZpbHRlckJhciIsInVzZUhpZGRlbkZpbHRlckJhciIsImxpdmVNb2RlIiwiZ2V0RGVzaWdudGltZUZvckhlYWRlckFjdGlvbiIsImFjdGlvbiIsIkFjdGlvblV0aWxpdGllcyIsImlzRW1waGFzaXplZEZpcnN0Q2xvbmUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkxpc3RSZXBvcnRUZW1wbGF0aW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRlbXBsYXRlIEhlbHBlcnMgZm9yIHRoZSBMaXN0IFJlcG9ydFxuaW1wb3J0IHR5cGUgeyBCYXNlQWN0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL0FjdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0UmVwb3J0RGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL3RlbXBsYXRlcy9MaXN0UmVwb3J0Q29udmVydGVyXCI7XG5pbXBvcnQgQWN0aW9uVXRpbGl0aWVzLCB7IExSX0VNUEhBU0lTX1NVUFBSRVNTSU9OX0NPTkRJVElPTiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0FjdGlvblV0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyBWaWV3RGF0YSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9UZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnlcIjtcblxuLyoqXG4gKiBNZXRob2QgcmV0dXJucyBhbiBWYXJpYW50QmFja1JlZmVyZW5jZSBleHByZXNzaW9uIGJhc2VkIG9uIHZhcmlhbnRNYW5hZ2VtZW50IGFuZCBvQ29udmVydGVyQ29udGV4dCB2YWx1ZS5cbiAqIEBwYXJhbSB2aWV3RGF0YSBPYmplY3QgQ29udGFpbmluZyBWaWV3IERhdGFcbiAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0T2JqZWN0IE9iamVjdCBjb250YWluaW5nIGNvbnZlcnRlZCBjb250ZXh0XG4gKiBAcmV0dXJucyBUaGUgdmFyaWFudCBiYWNrIHJlZmVyZW5jZSBJRCBvciB1bmRlZmluZWRcbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0VmFyaWFudEJhY2tSZWZlcmVuY2UgPSBmdW5jdGlvbiAodmlld0RhdGE6IFZpZXdEYXRhLCBjb252ZXJ0ZXJDb250ZXh0T2JqZWN0OiBMaXN0UmVwb3J0RGVmaW5pdGlvbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmICh2aWV3RGF0YSAmJiB2aWV3RGF0YS52YXJpYW50TWFuYWdlbWVudCA9PT0gXCJQYWdlXCIpIHtcblx0XHRyZXR1cm4gXCJmZTo6UGFnZVZhcmlhbnRNYW5hZ2VtZW50XCI7XG5cdH1cblx0aWYgKHZpZXdEYXRhICYmIHZpZXdEYXRhLnZhcmlhbnRNYW5hZ2VtZW50ID09PSBcIkNvbnRyb2xcIikge1xuXHRcdHJldHVybiBnZW5lcmF0ZShbY29udmVydGVyQ29udGV4dE9iamVjdC5maWx0ZXJCYXJJZCwgXCJWYXJpYW50TWFuYWdlbWVudFwiXSk7XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0UGF0aCA9IGZ1bmN0aW9uIChhVmlld3M6IHsgZGVmYXVsdFBhdGg/OiBzdHJpbmcgfVtdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhVmlld3MubGVuZ3RoOyBpKyspIHtcblx0XHRpZiAoYVZpZXdzW2ldLmRlZmF1bHRQYXRoKSB7XG5cdFx0XHRyZXR1cm4gYVZpZXdzW2ldLmRlZmF1bHRQYXRoO1xuXHRcdH1cblx0fVxufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gY29uZGl0aW9uIGZvciB3aGVuIExpc3RSZXBvcnQgaGVhZGVyIGVtcGhhc2lzIHNob3VsZCBiZSBzdXBwcmVzc2VkLlxuICogVGhpcyBjb25kaXRpb24gaXMgY2VudHJhbGl6ZWQgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGJldHdlZW4gY29udmVydGVycyBhbmQgdGVtcGxhdGVzLlxuICogRW1waGFzaXMgaXMgc3VwcHJlc3NlZCB3aGVuIEZpbHRlckJhciBpcyB2aXNpYmxlIGFuZCBsaXZlTW9kZSBpcyBkaXNhYmxlZCAoR28gYnV0dG9uIGdldHMgZW1waGFzaXMpLlxuICogQHJldHVybnMgVGhlIHN1cHByZXNzaW9uIGNvbmRpdGlvbiBhcyBhIGJpbmRpbmcgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRFbXBoYXNpc1N1cHByZXNzaW9uQ29uZGl0aW9uID0gZnVuY3Rpb24gKCk6IHN0cmluZyB7XG5cdHJldHVybiBMUl9FTVBIQVNJU19TVVBQUkVTU0lPTl9DT05ESVRJT047XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBMaXN0UmVwb3J0IGhlYWRlciBlbXBoYXNpcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBhdCBydW50aW1lLlxuICogVGhpcyBmb3JtYXR0ZXIgaXMgdXNlZCBpbiB0ZW1wbGF0ZXMgdG8gYXBwbHkgdGhlIHNhbWUgbG9naWMgYXMgdGhlIGNvbnZlcnRlci5cbiAqIEBwYXJhbSBoaWRlRmlsdGVyQmFyIFdoZXRoZXIgdGhlIEZpbHRlckJhciBpcyBoaWRkZW5cbiAqIEBwYXJhbSB1c2VIaWRkZW5GaWx0ZXJCYXIgV2hldGhlciBhIGhpZGRlbiBGaWx0ZXJCYXIgaXMgdXNlZFxuICogQHBhcmFtIGxpdmVNb2RlIFdoZXRoZXIgbGl2ZU1vZGUgaXMgZW5hYmxlZFxuICogQHJldHVybnMgVHJ1ZSBpZiBlbXBoYXNpcyBzaG91bGQgYmUgc3VwcHJlc3NlZCAoRmlsdGVyQmFyIHZpc2libGUgYW5kIGxpdmVNb2RlIGRpc2FibGVkKVxuICovXG5leHBvcnQgY29uc3QgaXNMaXN0UmVwb3J0RW1waGFzaXNTdXBwcmVzc2VkID0gZnVuY3Rpb24gKGhpZGVGaWx0ZXJCYXI6IGJvb2xlYW4sIHVzZUhpZGRlbkZpbHRlckJhcjogYm9vbGVhbiwgbGl2ZU1vZGU6IGJvb2xlYW4pOiBib29sZWFuIHtcblx0cmV0dXJuICFoaWRlRmlsdGVyQmFyICYmICF1c2VIaWRkZW5GaWx0ZXJCYXIgJiYgIWxpdmVNb2RlO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkdDpkZXNpZ250aW1lIHZhbHVlIGZvciBhIGhlYWRlciBhY3Rpb24gYmFzZWQgb24gd2hldGhlciBpdCdzIGFuIGVtcGhhc2l6ZWQtZmlyc3QgY2xvbmUuXG4gKiBFbXBoYXNpemVkLWZpcnN0IGNsb25lcyBhcmUgdGVjaG5pY2FsIGR1cGxpY2F0ZXMgYW5kIHNob3VsZCBub3QgYmUgYWRhcHRhYmxlIGluIFJUQS5cbiAqIEBwYXJhbSBhY3Rpb24gVGhlIGFjdGlvbiB0byBjaGVja1xuICogQHJldHVybnMgVGhlIGRlc2lnbnRpbWUgdmFsdWU6IFwibm90LWFkYXB0YWJsZVwiIGZvciBlbXBoYXNpemVkLWZpcnN0IGNsb25lcywgdW5kZWZpbmVkIG90aGVyd2lzZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGVzaWdudGltZUZvckhlYWRlckFjdGlvbiA9IGZ1bmN0aW9uIChhY3Rpb246IEJhc2VBY3Rpb24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gQWN0aW9uVXRpbGl0aWVzLmlzRW1waGFzaXplZEZpcnN0Q2xvbmUoYWN0aW9uKSA/IFwibm90LWFkYXB0YWJsZVwiIDogdW5kZWZpbmVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztFQUFBO0VBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUVPLE1BQU1BLHVCQUF1QixHQUFHLFNBQUFBLENBQVVDLFFBQWtCLEVBQUVDLHNCQUE0QyxFQUFzQjtJQUN0SSxJQUFJRCxRQUFRLElBQUlBLFFBQVEsQ0FBQ0UsaUJBQWlCLEtBQUssTUFBTSxFQUFFO01BQ3RELE9BQU8sMkJBQTJCO0lBQ25DO0lBQ0EsSUFBSUYsUUFBUSxJQUFJQSxRQUFRLENBQUNFLGlCQUFpQixLQUFLLFNBQVMsRUFBRTtNQUN6RCxPQUFPQyxRQUFRLENBQUMsQ0FBQ0Ysc0JBQXNCLENBQUNHLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsT0FBT0MsU0FBUztFQUNqQixDQUFDO0VBQUNDLFFBQUEsQ0FBQVAsdUJBQUEsR0FBQUEsdUJBQUE7RUFFSyxNQUFNUSxjQUFjLEdBQUcsU0FBQUEsQ0FBVUMsTUFBa0MsRUFBc0I7SUFDL0YsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtNQUN2QyxJQUFJRCxNQUFNLENBQUNDLENBQUMsQ0FBQyxDQUFDRSxXQUFXLEVBQUU7UUFDMUIsT0FBT0gsTUFBTSxDQUFDQyxDQUFDLENBQUMsQ0FBQ0UsV0FBVztNQUM3QjtJQUNEO0VBQ0QsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQUwsUUFBQSxDQUFBQyxjQUFBLEdBQUFBLGNBQUE7RUFNTyxNQUFNSywrQkFBK0IsR0FBRyxTQUFBQSxDQUFBLEVBQW9CO0lBQ2xFLE9BQU9DLGlDQUFpQztFQUN6QyxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFQQVAsUUFBQSxDQUFBTSwrQkFBQSxHQUFBQSwrQkFBQTtFQVFPLE1BQU1FLDhCQUE4QixHQUFHLFNBQUFBLENBQVVDLGFBQXNCLEVBQUVDLGtCQUEyQixFQUFFQyxRQUFpQixFQUFXO0lBQ3hJLE9BQU8sQ0FBQ0YsYUFBYSxJQUFJLENBQUNDLGtCQUFrQixJQUFJLENBQUNDLFFBQVE7RUFDMUQsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQVgsUUFBQSxDQUFBUSw4QkFBQSxHQUFBQSw4QkFBQTtFQU1PLE1BQU1JLDRCQUE0QixHQUFHLFNBQUFBLENBQVVDLE1BQWtCLEVBQXNCO0lBQzdGLE9BQU9DLGVBQWUsQ0FBQ0Msc0JBQXNCLENBQUNGLE1BQU0sQ0FBQyxHQUFHLGVBQWUsR0FBR2QsU0FBUztFQUNwRixDQUFDO0VBQUNDLFFBQUEsQ0FBQVksNEJBQUEsR0FBQUEsNEJBQUE7RUFBQSxPQUFBWixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,5 +1,7 @@
1
1
  // Template Helpers for the List Report
2
+ import type { BaseAction } from "sap/fe/core/converters/controls/Common/Action";
2
3
  import type { ListReportDefinition } from "sap/fe/core/converters/templates/ListReportConverter";
4
+ import ActionUtilities, { LR_EMPHASIS_SUPPRESSION_CONDITION } from "sap/fe/core/helpers/ActionUtilities";
3
5
  import { generate } from "sap/fe/core/helpers/StableIdHelper";
4
6
  import type { ViewData } from "sap/fe/core/services/TemplatedViewServiceFactory";
5
7
 
@@ -7,7 +9,7 @@ import type { ViewData } from "sap/fe/core/services/TemplatedViewServiceFactory"
7
9
  * Method returns an VariantBackReference expression based on variantManagement and oConverterContext value.
8
10
  * @param viewData Object Containing View Data
9
11
  * @param converterContextObject Object containing converted context
10
- * @returns {string}
12
+ * @returns The variant back reference ID or undefined
11
13
  */
12
14
 
13
15
  export const getVariantBackReference = function (viewData: ViewData, converterContextObject: ListReportDefinition): string | undefined {
@@ -27,3 +29,35 @@ export const getDefaultPath = function (aViews: { defaultPath?: string }[]): str
27
29
  }
28
30
  }
29
31
  };
32
+
33
+ /**
34
+ * Returns the binding expression condition for when ListReport header emphasis should be suppressed.
35
+ * This condition is centralized to ensure consistency between converters and templates.
36
+ * Emphasis is suppressed when FilterBar is visible and liveMode is disabled (Go button gets emphasis).
37
+ * @returns The suppression condition as a binding string
38
+ */
39
+ export const getEmphasisSuppressionCondition = function (): string {
40
+ return LR_EMPHASIS_SUPPRESSION_CONDITION;
41
+ };
42
+
43
+ /**
44
+ * Determines whether ListReport header emphasis should be suppressed at runtime.
45
+ * This formatter is used in templates to apply the same logic as the converter.
46
+ * @param hideFilterBar Whether the FilterBar is hidden
47
+ * @param useHiddenFilterBar Whether a hidden FilterBar is used
48
+ * @param liveMode Whether liveMode is enabled
49
+ * @returns True if emphasis should be suppressed (FilterBar visible and liveMode disabled)
50
+ */
51
+ export const isListReportEmphasisSuppressed = function (hideFilterBar: boolean, useHiddenFilterBar: boolean, liveMode: boolean): boolean {
52
+ return !hideFilterBar && !useHiddenFilterBar && !liveMode;
53
+ };
54
+
55
+ /**
56
+ * Returns the dt:designtime value for a header action based on whether it's an emphasized-first clone.
57
+ * Emphasized-first clones are technical duplicates and should not be adaptable in RTA.
58
+ * @param action The action to check
59
+ * @returns The designtime value: "not-adaptable" for emphasized-first clones, undefined otherwise
60
+ */
61
+ export const getDesigntimeForHeaderAction = function (action: BaseAction): string | undefined {
62
+ return ActionUtilities.isEmphasizedFirstClone(action) ? "not-adaptable" : undefined;
63
+ };
@@ -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/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/MessageStrip", "sap/fe/core/helpers/ResourceModelHelper", "sap/ui/core/Control", "sap/ui/core/Element", "sap/ui/model/json/JSONModel"], function (Log, ClassSupport, CommonUtils, MetaModelConverter, MessageStrip, ResourceModelHelper, Control, UI5Element, JSONModel) {
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";
@@ -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/core/designtime/AnnotationBasedChanges", "sap/fe/macros/designtime/Designtime.helper", "sap/fe/templates/ListReport/designtime/ListReport.designtime.helper"], function (CommonUtils, AnnotationBasedChanges, Designtime_helper, ListReport_designtime_helper) {
6
6
  "use strict";
@@ -5,7 +5,7 @@
5
5
  "type": "component",
6
6
  "i18n": "../messagebundle.properties",
7
7
  "applicationVersion": {
8
- "version": "1.145.1"
8
+ "version": "1.147.0"
9
9
  },
10
10
  "title": "List Report",
11
11
  "tags": {
@@ -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/navigation/SelectionVariant"], function (Log, 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(["sap/fe/core/CommonUtils"], function (CommonUtils) {
6
6
  "use strict";
@@ -17,7 +17,8 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
17
17
  //In FCL scenarios, multiple pages can be visible simultaneously (List Report + Object Page in columns).
18
18
  //The original logic prevents showing bound messages from background columns.
19
19
  //In non-FCL apps where only one page is visible at a time, this filtering isn't necessary.
20
- if (appComponent._isFclEnabled() && currentPageViewID !== baseViewID) {
20
+ // for a fcl case, when both List Report and Object Page are visible, we want to show message
21
+ if (appComponent._isFclEnabled() && currentPageViewID !== baseViewID && getCurrentPageView?.getViewData()?.viewLevel !== 1) {
21
22
  return false;
22
23
  }
23
24
  return true;
@@ -25,4 +26,4 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
25
26
  };
26
27
  return MessageHandlerLRExtension;
27
28
  }, false);
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckxSRXh0ZW5zaW9uIiwiZ2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2ciLCJhcHBDb21wb25lbnQiLCJiYXNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0Q3VycmVudFBhZ2VWaWV3IiwiQ29tbW9uVXRpbHMiLCJjdXJyZW50UGFnZVZpZXdJRCIsImdldElkIiwiYmFzZVZpZXdJRCIsImdldFZpZXciLCJfaXNGY2xFbmFibGVkIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNZXNzYWdlSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlSGFuZGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvTWVzc2FnZUhhbmRsZXJcIjtcbi8vIGltcG9ydCB0eXBlIE5hdkNvbnRhaW5lciBmcm9tIFwic2FwL20vTmF2Q29udGFpbmVyXCI7XG5cbmNvbnN0IE1lc3NhZ2VIYW5kbGVyTFJFeHRlbnNpb24gPSB7XG5cdGdldFNob3dCb3VuZE1lc3NhZ2VzSW5NZXNzYWdlRGlhbG9nOiBmdW5jdGlvbiAodGhpczogTWVzc2FnZUhhbmRsZXIpOiBib29sZWFuIHtcblx0XHQvLyBGb3IgTGlzdCBSZXBvcnQsIGRldGVybWluZXMgd2hldGhlciBib3VuZCBtZXNzYWdlcyBzaG91bGQgYmUgc2hvd24gaW4gYSBkaWFsb2cgb3Igbm90XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gdGhpcy5iYXNlLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGNvbnN0IGdldEN1cnJlbnRQYWdlVmlldyA9IENvbW1vblV0aWxzLmdldEN1cnJlbnRQYWdlVmlldyhhcHBDb21wb25lbnQpO1xuXHRcdGNvbnN0IGN1cnJlbnRQYWdlVmlld0lEID0gZ2V0Q3VycmVudFBhZ2VWaWV3Py5nZXRJZCgpO1xuXHRcdGNvbnN0IGJhc2VWaWV3SUQgPSB0aGlzLmJhc2UuZ2V0VmlldygpPy5nZXRJZCgpO1xuXHRcdC8vSW4gRkNMIHNjZW5hcmlvcywgbXVsdGlwbGUgcGFnZXMgY2FuIGJlIHZpc2libGUgc2ltdWx0YW5lb3VzbHkgKExpc3QgUmVwb3J0ICsgT2JqZWN0IFBhZ2UgaW4gY29sdW1ucykuXG5cdFx0Ly9UaGUgb3JpZ2luYWwgbG9naWMgcHJldmVudHMgc2hvd2luZyBib3VuZCBtZXNzYWdlcyBmcm9tIGJhY2tncm91bmQgY29sdW1ucy5cblx0XHQvL0luIG5vbi1GQ0wgYXBwcyB3aGVyZSBvbmx5IG9uZSBwYWdlIGlzIHZpc2libGUgYXQgYSB0aW1lLCB0aGlzIGZpbHRlcmluZyBpc24ndCBuZWNlc3NhcnkuXG5cdFx0aWYgKGFwcENvbXBvbmVudC5faXNGY2xFbmFibGVkKCkgJiYgY3VycmVudFBhZ2VWaWV3SUQgIT09IGJhc2VWaWV3SUQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyTFJFeHRlbnNpb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7RUFFQTs7RUFFQSxNQUFNQSx5QkFBeUIsR0FBRztJQUNqQ0MsbUNBQW1DLEVBQUUsU0FBQUEsQ0FBQSxFQUF5QztNQUM3RTtNQUNBLE1BQU1DLFlBQVksR0FBRyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFDaEQsTUFBTUMsa0JBQWtCLEdBQUdDLFdBQVcsQ0FBQ0Qsa0JBQWtCLENBQUNILFlBQVksQ0FBQztNQUN2RSxNQUFNSyxpQkFBaUIsR0FBR0Ysa0JBQWtCLEVBQUVHLEtBQUssQ0FBQyxDQUFDO01BQ3JELE1BQU1DLFVBQVUsR0FBRyxJQUFJLENBQUNOLElBQUksQ0FBQ08sT0FBTyxDQUFDLENBQUMsRUFBRUYsS0FBSyxDQUFDLENBQUM7TUFDL0M7TUFDQTtNQUNBO01BQ0EsSUFBSU4sWUFBWSxDQUFDUyxhQUFhLENBQUMsQ0FBQyxJQUFJSixpQkFBaUIsS0FBS0UsVUFBVSxFQUFFO1FBQ3JFLE9BQU8sS0FBSztNQUNiO01BQ0EsT0FBTyxJQUFJO0lBQ1o7RUFDRCxDQUFDO0VBQUMsT0FFYVQseUJBQXlCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckxSRXh0ZW5zaW9uIiwiZ2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2ciLCJhcHBDb21wb25lbnQiLCJiYXNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0Q3VycmVudFBhZ2VWaWV3IiwiQ29tbW9uVXRpbHMiLCJjdXJyZW50UGFnZVZpZXdJRCIsImdldElkIiwiYmFzZVZpZXdJRCIsImdldFZpZXciLCJfaXNGY2xFbmFibGVkIiwiZ2V0Vmlld0RhdGEiLCJ2aWV3TGV2ZWwiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuLy8gaW1wb3J0IHR5cGUgTmF2Q29udGFpbmVyIGZyb20gXCJzYXAvbS9OYXZDb250YWluZXJcIjtcblxuY29uc3QgTWVzc2FnZUhhbmRsZXJMUkV4dGVuc2lvbiA9IHtcblx0Z2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2c6IGZ1bmN0aW9uICh0aGlzOiBNZXNzYWdlSGFuZGxlcik6IGJvb2xlYW4ge1xuXHRcdC8vIEZvciBMaXN0IFJlcG9ydCwgZGV0ZXJtaW5lcyB3aGV0aGVyIGJvdW5kIG1lc3NhZ2VzIHNob3VsZCBiZSBzaG93biBpbiBhIGRpYWxvZyBvciBub3Rcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSB0aGlzLmJhc2UuZ2V0QXBwQ29tcG9uZW50KCk7XG5cdFx0Y29uc3QgZ2V0Q3VycmVudFBhZ2VWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0Q3VycmVudFBhZ2VWaWV3KGFwcENvbXBvbmVudCk7XG5cdFx0Y29uc3QgY3VycmVudFBhZ2VWaWV3SUQgPSBnZXRDdXJyZW50UGFnZVZpZXc/LmdldElkKCk7XG5cdFx0Y29uc3QgYmFzZVZpZXdJRCA9IHRoaXMuYmFzZS5nZXRWaWV3KCk/LmdldElkKCk7XG5cdFx0Ly9JbiBGQ0wgc2NlbmFyaW9zLCBtdWx0aXBsZSBwYWdlcyBjYW4gYmUgdmlzaWJsZSBzaW11bHRhbmVvdXNseSAoTGlzdCBSZXBvcnQgKyBPYmplY3QgUGFnZSBpbiBjb2x1bW5zKS5cblx0XHQvL1RoZSBvcmlnaW5hbCBsb2dpYyBwcmV2ZW50cyBzaG93aW5nIGJvdW5kIG1lc3NhZ2VzIGZyb20gYmFja2dyb3VuZCBjb2x1bW5zLlxuXHRcdC8vSW4gbm9uLUZDTCBhcHBzIHdoZXJlIG9ubHkgb25lIHBhZ2UgaXMgdmlzaWJsZSBhdCBhIHRpbWUsIHRoaXMgZmlsdGVyaW5nIGlzbid0IG5lY2Vzc2FyeS5cblx0XHQvLyBmb3IgYSBmY2wgY2FzZSwgd2hlbiBib3RoIExpc3QgUmVwb3J0IGFuZCBPYmplY3QgUGFnZSBhcmUgdmlzaWJsZSwgd2Ugd2FudCB0byBzaG93IG1lc3NhZ2Vcblx0XHRpZiAoYXBwQ29tcG9uZW50Ll9pc0ZjbEVuYWJsZWQoKSAmJiBjdXJyZW50UGFnZVZpZXdJRCAhPT0gYmFzZVZpZXdJRCAmJiBnZXRDdXJyZW50UGFnZVZpZXc/LmdldFZpZXdEYXRhKCk/LnZpZXdMZXZlbCAhPT0gMSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTWVzc2FnZUhhbmRsZXJMUkV4dGVuc2lvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztFQUVBOztFQUVBLE1BQU1BLHlCQUF5QixHQUFHO0lBQ2pDQyxtQ0FBbUMsRUFBRSxTQUFBQSxDQUFBLEVBQXlDO01BQzdFO01BQ0EsTUFBTUMsWUFBWSxHQUFHLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxlQUFlLENBQUMsQ0FBQztNQUNoRCxNQUFNQyxrQkFBa0IsR0FBR0MsV0FBVyxDQUFDRCxrQkFBa0IsQ0FBQ0gsWUFBWSxDQUFDO01BQ3ZFLE1BQU1LLGlCQUFpQixHQUFHRixrQkFBa0IsRUFBRUcsS0FBSyxDQUFDLENBQUM7TUFDckQsTUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ04sSUFBSSxDQUFDTyxPQUFPLENBQUMsQ0FBQyxFQUFFRixLQUFLLENBQUMsQ0FBQztNQUMvQztNQUNBO01BQ0E7TUFDQTtNQUNBLElBQUlOLFlBQVksQ0FBQ1MsYUFBYSxDQUFDLENBQUMsSUFBSUosaUJBQWlCLEtBQUtFLFVBQVUsSUFBSUosa0JBQWtCLEVBQUVPLFdBQVcsQ0FBQyxDQUFDLEVBQUVDLFNBQVMsS0FBSyxDQUFDLEVBQUU7UUFDM0gsT0FBTyxLQUFLO01BQ2I7TUFDQSxPQUFPLElBQUk7SUFDWjtFQUNELENBQUM7RUFBQyxPQUVhYix5QkFBeUI7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -12,7 +12,8 @@ const MessageHandlerLRExtension = {
12
12
  //In FCL scenarios, multiple pages can be visible simultaneously (List Report + Object Page in columns).
13
13
  //The original logic prevents showing bound messages from background columns.
14
14
  //In non-FCL apps where only one page is visible at a time, this filtering isn't necessary.
15
- if (appComponent._isFclEnabled() && currentPageViewID !== baseViewID) {
15
+ // for a fcl case, when both List Report and Object Page are visible, we want to show message
16
+ if (appComponent._isFclEnabled() && currentPageViewID !== baseViewID && getCurrentPageView?.getViewData()?.viewLevel !== 1) {
16
17
  return false;
17
18
  }
18
19
  return true;
@@ -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/ui/core/routing/HashChanger"], function (Log, CommonUtils, HashChanger) {
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", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/ResourceModelHelper"], function (CommonUtils, MetaModelConverter, ResourceModelHelper) {
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/helpers/KeepAliveHelper", "sap/fe/core/library", "sap/fe/navigation/library", "sap/ui/Device", "sap/ui/mdc/p13n/StateUtil"], function (Log, KeepAliveHelper, CoreLibrary, NavLibrary, Device, StateUtil) {
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/buildingBlocks/templating/BuildingBlockSupport", "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor", "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase", "sap/fe/core/helpers/StableIdHelper", "sap/m/IconTabBar", "sap/m/IconTabFilter", "sap/m/MessageStrip", "../../controls/MultipleModeControl", "sap/fe/base/jsx-runtime/jsx"], function (BuildingBlockSupport, BuildingBlockTemplateProcessor, BuildingBlockTemplatingBase, StableIdHelper, IconTabBar, IconTabFilter, MessageStrip, MultipleModeControl, _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(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/TemplateComponent", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/library", "sap/fe/templates/ObjectPage/ExtendPageDefinition", "sap/fe/templates/library"], function (Log, ClassSupport, CommonUtils, TemplateComponent, ModelHelper, CoreLibrary, ExtendPageDefinition, templateLib) {
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/base/BindingToolkit", "sap/fe/templates/ObjectPage/ObjectPageTemplating"], function (BindingToolkit, ObjectPageTemplating) {
6
6
  "use strict";