@openui5/sap.uxap 1.111.2 → 1.112.2

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 (66) hide show
  1. package/package.json +5 -5
  2. package/src/sap/uxap/.library +1 -1
  3. package/src/sap/uxap/AnchorBar.js +104 -8
  4. package/src/sap/uxap/BlockBaseMetadata.js +1 -1
  5. package/src/sap/uxap/ObjectPageAccessibleLandmarkInfo.js +1 -1
  6. package/src/sap/uxap/ObjectPageDynamicHeaderContent.js +1 -1
  7. package/src/sap/uxap/ObjectPageDynamicHeaderTitle.js +1 -1
  8. package/src/sap/uxap/ObjectPageLayout.js +47 -8
  9. package/src/sap/uxap/ObjectPageLazyLoader.js +1 -1
  10. package/src/sap/uxap/ObjectPageSection.js +5 -1
  11. package/src/sap/uxap/ObjectPageSectionBase.js +5 -1
  12. package/src/sap/uxap/ObjectPageSubSection.js +15 -0
  13. package/src/sap/uxap/changeHandler/AddIFrameObjectPageLayout.js +8 -2
  14. package/src/sap/uxap/changeHandler/MoveObjectPageSection.js +1 -1
  15. package/src/sap/uxap/changeHandler/RenameObjectPageSection.js +1 -1
  16. package/src/sap/uxap/library.js +2 -2
  17. package/src/sap/uxap/messagebundle.properties +4 -4
  18. package/src/sap/uxap/messagebundle_ar.properties +3 -3
  19. package/src/sap/uxap/messagebundle_bg.properties +3 -3
  20. package/src/sap/uxap/messagebundle_ca.properties +3 -3
  21. package/src/sap/uxap/messagebundle_cs.properties +3 -3
  22. package/src/sap/uxap/messagebundle_cy.properties +3 -3
  23. package/src/sap/uxap/messagebundle_da.properties +3 -3
  24. package/src/sap/uxap/messagebundle_de.properties +2 -2
  25. package/src/sap/uxap/messagebundle_el.properties +3 -3
  26. package/src/sap/uxap/messagebundle_en.properties +2 -2
  27. package/src/sap/uxap/messagebundle_en_GB.properties +2 -2
  28. package/src/sap/uxap/messagebundle_en_US_sappsd.properties +2 -2
  29. package/src/sap/uxap/messagebundle_en_US_saprigi.properties +2 -2
  30. package/src/sap/uxap/messagebundle_en_US_saptrc.properties +2 -2
  31. package/src/sap/uxap/messagebundle_es.properties +3 -3
  32. package/src/sap/uxap/messagebundle_es_MX.properties +3 -3
  33. package/src/sap/uxap/messagebundle_et.properties +3 -3
  34. package/src/sap/uxap/messagebundle_fi.properties +4 -4
  35. package/src/sap/uxap/messagebundle_fr.properties +3 -3
  36. package/src/sap/uxap/messagebundle_fr_CA.properties +3 -3
  37. package/src/sap/uxap/messagebundle_hi.properties +3 -3
  38. package/src/sap/uxap/messagebundle_hr.properties +3 -3
  39. package/src/sap/uxap/messagebundle_hu.properties +3 -3
  40. package/src/sap/uxap/messagebundle_id.properties +3 -3
  41. package/src/sap/uxap/messagebundle_it.properties +3 -3
  42. package/src/sap/uxap/messagebundle_iw.properties +3 -3
  43. package/src/sap/uxap/messagebundle_ja.properties +3 -3
  44. package/src/sap/uxap/messagebundle_kk.properties +3 -3
  45. package/src/sap/uxap/messagebundle_ko.properties +3 -3
  46. package/src/sap/uxap/messagebundle_lt.properties +3 -3
  47. package/src/sap/uxap/messagebundle_lv.properties +3 -3
  48. package/src/sap/uxap/messagebundle_ms.properties +3 -3
  49. package/src/sap/uxap/messagebundle_nl.properties +3 -3
  50. package/src/sap/uxap/messagebundle_no.properties +3 -3
  51. package/src/sap/uxap/messagebundle_pl.properties +3 -3
  52. package/src/sap/uxap/messagebundle_pt.properties +3 -3
  53. package/src/sap/uxap/messagebundle_pt_PT.properties +3 -3
  54. package/src/sap/uxap/messagebundle_ro.properties +3 -3
  55. package/src/sap/uxap/messagebundle_ru.properties +3 -3
  56. package/src/sap/uxap/messagebundle_sh.properties +3 -3
  57. package/src/sap/uxap/messagebundle_sk.properties +3 -3
  58. package/src/sap/uxap/messagebundle_sl.properties +3 -3
  59. package/src/sap/uxap/messagebundle_sv.properties +3 -3
  60. package/src/sap/uxap/messagebundle_th.properties +3 -3
  61. package/src/sap/uxap/messagebundle_tr.properties +3 -3
  62. package/src/sap/uxap/messagebundle_uk.properties +3 -3
  63. package/src/sap/uxap/messagebundle_vi.properties +3 -3
  64. package/src/sap/uxap/messagebundle_zh_CN.properties +3 -3
  65. package/src/sap/uxap/messagebundle_zh_TW.properties +3 -3
  66. package/src/sap/uxap/themes/base/ObjectPageLayout.less +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.uxap",
