@sapui5/sap.fe.templates 1.97.0 → 1.98.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 (54) hide show
  1. package/package.json +4 -4
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +1 -1
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +3 -3
  5. package/src/sap/fe/templates/ListComponent.js +1 -1
  6. package/src/sap/fe/templates/ListReport/Component.js +1 -1
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +2 -2
  8. package/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -1
  9. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +86 -86
  10. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +7 -3
  11. package/src/sap/fe/templates/ListReport/overrides/MassEdit.js +95 -0
  12. package/src/sap/fe/templates/ListReport/overrides/Share.js +37 -22
  13. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +54 -32
  14. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +21 -1
  15. package/src/sap/fe/templates/ObjectPage/Component.js +17 -15
  16. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +16 -1
  17. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +103 -88
  18. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +100 -73
  19. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  20. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +1 -1
  21. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +1 -1
  22. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
  23. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  24. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  25. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
  26. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
  27. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  28. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  29. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  30. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +13 -1
  31. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +48 -44
  32. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -21
  33. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  34. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
  35. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
  36. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
  37. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  38. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  39. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
  40. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
  41. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +134 -124
  42. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
  43. package/src/sap/fe/templates/TableScroller.js +1 -1
  44. package/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
  45. package/src/sap/fe/templates/library.js +2 -2
  46. package/src/sap/fe/templates/messagebundle.properties +24 -1
  47. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +1 -1
  48. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
  49. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -1
  50. package/src/sap/fe/templates/messagebundle_es.properties +8 -8
  51. package/src/sap/fe/templates/messagebundle_fr.properties +1 -1
  52. package/src/sap/fe/templates/messagebundle_ja.properties +1 -1
  53. package/src/sap/fe/templates/messagebundle_tr.properties +1 -1
  54. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
3
+ * (c) Copyright 2009-2022 SAP SE. All rights reserved.
4
4
  */
