@sapui5/sap.fe.templates 1.98.0 → 1.101.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 (144) hide show
  1. package/package.json +9 -6
  2. package/src/sap/fe/templates/.library +1 -2
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +25 -12
  4. package/src/sap/fe/templates/AnalyticalListPage/Component.ts +6 -0
  5. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +31 -32
  6. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +25 -0
  7. package/src/sap/fe/templates/Feedback.js +80 -0
  8. package/src/sap/fe/templates/Feedback.ts +67 -0
  9. package/src/sap/fe/templates/ListComponent.js +157 -118
  10. package/src/sap/fe/templates/ListComponent.ts +105 -0
  11. package/src/sap/fe/templates/ListReport/Component.js +83 -39
  12. package/src/sap/fe/templates/ListReport/Component.ts +39 -0
  13. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +124 -107
  14. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +100 -0
  15. package/src/sap/fe/templates/ListReport/ListReport.view.xml +34 -27
  16. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1112 -1001
  17. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +1009 -0
  18. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +55 -53
  19. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +55 -0
  20. package/src/sap/fe/templates/ListReport/overrides/Share.js +135 -136
  21. package/src/sap/fe/templates/ListReport/overrides/Share.ts +134 -0
  22. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +444 -406
  23. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +413 -0
  24. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +31 -23
  25. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +72 -0
  26. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +62 -0
  27. package/src/sap/fe/templates/ListReport/view/fragments/MultipleModeOld.fragment.xml +50 -0
  28. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +479 -473
  29. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +511 -0
  30. package/src/sap/fe/templates/ObjectPage/Component.js +170 -149
  31. package/src/sap/fe/templates/ObjectPage/Component.ts +131 -0
  32. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +141 -142
  33. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +116 -0
  34. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +14 -53
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1531 -1464
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +1442 -0
  37. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +137 -95
  38. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +84 -0
  39. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +25 -21
  40. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.ts +10 -0
  41. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +99 -53
  42. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +50 -0
  43. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +21 -16
  44. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.ts +15 -0
  45. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +51 -47
  46. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +47 -0
  47. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +35 -34
  48. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +34 -0
  49. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +16 -15
  50. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.ts +13 -0
  51. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +12 -11
  52. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.ts +7 -0
  53. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +56 -52
  54. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +57 -0
  55. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +16 -17
  56. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +13 -0
  57. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +14 -17
  58. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +14 -0
  59. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +24 -21
  60. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +21 -0
  61. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +311 -317
  62. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +316 -0
  63. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +67 -57
  64. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +65 -0
  65. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  66. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +3 -3
  67. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +18 -24
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +38 -0
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
  70. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +9 -5
  71. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
  72. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
  73. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
  74. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
  75. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
  76. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +3 -3
  77. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +3 -3
  78. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +27 -0
  79. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +852 -815
  80. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +795 -0
  81. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +206 -187
  82. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +178 -0
  83. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +485 -459
  84. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +438 -0
  85. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +17 -14
  86. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +20 -0
  87. package/src/sap/fe/templates/TableScroller.js +46 -53
  88. package/src/sap/fe/templates/TableScroller.ts +48 -0
  89. package/src/sap/fe/templates/controls/Chart.fragment.xml +18 -17
  90. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +22 -0
  91. package/src/sap/fe/templates/library.js +50 -63
  92. package/src/sap/fe/templates/library.ts +57 -0
  93. package/src/sap/fe/templates/messagebundle.properties +32 -36
  94. package/src/sap/fe/templates/messagebundle_ar.properties +15 -8
  95. package/src/sap/fe/templates/messagebundle_bg.properties +15 -8
  96. package/src/sap/fe/templates/messagebundle_ca.properties +15 -8
  97. package/src/sap/fe/templates/messagebundle_cs.properties +15 -8
  98. package/src/sap/fe/templates/messagebundle_cy.properties +15 -8
  99. package/src/sap/fe/templates/messagebundle_da.properties +15 -8
  100. package/src/sap/fe/templates/messagebundle_de.properties +15 -8
  101. package/src/sap/fe/templates/messagebundle_el.properties +16 -9
  102. package/src/sap/fe/templates/messagebundle_en.properties +15 -8
  103. package/src/sap/fe/templates/messagebundle_en_GB.properties +15 -8
  104. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +9 -6
  105. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +15 -8
  106. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +15 -8
  107. package/src/sap/fe/templates/messagebundle_es.properties +15 -8
  108. package/src/sap/fe/templates/messagebundle_es_MX.properties +15 -8
  109. package/src/sap/fe/templates/messagebundle_et.properties +15 -8
  110. package/src/sap/fe/templates/messagebundle_fi.properties +15 -8
  111. package/src/sap/fe/templates/messagebundle_fr.properties +15 -8
  112. package/src/sap/fe/templates/messagebundle_fr_CA.properties +15 -8
  113. package/src/sap/fe/templates/messagebundle_hi.properties +15 -8
  114. package/src/sap/fe/templates/messagebundle_hr.properties +16 -9
  115. package/src/sap/fe/templates/messagebundle_hu.properties +15 -8
  116. package/src/sap/fe/templates/messagebundle_id.properties +17 -10
  117. package/src/sap/fe/templates/messagebundle_it.properties +15 -8
  118. package/src/sap/fe/templates/messagebundle_iw.properties +15 -8
  119. package/src/sap/fe/templates/messagebundle_ja.properties +15 -8
  120. package/src/sap/fe/templates/messagebundle_kk.properties +15 -8
  121. package/src/sap/fe/templates/messagebundle_ko.properties +15 -8
  122. package/src/sap/fe/templates/messagebundle_lt.properties +15 -8
  123. package/src/sap/fe/templates/messagebundle_lv.properties +15 -8
  124. package/src/sap/fe/templates/messagebundle_ms.properties +15 -8
  125. package/src/sap/fe/templates/messagebundle_nl.properties +15 -8
  126. package/src/sap/fe/templates/messagebundle_no.properties +15 -8
  127. package/src/sap/fe/templates/messagebundle_pl.properties +15 -8
  128. package/src/sap/fe/templates/messagebundle_pt.properties +18 -11
  129. package/src/sap/fe/templates/messagebundle_pt_PT.properties +16 -9
  130. package/src/sap/fe/templates/messagebundle_ro.properties +15 -8
  131. package/src/sap/fe/templates/messagebundle_ru.properties +15 -8
  132. package/src/sap/fe/templates/messagebundle_sh.properties +15 -8
  133. package/src/sap/fe/templates/messagebundle_sk.properties +15 -8
  134. package/src/sap/fe/templates/messagebundle_sl.properties +15 -8
  135. package/src/sap/fe/templates/messagebundle_sv.properties +16 -9
  136. package/src/sap/fe/templates/messagebundle_th.properties +15 -8
  137. package/src/sap/fe/templates/messagebundle_tr.properties +15 -8
  138. package/src/sap/fe/templates/messagebundle_uk.properties +16 -9
  139. package/src/sap/fe/templates/messagebundle_vi.properties +15 -8
  140. package/src/sap/fe/templates/messagebundle_zh_CN.properties +15 -8
  141. package/src/sap/fe/templates/messagebundle_zh_TW.properties +15 -8
  142. package/ui5.yaml +0 -3
  143. package/src/sap/fe/templates/ListReport/overrides/MassEdit.js +0 -95
  144. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +0 -49