3
- "version": "1.111.2",
3
+ "version": "1.112.2",
4
4
  "description": "OpenUI5 UI Library sap.uxap",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,9 +14,9 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.f": "1.111.2",
18
- "@openui5/sap.m": "1.111.2",
19
- "@openui5/sap.ui.core": "1.111.2",
20
- "@openui5/sap.ui.layout": "1.111.2"
17
+ "@openui5/sap.f": "1.112.2",
18
+ "@openui5/sap.m": "1.112.2",
19
+ "@openui5/sap.ui.core": "1.112.2",
20
+ "@openui5/sap.ui.layout": "1.112.2"
21
21
  }
22
22
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  <name>sap.uxap</name>
5
5
  <vendor>SAP SE</vendor>
6
- <version>1.111.2</version>
6
+ <version>1.112.2</version>
7
7
  <copyright>OpenUI5
8
8
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
@@ -32,6 +32,9 @@ sap.ui.define([
32
32
  // shortcut for sap.m.SelectType
33
33
  var SelectType = mobileLibrary.SelectType;
34
34
 
35
+ // 2px tollerance when calculating how much the scroll of the AnchorBar should be moved, when using arrow keys. This way the focus border is not cut.
36
+ var OFFSET_SCROLL = 2;
37
+
35
38
  /**
36
39
  * Constructor for a new <code>AnchorBar</code>.
37
40
  *
@@ -688,8 +691,9 @@ sap.ui.define([
688
691
  AnchorBar.prototype.onsapright = function (oEvent) {
689
692
  oEvent.preventDefault();
690
693
 
691
- var iNextIndex;
692
- var aAnchors = this.getContent();
694
+ var iNextIndex,
695
+ aAnchors = this.getContent(),
696
+ oAnchor;
693
697
 
694
698
  aAnchors.forEach(function (oAnchor, iAnchorIndex) {
695
699
  if (oEvent.target.id.indexOf(oAnchor.getId()) > -1) {
@@ -699,10 +703,14 @@ sap.ui.define([
699
703
  });
700
704
 
701
705
  if (iNextIndex && aAnchors[iNextIndex]) {
702
- aAnchors[iNextIndex].focus();
706
+ oAnchor = aAnchors[iNextIndex];
707
+ oAnchor.focus();
703
708
  } else if (aAnchors[aAnchors.length - 1]) {
704
- aAnchors[aAnchors.length - 1].focus();
709
+ oAnchor = aAnchors[aAnchors.length - 1];
710
+ oAnchor.focus();
705
711
  }
712
+
713
+ this._forceScrollIfNeeded(oAnchor);
706
714
  };
707
715
 
708
716
  /**
@@ -714,8 +722,9 @@ sap.ui.define([
714
722
  AnchorBar.prototype.onsapleft = function (oEvent) {
715
723
  oEvent.preventDefault();
716
724
 
717
- var iNextIndex;
718
- var aAnchors = this.getContent();
725
+ var iNextIndex,
726
+ aAnchors = this.getContent(),
727
+ oAnchor;
719
728
 
720
729
  aAnchors.forEach(function (oAnchor, iAnchorIndex) {
721
730
  if (oEvent.target.id.indexOf(oAnchor.getId()) > -1) {
@@ -725,10 +734,97 @@ sap.ui.define([
725
734
  });
726
735
 
727
736
  if (iNextIndex && aAnchors[iNextIndex]) {
728
- aAnchors[iNextIndex].focus();
737
+ oAnchor = aAnchors[iNextIndex];
738
+ oAnchor.focus();
729
739
  } else if (aAnchors[0]) {
730
- aAnchors[0].focus();
740
+ oAnchor = aAnchors[0];
741
+ oAnchor.focus();
731
742
  }
743
+
744
+ this._forceScrollIfNeeded(oAnchor, true);
745
+ };
746
+
747
+ /**
748
+ * Checks if AnchorBar should be scrolled and scrolls it forcly, if needed.
749
+ *
750
+ * @param {object} oAnchor
751
+ * @param {boolean} bLeft
752
+ * @private
753
+ */
754
+ AnchorBar.prototype._forceScrollIfNeeded = function (oAnchor, bLeft) {
755
+ var oAnchorDomRef = oAnchor.getDomRef(),
756
+ oParentRef = oAnchorDomRef.parentElement,
757
+ iParentRefOffsetLeft = oParentRef.offsetLeft,
758
+ oParentRefOffsetWidth = oParentRef.offsetWidth,
759
+ iAnchorDomRefWidth = oAnchorDomRef && oAnchorDomRef.offsetWidth,
760
+ iAnchorDomOffsetLeft = oAnchorDomRef && oAnchorDomRef.offsetLeft,
761
+ iCurrentScrollPosition = this._oScroller.getScrollLeft(),
762
+ iVisibleScrollPosition,
763
+ iAnchorPosition,
764
+ iOffsetScroll;
765
+
766
+ if (!oParentRef || !iAnchorDomRefWidth) {
767
+ return;
768
+ }
769
+
770
+ if (!this._bRtl) {
771
+ // The right position of the tab
772
+ iAnchorPosition = iAnchorDomOffsetLeft + iAnchorDomRefWidth;
773
+
774
+ // Calculates how much the scroll container should be scrolled, so that the right position of the tab will be visible
775
+ iOffsetScroll = oParentRefOffsetWidth - (iParentRefOffsetLeft + iAnchorPosition - iCurrentScrollPosition);
776
+ if (!bLeft && iOffsetScroll < 0 && oParentRefOffsetWidth - iAnchorPosition < 0) {
777
+ this._scrollAnchorBar(bLeft, iOffsetScroll);
778
+ }
779
+
780
+ // Calculates how much the scroll container should be scrolled, so that the left position of the tab will be visible
781
+ iOffsetScroll = iAnchorDomOffsetLeft - this._iOffset - iParentRefOffsetLeft - OFFSET_SCROLL;
782
+ if (bLeft && iCurrentScrollPosition > iOffsetScroll) {
783
+ this._scrollAnchorBar(bLeft, iOffsetScroll);
784
+ }
785
+ } else {
786
+ if (bLeft) {
787
+ // The last visible right position of the scroll container (in RTL left/right scrolling is reversed)
788
+ iVisibleScrollPosition = iCurrentScrollPosition + oParentRefOffsetWidth - this._iOffset;
789
+ // The right position of the tab
790
+ iAnchorPosition = iAnchorDomOffsetLeft - iParentRefOffsetLeft;
791
+
792
+ if (iAnchorPosition + iAnchorDomRefWidth > iVisibleScrollPosition) {
793
+ // Calculates how much the scroll container should be scrolled, so that the right position of the tab will be visible
794
+ iOffsetScroll = ((iAnchorPosition + iAnchorDomRefWidth) - iVisibleScrollPosition + OFFSET_SCROLL);
795
+ this._scrollAnchorBar(bLeft, iOffsetScroll);
796
+ }
797
+ } else {
798
+ if (iAnchorDomOffsetLeft - iParentRefOffsetLeft - this._iOffset - OFFSET_SCROLL < iCurrentScrollPosition) {
799
+ // Calculates how much the scroll container should be scrolled, so that the left position of the tab will be visible
800
+ iOffsetScroll = iAnchorDomRefWidth - iAnchorDomOffsetLeft + OFFSET_SCROLL;
801
+ this._scrollAnchorBar(bLeft, iOffsetScroll);
802
+ }
803
+ }
804
+ }
805
+ };
806
+
807
+ /**
808
+ * Forcly scrolls AnchorBar, if the currently focused tab is not fully visible.
809
+ *
810
+ * @param {boolean} bScrollLeft
811
+ * @param {number} iOffsetScroll
812
+ * @private
813
+ */
814
+ AnchorBar.prototype._scrollAnchorBar = function (bScrollLeft, iOffsetScroll) {
815
+ var iScrollDirection = ((!this._bRtl && bScrollLeft) || (this._bRtl && !bScrollLeft)) ? -1 : 1,
816
+ iCurrentScrollPosition = this._oScroller.getScrollLeft(),
817
+ iNewScrollPosition = iOffsetScroll;
818
+
819
+ if (iScrollDirection === 1) {
820
+ iNewScrollPosition = this._bRtl ? iCurrentScrollPosition + iOffsetScroll : iCurrentScrollPosition + Math.abs(iOffsetScroll);
821
+ }
822
+
823
+ if (this._bRtl && iScrollDirection === -1) {
824
+ iNewScrollPosition = iOffsetScroll * iScrollDirection;
825
+ }
826
+
827
+ this._oScroller.scrollTo(iNewScrollPosition, 0, AnchorBar.SCROLL_DURATION * 3);
732
828
  };
733
829
 
734
830
  /**
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @class
23
23
  * @author SAP SE
24
- * @version 1.111.2
24
+ * @version 1.112.2
25
25
  * @since 1.26
26
26
  * @alias sap.uxap.BlockBaseMetadata
27
27
  * @extends sap.ui.core.ElementMetadata
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.111.2
25
+ * @version 1.112.2
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @implements sap.uxap.IHeaderContent
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.111.2
43
+ * @version 1.112.2
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @implements sap.uxap.IHeaderTitle
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.111.2
45
+ * @version 1.112.2
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -11,6 +11,7 @@ sap.ui.define([
11
11
  "sap/ui/core/ResizeHandler",
12
12
  "sap/ui/core/Configuration",
13
13
  "sap/ui/core/Control",
14
+ "sap/ui/core/InvisibleText",
14
15
  "sap/ui/Device",
15
16
  "sap/ui/base/ManagedObject",
16
17
  "sap/ui/core/delegate/ScrollEnablement",
@@ -39,6 +40,7 @@ sap.ui.define([
39
40
  ResizeHandler,
40
41
  Configuration,
41
42
  Control,
43
+ InvisibleText,
42
44
  Device,
43
45
  ManagedObject,
44
46
  ScrollEnablement,
@@ -544,7 +546,6 @@ sap.ui.define([
544
546
  ObjectPageLayout.DIV = "div";
545
547
  ObjectPageLayout.HEADER = "header";
546
548
  ObjectPageLayout.FOOTER = "section";
547
- ObjectPageLayout.FOOTER = "section";
548
549
 
549
550
  // Synced with @_sap_f_DynamicPageHeader_PaddingBottom in base less file of DynamicPageHeader
550
551
  ObjectPageLayout.HEADER_CONTENT_PADDING_BOTTOM = DomUnitsRem.toPx("1rem");
@@ -556,6 +557,10 @@ sap.ui.define([
556
557
  // additional navigation (e.g. AnchorBar, IconTabBar, etc.)
557
558
  ObjectPageLayout.NO_NAVIGATION_CLASS_NAME = "sapUxAPObjectPageNoNavigation";
558
559
 
560
+ ObjectPageLayout.ARIA = {
561
+ LABEL_TOOLBAR_FOOTER_ACTIONS: "ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS"
562
+ };
563
+
559
564
  ObjectPageLayout.prototype._getFirstEditableInput = function(sContainer) {
560
565
  var oContainer = this.getDomRef(sContainer);
561
566
 
@@ -749,6 +754,36 @@ sap.ui.define([
749
754
  // clear the cached DOM element to prevent obsolete layout calculations
750
755
  // of the old <code>this._$titleArea</code> before rendering is finalized
751
756
  this._$titleArea = [];
757
+
758
+ this._setFooterAriaLabelledBy();
759
+ };
760
+
761
+ /**
762
+ * Sets the <code>aria-labelledby</code> attribute of the {@link sap.uxap.ObjectPageLayout} footer.
763
+ * @private
764
+ */
765
+ ObjectPageLayout.prototype._setFooterAriaLabelledBy = function () {
766
+ var oFooter = this.getFooter();
767
+
768
+ if (oFooter && !oFooter.getAriaLabelledBy().length) {
769
+ this._oInvisibleText = new InvisibleText({
770
+ id: oFooter.getId() + "-FooterActions-InvisibleText",
771
+ text: ObjectPageLayout._getLibraryResourceBundle().getText(ObjectPageLayout.ARIA.LABEL_TOOLBAR_FOOTER_ACTIONS)
772
+ }).toStatic();
773
+
774
+ oFooter.addAriaLabelledBy(this._oInvisibleText);
775
+ }
776
+ };
777
+
778
+ /**
779
+ * Destroys the invisible text object associated with the footer of the {@link sap.uxap.ObjectPageLayout} control.
780
+ * @private
781
+ */
782
+ ObjectPageLayout.prototype._destroyInvisibleText = function () {
783
+ if (this._oInvisibleText) {
784
+ this._oInvisibleText.destroy();
785
+ this._oInvisibleText = null;
786
+ }
752
787
  };
753
788
 
754
789
  /**
@@ -1127,8 +1162,6 @@ sap.ui.define([
1127
1162
 
1128
1163
  ObjectPageLayout.prototype.onAfterRendering = function () {
1129
1164
  var oHeaderContent = this._getHeaderContent(),
1130
- oFooter = this.getFooter(),
1131
- sFooterAriaLabel,
1132
1165
  iWidth = this._getWidth(this);
1133
1166
 
1134
1167
  this._bInvalidatedAndNotRerendered = false;
@@ -1166,11 +1199,6 @@ sap.ui.define([
1166
1199
  this._updatePinButtonState();
1167
1200
  }
1168
1201
 
1169
- if (oFooter) {
1170
- sFooterAriaLabel = ObjectPageLayout._getLibraryResourceBundle().getText("FOOTER_ARIA_LABEL");
1171
- oFooter.$().attr("aria-label", sFooterAriaLabel);
1172
- }
1173
-
1174
1202
  // Attach expand button event
1175
1203
  this._handleExpandButtonPressEventLifeCycle(true);
1176
1204
  };
@@ -1308,6 +1336,8 @@ sap.ui.define([
1308
1336
  this._oLazyLoading = null;
1309
1337
  }
1310
1338
 
1339
+ this._destroyInvisibleText();
1340
+
1311
1341
  this._deregisterScreenSizeListener();
1312
1342
  this._deregisterTitleSizeListener();
1313
1343
 
@@ -1744,7 +1774,10 @@ sap.ui.define([
1744
1774
  if (bValue != bOldValue) {
1745
1775
  this._applyUxRules(); // UxRules contain logic that depends on whether we use iconTabBar or not
1746
1776
  }
1777
+
1747
1778
  this.setProperty("useIconTabBar", bValue);
1779
+ this.toggleStyleClass("sapUxAPObjectPageLayoutIconTabBar", bValue);
1780
+
1748
1781
  return this;
1749
1782
  };
1750
1783
 
@@ -4325,6 +4358,12 @@ sap.ui.define([
4325
4358
  return vResult;
4326
4359
  };
4327
4360
 
4361
+ ObjectPageLayout.prototype.destroyFooter = function () {
4362
+ this._destroyInvisibleText();
4363
+
4364
+ return this.destroyAggregation("footer");
4365
+ };
4366
+
4328
4367
  /**
4329
4368
  * Switch footer visibility
4330
4369
  * @param {boolean} bShow switch visibility on if true
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Element
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.111.2
40
+ * @version 1.112.2
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -298,7 +298,11 @@ sap.ui.define([
298
298
 
299
299
  ObjectPageSection.prototype._onGridContentChange = function (oEvent) {
300
300
  var sMutation;
301
- if (oEvent.type === "aggregation" && oEvent.name === "content") {
301
+ // both aggregation names are required
302
+ // because the first ("content") is the actual
303
+ // and the second ("subSections") is the publicly visible
304
+ // due to aggregation forwarding
305
+ if (oEvent.type === "aggregation" && ["content", "subSections"].indexOf(oEvent.name) > -1) {
302
306
  this.invalidate();
303
307
  sMutation = oEvent.mutation;
304
308
  if (sMutation === "add" || sMutation === "insert") {
@@ -168,7 +168,11 @@ sap.ui.define([
168
168
  if (this._oGridContentObserver) {
169
169
  this._oGridContentObserver.observe(this.getAggregation("_grid"), {
170
170
  aggregations: [
171
- "content"
171
+ // both aggregation names are required
172
+ // because the first ("content") is the actual
173
+ // and the second ("subSections") is the publicly visible
174
+ // due to aggregation forwarding
175
+ "content", "subSections"
172
176
  ]});
173
177
  }
174
178
  }
@@ -249,6 +249,21 @@ sap.ui.define([
249
249
  return oParent;
250
250
  };
251
251
 
252
+ /**
253
+ * Override the parent setter to preserve the externally visible parent-child relationship
254
+ * @override
255
+ * @returns {this} Returns <code>this</code> to allow method chaining
256
+ */
257
+ ObjectPageSubSection.prototype.setParent = function () {
258
+ var oResult = ObjectPageSectionBase.prototype.setParent.apply(this, arguments),
259
+ oPublicParent = this.getParent();
260
+ if (oPublicParent && oPublicParent.isA("sap.uxap.ObjectPageSection")
261
+ && this.sParentAggregationName !== "subSections") {
262
+ this.sParentAggregationName = "subSections";
263
+ }
264
+ return oResult;
265
+ };
266
+
252
267
  /**
253
268
  * Getter for the private "_columnSpan" property
254
269
  * @returns {string}
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @constructor
22
22
  * @alias sap.uxap.changeHandler.AddIFrameObjectPageLayout
23
23
  * @author SAP SE
24
- * @version 1.111.2
24
+ * @version 1.112.2
25
25
  * @since 1.75
26
26
  * @experimental Since 1.75
27
27
  */
@@ -49,6 +49,7 @@ sap.ui.define([
49
49
  var oView = mPropertyBag.view;
50
50
  var oComponent = mPropertyBag.appComponent;
51
51
  var oBaseSelector = oContent.selector;
52
+ // keep default title for legacy changes (without subsequent rename)
52
53
  var sDefaultTitle = sap.ui.getCore().getLibraryResourceBundle("sap.uxap").getText("SECTION_TITLE_FOR_IFRAME");
53
54
 
54
55
  var oOPSection;
@@ -73,7 +74,12 @@ sap.ui.define([
73
74
  .then(function () {
74
75
  var oIFrameSelector = Object.create(oBaseSelector);
75
76
  oIFrameSelector.id += "-iframe";
76
- return createIFrame(oChange, mPropertyBag, oIFrameSelector);
77
+ var mRenameInfo = {
78
+ sourceControlId: oModifier.getId(oOPSubSection),
79
+ selectorControlId: oModifier.getId(oOPSection),
80
+ propertyName: "title"
81
+ };
82
+ return createIFrame(oChange, mPropertyBag, oIFrameSelector, mRenameInfo);
77
83
  })
78
84
  .then(function(oIFrame) {
79
85
  return oModifier.insertAggregation(oOPSubSection, "blocks", oIFrame, 0, oView);
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/fl/changeHandler/MoveControls", "sap/ui/core/Core", "sap/
13
13
  * @constructor
14
14
  * @alias sap.uxap.changeHandler.MoveObjectPageSection
15
15
  * @author SAP SE
16
- * @version 1.111.2
16
+ * @version 1.112.2
17
17
  * @experimental Since 1.54
18
18
  */
19
19
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @constructor
20
20
  * @alias sap.uxap.changeHandler.RenameObjectPageSection
21
21
  * @author SAP SE
22
- * @version 1.111.2
22
+ * @version 1.112.2
23
23
  * @experimental Since 1.50
24
24
  */
25
25
 
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @namespace
26
26
  * @alias sap.uxap
27
27
  * @author SAP SE
28
- * @version 1.111.2
28
+ * @version 1.112.2
29
29
  * @since 1.36
30
30
  * @public
31
31
  */
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  "sap.uxap.ObjectPageHeaderLayoutData",
69
69
  "sap.uxap.ObjectPageLazyLoader"
70
70
  ],
71
- version: "1.111.2",
71
+ version: "1.112.2",
72
72
  extensions: {
73
73
  flChangeHandlers: {
74
74
  "sap.uxap.ObjectPageHeader": "sap/uxap/flexibility/ObjectPageHeader",
@@ -68,10 +68,10 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=Open side panel
68
68
  ROOT_ARIA_LABEL_WITHOUT_TITLE=Object details
69
69
 
70
70
  #XACT: Text used to label the header area element of sap.uxap.ObjectPageLayout when it has a title
71
- HEADER_ARIA_LABEL_WITH_TITLE=Header
71
+ HEADER_ARIA_LABEL_WITH_TITLE=Header area
72
72
 
73
73
  #XACT: Text used to label the header area element of sap.uxap.ObjectPageLayout when it doesn`t have title
74
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Object header
74
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=Object header area
75
75
 
76
76
  #XACT: Text used to label the AnchorBar element of sap.uxap.ObjectPageLayout when it doesn't have a title
77
77
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Object
@@ -82,8 +82,8 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Options
82
82
  #XACT: Text used to label the Toolbar inside the AnchorBar when ObjectPage doesn't have a title
83
83
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Object options
84
84
 
85
- #XACT: Text used to label the AnchorBar element of sap.uxap.ObjectPageLayout when it doesn't have a title
86
- FOOTER_ARIA_LABEL=General actions
85
+ #XACT: ARIA announcement (aria-labelledby) for internal footer actions toolbar aggregation inside sap.uxap.ObjectPageLayout
86
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
87
87
 
88
88
  #XMIT: Context Menu Entry or Dialog Title will be enhanced with this key user friendly control type name: Object Page Layout
89
89
  LAYOUT_CONTROL_NAME=Object Page Layout
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=\u0641\u062A\u062D \u0627\u0644\u0644\u0648\u062D\u
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=\u062A\u0641\u0627\u0635\u064A\u0644 \u0627\u0644\u0643\u0627\u0626\u0646
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=\u0627\u0644\u0645\u0642\u062F\u0645\u0629
46
+ HEADER_ARIA_LABEL_WITH_TITLE=\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0645\u0642\u062F\u0645\u0629
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=\u0645\u0642\u062F\u0645\u0629 \u0627\u0644\u0643\u0627\u0626\u0646
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=\u0645\u0646\u0637\u0642\u0629 \u0645\u0642\u062F\u0645\u0629 \u0627\u0644\u0643\u0627\u0626\u0646
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=\u0627\u0644\u0643\u0627\u0626\u0646
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=\u062E\u064A\u0627\u0631\u0627\u062A
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=\u062E\u064A\u0627\u0631\u0627\u062A \u0627\u0644\u0643\u0627\u0626\u0646
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u062A\u0630\u064A\u064A\u0644
57
57
 
58
58
  LAYOUT_CONTROL_NAME=\u0645\u062E\u0637\u0637 \u0635\u0641\u062D\u0627\u062A \u0627\u0644\u0643\u0627\u0626\u0646
59
59
 
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=\u041E\u0442\u0432\u0430\u0440\u044F\u043D\u0435 \u
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0438 \u0434\u0430\u043D\u043D\u0438 \u0437\u0430 \u043E\u0431\u0435\u043A\u0442
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=\u0417\u0430\u0433\u043B\u0430\u0432\u043A\u0430
46
+ HEADER_ARIA_LABEL_WITH_TITLE=\u0417\u0430\u0433\u043B\u0430\u0432\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=\u0417\u0430\u0433\u043B\u0430\u0432\u043A\u0430 \u043D\u0430 \u043E\u0431\u0435\u043A\u0442
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=\u0417\u0430\u0433\u043B\u0430\u0432\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442 \u043D\u0430 \u043E\u0431\u0435\u043A\u0442
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=\u041E\u0431\u0435\u043A\u0442
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=\u041E\u043F\u0446\u0438\u0438
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=\u041E\u043F\u0446\u0438\u0438 \u043D\u0430 \u043E\u0431\u0435\u043A\u0442
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0432 \u0434\u043E\u043B\u043D\u0438\u044F \u043A\u043E\u043B\u043E\u043D\u0442\u0438\u0442\u0443\u043B
57
57
 
58
58
  LAYOUT_CONTROL_NAME=\u0424\u043E\u0440\u043C\u0430\u0442 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0437\u0430 \u043E\u0431\u0435\u043A\u0442
59
59
 
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=Obrir \u00E0rea de p\u00E0gina
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=Detalls d'objecte
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=Cap\u00E7alera
46
+ HEADER_ARIA_LABEL_WITH_TITLE=\u00C0rea de cap\u00E7alera
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Cap\u00E7alera d'objecte
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=\u00C0rea de cap\u00E7alera d'objecte
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Objecte
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Opcions
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Opcions d'objecte
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Accions de peu de p\u00E0gina
57
57
 
58
58
  LAYOUT_CONTROL_NAME=Disposici\u00F3 de p\u00E0gina d'objecte
59
59
 
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=Otev\u0159\u00EDt bo\u010Dn\u00ED panel
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=Detaily objektu
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=Hlavi\u010Dka
46
+ HEADER_ARIA_LABEL_WITH_TITLE=Oblast hlavi\u010Dky
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Hlavi\u010Dka objektu
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=Oblast hlavi\u010Dky objektu
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Objekt
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Mo\u017Enosti
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Mo\u017Enosti objektu
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Akce pati\u010Dky
57
57
 
58
58
  LAYOUT_CONTROL_NAME=Layout str\u00E1nky objektu
59
59
 
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=Agor y panel ochr
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=Manylion y gwrthrych
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=Pennyn
46
+ HEADER_ARIA_LABEL_WITH_TITLE=Ardal pennyn
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Pennyn gwrthrych
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=Ardal pennyn gwrthrych
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Gwrthrych
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Opsiynau
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Opsiynau gwrthrych
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Gweithredoedd troedyn
57
57
 
58
58
  LAYOUT_CONTROL_NAME=Cynllun Tudalen Gwrthrych
59
59
 
@@ -43,9 +43,9 @@ TOOLTIP_OP_SHOW_SIDE_CONTENT=\u00C5bn sideomr\u00E5de
43
43
 
44
44
  ROOT_ARIA_LABEL_WITHOUT_TITLE=Objektdetaljer
45
45
 
46
- HEADER_ARIA_LABEL_WITH_TITLE=Top
46
+ HEADER_ARIA_LABEL_WITH_TITLE=Topomr\u00E5de
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Objekttop
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=Objekttopomr\u00E5de
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Objekt
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Muligheder
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Objektmuligheder
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Aktioner for sidefod
57
57
 
58
58
  LAYOUT_CONTROL_NAME=Objektsidelayout
59
59
 
@@ -45,7 +45,7 @@ ROOT_ARIA_LABEL_WITHOUT_TITLE=Objektdetails
45
45
 
46
46
  HEADER_ARIA_LABEL_WITH_TITLE=Kopfbereich
47
47
 
48
- HEADER_ARIA_LABEL_WITHOUT_TITLE=Objektkopf
48
+ HEADER_ARIA_LABEL_WITHOUT_TITLE=Objektkopfbereich
49
49
 
50
50
  NAVIGATION_ARIA_LABEL_WITHOUT_TITLE=Objekt
51
51
 
@@ -53,7 +53,7 @@ NAVTOOLBAR_ARIA_LABEL_WITH_TITLE=Optionen
53
53
 
54
54
  NAVTOOLBAR_ARIA_LABEL_WITHOUT_TITLE=Objektoptionen
55
55
 
56
- ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Footer actions
56
+ ARIA_LABEL_TOOLBAR_FOOTER_ACTIONS=Fu\u00DFzeilenaktionen
57
57
 
58
58
  LAYOUT_CONTROL_NAME=Layout der Objektseite
59
59