5
5
  sap.ui.define(
6
6
  [
@@ -12,9 +12,27 @@ sap.ui.define(
12
12
  "sap/ui/mdc/p13n/StateUtil",
13
13
  "sap/ui/Device",
14
14
  "sap/ui/mdc/enum/ConditionValidated",
15
+ "sap/fe/macros/DelegateUtil",
16
+ "sap/fe/core/helpers/ModelHelper",
17
+ "sap/fe/macros/filter/FilterUtils",
18
+ "sap/fe/core/templating/PropertyFormatters",
15
19
  "sap/base/Log"
16
20
  ],
17
- function(CoreLibrary, NavLibrary, CommonUtils, KeepAliveHelper, ControlVariantApplyAPI, StateUtil, Device, ConditionValidated, Log) {
21
+ function(
22
+ CoreLibrary,
23
+ NavLibrary,
24
+ CommonUtils,
25
+ KeepAliveHelper,
26
+ ControlVariantApplyAPI,
27
+ StateUtil,
28
+ Device,
29
+ ConditionValidated,
30
+ DelegateUtil,
31
+ ModelHelper,
32
+ FilterUtils,
33
+ PropertyFormatters,
34
+ Log
35
+ ) {
18
36
  "use strict";
19
37
 
20
38
  var NavType = NavLibrary.NavType,
@@ -22,6 +40,9 @@ sap.ui.define(
22
40
  TemplateContentView = CoreLibrary.TemplateContentView,
23
41
  InitialLoadMode = CoreLibrary.InitialLoadMode;
24
42
 
43
+ var FilterRestrictions = CommonUtils.FilterRestrictions,
44
+ CONDITION_PATH_TO_PROPERTY_PATH_REGEX = /\+|\*/g;
45
+
25
46
  return {
26
47
  applyInitialStateOnly: function() {
27
48
  return true;
@@ -57,8 +78,7 @@ sap.ui.define(
57
78
  var oView = this.getView(),
58
79
  oController = oView.getController(),
59
80
  oViewData = oView.getViewData(),
60
- bControlVM = oViewData.variantManagement === VariantManagement.Control,
61
- that = this;
81
+ bControlVM = oViewData.variantManagement === VariantManagement.Control;
62
82
 
63
83
  if (oController._isMultiMode()) {
64
84
  aStateControls.push(oController._getMultiModeControl());
@@ -76,9 +96,7 @@ sap.ui.define(
76
96
  if (bControlVM) {
77
97
  aStateControls.push(oTable.getVariant());
78
98
  }
79
- if (that.getView().getController().bTestAppState) {
80
- aStateControls.push(oTable);
81
- }
99
+ aStateControls.push(oTable);
82
100
  });
83
101
 
84
102
  if (oController._hasMultiVisualizations()) {
@@ -88,22 +106,6 @@ sap.ui.define(
88
106
  aStateControls.push(oController._getFilterBarControl());
89
107
  aStateControls.push(oView.byId("fe::ListReport"));
90
108
  },
91
- adaptControlStateHandler: function(oControl, aControlHandler) {
92
- if (oControl.isA("sap.ui.fl.variants.VariantManagement")) {
93
- aControlHandler.push({
94
- retrieve: function(oVM) {
95
- return {
96
- "variantId": oVM.getCurrentVariantKey()
97
- };
98
- },
99
- apply: function(oVM, oControlState) {
100
- if (oControlState && oControlState.variantId !== undefined) {
101
- oVM.setModified(true);
102
- }
103
- }
104
- });
105
- }
106
- },
107
109
  retrieveAdditionalStates: function(mAdditionalStates) {
108
110
  var oView = this.getView(),
109
111
  oController = oView.getController(),
@@ -330,10 +332,7 @@ sap.ui.define(
330
332
  }
331
333
  return oPromise.then(function(bClearFilterAndReplaceWithAppState) {
332
334
  if (bClearFilterAndReplaceWithAppState) {
333
- if (that.getView().getController().bTestAppState) {
334
- return that._fnApplyConditions(oFilterBar, oConditions);
335
- }
336
- return that._fnClearFilterAndReplaceWithAppState(oFilterBar, oConditions);
335
+ return that._fnApplyConditions(oFilterBar, oConditions);
337
336
  }
338
337
  });
339
338
  },
@@ -352,9 +351,35 @@ sap.ui.define(
352
351
  }
353
352
  delete oCondition.isEmpty;
354
353
  };
354
+ var fnGetPropertyInfo = function(oFilterControl, sEntityTypePath) {
355
+ var sEntitySetPath = ModelHelper.getEntitySetPath(sEntityTypePath),
356
+ oMetaModel = oFilterControl.getModel().getMetaModel(),
357
+ oFR = CommonUtils.getFilterRestrictionsByPath(sEntitySetPath, oMetaModel),
358
+ aNonFilterableProps = oFR[FilterRestrictions.NON_FILTERABLE_PROPERTIES],
359
+ mFilterFields = FilterUtils.getConvertedFilterFields(oFilterControl, sEntityTypePath),
360
+ aPropertyInfo = [];
361
+ Object.keys(mFilterFields).forEach(function(sFilterFieldKey) {
362
+ var oConvertedProperty = mFilterFields[sFilterFieldKey];
363
+ var sPropertyPath = oConvertedProperty.conditionPath.replace(CONDITION_PATH_TO_PROPERTY_PATH_REGEX, "");
364
+ if (aNonFilterableProps.indexOf(sPropertyPath) === -1) {
365
+ var sAnnotationPath = oConvertedProperty.annotationPath;
366
+ var oPropertyContext = oMetaModel.createBindingContext(sAnnotationPath);
367
+ aPropertyInfo.push({
368
+ path: oConvertedProperty.conditionPath,
369
+ hiddenFilter: oConvertedProperty.availability === "Hidden",
370
+ hasValueHelp: !sAnnotationPath
371
+ ? false
372
+ : PropertyFormatters.hasValueHelp(oPropertyContext.getObject(), { context: oPropertyContext })
373
+ });
374
+ return;
375
+ }
376
+ });
377
+ return aPropertyInfo;
378
+ };
355
379
  return oFilterBar.initialized().then(function() {
356
- oFilterBar
357
- .getPropertyInfoSet()
380
+ var sEntityTypePath = DelegateUtil.getCustomData(oFilterBar, "entityType");
381
+ var aPropertyInfo = fnGetPropertyInfo(oFilterBar, sEntityTypePath);
382
+ aPropertyInfo
358
383
  .filter(function(oPropertyInfo) {
359
384
  return oPropertyInfo.path !== "$editState" && oPropertyInfo.path !== "$search";
360
385
  })
@@ -377,9 +402,6 @@ sap.ui.define(
377
402
  });
378
403
  return StateUtil.applyExternalState(oFilterBar, { filter: mFilter, items: aItems });
379
404
  });
380
- },
381
- _fnClearFilterAndReplaceWithAppState: function(oFilterBar, oConditions) {
382
- return this._fnApplyConditions(oFilterBar, {}).then(this._fnApplyConditions.bind(this, oFilterBar, oConditions));
383
405
  }
384
406
  };
385
407
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
3
+ * (c) Copyright 2009-2022 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  sap.ui.define(
@@ -447,6 +447,26 @@ sap.ui.define(
447
447
  return undefined;
448
448
  }
449
449
  }
450
+ },
451
+ isSubSectionTitleVisible: function(sSubSectionvisible, sSubSectiontitle, sSubSectionshowTitle) {
452
+ if (sSubSectionvisible.indexOf("{=") === 0) {
453
+ // Dynamic expression
454
+ var sExpressionResult = sSubSectionvisible.substring(
455
+ sSubSectionvisible.indexOf("{=") + 2,
456
+ sSubSectionvisible.lastIndexOf("}")
457
+ );
458
+ return (
459
+ "{= (" +
460
+ sExpressionResult +
461
+ ") && ('" +
462
+ sSubSectiontitle +
463
+ "' !=='undefined') && (" +
464
+ sSubSectionshowTitle +
465
+ " ? true : false) }"
466
+ );
467
+ } else {
468
+ return sSubSectionvisible && sSubSectiontitle !== "undefined" && (sSubSectionshowTitle ? true : false);
469
+ }
450
470
  }
451
471
  };
452
472
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
3
+ * (c) Copyright 2009-2022 SAP SE. All rights reserved.
4
4
  */
5
5
  sap.ui.define(
6
6
  [
@@ -15,6 +15,7 @@ sap.ui.define(
15
15
  "use strict";
16
16
 
17
17
  var VariantManagement = CoreLibrary.VariantManagement,
18
+ CreationMode = CoreLibrary.CreationMode,
18
19
  ObjectPageComponent = TemplateComponent.extend("sap.fe.templates.ObjectPage.Component", {
19
20
  metadata: {
20
21
  properties: {
@@ -86,25 +87,26 @@ sap.ui.define(
86
87
 
87
88
  // TODO: this should be ideally be handled by the editflow/routing without the need to have this method in the
88
89
  // object page - for now keep it here
89
- createDeferredContext: function(sPath, bActionCreate) {
90
+ createDeferredContext: function(sPath, oListBinding, bActionCreate) {
90
91
  if (!this.DeferredContextCreated) {
91
92
  this.DeferredContextCreated = true;
92
- var oListBinding,
93
- that = this,
93
+ var that = this,
94
94
  oParamters = {
95
95
  "$$groupId": "$auto.Heroes",
96
96
  "$$updateGroupId": "$auto"
97
97
  };
98
-
99
- oListBinding = new ODataListBinding(
100
- this.getModel(),
101
- sPath.replace("(...)", ""),
102
- undefined,
103
- undefined,
104
- undefined,
105
- oParamters
106
- );
107
-
98
+ if (!oListBinding || oListBinding.isRelative() === false) {
99
+ oListBinding = new ODataListBinding(
100
+ this.getModel(),
101
+ sPath.replace("(...)", ""),
102
+ undefined,
103
+ undefined,
104
+ undefined,
105
+ oParamters
106
+ );
107
+ } else {
108
+ oListBinding.mParameters = oParamters;
109
+ }
108
110
  var oStartUpParams =
109
111
  this.oAppComponent &&
110
112
  this.oAppComponent.getComponentData() &&
@@ -119,7 +121,7 @@ sap.ui.define(
119
121
  that.getRootControl()
120
122
  .getController()
121
123
  .editFlow.createDocument(oListBinding, {
122
- creationMode: "Sync",
124
+ creationMode: CreationMode.Sync,
123
125
  createAction: bActionCreate,
124
126
  data: createParams
125
127
  })
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
3
+ * (c) Copyright 2009-2022 SAP SE. All rights reserved.
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID"], function(
6
6
  ExtensionAPI,
@@ -105,6 +105,9 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/CommonUtils", "sap/fe/co
105
105
  */
106
106
  getSelectedContexts: function(sTableId) {
107
107
  var oTable = this._view.byId(sTableId);
108
+ if (oTable && oTable.isA("sap.fe.macros.TableAPI")) {
109
+ oTable = oTable.getContent();
110
+ }
108
111
  return (oTable && oTable.isA("sap.ui.mdc.Table") && oTable.getSelectedContexts()) || [];
109
112
  },
110
113
 
@@ -122,6 +125,18 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/CommonUtils", "sap/fe/co
122
125
  oBlock = this._view.byId(sBlockID),
123
126
  bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
124
127
  oBlock.setShowSideContent(bBlockState);
128
+ },
129
+
130
+ /**
131
+ * Gets the bound context of the current object page.
132
+ *
133
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
134
+ * @returns {sap.ui.model.odata.v4.Context} Context bound to the object page
135
+ *
136
+ * @public
137
+ */
138
+ getBindingContext: function() {
139
+ return this._view.getBindingContext();
125
140
  }
126
141
  });
127
142
 
@@ -79,93 +79,108 @@
79
79
  />
80
80
  </uxap:dependents>
81
81
  <template:if test="{converterContext>header/visible}">
82
- <uxap:headerTitle>
83
- <uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin">
84
- <uxap:expandedHeading>
85
- <FlexBox>
86
- <FlexBox visible="{converterContext>header/title/expandedImageVisible}">
87
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.HeaderImage" type="XML" />
82
+ <template:with path="converterContext>header/avatar" var="avatar">
83
+ <uxap:headerTitle>
84
+ <uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin">
85
+ <uxap:expandedHeading>
86
+ <FlexBox>
87
+ <FlexBox visible="{converterContext>header/title/expandedImageVisible}">
88
+ <Avatar
89
+ class="sapUiSmallMarginEnd"
90
+ src="{avatar>src}"
91
+ initials="{avatar>initials}"
92
+ fallbackIcon="{avatar>fallbackIcon}"
93
+ displayShape="{avatar>displayShape}"
94
+ displaySize="S"
95
+ />
96
+ </FlexBox>
97
+ <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
98
+ <Title
99
+ text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
100
+ wrapping="true"
101
+ />
102
+ </template:with>
88
103
  </FlexBox>
89
- <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
90
- <Title
91
- text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
92
- wrapping="true"
104
+ </uxap:expandedHeading>
105
+ <uxap:snappedHeading>
106
+ <FlexBox>
107
+ <Avatar
108
+ class="sapUiSmallMarginEnd"
109
+ src="{avatar>src}"
110
+ initials="{avatar>initials}"
111
+ fallbackIcon="{avatar>fallbackIcon}"
112
+ displayShape="{avatar>displayShape}"
113
+ displaySize="S"
93
114
  />
94
- </template:with>
95
- </FlexBox>
96
- </uxap:expandedHeading>
97
- <uxap:snappedHeading>
115
+ <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
116
+ <Title
117
+ text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
118
+ wrapping="true"
119
+ />
120
+ </template:with>
121
+ </FlexBox>
122
+ </uxap:snappedHeading>
123
+ <uxap:expandedContent>
98
124
  <FlexBox>
99
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.HeaderImage" type="XML" />
100
- <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
101
- <Title
102
- text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
103
- wrapping="true"
104
- />
105
- </template:with>
125
+ <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
126
+ <Label
127
+ text="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
128
+ wrapping="true"
129
+ />
130
+ </template:if>
106
131
  </FlexBox>
107
- </uxap:snappedHeading>
108
- <uxap:expandedContent>
109
- <FlexBox>
110
- <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
111
- <Label
112
- text="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
113
- wrapping="true"
114
- />
115
- </template:if>
116
- </FlexBox>
117
- </uxap:expandedContent>
118
- <uxap:snappedContent>
119
- <FlexBox>
120
- <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
121
- <Label
122
- text="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
123
- wrapping="true"
124
- />
125
- </template:if>
126
- </FlexBox>
127
- </uxap:snappedContent>
128
- <uxap:content>
129
- <template:if test="{entitySet>@com.sap.vocabularies.Common.v1.DraftRoot}">
130
- <macro:DraftIndicator DraftIndicatorType="IconOnly" class="sapUiTinyMarginBegin sapMTB sapMTBNewFlex" entitySet="{entitySet>}" />
131
- </template:if>
132
- </uxap:content>
133
- <uxap:navigationActions>
134
- <template:if test="{= ${viewData>/viewLevel} > 1}">
135
- <macro:Paginator id="fe::Paginator" />
136
- </template:if>
137
- <!-- Flexible column layout menu-->
138
- <template:if test="{= ${viewData>/fclEnabled} }">
139
- <macro:FlexibleColumnLayoutActions />
140
- </template:if>
141
- </uxap:navigationActions>
142
- <uxap:actions>
143
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Actions" type="XML" />
144
- </uxap:actions>
145
- <uxap:breadcrumbs>
146
- <Breadcrumbs
147
- unittest:id="BreadcrumbsTest"
148
- visible="{= OP.getVisibleExpressionForBreadcrumbs(${viewData>/}) }"
149
- modelContextChange="._setBreadcrumbLinks(${$source>/})"
150
- id="fe::Breadcrumbs"
132
+ </uxap:expandedContent>
133
+ <uxap:snappedContent>
134
+ <FlexBox>
135
+ <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
136
+ <Label
137
+ text="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
138
+ wrapping="true"
139
+ />
140
+ </template:if>
141
+ </FlexBox>
142
+ </uxap:snappedContent>
143
+ <uxap:content>
144
+ <template:if test="{entitySet>@com.sap.vocabularies.Common.v1.DraftRoot}">
145
+ <macro:DraftIndicator DraftIndicatorType="IconOnly" class="sapUiTinyMarginBegin sapMTB sapMTBNewFlex" entitySet="{entitySet>}" />
146
+ </template:if>
147
+ <internal:SituationsIndicator xmlns:internal="sap.fe.macros.internal" entitySet="{entitySet>}" />
148
+ </uxap:content>
149
+ <uxap:navigationActions>
150
+ <template:if test="{= ${viewData>/viewLevel} > 1}">
151
+ <macro:Paginator id="fe::Paginator" />
152
+ </template:if>
153
+ <!-- Flexible column layout menu-->
154
+ <template:if test="{= ${viewData>/fclEnabled} }">
155
+ <macro:FlexibleColumnLayoutActions />
156
+ </template:if>
157
+ </uxap:navigationActions>
158
+ <uxap:actions>
159
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Actions" type="XML" />
160
+ </uxap:actions>
161
+ <uxap:breadcrumbs>
162
+ <Breadcrumbs
163
+ unittest:id="BreadcrumbsTest"
164
+ visible="{= OP.getVisibleExpressionForBreadcrumbs(${viewData>/}) }"
165
+ modelContextChange="._setBreadcrumbLinks(${$source>/})"
166
+ id="fe::Breadcrumbs"
167
+ >
168
+ </Breadcrumbs>
169
+ </uxap:breadcrumbs>
170
+ </uxap:ObjectPageDynamicHeaderTitle>
171
+ </uxap:headerTitle>
172
+ <template:if test="{converterContext>header/hasContent}">
173
+ <uxap:headerContent>
174
+ <FlexBox
175
+ id="fe::HeaderContentContainer"
176
+ unittest:id="FlexBoxTest"
177
+ dt:designtime="sap/fe/templates/ObjectPage/designtime/FlexBox.designtime"
178
+ wrap="Wrap"
179
+ fitContainer="true"
180
+ alignItems="Stretch"
151
181
  >
152
- </Breadcrumbs>
153
- </uxap:breadcrumbs>
154
- </uxap:ObjectPageDynamicHeaderTitle>
155
- </uxap:headerTitle>
156
- <template:if test="{converterContext>header/hasContent}">
157
- <uxap:headerContent>
158
- <FlexBox
159
- id="fe::HeaderContentContainer"
160
- unittest:id="FlexBoxTest"
161
- dt:designtime="sap/fe/templates/ObjectPage/designtime/FlexBox.designtime"
162
- wrap="Wrap"
163
- fitContainer="true"
164
- alignItems="Stretch"
165
- >
166
- <template:if test="{converterContext>header/avatar}">
167
- <template:with path="converterContext>header/avatar" var="avatar">
168
- <Avatar
182
+ <template:if test="{converterContext>header/avatar}">
183
+ <Avatar
169
184
  unittest:id="AvatarOPHeaderContent"
170
185
  class="sapUiSmallMarginEnd sapUiSmallMarginBottom"
171
186
  src="{avatar>src}"
@@ -174,12 +189,12 @@
174
189
  displayShape="{avatar>displayShape}"
175
190
  displaySize="XL"
176
191
  />
177
- </template:with>
178
- </template:if>
179
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.HeaderContent" type="XML" />
180
- </FlexBox>
181
- </uxap:headerContent>
182
- </template:if>
192
+ </template:if>
193
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.HeaderContent" type="XML" />
194
+ </FlexBox>
195
+ </uxap:headerContent>
196
+ </template:if>
197
+ </template:with>
183
198
  </template:if>
184
199
  <uxap:sections>
185
200
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Section" type="XML" />