@sapui5/sap.fe.templates 1.102.0 → 1.103.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 (74) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
  5. package/src/sap/fe/templates/Feedback.js +18 -18
  6. package/src/sap/fe/templates/Feedback.ts +12 -12
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +9 -12
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +9 -12
  9. package/src/sap/fe/templates/ListReport/ListReport.view.xml +3 -1
  10. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +80 -55
  11. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +95 -71
  12. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  13. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
  14. package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -4
  15. package/src/sap/fe/templates/ListReport/overrides/Share.ts +6 -7
  16. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +4 -5
  17. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +10 -10
  18. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
  19. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
  20. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
  21. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
  22. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +4 -3
  23. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +148 -163
  24. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +138 -192
  25. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +62 -73
  26. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +75 -90
  27. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
  28. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
  29. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  30. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
  31. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
  33. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +103 -0
  34. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
  35. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  36. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
  37. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  38. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
  39. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
  41. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
  43. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +15 -15
  44. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +17 -28
  45. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
  46. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
  47. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +6 -1
  48. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +10 -2
  49. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +1 -1
  50. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -14
  51. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +1 -0
  52. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
  53. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
  54. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +1 -1
  55. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +4 -1
  56. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +6 -2
  57. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  58. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  59. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
  60. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +25 -28
  61. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +30 -33
  62. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
  63. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
  64. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
  65. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
  66. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
  67. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
  68. package/src/sap/fe/templates/TableScroller.js +3 -3
  69. package/src/sap/fe/templates/TableScroller.ts +2 -2
  70. package/src/sap/fe/templates/controls/Table.fragment.xml +1 -0
  71. package/src/sap/fe/templates/library.js +5 -2
  72. package/src/sap/fe/templates/library.ts +3 -0
  73. package/src/sap/fe/templates/messagebundle.properties +6 -18
  74. package/src/sap/fe/templates/messagebundle_pt.properties +1 -1
@@ -1,13 +1,13 @@
1
1
  import Log from "sap/base/Log";
2
- import Share from "sap/fe/core/controllerextensions/Share";
2
+ import type Share from "sap/fe/core/controllerextensions/Share";
3
3
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
4
4
  import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
5
- import ObjectPageController from "sap/fe/templates/ObjectPage/ObjectPageController.controller";
5
+ import type ObjectPageController from "sap/fe/templates/ObjectPage/ObjectPageController.controller";
6
6
  import HashChanger from "sap/ui/core/routing/HashChanger";
7
7
  import Filter from "sap/ui/model/Filter";
8
8
  import FilterOperator from "sap/ui/model/FilterOperator";
9
9
 
10
- let bIsStickySupported: boolean;
10
+ let bGlobalIsStickySupported: boolean;
11
11
 
12
12
  function createFilterToFetchActiveContext(mKeyValues: any, bIsActiveEntityDefined: any) {
13
13
  const aKeys = Object.keys(mKeyValues);
@@ -28,15 +28,14 @@ function createFilterToFetchActiveContext(mKeyValues: any, bIsActiveEntityDefine
28
28
  aFilters.push(oActiveFilter);
29
29
  }
30
30
 
31
- const oCombinedFilter = new Filter(aFilters as any, true);
32
- return oCombinedFilter;
31
+ return new Filter(aFilters as any, true);
33
32
  }
