@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.
- package/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
- package/src/sap/fe/templates/Feedback.js +18 -18
- package/src/sap/fe/templates/Feedback.ts +12 -12
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +9 -12
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +9 -12
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +3 -1
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +80 -55
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +95 -71
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
- package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -4
- package/src/sap/fe/templates/ListReport/overrides/Share.ts +6 -7
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +4 -5
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +10 -10
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +4 -3
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +148 -163
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +138 -192
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +62 -73
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +75 -90
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +103 -0
- package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +15 -15
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +17 -28
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +6 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +10 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -14
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +4 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +6 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +25 -28
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +30 -33
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
- package/src/sap/fe/templates/TableScroller.js +3 -3
- package/src/sap/fe/templates/TableScroller.ts +2 -2
- package/src/sap/fe/templates/controls/Table.fragment.xml +1 -0
- package/src/sap/fe/templates/library.js +5 -2
- package/src/sap/fe/templates/library.ts +3 -0
- package/src/sap/fe/templates/messagebundle.properties +6 -18
- 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
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
-
*
|
|
121
|
+
*
|
|
122
|
+
* @param oContext The Page Context
|
|
127
123
|
* @param oController
|
|
128
|
-
* @returns
|
|
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
|
-
|
|
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 && !
|
|
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,
|
|
288
|
-
getShareUrl(bIsEditable,
|
|
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
|
|
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: "
|
|
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,
|
|
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(
|
|
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' && 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') && !${ui>createMode} && ${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>
|
|
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
|
-
<
|
|
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
|
|
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
|
|
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="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
|
-
<
|
|
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
|
-
</
|
|
26
|
+
</ResponsivePopover>
|
|
27
27
|
</core:FragmentDefinition>
|