@@ -1,109 +1,126 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2022 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/macros/filter/FilterUtils", "sap/fe/macros/chart/ChartUtils"], function(
6
- ExtensionAPI,
7
- FilterUtils,
8
- ChartUtils
9
- ) {
10
- "use strict";
11
-
12
- /**
13
- * @class Extension API for list reports on SAP Fiori elements for OData V4.
14
- * @alias sap.fe.templates.ListReport.ExtensionAPI
15
- * @extends sap.fe.core.ExtensionAPI
16
- * @public
17
- * @hideconstructor
18
- * @final
19
- * @since 1.79.0
20
- */
21
- var extensionAPI = ExtensionAPI.extend("sap.fe.templates.ListReport.ExtensionAPI", {
22
- /**
23
- * @private
24
- * @name sap.fe.templates.ListReport.ExtensionAPI.getMetadata
25
- * @function
26
- */
27
- /**
28
- * @private
29
- * @name sap.fe.templates.ListReport.ExtensionAPI.extend
30
- * @function
31
- */
32
-
33
- /**
34
- * Refreshes the List Report.
35
- * This method currently only supports triggering the search (by clicking on the GO button)
36
- * in the List Report Filter Bar. It can be used to request the initial load or to refresh the
37
- * currently shown data based on the filters entered by the user.
38
- * Please note: The Promise is resolved once the search is triggered and not once the data is returned.
39
- *
40
- * @alias sap.fe.templates.ListReport.ExtensionAPI#refresh
41
- * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
42
- *
43
- * @public
44
- */
45
- refresh: function() {
46
- var oFilterBar = this._controller._getFilterBarControl();
47
- return oFilterBar.waitForInitialization().then(function() {
48
- oFilterBar.triggerSearch();
49
- });
50
- },
51
-
52
- /**
53
- * Gets the list entries currently selected for the displayed control.
54
- *
55
- * @alias sap.fe.templates.ListReport.ExtensionAPI#getSelectedContexts
56
- * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
57
- *
58
- * @public
59
- */
60
- getSelectedContexts: function() {
61
- var oControl = (this._controller._isMultiMode() && this._controller._getCurrentControl()) || this._controller._getTable();
62
- if (oControl.isA("sap.ui.mdc.Chart")) {
63
- var aSelectedContexts = [];
64
- if (oControl && oControl.get_chart()) {
65
- var aSelectedDataPoints = ChartUtils.getChartSelectedData(oControl.get_chart());
66
- for (var i = 0; i < aSelectedDataPoints.length; i++) {
67
- aSelectedContexts.push(aSelectedDataPoints[i].context);
68
- }
69
- }
70
- return aSelectedContexts;
71
- } else {
72
- return (oControl && oControl.getSelectedContexts()) || [];
73
- }
74
- },
75
-
76
- /**
77
- * Set the filter values for the given property in the filter bar.
78
- * The filter values can be either a single value or an array of values.
79
- * Each filter value must be represented as a string corresponding to the given operator.
80
- *
81
- * @param {string} sConditionPath The path to the property as a condition path
82
- * @param {string} [sOperator] The operator to be used (optional) - if not set, the default operator (EQ) will be used
83
- * @param {Array | string} vValues The values to be applied
84
- *
85
- * @alias sap.fe.templates.ListReport.ExtensionAPI#setFilterValues
86
- * @returns {Promise} A promise for async handling
87
- * @public
88
- */
89
- setFilterValues: function(sConditionPath, sOperator, vValues) {
90
- return FilterUtils.setFilterValues(this._controller._getFilterBarControl(), sConditionPath, sOperator, vValues);
91
- },
92
-
93
- /**
94
- * This method converts filter conditions to filters.
95
- *
96
- * @param {map} mFilterConditions Map containing the filter conditions of the FilterBar.
97
- *
98
- * @alias sap.fe.templates.ListReport.ExtensionAPI#createFiltersFromFilterConditions
99
- * @returns {object} Object containing the converted FilterBar filters.
100
- * @public
101
- */
102
- createFiltersFromFilterConditions: function(mFilterConditions) {
103
- var oFilterBar = this._controller._getFilterBarControl();
104
- return FilterUtils.getFilterInfo(oFilterBar, undefined, mFilterConditions);
105
- }
106
- });
107
-
108
- return extensionAPI;
109
- });
5
+ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "sap/fe/macros/chart/ChartUtils", "sap/fe/macros/filter/FilterUtils"], function (ExtensionAPI, ClassSupport, ChartUtils, FilterUtils) {
6
+ "use strict";
7
+
8
+ var _dec, _class;
9
+
10
+ var defineUI5Class = ClassSupport.defineUI5Class;
11
+
12
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
13
+
14
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
15
+
16
+ /**
17
+ * Extension API for list reports on SAP Fiori elements for OData V4.
18
+ *
19
+ * @alias sap.fe.templates.ListReport.ExtensionAPI
20
+ * @public
21
+ * @hideconstructor
22
+ * @final
23
+ * @since 1.79.0
24
+ */
25
+ var ListReportExtensionAPI = (_dec = defineUI5Class("sap.fe.templates.ListReport.ExtensionAPI"), _dec(_class = /*#__PURE__*/function (_ExtensionAPI) {
26
+ _inheritsLoose(ListReportExtensionAPI, _ExtensionAPI);
27
+
28
+ function ListReportExtensionAPI() {
29
+ return _ExtensionAPI.apply(this, arguments) || this;
30
+ }
31
+
32
+ var _proto = ListReportExtensionAPI.prototype;
33
+
34
+ /**
35
+ * Refreshes the List Report.
36
+ * This method currently only supports triggering the search (by clicking on the GO button)
37
+ * in the List Report Filter Bar. It can be used to request the initial load or to refresh the
38
+ * currently shown data based on the filters entered by the user.
39
+ * Please note: The Promise is resolved once the search is triggered and not once the data is returned.
40
+ *
41
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#refresh
42
+ * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
43
+ *
44
+ * @public
45
+ */
46
+ _proto.refresh = function refresh() {
47
+ var oFilterBar = this._controller._getFilterBarControl();
48
+
49
+ if (oFilterBar) {
50
+ return oFilterBar.waitForInitialization().then(function () {
51
+ oFilterBar.triggerSearch();
52
+ });
53
+ } else {
54
+ // TODO: if there is no filter bar, make refresh work
55
+ return Promise.resolve();
56
+ }
57
+ }
58
+ /**
59
+ * Gets the list entries currently selected for the displayed control.
60
+ *
61
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#getSelectedContexts
62
+ * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
63
+ *
64
+ * @public
65
+ */
66
+ ;
67
+
68
+ _proto.getSelectedContexts = function getSelectedContexts() {
69
+ var oControl = this._controller._isMultiMode() && this._controller._getCurrentControl() || this._controller._getTable();
70
+
71
+ if (oControl.isA("sap.ui.mdc.Chart")) {
72
+ var aSelectedContexts = [];
73
+
74
+ if (oControl && oControl.get_chart()) {
75
+ var aSelectedDataPoints = ChartUtils.getChartSelectedData(oControl.get_chart());
76
+
77
+ for (var i = 0; i < aSelectedDataPoints.length; i++) {
78
+ aSelectedContexts.push(aSelectedDataPoints[i].context);
79
+ }
80
+ }
81
+
82
+ return aSelectedContexts;
83
+ } else {
84
+ return oControl && oControl.getSelectedContexts() || [];
85
+ }
86
+ }
87
+ /**
88
+ * Set the filter values for the given property in the filter bar.
89
+ * The filter values can be either a single value or an array of values.
90
+ * Each filter value must be represented as a string corresponding to the given operator.
91
+ *
92
+ * @param {string} sConditionPath The path to the property as a condition path
93
+ * @param {string} [sOperator] The operator to be used (optional) - if not set, the default operator (EQ) will be used
94
+ * @param {undefined | string | string[]} vValues The values to be applied
95
+ *
96
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#setFilterValues
97
+ * @returns {Promise} A promise for asynchronous handling
98
+ * @public
99
+ */
100
+ ;
101
+
102
+ _proto.setFilterValues = function setFilterValues(sConditionPath, sOperator, vValues) {
103
+ return FilterUtils.setFilterValues(this._controller._getFilterBarControl(), sConditionPath, sOperator, vValues);
104
+ }
105
+ /**
106
+ * This method converts filter conditions to filters.
107
+ *
108
+ * @param {map} mFilterConditions Map containing the filter conditions of the FilterBar.
109
+ *
110
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#createFiltersFromFilterConditions
111
+ * @returns {object} Object containing the converted FilterBar filters.
112
+ * @public
113
+ */
114
+ ;
115
+
116
+ _proto.createFiltersFromFilterConditions = function createFiltersFromFilterConditions(mFilterConditions) {
117
+ var oFilterBar = this._controller._getFilterBarControl();
118
+
119
+ return FilterUtils.getFilterInfo(oFilterBar, undefined, mFilterConditions);
120
+ };
121
+
122
+ return ListReportExtensionAPI;
123
+ }(ExtensionAPI)) || _class);
124
+ return ListReportExtensionAPI;
125
+ }, false);
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwib0ZpbHRlckJhciIsIl9jb250cm9sbGVyIiwiX2dldEZpbHRlckJhckNvbnRyb2wiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJ0aGVuIiwidHJpZ2dlclNlYXJjaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0U2VsZWN0ZWRDb250ZXh0cyIsIm9Db250cm9sIiwiX2lzTXVsdGlNb2RlIiwiX2dldEN1cnJlbnRDb250cm9sIiwiX2dldFRhYmxlIiwiaXNBIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJnZXRfY2hhcnQiLCJhU2VsZWN0ZWREYXRhUG9pbnRzIiwiQ2hhcnRVdGlscyIsImdldENoYXJ0U2VsZWN0ZWREYXRhIiwiaSIsImxlbmd0aCIsInB1c2giLCJjb250ZXh0Iiwic2V0RmlsdGVyVmFsdWVzIiwic0NvbmRpdGlvblBhdGgiLCJzT3BlcmF0b3IiLCJ2VmFsdWVzIiwiRmlsdGVyVXRpbHMiLCJjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnMiLCJtRmlsdGVyQ29uZGl0aW9ucyIsImdldEZpbHRlckluZm8iLCJ1bmRlZmluZWQiLCJFeHRlbnNpb25BUEkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxzQixXQURMQyxjQUFjLENBQUMsMENBQUQsQzs7Ozs7Ozs7O0FBR2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1dBQ0NDLE8sR0FBQSxtQkFBVTtBQUNULFVBQU1DLFVBQVUsR0FBRyxLQUFLQyxXQUFMLENBQWlCQyxvQkFBakIsRUFBbkI7O0FBQ0EsVUFBSUYsVUFBSixFQUFnQjtBQUNmLGVBQU9BLFVBQVUsQ0FBQ0cscUJBQVgsR0FBbUNDLElBQW5DLENBQXdDLFlBQVk7QUFDMURKLFVBQUFBLFVBQVUsQ0FBQ0ssYUFBWDtBQUNBLFNBRk0sQ0FBUDtBQUdBLE9BSkQsTUFJTztBQUNOO0FBQ0EsZUFBT0MsT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDQTtBQUNEO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NDLG1CLEdBQUEsK0JBQXNCO0FBQ3JCLFVBQU1DLFFBQVEsR0FBSyxLQUFLUixXQUFMLENBQWlCUyxZQUFqQixNQUFtQyxLQUFLVCxXQUFMLENBQWlCVSxrQkFBakIsRUFBcEMsSUFDakIsS0FBS1YsV0FBTCxDQUFpQlcsU0FBakIsRUFERDs7QUFFQSxVQUFJSCxRQUFRLENBQUNJLEdBQVQsQ0FBYSxrQkFBYixDQUFKLEVBQXNDO0FBQ3JDLFlBQU1DLGlCQUFpQixHQUFHLEVBQTFCOztBQUNBLFlBQUlMLFFBQVEsSUFBSUEsUUFBUSxDQUFDTSxTQUFULEVBQWhCLEVBQXNDO0FBQ3JDLGNBQU1DLG1CQUFtQixHQUFHQyxVQUFVLENBQUNDLG9CQUFYLENBQWdDVCxRQUFRLENBQUNNLFNBQVQsRUFBaEMsQ0FBNUI7O0FBQ0EsZUFBSyxJQUFJSSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxtQkFBbUIsQ0FBQ0ksTUFBeEMsRUFBZ0RELENBQUMsRUFBakQsRUFBcUQ7QUFDcERMLFlBQUFBLGlCQUFpQixDQUFDTyxJQUFsQixDQUF1QkwsbUJBQW1CLENBQUNHLENBQUQsQ0FBbkIsQ0FBdUJHLE9BQTlDO0FBQ0E7QUFDRDs7QUFDRCxlQUFPUixpQkFBUDtBQUNBLE9BVEQsTUFTTztBQUNOLGVBQVFMLFFBQVEsSUFBSUEsUUFBUSxDQUFDRCxtQkFBVCxFQUFiLElBQWdELEVBQXZEO0FBQ0E7QUFDRDtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ2UsZSxHQUFBLHlCQUFnQkMsY0FBaEIsRUFBd0NDLFNBQXhDLEVBQXVFQyxPQUF2RSxFQUErRztBQUM5RyxhQUFPQyxXQUFXLENBQUNKLGVBQVosQ0FBNEIsS0FBS3RCLFdBQUwsQ0FBaUJDLG9CQUFqQixFQUE1QixFQUFxRXNCLGNBQXJFLEVBQXFGQyxTQUFyRixFQUFnR0MsT0FBaEcsQ0FBUDtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ0UsaUMsR0FBQSwyQ0FBa0NDLGlCQUFsQyxFQUEwRDtBQUN6RCxVQUFNN0IsVUFBVSxHQUFHLEtBQUtDLFdBQUwsQ0FBaUJDLG9CQUFqQixFQUFuQjs7QUFDQSxhQUFPeUIsV0FBVyxDQUFDRyxhQUFaLENBQTBCOUIsVUFBMUIsRUFBc0MrQixTQUF0QyxFQUFpREYsaUJBQWpELENBQVA7QUFDQSxLOzs7SUFoRm1DRyxZO1NBbUZ0Qm5DLHNCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ2hhcnRVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jaGFydC9DaGFydFV0aWxzXCI7XG5pbXBvcnQgRmlsdGVyVXRpbHMgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyL0ZpbHRlclV0aWxzXCI7XG5pbXBvcnQgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5cbi8qKlxuICogRXh0ZW5zaW9uIEFQSSBmb3IgbGlzdCByZXBvcnRzIG9uIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUElcbiAqIEBwdWJsaWNcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBmaW5hbFxuICogQHNpbmNlIDEuNzkuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuRXh0ZW5zaW9uQVBJXCIpXG5jbGFzcyBMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIGV4dGVuZHMgRXh0ZW5zaW9uQVBJIHtcblx0cHJvdGVjdGVkIF9jb250cm9sbGVyITogTGlzdFJlcG9ydENvbnRyb2xsZXI7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIExpc3QgUmVwb3J0LlxuXHQgKiBUaGlzIG1ldGhvZCBjdXJyZW50bHkgb25seSBzdXBwb3J0cyB0cmlnZ2VyaW5nIHRoZSBzZWFyY2ggKGJ5IGNsaWNraW5nIG9uIHRoZSBHTyBidXR0b24pXG5cdCAqIGluIHRoZSBMaXN0IFJlcG9ydCBGaWx0ZXIgQmFyLiBJdCBjYW4gYmUgdXNlZCB0byByZXF1ZXN0IHRoZSBpbml0aWFsIGxvYWQgb3IgdG8gcmVmcmVzaCB0aGVcblx0ICogY3VycmVudGx5IHNob3duIGRhdGEgYmFzZWQgb24gdGhlIGZpbHRlcnMgZW50ZXJlZCBieSB0aGUgdXNlci5cblx0ICogUGxlYXNlIG5vdGU6IFRoZSBQcm9taXNlIGlzIHJlc29sdmVkIG9uY2UgdGhlIHNlYXJjaCBpcyB0cmlnZ2VyZWQgYW5kIG5vdCBvbmNlIHRoZSBkYXRhIGlzIHJldHVybmVkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlfSBSZXNvbHZlZCBvbmNlIHRoZSBkYXRhIGlzIHJlZnJlc2hlZCBvciByZWplY3RlZCBpZiB0aGUgcmVxdWVzdCBmYWlsZWRcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVmcmVzaCgpIHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpIGFzIGFueTtcblx0XHRpZiAob0ZpbHRlckJhcikge1xuXHRcdFx0cmV0dXJuIG9GaWx0ZXJCYXIud2FpdEZvckluaXRpYWxpemF0aW9uKCkudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdG9GaWx0ZXJCYXIudHJpZ2dlclNlYXJjaCgpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIFRPRE86IGlmIHRoZXJlIGlzIG5vIGZpbHRlciBiYXIsIG1ha2UgcmVmcmVzaCB3b3JrXG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSBkaXNwbGF5ZWQgY29udHJvbC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHRbXX0gQXJyYXkgY29udGFpbmluZyB0aGUgc2VsZWN0ZWQgY29udGV4dHNcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U2VsZWN0ZWRDb250ZXh0cygpIHtcblx0XHRjb25zdCBvQ29udHJvbCA9ICgodGhpcy5fY29udHJvbGxlci5faXNNdWx0aU1vZGUoKSAmJiB0aGlzLl9jb250cm9sbGVyLl9nZXRDdXJyZW50Q29udHJvbCgpKSB8fFxuXHRcdFx0dGhpcy5fY29udHJvbGxlci5fZ2V0VGFibGUoKSkgYXMgYW55O1xuXHRcdGlmIChvQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRjb25zdCBhU2VsZWN0ZWRDb250ZXh0cyA9IFtdO1xuXHRcdFx0aWYgKG9Db250cm9sICYmIG9Db250cm9sLmdldF9jaGFydCgpKSB7XG5cdFx0XHRcdGNvbnN0IGFTZWxlY3RlZERhdGFQb2ludHMgPSBDaGFydFV0aWxzLmdldENoYXJ0U2VsZWN0ZWREYXRhKG9Db250cm9sLmdldF9jaGFydCgpKTtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU2VsZWN0ZWREYXRhUG9pbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMucHVzaChhU2VsZWN0ZWREYXRhUG9pbnRzW2ldLmNvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYVNlbGVjdGVkQ29udGV4dHM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAob0NvbnRyb2wgJiYgb0NvbnRyb2wuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSBmaWx0ZXIgdmFsdWVzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgaW4gdGhlIGZpbHRlciBiYXIuXG5cdCAqIFRoZSBmaWx0ZXIgdmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBzaW5nbGUgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxuXHQgKiBFYWNoIGZpbHRlciB2YWx1ZSBtdXN0IGJlIHJlcHJlc2VudGVkIGFzIGEgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIG9wZXJhdG9yLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gc0NvbmRpdGlvblBhdGggVGhlIHBhdGggdG8gdGhlIHByb3BlcnR5IGFzIGEgY29uZGl0aW9uIHBhdGhcblx0ICogQHBhcmFtIHtzdHJpbmd9IFtzT3BlcmF0b3JdIFRoZSBvcGVyYXRvciB0byBiZSB1c2VkIChvcHRpb25hbCkgLSBpZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCBvcGVyYXRvciAoRVEpIHdpbGwgYmUgdXNlZFxuXHQgKiBAcGFyYW0ge3VuZGVmaW5lZCB8IHN0cmluZyB8IHN0cmluZ1tdfSB2VmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgYXBwbGllZFxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNzZXRGaWx0ZXJWYWx1ZXNcblx0ICogQHJldHVybnMge1Byb21pc2V9IEEgcHJvbWlzZSBmb3IgYXN5bmNocm9ub3VzIGhhbmRsaW5nXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNldEZpbHRlclZhbHVlcyhzQ29uZGl0aW9uUGF0aDogc3RyaW5nLCBzT3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCwgdlZhbHVlczogdW5kZWZpbmVkIHwgc3RyaW5nIHwgc3RyaW5nW10pIHtcblx0XHRyZXR1cm4gRmlsdGVyVXRpbHMuc2V0RmlsdGVyVmFsdWVzKHRoaXMuX2NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKSwgc0NvbmRpdGlvblBhdGgsIHNPcGVyYXRvciwgdlZhbHVlcyk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgY29udmVydHMgZmlsdGVyIGNvbmRpdGlvbnMgdG8gZmlsdGVycy5cblx0ICpcblx0ICogQHBhcmFtIHttYXB9IG1GaWx0ZXJDb25kaXRpb25zIE1hcCBjb250YWluaW5nIHRoZSBmaWx0ZXIgY29uZGl0aW9ucyBvZiB0aGUgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnNcblx0ICogQHJldHVybnMge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnZlcnRlZCBGaWx0ZXJCYXIgZmlsdGVycy5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Y3JlYXRlRmlsdGVyc0Zyb21GaWx0ZXJDb25kaXRpb25zKG1GaWx0ZXJDb25kaXRpb25zOiBhbnkpIHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHVuZGVmaW5lZCwgbUZpbHRlckNvbmRpdGlvbnMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpc3RSZXBvcnRFeHRlbnNpb25BUEk7XG4iXX0=
@@ -0,0 +1,100 @@
1
+ import ExtensionAPI from "sap/fe/core/ExtensionAPI";
2
+ import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
3
+ import ChartUtils from "sap/fe/macros/chart/ChartUtils";
4
+ import FilterUtils from "sap/fe/macros/filter/FilterUtils";
5
+ import ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
6
+
7
+ /**
8
+ * Extension API for list reports on SAP Fiori elements for OData V4.
9
+ *
10
+ * @alias sap.fe.templates.ListReport.ExtensionAPI
11
+ * @public
12
+ * @hideconstructor
13
+ * @final
14
+ * @since 1.79.0
15
+ */
16
+ @defineUI5Class("sap.fe.templates.ListReport.ExtensionAPI")
17
+ class ListReportExtensionAPI extends ExtensionAPI {
18
+ protected _controller!: ListReportController;
19
+ /**
20
+ * Refreshes the List Report.
21
+ * This method currently only supports triggering the search (by clicking on the GO button)
22
+ * in the List Report Filter Bar. It can be used to request the initial load or to refresh the
23
+ * currently shown data based on the filters entered by the user.
24
+ * Please note: The Promise is resolved once the search is triggered and not once the data is returned.
25
+ *
26
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#refresh
27
+ * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
28
+ *
29
+ * @public
30
+ */
31
+ refresh() {
32
+ const oFilterBar = this._controller._getFilterBarControl() as any;
33
+ if (oFilterBar) {
34
+ return oFilterBar.waitForInitialization().then(function () {
35
+ oFilterBar.triggerSearch();
36
+ });
37
+ } else {
38
+ // TODO: if there is no filter bar, make refresh work
39
+ return Promise.resolve();
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Gets the list entries currently selected for the displayed control.
45
+ *
46
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#getSelectedContexts
47
+ * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
48
+ *
49
+ * @public
50
+ */
51
+ getSelectedContexts() {
52
+ const oControl = ((this._controller._isMultiMode() && this._controller._getCurrentControl()) ||
53
+ this._controller._getTable()) as any;
54
+ if (oControl.isA("sap.ui.mdc.Chart")) {
55
+ const aSelectedContexts = [];
56
+ if (oControl && oControl.get_chart()) {
57
+ const aSelectedDataPoints = ChartUtils.getChartSelectedData(oControl.get_chart());
58
+ for (let i = 0; i < aSelectedDataPoints.length; i++) {
59
+ aSelectedContexts.push(aSelectedDataPoints[i].context);
60
+ }
61
+ }
62
+ return aSelectedContexts;
63
+ } else {
64
+ return (oControl && oControl.getSelectedContexts()) || [];
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Set the filter values for the given property in the filter bar.
70
+ * The filter values can be either a single value or an array of values.
71
+ * Each filter value must be represented as a string corresponding to the given operator.
72
+ *
73
+ * @param {string} sConditionPath The path to the property as a condition path
74
+ * @param {string} [sOperator] The operator to be used (optional) - if not set, the default operator (EQ) will be used
75
+ * @param {undefined | string | string[]} vValues The values to be applied
76
+ *
77
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#setFilterValues
78
+ * @returns {Promise} A promise for asynchronous handling
79
+ * @public
80
+ */
81
+ setFilterValues(sConditionPath: string, sOperator: string | undefined, vValues: undefined | string | string[]) {
82
+ return FilterUtils.setFilterValues(this._controller._getFilterBarControl(), sConditionPath, sOperator, vValues);
83
+ }
84
+
85
+ /**
86
+ * This method converts filter conditions to filters.
87
+ *
88
+ * @param {map} mFilterConditions Map containing the filter conditions of the FilterBar.
89
+ *
90
+ * @alias sap.fe.templates.ListReport.ExtensionAPI#createFiltersFromFilterConditions
91
+ * @returns {object} Object containing the converted FilterBar filters.
92
+ * @public
93
+ */
94
+ createFiltersFromFilterConditions(mFilterConditions: any) {
95
+ const oFilterBar = this._controller._getFilterBarControl();
96
+ return FilterUtils.getFilterInfo(oFilterBar, undefined, mFilterConditions);
97
+ }
98
+ }
99
+
100
+ export default ListReportExtensionAPI;
@@ -7,6 +7,7 @@
7
7
  xmlns:macroInternal="sap.fe.macros.internal"
8
8
  xmlns:control="sap.fe.core.controls"
9
9
  xmlns:core="sap.ui.core"
10
+ xmlns:fragments="sap.fe.templates.ListReport.view.fragments"
10
11
  xmlns:l="sap.ui.layout"
11
12
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
12
13
  xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
@@ -24,6 +25,7 @@
24
25
  <f:DynamicPage
25
26
  id="fe::ListReport"
26
27
  unittest:id="listReportFooterTest"
28
+ stickySubheaderProvider="{converterContext>stickySubheaderProvider}"
27
29
  customData:singleTableId="{converterContext>singleTableId}"
28
30
  customData:singleChartId="{converterContext>singleChartId}"
29
31
  customData:filterBarId="{converterContext>filterBarId}"
@@ -60,7 +62,7 @@
60
62
  executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
61
63
  />
62
64
  </template:then>
63
- <template:elseif test="{= ${viewData>/variantManagement} === 'Control'}">
65
+ <template:elseif test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}">
64
66
  <v:VariantManagement
65
67
  id="{= ID.generate([ ${converterContext>filterBarId}, 'VariantManagement']) }"
66
68
  unittest:id="listReportVMControlTest"
@@ -97,7 +99,7 @@
97
99
  executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
98
100
  />
99
101
  </template:then>
100
- <template:elseif test="{= ${viewData>/variantManagement} === 'Control'}">
102
+ <template:elseif test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}">
101
103
  <v:VariantManagement
102
104
  id="{= ID.generate([ ${converterContext>filterBarId}, 'VariantManagement']) }"
103
105
  unittest:id="listReportVMControlTest"
@@ -135,7 +137,7 @@
135
137
  />
136
138
  </template:repeat>
137
139
  </template:if>
138
- <template:if test="{= ${converterContext>/filterLayout} === 'compactvisual'}">
140
+ <template:if test="{= ${converterContext>/filterLayout} === 'compactvisual' &amp;&amp; !${converterContext>hideFilterBar}}">
139
141
  <SegmentedButton
140
142
  id="{= ID.generate([ ${converterContext>filterBarId}, 'LayoutToggle']) }"
141
143
  selectedKey="{converterContext>/filterInitialLayout}"
@@ -151,38 +153,43 @@
151
153
  </f:DynamicPageTitle>
152
154
  </f:title>
153
155
  <f:header>
154
- <template:with path="converterContext>filterBar" var="filterBarContext">
155
- <f:DynamicPageHeader pinnable="{converterContext>showPinnableToggle}">
156
+ <template:if test="{= !${converterContext>hideFilterBar} }">
157
+ <template:then>
158
+ <template:with path="converterContext>filterBar" var="filterBarContext">
159
+ <f:DynamicPageHeader pinnable="{converterContext>showPinnableToggle}">
156
160
  <VBox>
157
161
  <macroInternal:FilterBar
158
- unittest:id="listReportFilterBarTest"
159
- id="{converterContext>filterBarId}"
160
- _applyIdToContent="true"
161
- contextPath="{entityType>}"
162
- variantBackreference="{= CORE.getVariantBackReference(${viewData>}, ${converterContext>} )}"
163
- selectionFields="{filterBarContext>selectionFields}"
164
- filterChanged=".handlers.onFiltersChanged"
165
- filterConditions="{parts:[{path:'converterContext>filterConditions'}, {path:'entitySet>'}], formatter: 'FILTER.getFilterConditions'}"
166
- search=".handlers.onSearch"
167
- hideBasicSearch="{filterBarContext>hideBasicSearch}"
168
- liveMode="{viewData>/liveMode}"
169
- showAdaptFiltersButton="true"
170
- p13nMode="Item,Value"
171
- useSemanticDateRange="{converterContext>useSemanticDateRange}"
172
- suspendSelection="true"
173
- toggleControlId="{= ${converterContext>/filterLayout} === 'compactvisual' ? ID.generate([ ${converterContext>filterBarId}, 'LayoutToggle']) : undefined }"
174
- initialLayout="{= ${converterContext>/filterLayout} === 'compactvisual' ? ${converterContext>/filterInitialLayout} : undefined }"
175
- stateChanged=".handlers.onStateChanged"
176
- />
162
+ unittest:id="listReportFilterBarTest"
163
+ id="{converterContext>filterBarId}"
164
+ _applyIdToContent="true"
165
+ contextPath="{entityType>}"
166
+ variantBackreference="{= CORE.getVariantBackReference(${viewData>}, ${converterContext>} )}"
167
+ selectionFields="{filterBarContext>selectionFields}"
168
+ propertyInfo="{filterBarContext>propertyInfo}"
169
+ filterChanged=".handlers.onFiltersChanged"
170
+ filterConditions="{parts:[{path:'converterContext>filterConditions'}, {path:'entitySet>'}], formatter: 'FILTER.getFilterConditions'}"
171
+ search=".handlers.onSearch"
172
+ hideBasicSearch="{filterBarContext>hideBasicSearch}"
173
+ liveMode="{viewData>/liveMode}"
174
+ showAdaptFiltersButton="true"
175
+ p13nMode="Item,Value"
176
+ useSemanticDateRange="{converterContext>useSemanticDateRange}"
177
+ suspendSelection="true"
178
+ toggleControlId="{= ${converterContext>/filterLayout} === 'compactvisual' ? ID.generate([ ${converterContext>filterBarId}, 'LayoutToggle']) : undefined }"
179
+ initialLayout="{= ${converterContext>/filterLayout} === 'compactvisual' ? ${converterContext>/filterInitialLayout} : undefined }"
180
+ stateChanged=".handlers.onStateChanged"
181
+ />
177
182
  </VBox>
178
183
  </f:DynamicPageHeader>
179
- </template:with>
184
+ </template:with>
185
+ </template:then>
186
+ </template:if>
180
187
  </f:header>
181
188
  <f:content>
182
189
  <template:if test="{= ${converterContext>views}.length > 0}">
183
- <template:if test="{= ${converterContext>views}.length > 1 &amp;&amp; !${converterContext>hasMultiVisualizations} }">
190
+ <template:if test="{converterContext>displayMultiVisualizations}">
184
191
  <template:then>
185
- <core:Fragment fragmentName="sap.fe.templates.ListReport.view.fragments.MultipleMode" type="XML" />
192
+ <fragments:MultipleMode />
186
193
  </template:then>
187
194
  <template:elseif test="{= ${converterContext>views}.length === 1 &amp;&amp; !${converterContext>hasMultiVisualizations} }">
188
195
  <template:with path="converterContext>views/0/presentation" var="presentationContext">