34
33
  function getActiveContextPath(oController: any, sPageEntityName: any, oFilter: any) {
35
34
  const oListBinding = oController
36
35
  .getView()
37
36
  .getBindingContext()
38
37
  .getModel()
39
- .bindList("/" + sPageEntityName, undefined, undefined, oFilter, { "$$groupId": "$auto.Heroes" });
38
+ .bindList(`/${sPageEntityName}`, undefined, undefined, oFilter, { "$$groupId": "$auto.Heroes" });
40
39
  return oListBinding.requestContexts(0, 2).then(function (oContexts: any) {
41
40
  if (oContexts && oContexts.length) {
42
41
  return oContexts[0].getPath();
@@ -77,7 +76,7 @@ function getActiveContextInstances(oContext: any, oController: any, oEntitySet:
77
76
  // Hence in such cases we get technical key and use them to fetch active context
78
77
  if (sKeyAssignment.indexOf("=") === -1) {
79
78
  const oMetaModel = oContext.getModel().getMetaModel();
80
- const aTechnicalKeys = oMetaModel.getObject("/" + aPageHashArray.join("/") + "/$Type/$Key");
79
+ const aTechnicalKeys = oMetaModel.getObject(`/${aPageHashArray.join("/")}/$Type/$Key`);
81
80
  sKeyValue = aParts[0];
82
81
  sKey = aTechnicalKeys[0];
83
82
  oPageMap[sPageHash.split("(")[0]]["bIsActiveEntityDefined"] = false;
@@ -100,11 +99,7 @@ function getActiveContextInstances(oContext: any, oController: any, oEntitySet:
100
99
  const sPageEntitySetName = oPageEntitySet.$NavigationPropertyBinding && oPageEntitySet.$NavigationPropertyBinding[sNavigationPath];
101
100
  if (sPageEntitySetName) {
102
101
  oPageInfo.pageEntityName = oPageEntitySet.$NavigationPropertyBinding[sNavigationPath];
103
- oPageEntitySet =
104
- oContext
105
- .getModel()
106
- .getMetaModel()
107
- .getObject("/" + sPageEntitySetName) || oEntitySet;
102
+ oPageEntitySet = oContext.getModel().getMetaModel().getObject(`/${sPageEntitySetName}`) || oEntitySet;
108
103
  } else {
109
104
  oPageInfo.pageEntityName = sNavigationPath;
110
105
  }
@@ -123,9 +118,10 @@ function getActiveContextInstances(oContext: any, oController: any, oEntitySet:
123
118
 
124
119
  /**
125
120
  * Method to fetch active context path's.
126
- * @param {sap.ui.model.odata.v4.Context} oContext The Page Context
121
+ *
122
+ * @param oContext The Page Context
127
123
  * @param oController
128
- * @returns {Promise} Promise which is resolved once the active context's are fetched
124
+ * @returns Promise which is resolved once the active context's are fetched
129
125
  */
130
126
  function getActiveContextPaths(oContext: any, oController: any) {
131
127
  const sCurrentHashNoParams = HashChanger.getInstance().getHash().split("?")[0];
@@ -133,10 +129,7 @@ function getActiveContextPaths(oContext: any, oController: any) {
133
129
  if (sRootEntityName.indexOf("/") === 0) {
134
130
  sRootEntityName = sRootEntityName.substring(1);
135
131
  }
136
- const oEntitySet = oContext
137
- .getModel()
138
- .getMetaModel()
139
- .getObject("/" + sRootEntityName);
132
+ const oEntitySet = oContext.getModel().getMetaModel().getObject(`/${sRootEntityName}`);
140
133
  const oPageContext = oContext;
141
134
  const aActiveContextpromises = getActiveContextInstances(oContext, oController, oEntitySet);
142
135
  if (aActiveContextpromises.length > 0) {
@@ -167,11 +160,7 @@ function getActiveContextPaths(oContext: any, oController: any) {
167
160
  ];
168
161
  if (sNavigatioProperty) {
169
162
  aActiveContextPaths.push(sActiveContextPath.replace(sEntitySetName, sNavigatioProperty));
170
- oPageEntitySet =
171
- oPageContext
172
- .getModel()
173
- .getMetaModel()
174
- .getObject("/" + sEntitySetName) || oEntitySet;
163
+ oPageEntitySet = oPageContext.getModel().getMetaModel().getObject(`/${sEntitySetName}`) || oEntitySet;
175
164
  } else {
176
165
  aActiveContextPaths.push(sActiveContextPath);
177
166
  }
@@ -191,7 +180,7 @@ function fetchActiveContextPaths(oContext: any, oController: any) {
191
180
  if (oContext) {
192
181
  const oModel = oContext.getModel();
193
182
  const oMetaModel = oModel.getMetaModel();
194
- bIsStickySupported = ModelHelper.isStickySessionSupported(oMetaModel);
183
+ bGlobalIsStickySupported = ModelHelper.isStickySessionSupported(oMetaModel);
195
184
  let sRootEntityName = sCurrentHashNoParams && sCurrentHashNoParams.substr(0, sCurrentHashNoParams.indexOf("("));
196
185
  if (sRootEntityName.indexOf("/") === 0) {
197
186
  sRootEntityName = sRootEntityName.substring(1);
@@ -202,7 +191,7 @@ function fetchActiveContextPaths(oContext: any, oController: any) {
202
191
  // 1. In case of draft enabled Object page where semantic key based URL is not possible(like semantic keys are not modeled in the entity set)
203
192
  // 2. In case of draft enabled Sub Object Pages (where semantic bookmarking is not supported)
204
193
  const oViewData = oController.getView().getViewData();
205
- if (oContext && !bIsStickySupported && ((oViewData.viewLevel === 1 && !aSemanticKeys) || oViewData.viewLevel >= 2)) {
194
+ if (oContext && !bGlobalIsStickySupported && ((oViewData.viewLevel === 1 && !aSemanticKeys) || oViewData.viewLevel >= 2)) {
206
195
  oPromise = getActiveContextPaths(oContext, oController);
207
196
  return oPromise;
208
197
  } else {
@@ -284,15 +273,15 @@ const ShareExtensionOverride = {
284
273
  const oPageTitleInfo = (this.base.getView().getController() as ObjectPageController)._getPageTitleInformation();
285
274
 
286
275
  return Promise.all([
287
- getJamUrl(bIsEditable, bIsStickySupported, aActiveContextPaths),
288
- getShareUrl(bIsEditable, bIsStickySupported, aActiveContextPaths),
276
+ getJamUrl(bIsEditable, bGlobalIsStickySupported, aActiveContextPaths),
277
+ getShareUrl(bIsEditable, bGlobalIsStickySupported, aActiveContextPaths),
289
278
  getShareEmailUrl()
290
279
  ])
291
280
  .then(function (oData) {
292
281
  let sTitle = oPageTitleInfo.title;
293
282
  const sObjectSubtitle = oPageTitleInfo.subtitle ? oPageTitleInfo.subtitle.toString() : "";
294
283
  if (sObjectSubtitle) {
295
- sTitle = sTitle + " - " + sObjectSubtitle;
284
+ sTitle = `${sTitle} - ${sObjectSubtitle}`;
296
285
  }
297
286
  oShareMetadata.tile = {
298
287
  title: oPageTitleInfo.title,
@@ -26,7 +26,7 @@ sap.ui.define(["sap/fe/core/helpers/KeepAliveHelper", "sap/fe/core/library"], fu
26
26
  break;
27
27
 
28
28
  default:
29
- throw new Error("unhandled variant setting: " + oViewData.getVariantManagement());
29
+ throw new Error("unhandled variant setting: ".concat(oViewData.getVariantManagement()));
30
30
  }
31
31
 
32
32
  oController._findTables().forEach(function (oTable) {
@@ -72,4 +72,4 @@ sap.ui.define(["sap/fe/core/helpers/KeepAliveHelper", "sap/fe/core/library"], fu
72
72
  };
73
73
  return ViewStateExtensionOverride;
74
74
  }, false);
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpZXdTdGF0ZS50cyJdLCJuYW1lcyI6WyJWYXJpYW50TWFuYWdlbWVudCIsIkNvcmVMaWJyYXJ5IiwiVmlld1N0YXRlRXh0ZW5zaW9uT3ZlcnJpZGUiLCJhcHBseUluaXRpYWxTdGF0ZU9ubHkiLCJhZGFwdFN0YXRlQ29udHJvbHMiLCJhU3RhdGVDb250cm9scyIsIm9WaWV3IiwiZ2V0VmlldyIsIm9Db250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwiYkNvbnRyb2xWTSIsInZhcmlhbnRNYW5hZ2VtZW50IiwiQ29udHJvbCIsIlBhZ2UiLCJOb25lIiwiRXJyb3IiLCJnZXRWYXJpYW50TWFuYWdlbWVudCIsIl9maW5kVGFibGVzIiwiZm9yRWFjaCIsIm9UYWJsZSIsIm9RdWlja0ZpbHRlciIsImdldFF1aWNrRmlsdGVyIiwicHVzaCIsImdldFZhcmlhbnQiLCJieUlkIiwiYWRhcHRCaW5kaW5nUmVmcmVzaENvbnRyb2xzIiwiYUNvbnRyb2xzIiwic1JlZnJlc2hTdHJhdGVneSIsIktlZXBBbGl2ZUhlbHBlciIsImdldFZpZXdSZWZyZXNoSW5mbyIsImFDb250cm9sc1RvUmVmcmVzaCIsIm9PYmplY3RQYWdlQ29udHJvbCIsIl9nZXRPYmplY3RQYWdlTGF5b3V0Q29udHJvbCIsImFWaWV3Q29udHJvbHMiLCJjb25jYXQiLCJnZXRDb250cm9sc0ZvclJlZnJlc2giLCJyZWR1Y2UiLCJhUHJldkNvbnRyb2xzIiwib0NvbnRyb2wiLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBSUEsTUFBTUEsaUJBQWlCLEdBQUdDLFdBQVcsQ0FBQ0QsaUJBQXRDO0FBRUEsTUFBTUUsMEJBQTBCLEdBQUc7QUFDbENDLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbEMsYUFBTyxLQUFQO0FBQ0EsS0FIaUM7QUFJbENDLElBQUFBLGtCQUFrQixFQUFFLFVBQTJCQyxjQUEzQixFQUFnRDtBQUNuRSxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUFBLFVBRUNDLFNBQVMsR0FBR0osS0FBSyxDQUFDSyxXQUFOLEVBRmI7QUFHQSxVQUFJQyxVQUFVLEdBQUcsS0FBakI7O0FBRUEsY0FBUUYsU0FBUyxDQUFDRyxpQkFBbEI7QUFDQyxhQUFLYixpQkFBaUIsQ0FBQ2MsT0FBdkI7QUFDQ0YsVUFBQUEsVUFBVSxHQUFHLElBQWI7QUFDQTs7QUFDRCxhQUFLWixpQkFBaUIsQ0FBQ2UsSUFBdkI7QUFDQSxhQUFLZixpQkFBaUIsQ0FBQ2dCLElBQXZCO0FBQ0M7O0FBQ0Q7QUFDQyxnQkFBTSxJQUFJQyxLQUFKLENBQVUsZ0NBQWdDUCxTQUFTLENBQUNRLG9CQUFWLEVBQTFDLENBQU47QUFSRjs7QUFXQ1YsTUFBQUEsV0FBRCxDQUFzQ1csV0FBdEMsR0FBb0RDLE9BQXBELENBQTRELFVBQVVDLE1BQVYsRUFBdUI7QUFDbEYsWUFBTUMsWUFBWSxHQUFHRCxNQUFNLENBQUNFLGNBQVAsRUFBckI7O0FBQ0EsWUFBSUQsWUFBSixFQUFrQjtBQUNqQmpCLFVBQUFBLGNBQWMsQ0FBQ21CLElBQWYsQ0FBb0JGLFlBQXBCO0FBQ0E7O0FBQ0QsWUFBSVYsVUFBSixFQUFnQjtBQUNmUCxVQUFBQSxjQUFjLENBQUNtQixJQUFmLENBQW9CSCxNQUFNLENBQUNJLFVBQVAsRUFBcEI7QUFDQTtBQUNELE9BUkQ7O0FBVUFwQixNQUFBQSxjQUFjLENBQUNtQixJQUFmLENBQW9CbEIsS0FBSyxDQUFDb0IsSUFBTixDQUFXLGdCQUFYLENBQXBCO0FBQ0EsS0FoQ2lDO0FBaUNsQ0MsSUFBQUEsMkJBQTJCLEVBQUUsVUFBMkJDLFNBQTNCLEVBQTJDO0FBQ3ZFLFVBQU10QixLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ3NCLGdCQUFnQixHQUFHQyxlQUFlLENBQUNDLGtCQUFoQixDQUFtQ3pCLEtBQW5DLENBRHBCO0FBQUEsVUFFQ0UsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFGZjtBQUdBLFVBQUl1QixrQkFBNkIsR0FBRyxFQUFwQzs7QUFFQSxVQUFJSCxnQkFBSixFQUFzQjtBQUNyQixZQUFNSSxrQkFBa0IsR0FBSXpCLFdBQUQsQ0FBc0MwQiwyQkFBdEMsRUFBM0I7O0FBQ0FGLFFBQUFBLGtCQUFrQixDQUFDUixJQUFuQixDQUF3QlMsa0JBQXhCO0FBQ0E7O0FBQ0QsVUFBSUosZ0JBQWdCLEtBQUsscUJBQXpCLEVBQWdEO0FBQy9DLFlBQU1NLGFBQWEsR0FBSTNCLFdBQUQsQ0FBc0NXLFdBQXRDLEVBQXRCOztBQUNBYSxRQUFBQSxrQkFBa0IsR0FBR0Esa0JBQWtCLENBQUNJLE1BQW5CLENBQTBCTixlQUFlLENBQUNPLHFCQUFoQixDQUFzQy9CLEtBQXRDLEVBQTZDNkIsYUFBN0MsS0FBK0QsRUFBekYsQ0FBckI7QUFDQTs7QUFDRCxhQUFPSCxrQkFBa0IsQ0FBQ00sTUFBbkIsQ0FBMEIsVUFBVUMsYUFBVixFQUE4QkMsUUFBOUIsRUFBNkM7QUFDN0UsWUFBSUQsYUFBYSxDQUFDRSxPQUFkLENBQXNCRCxRQUF0QixNQUFvQyxDQUFDLENBQXpDLEVBQTRDO0FBQzNDRCxVQUFBQSxhQUFhLENBQUNmLElBQWQsQ0FBbUJnQixRQUFuQjtBQUNBOztBQUNELGVBQU9ELGFBQVA7QUFDQSxPQUxNLEVBS0pYLFNBTEksQ0FBUDtBQU1BO0FBckRpQyxHQUFuQztTQXdEZTFCLDBCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCBLZWVwQWxpdmVIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvS2VlcEFsaXZlSGVscGVyXCI7XG5pbXBvcnQgQ29yZUxpYnJhcnkgZnJvbSBcInNhcC9mZS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCBPYmplY3RQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9PYmplY3RQYWdlL09iamVjdFBhZ2VDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcbmltcG9ydCBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5cbmNvbnN0IFZhcmlhbnRNYW5hZ2VtZW50ID0gQ29yZUxpYnJhcnkuVmFyaWFudE1hbmFnZW1lbnQ7XG5cbmNvbnN0IFZpZXdTdGF0ZUV4dGVuc2lvbk92ZXJyaWRlID0ge1xuXHRhcHBseUluaXRpYWxTdGF0ZU9ubHk6IGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0sXG5cdGFkYXB0U3RhdGVDb250cm9sczogZnVuY3Rpb24gKHRoaXM6IFZpZXdTdGF0ZSwgYVN0YXRlQ29udHJvbHM6IGFueSkge1xuXHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRvQ29udHJvbGxlciA9IG9WaWV3LmdldENvbnRyb2xsZXIoKSxcblx0XHRcdG9WaWV3RGF0YSA9IG9WaWV3LmdldFZpZXdEYXRhKCkgYXMgYW55O1xuXHRcdGxldCBiQ29udHJvbFZNID0gZmFsc2U7XG5cblx0XHRzd2l0Y2ggKG9WaWV3RGF0YS52YXJpYW50TWFuYWdlbWVudCkge1xuXHRcdFx0Y2FzZSBWYXJpYW50TWFuYWdlbWVudC5Db250cm9sOlxuXHRcdFx0XHRiQ29udHJvbFZNID0gdHJ1ZTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFZhcmlhbnRNYW5hZ2VtZW50LlBhZ2U6XG5cdFx0XHRjYXNlIFZhcmlhbnRNYW5hZ2VtZW50Lk5vbmU6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwidW5oYW5kbGVkIHZhcmlhbnQgc2V0dGluZzogXCIgKyBvVmlld0RhdGEuZ2V0VmFyaWFudE1hbmFnZW1lbnQoKSk7XG5cdFx0fVxuXG5cdFx0KG9Db250cm9sbGVyIGFzIE9iamVjdFBhZ2VDb250cm9sbGVyKS5fZmluZFRhYmxlcygpLmZvckVhY2goZnVuY3Rpb24gKG9UYWJsZTogYW55KSB7XG5cdFx0XHRjb25zdCBvUXVpY2tGaWx0ZXIgPSBvVGFibGUuZ2V0UXVpY2tGaWx0ZXIoKTtcblx0XHRcdGlmIChvUXVpY2tGaWx0ZXIpIHtcblx0XHRcdFx0YVN0YXRlQ29udHJvbHMucHVzaChvUXVpY2tGaWx0ZXIpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKGJDb250cm9sVk0pIHtcblx0XHRcdFx0YVN0YXRlQ29udHJvbHMucHVzaChvVGFibGUuZ2V0VmFyaWFudCgpKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGFTdGF0ZUNvbnRyb2xzLnB1c2gob1ZpZXcuYnlJZChcImZlOjpPYmplY3RQYWdlXCIpKTtcblx0fSxcblx0YWRhcHRCaW5kaW5nUmVmcmVzaENvbnRyb2xzOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlLCBhQ29udHJvbHM6IGFueSkge1xuXHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRzUmVmcmVzaFN0cmF0ZWd5ID0gS2VlcEFsaXZlSGVscGVyLmdldFZpZXdSZWZyZXNoSW5mbyhvVmlldyksXG5cdFx0XHRvQ29udHJvbGxlciA9IG9WaWV3LmdldENvbnRyb2xsZXIoKTtcblx0XHRsZXQgYUNvbnRyb2xzVG9SZWZyZXNoOiBDb250cm9sW10gPSBbXTtcblxuXHRcdGlmIChzUmVmcmVzaFN0cmF0ZWd5KSB7XG5cdFx0XHRjb25zdCBvT2JqZWN0UGFnZUNvbnRyb2wgPSAob0NvbnRyb2xsZXIgYXMgT2JqZWN0UGFnZUNvbnRyb2xsZXIpLl9nZXRPYmplY3RQYWdlTGF5b3V0Q29udHJvbCgpO1xuXHRcdFx0YUNvbnRyb2xzVG9SZWZyZXNoLnB1c2gob09iamVjdFBhZ2VDb250cm9sKTtcblx0XHR9XG5cdFx0aWYgKHNSZWZyZXNoU3RyYXRlZ3kgIT09IFwiaW5jbHVkaW5nRGVwZW5kZW50c1wiKSB7XG5cdFx0XHRjb25zdCBhVmlld0NvbnRyb2xzID0gKG9Db250cm9sbGVyIGFzIE9iamVjdFBhZ2VDb250cm9sbGVyKS5fZmluZFRhYmxlcygpO1xuXHRcdFx0YUNvbnRyb2xzVG9SZWZyZXNoID0gYUNvbnRyb2xzVG9SZWZyZXNoLmNvbmNhdChLZWVwQWxpdmVIZWxwZXIuZ2V0Q29udHJvbHNGb3JSZWZyZXNoKG9WaWV3LCBhVmlld0NvbnRyb2xzKSB8fCBbXSk7XG5cdFx0fVxuXHRcdHJldHVybiBhQ29udHJvbHNUb1JlZnJlc2gucmVkdWNlKGZ1bmN0aW9uIChhUHJldkNvbnRyb2xzOiBhbnksIG9Db250cm9sOiBhbnkpIHtcblx0XHRcdGlmIChhUHJldkNvbnRyb2xzLmluZGV4T2Yob0NvbnRyb2wpID09PSAtMSkge1xuXHRcdFx0XHRhUHJldkNvbnRyb2xzLnB1c2gob0NvbnRyb2wpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGFQcmV2Q29udHJvbHM7XG5cdFx0fSwgYUNvbnRyb2xzKTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVmlld1N0YXRlRXh0ZW5zaW9uT3ZlcnJpZGU7XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpZXdTdGF0ZS50cyJdLCJuYW1lcyI6WyJWYXJpYW50TWFuYWdlbWVudCIsIkNvcmVMaWJyYXJ5IiwiVmlld1N0YXRlRXh0ZW5zaW9uT3ZlcnJpZGUiLCJhcHBseUluaXRpYWxTdGF0ZU9ubHkiLCJhZGFwdFN0YXRlQ29udHJvbHMiLCJhU3RhdGVDb250cm9scyIsIm9WaWV3IiwiZ2V0VmlldyIsIm9Db250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwiYkNvbnRyb2xWTSIsInZhcmlhbnRNYW5hZ2VtZW50IiwiQ29udHJvbCIsIlBhZ2UiLCJOb25lIiwiRXJyb3IiLCJnZXRWYXJpYW50TWFuYWdlbWVudCIsIl9maW5kVGFibGVzIiwiZm9yRWFjaCIsIm9UYWJsZSIsIm9RdWlja0ZpbHRlciIsImdldFF1aWNrRmlsdGVyIiwicHVzaCIsImdldFZhcmlhbnQiLCJieUlkIiwiYWRhcHRCaW5kaW5nUmVmcmVzaENvbnRyb2xzIiwiYUNvbnRyb2xzIiwic1JlZnJlc2hTdHJhdGVneSIsIktlZXBBbGl2ZUhlbHBlciIsImdldFZpZXdSZWZyZXNoSW5mbyIsImFDb250cm9sc1RvUmVmcmVzaCIsIm9PYmplY3RQYWdlQ29udHJvbCIsIl9nZXRPYmplY3RQYWdlTGF5b3V0Q29udHJvbCIsImFWaWV3Q29udHJvbHMiLCJjb25jYXQiLCJnZXRDb250cm9sc0ZvclJlZnJlc2giLCJyZWR1Y2UiLCJhUHJldkNvbnRyb2xzIiwib0NvbnRyb2wiLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBSUEsTUFBTUEsaUJBQWlCLEdBQUdDLFdBQVcsQ0FBQ0QsaUJBQXRDO0FBRUEsTUFBTUUsMEJBQTBCLEdBQUc7QUFDbENDLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbEMsYUFBTyxLQUFQO0FBQ0EsS0FIaUM7QUFJbENDLElBQUFBLGtCQUFrQixFQUFFLFVBQTJCQyxjQUEzQixFQUFnRDtBQUNuRSxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUFBLFVBRUNDLFNBQVMsR0FBR0osS0FBSyxDQUFDSyxXQUFOLEVBRmI7QUFHQSxVQUFJQyxVQUFVLEdBQUcsS0FBakI7O0FBRUEsY0FBUUYsU0FBUyxDQUFDRyxpQkFBbEI7QUFDQyxhQUFLYixpQkFBaUIsQ0FBQ2MsT0FBdkI7QUFDQ0YsVUFBQUEsVUFBVSxHQUFHLElBQWI7QUFDQTs7QUFDRCxhQUFLWixpQkFBaUIsQ0FBQ2UsSUFBdkI7QUFDQSxhQUFLZixpQkFBaUIsQ0FBQ2dCLElBQXZCO0FBQ0M7O0FBQ0Q7QUFDQyxnQkFBTSxJQUFJQyxLQUFKLHNDQUF3Q1AsU0FBUyxDQUFDUSxvQkFBVixFQUF4QyxFQUFOO0FBUkY7O0FBV0NWLE1BQUFBLFdBQUQsQ0FBc0NXLFdBQXRDLEdBQW9EQyxPQUFwRCxDQUE0RCxVQUFVQyxNQUFWLEVBQXVCO0FBQ2xGLFlBQU1DLFlBQVksR0FBR0QsTUFBTSxDQUFDRSxjQUFQLEVBQXJCOztBQUNBLFlBQUlELFlBQUosRUFBa0I7QUFDakJqQixVQUFBQSxjQUFjLENBQUNtQixJQUFmLENBQW9CRixZQUFwQjtBQUNBOztBQUNELFlBQUlWLFVBQUosRUFBZ0I7QUFDZlAsVUFBQUEsY0FBYyxDQUFDbUIsSUFBZixDQUFvQkgsTUFBTSxDQUFDSSxVQUFQLEVBQXBCO0FBQ0E7QUFDRCxPQVJEOztBQVVBcEIsTUFBQUEsY0FBYyxDQUFDbUIsSUFBZixDQUFvQmxCLEtBQUssQ0FBQ29CLElBQU4sQ0FBVyxnQkFBWCxDQUFwQjtBQUNBLEtBaENpQztBQWlDbENDLElBQUFBLDJCQUEyQixFQUFFLFVBQTJCQyxTQUEzQixFQUEyQztBQUN2RSxVQUFNdEIsS0FBSyxHQUFHLEtBQUtDLE9BQUwsRUFBZDtBQUFBLFVBQ0NzQixnQkFBZ0IsR0FBR0MsZUFBZSxDQUFDQyxrQkFBaEIsQ0FBbUN6QixLQUFuQyxDQURwQjtBQUFBLFVBRUNFLFdBQVcsR0FBR0YsS0FBSyxDQUFDRyxhQUFOLEVBRmY7QUFHQSxVQUFJdUIsa0JBQTZCLEdBQUcsRUFBcEM7O0FBRUEsVUFBSUgsZ0JBQUosRUFBc0I7QUFDckIsWUFBTUksa0JBQWtCLEdBQUl6QixXQUFELENBQXNDMEIsMkJBQXRDLEVBQTNCOztBQUNBRixRQUFBQSxrQkFBa0IsQ0FBQ1IsSUFBbkIsQ0FBd0JTLGtCQUF4QjtBQUNBOztBQUNELFVBQUlKLGdCQUFnQixLQUFLLHFCQUF6QixFQUFnRDtBQUMvQyxZQUFNTSxhQUFhLEdBQUkzQixXQUFELENBQXNDVyxXQUF0QyxFQUF0Qjs7QUFDQWEsUUFBQUEsa0JBQWtCLEdBQUdBLGtCQUFrQixDQUFDSSxNQUFuQixDQUEwQk4sZUFBZSxDQUFDTyxxQkFBaEIsQ0FBc0MvQixLQUF0QyxFQUE2QzZCLGFBQTdDLEtBQStELEVBQXpGLENBQXJCO0FBQ0E7O0FBQ0QsYUFBT0gsa0JBQWtCLENBQUNNLE1BQW5CLENBQTBCLFVBQVVDLGFBQVYsRUFBOEJDLFFBQTlCLEVBQTZDO0FBQzdFLFlBQUlELGFBQWEsQ0FBQ0UsT0FBZCxDQUFzQkQsUUFBdEIsTUFBb0MsQ0FBQyxDQUF6QyxFQUE0QztBQUMzQ0QsVUFBQUEsYUFBYSxDQUFDZixJQUFkLENBQW1CZ0IsUUFBbkI7QUFDQTs7QUFDRCxlQUFPRCxhQUFQO0FBQ0EsT0FMTSxFQUtKWCxTQUxJLENBQVA7QUFNQTtBQXJEaUMsR0FBbkM7U0F3RGUxQiwwQiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCBLZWVwQWxpdmVIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvS2VlcEFsaXZlSGVscGVyXCI7XG5pbXBvcnQgQ29yZUxpYnJhcnkgZnJvbSBcInNhcC9mZS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIE9iamVjdFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvT2JqZWN0UGFnZUNvbnRyb2xsZXIuY29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuXG5jb25zdCBWYXJpYW50TWFuYWdlbWVudCA9IENvcmVMaWJyYXJ5LlZhcmlhbnRNYW5hZ2VtZW50O1xuXG5jb25zdCBWaWV3U3RhdGVFeHRlbnNpb25PdmVycmlkZSA9IHtcblx0YXBwbHlJbml0aWFsU3RhdGVPbmx5OiBmdW5jdGlvbiAoKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9LFxuXHRhZGFwdFN0YXRlQ29udHJvbHM6IGZ1bmN0aW9uICh0aGlzOiBWaWV3U3RhdGUsIGFTdGF0ZUNvbnRyb2xzOiBhbnkpIHtcblx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCksXG5cdFx0XHRvVmlld0RhdGEgPSBvVmlldy5nZXRWaWV3RGF0YSgpIGFzIGFueTtcblx0XHRsZXQgYkNvbnRyb2xWTSA9IGZhbHNlO1xuXG5cdFx0c3dpdGNoIChvVmlld0RhdGEudmFyaWFudE1hbmFnZW1lbnQpIHtcblx0XHRcdGNhc2UgVmFyaWFudE1hbmFnZW1lbnQuQ29udHJvbDpcblx0XHRcdFx0YkNvbnRyb2xWTSA9IHRydWU7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBWYXJpYW50TWFuYWdlbWVudC5QYWdlOlxuXHRcdFx0Y2FzZSBWYXJpYW50TWFuYWdlbWVudC5Ob25lOlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihgdW5oYW5kbGVkIHZhcmlhbnQgc2V0dGluZzogJHtvVmlld0RhdGEuZ2V0VmFyaWFudE1hbmFnZW1lbnQoKX1gKTtcblx0XHR9XG5cblx0XHQob0NvbnRyb2xsZXIgYXMgT2JqZWN0UGFnZUNvbnRyb2xsZXIpLl9maW5kVGFibGVzKCkuZm9yRWFjaChmdW5jdGlvbiAob1RhYmxlOiBhbnkpIHtcblx0XHRcdGNvbnN0IG9RdWlja0ZpbHRlciA9IG9UYWJsZS5nZXRRdWlja0ZpbHRlcigpO1xuXHRcdFx0aWYgKG9RdWlja0ZpbHRlcikge1xuXHRcdFx0XHRhU3RhdGVDb250cm9scy5wdXNoKG9RdWlja0ZpbHRlcik7XG5cdFx0XHR9XG5cdFx0XHRpZiAoYkNvbnRyb2xWTSkge1xuXHRcdFx0XHRhU3RhdGVDb250cm9scy5wdXNoKG9UYWJsZS5nZXRWYXJpYW50KCkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0YVN0YXRlQ29udHJvbHMucHVzaChvVmlldy5ieUlkKFwiZmU6Ok9iamVjdFBhZ2VcIikpO1xuXHR9LFxuXHRhZGFwdEJpbmRpbmdSZWZyZXNoQ29udHJvbHM6IGZ1bmN0aW9uICh0aGlzOiBWaWV3U3RhdGUsIGFDb250cm9sczogYW55KSB7XG5cdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmdldFZpZXcoKSxcblx0XHRcdHNSZWZyZXNoU3RyYXRlZ3kgPSBLZWVwQWxpdmVIZWxwZXIuZ2V0Vmlld1JlZnJlc2hJbmZvKG9WaWV3KSxcblx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHRcdGxldCBhQ29udHJvbHNUb1JlZnJlc2g6IENvbnRyb2xbXSA9IFtdO1xuXG5cdFx0aWYgKHNSZWZyZXNoU3RyYXRlZ3kpIHtcblx0XHRcdGNvbnN0IG9PYmplY3RQYWdlQ29udHJvbCA9IChvQ29udHJvbGxlciBhcyBPYmplY3RQYWdlQ29udHJvbGxlcikuX2dldE9iamVjdFBhZ2VMYXlvdXRDb250cm9sKCk7XG5cdFx0XHRhQ29udHJvbHNUb1JlZnJlc2gucHVzaChvT2JqZWN0UGFnZUNvbnRyb2wpO1xuXHRcdH1cblx0XHRpZiAoc1JlZnJlc2hTdHJhdGVneSAhPT0gXCJpbmNsdWRpbmdEZXBlbmRlbnRzXCIpIHtcblx0XHRcdGNvbnN0IGFWaWV3Q29udHJvbHMgPSAob0NvbnRyb2xsZXIgYXMgT2JqZWN0UGFnZUNvbnRyb2xsZXIpLl9maW5kVGFibGVzKCk7XG5cdFx0XHRhQ29udHJvbHNUb1JlZnJlc2ggPSBhQ29udHJvbHNUb1JlZnJlc2guY29uY2F0KEtlZXBBbGl2ZUhlbHBlci5nZXRDb250cm9sc0ZvclJlZnJlc2gob1ZpZXcsIGFWaWV3Q29udHJvbHMpIHx8IFtdKTtcblx0XHR9XG5cdFx0cmV0dXJuIGFDb250cm9sc1RvUmVmcmVzaC5yZWR1Y2UoZnVuY3Rpb24gKGFQcmV2Q29udHJvbHM6IGFueSwgb0NvbnRyb2w6IGFueSkge1xuXHRcdFx0aWYgKGFQcmV2Q29udHJvbHMuaW5kZXhPZihvQ29udHJvbCkgPT09IC0xKSB7XG5cdFx0XHRcdGFQcmV2Q29udHJvbHMucHVzaChvQ29udHJvbCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYVByZXZDb250cm9scztcblx0XHR9LCBhQ29udHJvbHMpO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWaWV3U3RhdGVFeHRlbnNpb25PdmVycmlkZTtcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import ViewState from "sap/fe/core/controllerextensions/ViewState";
1
+ import type ViewState from "sap/fe/core/controllerextensions/ViewState";
2
2
  import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
3
3
  import CoreLibrary from "sap/fe/core/library";
4
- import ObjectPageController from "sap/fe/templates/ObjectPage/ObjectPageController.controller";
5
- import Control from "sap/ui/core/Control";
4
+ import type ObjectPageController from "sap/fe/templates/ObjectPage/ObjectPageController.controller";
5
+ import type Control from "sap/ui/core/Control";
6
6
 
7
7
  const VariantManagement = CoreLibrary.VariantManagement;
8
8
 
@@ -24,7 +24,7 @@ const ViewStateExtensionOverride = {
24
24
  case VariantManagement.None:
25
25
  break;
26
26
  default:
27
- throw new Error("unhandled variant setting: " + oViewData.getVariantManagement());
27
+ throw new Error(`unhandled variant setting: ${oViewData.getVariantManagement()}`);
28
28
  }
29
29
 
30
30
  (oController as ObjectPageController)._findTables().forEach(function (oTable: any) {
@@ -19,6 +19,10 @@
19
19
  <template:repeat list="{converterContext>header/actions}" var="headerAction">
20
20
  <template:if test="{= ${headerAction>type} === 'DraftActions' &amp;&amp; OP.checkDraftState(${entitySet>@}) }">
21
21
  <template:then>
22
+ <core:InvisibleText
23
+ text="{sap.fe.i18n>T_HEADER_DATAPOINT_TITLE_DRAFT_SWITCHER_ARIA_BUTTON}"
24
+ id="fe::StandardAction::SwitchDraftAndActiveObject::AriaTextDraftSwitcher"
25
+ />
22
26
  <Button
23
27
  id="fe::StandardAction::SwitchDraftAndActiveObject"
24
28
  text="{= ( !(${ui>/editMode} === 'Editable') &amp;&amp; !${ui>createMode} &amp;&amp; ${HasDraftEntity} ) ? ${sap.fe.i18n>C_COMMON_OBJECT_PAGE_SAVED_VERSION_BUT} : ${sap.fe.i18n>C_COMMON_OBJECT_PAGE_DRAFT_BUT} }"
@@ -27,6 +31,7 @@
27
31
  iconFirst="false"
28
32
  type="Transparent"
29
33
  press="._showSwitchDraftAndActivePopover($event)"
34
+ ariaDescribedBy="fe::StandardAction::SwitchDraftAndActiveObject::AriaTextDraftSwitcher"
30
35
  />
31
36
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.CollaborationDraft" type="XML" />
32
37
  <ToolbarSpacer />
@@ -122,7 +127,7 @@
122
127
  unittest:id="DeleteActionTest"
123
128
  id="fe::StandardAction::Delete"
124
129
  type="Default"
125
- text="{sap.fe.i18n>C_COMMON_OBJECT_PAGE_DELETE}"
130
+ text="{sap.fe.i18n>C_COMMON_DELETE}"
126
131
  visible="{headerAction>visible}"
127
132
  enabled="{headerAction>enabled}"
128
133
  press="cmd:DeleteObject"
@@ -37,9 +37,11 @@
37
37
  <f:FormContainer
38
38
  unittest:id="HeaderInfoFormContainerTest"
39
39
  id="fe::EditableHeaderForm::EditableHeaderInfo"
40
- title="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_OBJECT_INFO}"
41
40
  visible="{= OP.getVisiblityOfHeaderFacet(${entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@},${entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description/Value/$Path@},${entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@@FIELD.fieldControl},${entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description/Value/$Path@@FIELD.fieldControl}) }"
42
41
  >
42
+ <f:title>
43
+ <core:Title level="H4" text="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_OBJECT_INFO}" />
44
+ </f:title>
43
45
  <f:dependents>
44
46
  <macro:ValueHelp
45
47
  idPrefix="fe::EditableHeaderForm::EditableHeaderTitle::FieldValueHelp"
@@ -111,6 +113,7 @@
111
113
  id="{= ${formContainer>id} ? ID.generate(['fe', 'HeaderFacet', 'FormContainer', ${formContainer>id} ]) : undefined }"
112
114
  designtimeSettings="{= ${subSection>flexSettings/designtime} === 'Default' ? 'sap/fe/macros/FormContainer.designtime' : ${subSection>flexSettings/designtime}}"
113
115
  title="{facet>@@MODEL.label}"
116
+ titleLevel="H4"
114
117
  displayMode="Edit"
115
118
  entitySet="{targetEntitySet>}"
116
119
  navigationPath="{= MODEL.getNavigationPath(${facet>Target/$AnnotationPath}) ? MODEL.getNavigationPath(${facet>Target/$AnnotationPath}) : ''}"
@@ -124,6 +127,7 @@
124
127
  id="{= ${formContainer>id} ? ID.generate(['fe', 'HeaderFacet', 'FormContainer', ${formContainer>id} ]) : undefined }"
125
128
  designtimeSettings="{= ${subSection>flexSettings/designtime} === 'Default' ? 'sap/fe/macros/FormContainer.designtime' : ${subSection>flexSettings/designtime}}"
126
129
  title="{facet>@@MODEL.label}"
130
+ titleLevel="H4"
127
131
  displayMode="Edit"
128
132
  entitySet="{entitySet>}"
129
133
  dataFieldCollection="{formContainer>formElements}"
@@ -137,10 +141,14 @@
137
141
  <template:else>
138
142
  <f:FormContainer
139
143
  id="{= ${subSection>id} ? ID.generate([${subSection>id}, 'CustomFormContainer', ${subSection>}]) : undefined }"
140
- title="{subSection>title}"
141
144
  visible="{subSection>visible}"
142
145
  dt:designtime="{= ${subSection>flexSettings/designtime} === 'Default' ? 'sap/ui/layout/designtime/form/FormContainer.designtime' : ${subSection>flexSettings/designtime}}"
143
146
  >
147
+ <template:if test="{subSection>title}">
148
+ <f:title>
149
+ <core:Title level="H4" text="{subSection>title}" />
150
+ </f:title>
151
+ </template:if>
144
152
  <f:formElements>
145
153
  <fpm:CustomFragment
146
154
  id="{= ${subSection>id} ? ID.generate([${subSection>id}, 'CustomFragment', ${subSection>}]) : undefined }"
@@ -95,7 +95,7 @@
95
95
  <Button
96
96
  unittest:id="SecondaryActionTest"
97
97
  id="fe::FooterBar::StandardAction::Cancel"
98
- text="{sap.fe.i18n>C_COMMON_OBJECT_PAGE_CANCEL}"
98
+ text="{= ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot} ? ${sap.fe.i18n>C_COMMON_OBJECT_PAGE_DISCARD_DRAFT} : ${sap.fe.i18n>C_COMMON_OBJECT_PAGE_CANCEL} }"
99
99
  press="cmd:Cancel"
100
100
  visible="{ui>/isEditable}"
101
101
  ariaHasPopup="Dialog"
@@ -56,20 +56,7 @@
56
56
  </template:with>
57
57
  </template:elseif>
58
58
  <template:elseif test="{= ${converterHeaderFacet>targetAnnotationType} === 'Contact'}">
59
- <template:with path="headerFacet>Target/$AnnotationPath" var="collection" helper="MODEL.resolve$Path">
60
- <template:with path="collection>" var="collection" helper="COMMON.getNavigationContext">
61
- <VBox id="{= ID.generate(['fe', 'HeaderFacet', 'Contact', { Facet: ${headerFacet>} }]) }" displayInline="true">
62
- <template:if test="{headerFacet>@@MODEL.label}">
63
- <Title text="{headerFacet>@@MODEL.label}" class="sapUiSmallMarginBottom" />
64
- </template:if>
65
- <template:with path="headerFacet>Target/$AnnotationPath" var="contact">
66
- <template:with path="headerFacet>Target/$AnnotationPath@@COMMON.getMetaPath" var="contactPath">
67
- <macro:Contact contact="{contact>}" visible="true" />
68
- </template:with>
69
- </template:with>
70
- </VBox>
71
- </template:with>
72
- </template:with>
59
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ObjectPageHeaderContact" type="XML" />
73
60
  </template:elseif>
74
61
  <template:elseif test="{= ${converterHeaderFacet>targetAnnotationType} === 'Address'}">
75
62
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ObjectPageHeaderAddress" type="XML" />
@@ -13,6 +13,7 @@
13
13
  <Title
14
14
  text="{= OP.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
15
15
  wrapping="true"
16
+ level="H2"
16
17
  />
17
18
  </template:with>
18
19
  </core:FragmentDefinition>
@@ -13,8 +13,13 @@
13
13
  >
14
14
  <template:with path="headerFacet>Target/$AnnotationPath/" var="addressPath">
15
15
  <VBox id="{= ${converterHeaderFacet>headerFormData/id} }" displayInline="true">
16
- <Title text="{headerFacet>Label}" />
17
- <Text unittest:id="ObjectPageHeaderAddressTest" renderWhitespace="true" class="sapMLabel" text="{addressPath>label@@MODEL.format}" />
16
+ <Title level="H3" text="{headerFacet>Label}" />
17
+ <Text
18
+ unittest:id="ObjectPageHeaderAddressTest"
19
+ renderWhitespace="true"
20
+ class="sapMLabel"
21
+ text="{addressPath>label@@MODEL.format}"
22
+ />
18
23
  </VBox>
19
24
  </template:with>
20
25
  </core:FragmentDefinition>
@@ -0,0 +1,26 @@
1
+ <core:FragmentDefinition
2
+ xmlns="sap.m"
3
+ xmlns:core="sap.ui.core"
4
+ xmlns:macro="sap.fe.macros"
5
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
6
+ template:require="{
7
+ MODEL: 'sap/ui/model/odata/v4/AnnotationHelper',
8
+ COMMON: 'sap/fe/macros/CommonHelper',
9
+ ID: 'sap/fe/core/helpers/StableIdHelper'
10
+ }"
11
+ >
12
+ <template:with path="headerFacet>Target/$AnnotationPath" var="collection" helper="MODEL.resolve$Path">
13
+ <template:with path="collection>" var="collection" helper="COMMON.getNavigationContext">
14
+ <VBox id="{= ID.generate(['fe', 'HeaderFacet', 'Contact', { Facet: ${headerFacet>} }]) }" displayInline="true">
15
+ <template:if test="{headerFacet>@@MODEL.label}">
16
+ <Title level="H3" text="{headerFacet>@@MODEL.label}" class="sapUiSmallMarginBottom" />
17
+ </template:if>
18
+ <template:with path="headerFacet>Target/$AnnotationPath" var="contact">
19
+ <template:with path="headerFacet>Target/$AnnotationPath@@COMMON.getMetaPath" var="contactPath">
20
+ <macro:Contact contact="{contact>}" visible="true" />
21
+ </template:with>
22
+ </template:with>
23
+ </VBox>
24
+ </template:with>
25
+ </template:with>
26
+ </core:FragmentDefinition>
@@ -13,7 +13,7 @@
13
13
  >
14
14
  <VBox id="{= ${converterHeaderFacet>headerFormData/id} }" displayInline="true">
15
15
  <template:if test="{converterHeaderFacet>headerFormData/label}">
16
- <Title text="{converterHeaderFacet>headerFormData/label}" class="sapUiSmallMarginBottom" />
16
+ <Title level="H3" text="{converterHeaderFacet>headerFormData/label}" class="sapUiSmallMarginBottom" />
17
17
  </template:if>
18
18
  <template:if test="{= OP.doesFieldGroupContainOnlyOneMultiLineDataField(${converterHeaderFacet>headerFormData/formElements})}">
19
19
  <template:then>
@@ -26,11 +26,12 @@
26
26
  dt:designtime="not-adaptable-visibility"
27
27
  id="{headerSection>id}"
28
28
  title="{headerSection>title}"
29
+ titleLevel="H3"
29
30
  visible="{headerSection>visible}"
30
31
  titleUppercase="false"
31
32
  >
32
33
  <uxap:subSections>
33
- <uxap:ObjectPageSubSection id="fe::EditableHeaderSubSection" title="{headerSection>title}">
34
+ <uxap:ObjectPageSubSection id="fe::EditableHeaderSubSection" title="{headerSection>title}" titleLevel="H4">
34
35
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.EditableHeaderFacet" type="XML" />
35
36
  </uxap:ObjectPageSubSection>
36
37
  </uxap:subSections>
@@ -43,6 +44,7 @@
43
44
  dt:designtime="not-adaptable-visibility"
44
45
  id="{section>id}"
45
46
  title="{section>title}"
47
+ titleLevel="H3"
46
48
  showTitle="{section>showTitle}"
47
49
  titleUppercase="false"
48
50
  visible="{section>visible}"
@@ -53,6 +55,7 @@
53
55
  dt:designtime="not-adaptable-visibility"
54
56
  id="{subSection>id}"
55
57
  title="{subSection>title}"
58
+ titleLevel="H4"
56
59
  showTitle="{subSection>showTitle}"
57
60
  visible="{subSection>visible}"
58
61
  >
@@ -103,7 +103,7 @@
103
103
  <!-- Button "Show More / Less" is displayed for a collection facets that contains at least one reference facets with annotation "PartOfPreview === TRUE" -->
104
104
  <uxap:moreBlocks>
105
105
  <template:if test="{= ${subSection>level} === 2}">
106
- <Title text="{subSection>title}" />
106
+ <Title level="{= ${section>subSections}.length > 1 ? 'H5' : 'H4'}" text="{subSection>title}" />
107
107
  </template:if>
108
108
  <opcontrol:SubSectionBlock>
109
109
  <opcontrol:content>
@@ -144,7 +144,11 @@
144
144
  <template:elseif test="{= ${subSection>type} === 'DataVisualization'}">
145
145
  <uxap:blocks>
146
146
  <template:if test="{= ${subSection>level} === 2}">
147
- <Title text="{subSection>title}" visible="{subSection>titleVisible}" />
147
+ <Title
148
+ level="{= ${section>subSections}.length > 1 ? 'H5' : 'H4'}"
149
+ text="{subSection>title}"
150
+ visible="{subSection>titleVisible}"
151
+ />
148
152
  </template:if>
149
153
  <opcontrol:SubSectionBlock visible="{subSection>visible}">
150
154
  <opcontrol:content>
@@ -15,5 +15,6 @@
15
15
  partOfPreview="true"
16
16
  formContainers="{subSection>formDefinition/formContainers}"
17
17
  isVisible="{subSection>formDefinition/isVisible}"
18
+ titleLevel="{= ${section>subSections}.length > 1 ? 'H5' : 'H4'}"
18
19
  />
19
20
  </core:FragmentDefinition>
@@ -15,5 +15,6 @@
15
15
  partOfPreview="false"
16
16
  formContainers="{subSection>formDefinition/formContainers}"
17
17
  isVisible="{subSection>formDefinition/isVisible}"
18
+ titleLevel="{= ${section>subSections}.length > 1 ? (${subSection>level} === 2 ? 'H6': 'H5') : (${subSection>level} === 2 ? 'H5': 'H4')}"
18
19
  />
19
20
  </core:FragmentDefinition>
@@ -4,7 +4,7 @@
4
4
  xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
5
5
  xmlns="sap.m"
6
6
  >
7
- <Popover
7
+ <ResponsivePopover
8
8
  unittest:id="SwitchDraftAndActiveObjectPopOver"
9
9
  showHeader="false"
10
10
  contentWidth="15.625rem"
@@ -23,5 +23,5 @@
23
23
  <core:Item text="{i18n>C_COMMON_OBJECT_PAGE_DISPLAY_SAVED_VERSION_MIT}" key="switchToActive" />
24
24
  </SelectList>
25
25
  </content>
26
- </Popover>
26
+ </ResponsivePopover>
27
27
  </core:FragmentDefinition>