@openui5/sap.uxap 1.93.3 → 1.96.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.
package/.reuse/dep5 CHANGED
@@ -309,7 +309,7 @@ License: MIT
309
309
  Comment: these files belong to: lodash
310
310
 
311
311
  Files: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
312
- Copyright: 2018 Mathias Nater
312
+ Copyright: 2021 Mathias Nater
313
313
  License: MIT
314
314
  Comment: these files belong to: Hyphenopoly
315
315
 
@@ -347,11 +347,6 @@ Copyright: 2013 Ariya Hidayat and other contributors
347
347
  License: BSD-2-Clause
348
348
  Comment: these files belong to: Esprima
349
349
 
350
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
351
- Copyright: 2006 Google Inc.
352
- License: Apache-2.0
353
- Comment: these files belong to: google-code-prettify
354
-
355
350
  Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/highlight.js/*
356
351
  Copyright: 2006-2020, Ivan Sagalaev
357
352
  License: BSD-3-Clause
@@ -405,6 +400,11 @@ Copyright: 2014 Vitaly Puzrin, Alex Kocharin
405
400
  License: MIT
406
401
  Comment: these files belong to: Markdown-it
407
402
 
403
+ Files: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
404
+ Copyright: 2015-2017 Evgeny Poberezkin
405
+ License: MIT
406
+ Comment: these files belong to: ajv
407
+
408
408
 
409
409
  # Library: sap.ui.mdc:
410
410
 
@@ -452,11 +452,6 @@ Copyright: 2009-2014, Alexis Sellier <self@cloudhead.net>
452
452
  License: Apache-2.0
453
453
  Comment: these files belong to: LESS
454
454
 
455
- Files: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
456
- Copyright: 2015-2017 Evgeny Poberezkin
457
- License: MIT
458
- Comment: these files belong to: ajv
459
-
460
455
  Files: lib/jsdoc/ui5/plugin.js
461
456
  Copyright:
462
457
  2009-2021 SAP SE or an SAP affiliate company and OpenUI5 contributors
package/THIRDPARTY.txt CHANGED
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
6
6
 
7
7
  Library: sap.ui.codeeditor:
8
8
 
9
- Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.4
9
+ Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.13
10
10
  Copyright: 2010, Ajax.org B.V.
11
11
  License: BSD-3-Clause
12
12
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -279,8 +279,8 @@ License: MIT
279
279
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
280
280
  Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
281
281
 
282
- Component: Hyphenopoly, version: 2.4.0
283
- Copyright: 2018 Mathias Nater
282
+ Component: Hyphenopoly, version: 3.4.0
283
+ Copyright: 2021 Mathias Nater
284
284
  License: MIT
285
285
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
286
286
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
@@ -324,12 +324,6 @@ License: BSD-2-Clause
324
324
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-2-Clause.txt
325
325
  Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/esprima.js
326
326
 
327
- Component: google-code-prettify, version: 20130304
328
- Copyright: 2006 Google Inc.
329
- License: Apache-2.0
330
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
331
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
332
-
333
327
  Component: highlight.js, version: 10.4.1
334
328
  Copyright: 2006-2020, Ivan Sagalaev
335
329
  License: BSD-3-Clause
@@ -376,7 +370,7 @@ License: Unicode-DFS-2015
376
370
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Unicode-DFS-2015.txt
377
371
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/webcomponents/Unicode-Data-Files-LICENSE.txt
378
372
 
379
- Component: Adaptive Cards, version: 1.2.3
373
+ Component: Adaptive Cards, version: 2.9.0
380
374
  Copyright: 2017 Microsoft
381
375
  License: MIT
382
376
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -395,6 +389,12 @@ License: MIT
395
389
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
390
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/markdown-it.js
397
391
 
392
+ Component: ajv, version: 6.12.3
393
+ Copyright: 2015-2017 Evgeny Poberezkin
394
+ License: MIT
395
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
+ Contained in: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
397
+
398
398
 
399
399
  Library: sap.ui.mdc:
400
400
 
@@ -450,12 +450,6 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: src/testsuite-utils/src/main/resources/META-INF/less/less.js
452
452
 
453
- Component: ajv, version: 6.12.3
454
- Copyright: 2015-2017 Evgeny Poberezkin
455
- License: MIT
456
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
457
- Contained in: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
458
-
459
453
  Component: JSDoc 3, version: 3.6.7
460
454
  Copyright: 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc
461
455
  License: Apache-2.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.uxap",
3
- "version": "1.93.3",
3
+ "version": "1.96.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.93.3",
18
- "@openui5/sap.m": "1.93.3",
19
- "@openui5/sap.ui.core": "1.93.3",
20
- "@openui5/sap.ui.layout": "1.93.3"
17
+ "@openui5/sap.f": "1.96.2",
18
+ "@openui5/sap.m": "1.96.2",
19
+ "@openui5/sap.ui.core": "1.96.2",
20
+ "@openui5/sap.ui.layout": "1.96.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.93.3</version>
6
+ <version>1.96.2</version>
7
7
  <copyright>OpenUI5
8
8
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
@@ -624,7 +624,7 @@ sap.ui.define([
624
624
 
625
625
  if (this._iCurrentScrollTimeout) {
626
626
  clearTimeout(this._iCurrentScrollTimeout);
627
- jQuery(document.getElementById(this.getId() + "-scroll")).parent().stop(true, false);
627
+ this.$("scroll").parent().stop(true, false);
628
628
  }
629
629
 
630
630
  this._iCurrentScrollTimeout = setTimeout(function () {
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @class
23
23
  * @author SAP SE
24
- * @version 1.93.3
24
+ * @version 1.96.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.93.3
25
+ * @version 1.96.2
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @implements sap.uxap.IHeaderContent
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.93.3
44
+ * @version 1.96.2
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @implements sap.uxap.IHeaderTitle
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.93.3
45
+ * @version 1.96.2
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -910,6 +910,10 @@ sap.ui.define([
910
910
  this._scrollTo(0, 0, 0);
911
911
  this._bHeaderExpanded = true;
912
912
  this._updateToggleHeaderVisualIndicators();
913
+
914
+ if (this._isHeaderPinnable()) {
915
+ this._getHeaderContent()._getPinButton().setVisible(!this._headerBiggerThanAllowedToBeExpandedInTitleArea());
916
+ }
913
917
  };
914
918
 
915
919
  ObjectPageLayout.prototype._handleDynamicTitlePress = function () {
@@ -1173,7 +1177,6 @@ sap.ui.define([
1173
1177
  }
1174
1178
 
1175
1179
  if (oHeaderContent && oHeaderContent.supportsPinUnpin()) {
1176
- this.$().toggleClass("sapUxAPObjectPageLayoutHeaderPinnable", oHeaderContent.getPinnable());
1177
1180
  this._updatePinButtonState();
1178
1181
  }
1179
1182
 
@@ -1232,7 +1235,7 @@ sap.ui.define([
1232
1235
 
1233
1236
  this._setSectionsFocusValues();
1234
1237
 
1235
- if (this._preserveHeaderStateOnScroll()) {
1238
+ if (this.getPreserveHeaderStateOnScroll()) {
1236
1239
  this._overridePreserveHeaderStateOnScroll();
1237
1240
  }
1238
1241
 
@@ -1565,17 +1568,17 @@ sap.ui.define([
1565
1568
  };
1566
1569
 
1567
1570
  ObjectPageLayout.prototype._cacheDomElements = function () {
1568
- this._$footerWrapper = jQuery(document.getElementById(this.getId() + "-footerWrapper"));
1569
- this._$titleArea = jQuery(document.getElementById(this.getId() + "-headerTitle"));
1570
- this._$anchorBar = jQuery(document.getElementById(this.getId() + "-anchorBar"));
1571
- this._$stickyAnchorBar = jQuery(document.getElementById(this.getId() + "-stickyAnchorBar"));
1572
- this._$opWrapper = jQuery(document.getElementById(this.getId() + "-opwrapper"));
1573
- this._$spacer = jQuery(document.getElementById(this.getId() + "-spacer"));
1574
- this._$headerContent = jQuery(document.getElementById(this.getId() + "-headerContent"));
1575
- this._$stickyHeaderContent = jQuery(document.getElementById(this.getId() + "-stickyHeaderContent"));
1576
- this._$contentContainer = jQuery(document.getElementById(this.getId() + "-scroll"));
1577
- this._$sectionsContainer = jQuery(document.getElementById(this.getId() + "-sectionsContainer"));
1578
- this._$skipFastGroupAnchor = jQuery(document.getElementById(this.getId() + "-skipFastGroupAnchor"));
1571
+ this._$footerWrapper = this.$("footerWrapper");
1572
+ this._$titleArea = this.$("headerTitle");
1573
+ this._$anchorBar = this.$("anchorBar");
1574
+ this._$stickyAnchorBar = this.$("stickyAnchorBar");
1575
+ this._$opWrapper = this.$("opwrapper");
1576
+ this._$spacer = this.$("spacer");
1577
+ this._$headerContent = this.$("headerContent");
1578
+ this._$stickyHeaderContent = this.$("stickyHeaderContent");
1579
+ this._$contentContainer = this.$("scroll");
1580
+ this._$sectionsContainer = this.$("sectionsContainer");
1581
+ this._$skipFastGroupAnchor = this.$("skipFastGroupAnchor");
1579
1582
 
1580
1583
  // BCP 1870201875: explicitly set the latest scrollContainer dom ref
1581
1584
  // (as the scroller obtains the latest scrollContainer dom ref in a LATER hook, which fails in conditions detailed in BCP 1870201875)
@@ -2503,7 +2506,7 @@ sap.ui.define([
2503
2506
  sPreviousSubSectionId,
2504
2507
  sPreviousSectionId,
2505
2508
  bAllowScrollSectionToTop,
2506
- bStickyTitleMode = !this._bHeaderExpanded,
2509
+ bStickyTitleMode = this._bHeaderInTitleArea || !this._bHeaderExpanded,
2507
2510
  bIsFirstVisibleSubSection,
2508
2511
  bParentIsFirstVisibleSection,
2509
2512
  bIsFullscreenSection,
@@ -2524,7 +2527,8 @@ sap.ui.define([
2524
2527
 
2525
2528
  this.iFooterHeight = this._getFooterHeight();
2526
2529
 
2527
- var iSubSectionIndex = -1;
2530
+ var iSubSectionIndex = -1,
2531
+ iSectionsContainerOffsetTop = this._$sectionsContainer.position().top;
2528
2532
 
2529
2533
  this._aSectionBases.forEach(function (oSectionBase) {
2530
2534
  var oInfo = this._oSectionInfo[oSectionBase.getId()],
@@ -2608,7 +2612,7 @@ sap.ui.define([
2608
2612
  bIsFirstVisibleSubSection = bParentIsFirstVisibleSection && (iSubSectionIndex === 0); /* index of *visible* subSections is first */
2609
2613
  bIsFullscreenSection = oSectionBase.hasStyleClass(ObjectPageSubSection.FIT_CONTAINER_CLASS);
2610
2614
 
2611
- oSectionBase._setHeight(this._computeSubSectionHeight(bIsFirstVisibleSubSection, bIsFullscreenSection, Math.ceil(realTop)));
2615
+ oSectionBase._setHeight(this._computeSubSectionHeight(bIsFirstVisibleSubSection, bIsFullscreenSection, Math.ceil(realTop), iSectionsContainerOffsetTop));
2612
2616
  }
2613
2617
 
2614
2618
  }, this);
@@ -2668,7 +2672,7 @@ sap.ui.define([
2668
2672
  return true; // return success flag
2669
2673
  };
2670
2674
 
2671
- ObjectPageLayout.prototype._computeSubSectionHeight = function(bFirstVisibleSubSection, bFullscreenSection, iSubSectionOffsetTop) {
2675
+ ObjectPageLayout.prototype._computeSubSectionHeight = function(bFirstVisibleSubSection, bFullscreenSection, iSubSectionOffsetTop, iSectionsContainerOffsetTop) {
2672
2676
 
2673
2677
  var iSectionsContainerHeight,
2674
2678
  iRemainingSectionContentHeight;
@@ -2681,22 +2685,20 @@ sap.ui.define([
2681
2685
  // depends on the position of the section in the sections list
2682
2686
  // 1) first visible is initially displayed in container with *expanded* header
2683
2687
  // => obtain container height when *expanded* header
2684
- // 2) non-first visible is displayed in container with *snapped* header
2688
+ // 2) non-first visible is always displayed in container with *snapped* header
2685
2689
  // (because by the time we scroll to show the section, the header is already snapped)
2686
2690
  // => obtain container height when *snapped* header
2687
2691
  var bIsHeaderExpanded = (this._bAllContentFitsContainer) ? this._bHeaderExpanded : bFirstVisibleSubSection;
2688
2692
 
2689
2693
 
2690
2694
  // size the section to have the full height of its container
2691
- iSectionsContainerHeight = this._getSectionsContainerHeight(!bIsHeaderExpanded);
2695
+ iSectionsContainerHeight = this._getSectionsContainerHeight(bIsHeaderExpanded);
2692
2696
 
2693
2697
 
2694
2698
  if (this._bAllContentFitsContainer) {
2695
- // if we have a single fullscreen subsection [that takes the entire height of the sections container]
2696
- // => then the only *other* content in the sections container [besides the subSection]
2697
- // is the title of its parent section and the footer space
2698
- // => subtract the above heights from the subSection height to *avoid having a scrollbar*
2699
- iRemainingSectionContentHeight = (iSubSectionOffsetTop - this.iHeaderContentHeight /*- this.iAnchorBarHeight*/) + this.iFooterHeight;
2699
+ // if we have a single fullscreen subsection [that takes the entire available height within the sections container]
2700
+ // => subtract the heights above and bellow the subSection to *avoid having a scrollbar*
2701
+ iRemainingSectionContentHeight = (iSubSectionOffsetTop - iSectionsContainerOffsetTop) + this.iFooterHeight;
2700
2702
  iSectionsContainerHeight -= iRemainingSectionContentHeight;
2701
2703
  }
2702
2704
 
@@ -2768,10 +2770,11 @@ sap.ui.define([
2768
2770
  return this.getDomRef().getBoundingClientRect().height - this._getStickyAreaHeight(bIsStickyMode);
2769
2771
  };
2770
2772
 
2771
- ObjectPageLayout.prototype._getSectionsContainerHeight = function(bIsStickyMode) {
2773
+ ObjectPageLayout.prototype._getSectionsContainerHeight = function(bIsHeaderExpanded) {
2772
2774
 
2773
- var iScrollContainerHeight = this._getScrollableViewportHeight(bIsStickyMode);
2774
- if (!bIsStickyMode) {
2775
+ var bIsStickyMode = !bIsHeaderExpanded,
2776
+ iScrollContainerHeight = this._getScrollableViewportHeight(bIsStickyMode);
2777
+ if (!bIsStickyMode && !this._bHeaderInTitleArea) {
2775
2778
  // for expanded mode, subtract the heights of headerContent and anchorBar
2776
2779
  // as they are also part of the scrollable content when *expanded* header,
2777
2780
  // but we need the height of the *sections area bellow* them
@@ -3008,23 +3011,23 @@ sap.ui.define([
3008
3011
  return;
3009
3012
  }
3010
3013
 
3011
- if (this._preserveHeaderStateOnScroll()) {
3014
+ if (this.getPreserveHeaderStateOnScroll()) {
3012
3015
  this._overridePreserveHeaderStateOnScroll();
3013
3016
  }
3014
3017
 
3015
3018
  this._adjustHeaderHeights();
3016
- this._requestAdjustLayout() // call adjust layout to calculate the new section sizes
3017
- .then(function () {
3018
- if (oOldSize.height > 0 || oOldSize.width > 0) {
3019
- // if the content that changed its height was *above* the current scroll position =>
3020
- // then the current scroll position updated respectively and => triggered a scroll event =>
3021
- // a new section may become selected during that scroll;
3022
- // problem if this happened BEFORE _requestAdjustLayout executed => wrong section may have been selected
3023
- // solution implemented bellow is to ensure that scroll handler is called with the latest scrollTop => we ensure the correct section is selected
3024
- iScrollTop = this._$opWrapper.scrollTop();
3025
- this._updateSelectionOnScroll(iScrollTop);
3026
- }
3027
- }.bind(this));
3019
+ this._requestAdjustLayout(true); // call adjust layout to calculate the new section sizes
3020
+
3021
+ if (oOldSize.height > 0 || oOldSize.width > 0) {
3022
+ // if the content that changed its height was *above* the current scroll position =>
3023
+ // then the current scroll position updated respectively and => triggered a scroll event =>
3024
+ // a new section may become selected during that scroll;
3025
+ // problem if this happened BEFORE _requestAdjustLayout executed => wrong section may have been selected
3026
+ // solution implemented bellow is to ensure that scroll handler is called with the latest scrollTop => we ensure the correct section is selected
3027
+ iScrollTop = this._$opWrapper.scrollTop();
3028
+ this._updateSelectionOnScroll(iScrollTop);
3029
+ }
3030
+
3028
3031
  };
3029
3032
 
3030
3033
  /**
@@ -3064,8 +3067,14 @@ sap.ui.define([
3064
3067
  }
3065
3068
 
3066
3069
  if (this._bHeaderInTitleArea && this._headerBiggerThanAllowedToBeExpandedInTitleArea()) {
3070
+ if (this._isHeaderPinnable()) {
3071
+ this._updatePinButtonState();
3072
+ }
3073
+
3067
3074
  this._expandHeader(false);
3068
3075
  this._scrollTo(0, 0);
3076
+ } else if (this._isHeaderPinnable() && !this._headerBiggerThanAllowedToBeExpandedInTitleArea()) {
3077
+ this._updatePinButtonState();
3069
3078
  }
3070
3079
 
3071
3080
  // Let the dynamic header know size changed first, because this might lead to header dimensions changes
@@ -3293,12 +3302,12 @@ sap.ui.define([
3293
3302
  if (iScrollTop === 0) {
3294
3303
  // if we have arrow from the title inside the ContentHeader and the ContentHeader isn't scrolled we have to put higher z-index to the ContentHeader
3295
3304
  // otherwise part of the arrow is cut off
3296
- jQuery(document.getElementById(this.getId() + "-scroll")).css("z-index", "1000");
3305
+ this.$("scroll").css("z-index", "1000");
3297
3306
  bScrolled = false;
3298
3307
  } else if (!bScrolled) {
3299
3308
  bScrolled = true;
3300
3309
  // and we have to "reset" the z-index it when we start scrolling
3301
- jQuery(document.getElementById(this.getId() + "-scroll")).css("z-index", "0");
3310
+ this.$("scroll").css("z-index", "0");
3302
3311
  }
3303
3312
  }
3304
3313
  };
@@ -3506,6 +3515,10 @@ sap.ui.define([
3506
3515
  this._bHeaderExpanded = true;
3507
3516
  this._adjustHeaderHeights();
3508
3517
  this._updateToggleHeaderVisualIndicators();
3518
+
3519
+ if (this._isHeaderPinnable()) {
3520
+ this._getHeaderContent()._getPinButton().setVisible(!this._headerBiggerThanAllowedToBeExpandedInTitleArea());
3521
+ }
3509
3522
  }
3510
3523
  };
3511
3524
 
@@ -4360,10 +4373,6 @@ sap.ui.define([
4360
4373
  && this.getAlwaysShowContentHeader();
4361
4374
  };
4362
4375
 
4363
- ObjectPageLayout.prototype._shouldOverridePreserveHeaderStateOnScroll = function () {
4364
- return !Device.system.desktop && this._headerBiggerThanAllowedToBeFixed();
4365
- };
4366
-
4367
4376
  ObjectPageLayout.prototype._headerBiggerThanAllowedToBeFixed = function () {
4368
4377
  var iControlHeight = this._getOwnHeight();
4369
4378
 
@@ -4457,14 +4466,25 @@ sap.ui.define([
4457
4466
 
4458
4467
  ObjectPageLayout.prototype._isHeaderPinnable = function () {
4459
4468
  var oHeader = this._getHeaderContent();
4460
- return oHeader && oHeader.getPinnable()
4461
- && this._bHeaderExpanded
4462
- && !this.getPreserveHeaderStateOnScroll();
4469
+
4470
+ return oHeader && oHeader.supportsPinUnpin() && oHeader.getPinnable();
4471
+ };
4472
+
4473
+ ObjectPageLayout.prototype._shouldPinUnpinHeader = function () {
4474
+ return this._bHeaderExpanded
4475
+ && !this.getPreserveHeaderStateOnScroll()
4476
+ && !this._headerBiggerThanAllowedToBeExpandedInTitleArea();
4463
4477
  };
4464
4478
 
4465
4479
  ObjectPageLayout.prototype._updatePinButtonState = function() {
4466
- var bShouldPin = this.getHeaderContentPinned() && this._isHeaderPinnable();
4467
- this._getHeaderContent()._togglePinButton(bShouldPin);
4480
+ var bIsHeaderPinnable = this._isHeaderPinnable(),
4481
+ bShouldPin = bIsHeaderPinnable && this.getHeaderContentPinned() && this._shouldPinUnpinHeader(),
4482
+ oHeaderContent = this._getHeaderContent();
4483
+
4484
+ oHeaderContent._togglePinButton(bShouldPin);
4485
+ this.$().toggleClass("sapUxAPObjectPageLayoutHeaderPinnable", bIsHeaderPinnable);
4486
+ oHeaderContent._getPinButton().setVisible(!this._headerBiggerThanAllowedToBeExpandedInTitleArea());
4487
+
4468
4488
  if (bShouldPin) {
4469
4489
  this._pin();
4470
4490
  } else {
@@ -4489,13 +4509,15 @@ sap.ui.define([
4489
4509
  * @private
4490
4510
  */
4491
4511
  ObjectPageLayout.prototype._overridePreserveHeaderStateOnScroll = function () {
4492
- if (!this._shouldOverridePreserveHeaderStateOnScroll()) {
4493
- this._bHeaderBiggerThanAllowedHeight = false;
4512
+ var bOldValue = this._bHeaderBiggerThanAllowedHeight, bChange;
4513
+
4514
+ this._bHeaderBiggerThanAllowedHeight = this._headerBiggerThanAllowedToBeFixed();
4515
+ bChange = bOldValue !== this._bHeaderBiggerThanAllowedHeight;
4516
+
4517
+ if (!this._bHeaderBiggerThanAllowedHeight || !bChange) {
4494
4518
  return;
4495
4519
  }
4496
4520
 
4497
- this._bHeaderBiggerThanAllowedHeight = true;
4498
-
4499
4521
  //move the header to content
4500
4522
  if (this._bHeaderExpanded) {
4501
4523
  this._moveAnchorBarToContentArea();
@@ -16,8 +16,9 @@ sap.ui.define([
16
16
  "sap/m/MenuButton",
17
17
  "sap/m/Menu",
18
18
  "sap/m/MenuItem",
19
- "sap/ui/core/IconPool"
20
- ], function (jQuery, BaseObject, Core, CustomData, Configuration, ManagedObjectObserver, AnchorBar, Button, MenuButton, Menu, MenuItem, IconPool) {
19
+ "sap/ui/core/IconPool",
20
+ "sap/ui/core/InvisibleText"
21
+ ], function (jQuery, BaseObject, Core, CustomData, Configuration, ManagedObjectObserver, AnchorBar, Button, MenuButton, Menu, MenuItem, IconPool, InvisibleText) {
21
22
  "use strict";
22
23
 
23
24
  var ABHelper = BaseObject.extend("sap.uxap._helpers.AB", {
@@ -145,7 +146,8 @@ sap.ui.define([
145
146
  sButtonTitle,
146
147
  sButtonIcon,
147
148
  oMenuItem,
148
- oCustomButton;
149
+ oCustomButton,
150
+ sSplitButtonDescInvsibleTextId = InvisibleText.getStaticId("sap.m", "SPLIT_BUTTON_DESCRIPTION");
149
151
 
150
152
  //tablet & desktop mechanism
151
153
  if (oAnchorBar && this.getObjectPageLayout().getShowAnchorBar()) {
@@ -180,6 +182,13 @@ sap.ui.define([
180
182
  mAriaProps.role = "option";
181
183
  mAriaProps.setsize = oContent.length;
182
184
  mAriaProps.posinset = iIndex + 1;
185
+
186
+ mAriaProps.labelledby = mAriaProps.labelledby
187
+ .split(" ")
188
+ .filter(function (sId) {
189
+ return sId !== sSplitButtonDescInvsibleTextId;
190
+ })
191
+ .join(" ");
183
192
  }
184
193
  };
185
194
 
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Element
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.93.3
40
+ * @version 1.96.2
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -147,7 +147,7 @@ sap.ui.define([
147
147
  ObjectPageSection.prototype._updateImportance = function (oCurrentMedia) {
148
148
  var oObjectPage = this._getObjectPageLayout(),
149
149
  sImportanceLevelToHide = this._getImportanceLevelToHide(oCurrentMedia),
150
- oHeaderDOM = this.bOutput && document.getElementById(this.getId() + "-header");
150
+ oHeaderDOM = this.bOutput && this.getDomRef("header");
151
151
 
152
152
  this.getSubSections().forEach(function (oSubSection) {
153
153
  oSubSection._applyImportanceRules(sImportanceLevelToHide);
@@ -512,12 +512,13 @@ sap.ui.define([
512
512
  return;
513
513
  }
514
514
 
515
- this._$spacer = jQuery(document.getElementById(oObjectPageLayout.getId() + "-spacer"));
515
+ this._$spacer = oObjectPageLayout.$("spacer");
516
516
 
517
- if (this._bShouldFocusSeeMoreLessButton) {
518
- this._bShouldFocusSeeMoreLessButton = false;
517
+ if (this._bShouldFocusSeeMoreLessButton && document.activeElement === document.body) {
519
518
  this._oCurrentlyVisibleSeeMoreLessButton.focus();
520
519
  }
520
+
521
+ this._bShouldFocusSeeMoreLessButton = false;
521
522
  };
522
523
 
523
524
  ObjectPageSubSection.prototype.onBeforeRendering = function () {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @constructor
26
26
  * @alias sap.uxap.changeHandler.AddIFrameObjectPageLayout
27
27
  * @author SAP SE
28
- * @version 1.93.3
28
+ * @version 1.96.2
29
29
  * @since 1.75
30
30
  * @experimental Since 1.75
31
31
  */
@@ -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.93.3
16
+ * @version 1.96.2
17
17
  * @experimental Since 1.54
18
18
  */
19
19
 
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @constructor
22
22
  * @alias sap.uxap.changeHandler.RenameObjectPageSection
23
23
  * @author SAP SE
24
- * @version 1.93.3
24
+ * @version 1.96.2
25
25
  * @experimental Since 1.50
26
26
  */
27
27
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @namespace
25
25
  * @name sap.uxap
26
26
  * @author SAP SE
27
- * @version 1.93.3
27
+ * @version 1.96.2
28
28
  * @since 1.36
29
29
  * @public
30
30
  */
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  "sap.uxap.ObjectPageHeaderLayoutData",
70
70
  "sap.uxap.ObjectPageLazyLoader"
71
71
  ],
72
- version: "1.93.3",
72
+ version: "1.96.2",
73
73
  extensions: {
74
74
  flChangeHandlers: {
75
75
  "sap.uxap.ObjectPageHeader": "sap/uxap/flexibility/ObjectPageHeader",
@@ -110,7 +110,7 @@
110
110
  }
111
111
 
112
112
  .sapUiVltCell > .sapMObjectAttributeDiv, .sapUiVltCell > .sapMObjStatus {
113
- line-height: 1.5rem;
113
+ line-height: 1rem;
114
114
  }
115
115
 
116
116
  /* ProgressIndicator has display flex, but OPHeaderContent override it by setting display inline-block
@@ -134,20 +134,6 @@
134
134
  width: 100% !important;
135
135
  }
136
136
  }
137
- .sapMSlt {
138
- height: 1.625rem;
139
- margin-top: 0.1875rem;
140
- margin-bottom: 0.1875rem;
141
- .sapMSltLabel {
142
- line-height: 1.5rem;
143
- padding-right: 2.5rem;
144
- padding-left: 0.5rem;
145
- }
146
- .sapMSltArrow {
147
- width: 2rem;
148
- line-height: 1.625rem;
149
- }
150
- }
151
137
  }
152
138
 
153
139
  .sapUxAPObjectPageHeaderLayoutHiddenL,
package/ui5.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- specVersion: "1.1"
2
+ specVersion: "2.0"
3
3
  type: library
4
4
  metadata:
5
5
  name: sap.uxap
@@ -7,3 +7,6 @@ metadata:
7
7
  OpenUI5
8
8
  * (c) Copyright 2009-${currentYear} SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10
+ resources:
11
+ configuration:
12
+ propertiesFileSourceEncoding: ISO-8859-1