@openui5/sap.m 1.84.23 → 1.84.26

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 (301) hide show
  1. package/LICENSE.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +3 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/App.js +1 -1
  9. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  10. package/src/sap/m/Avatar.js +1 -1
  11. package/src/sap/m/Bar.js +1 -1
  12. package/src/sap/m/Breadcrumbs.js +1 -1
  13. package/src/sap/m/BusyDialog.js +1 -1
  14. package/src/sap/m/BusyIndicator.js +1 -1
  15. package/src/sap/m/Button.js +1 -1
  16. package/src/sap/m/Carousel.js +1 -1
  17. package/src/sap/m/CarouselLayout.js +1 -1
  18. package/src/sap/m/CheckBox.js +1 -1
  19. package/src/sap/m/ColorPalette.js +1 -1
  20. package/src/sap/m/ColorPalettePopover.js +1 -1
  21. package/src/sap/m/Column.js +1 -1
  22. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  23. package/src/sap/m/ColumnListItem.js +1 -1
  24. package/src/sap/m/ColumnListItemRenderer.js +6 -2
  25. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  29. package/src/sap/m/ComboBox.js +1 -1
  30. package/src/sap/m/ComboBoxBase.js +1 -1
  31. package/src/sap/m/ComboBoxTextField.js +1 -1
  32. package/src/sap/m/CustomListItem.js +1 -1
  33. package/src/sap/m/CustomTile.js +1 -1
  34. package/src/sap/m/CustomTreeItem.js +1 -1
  35. package/src/sap/m/DatePicker.js +1 -1
  36. package/src/sap/m/DateRangeSelection.js +2 -2
  37. package/src/sap/m/DateTimeField.js +1 -1
  38. package/src/sap/m/DateTimeInput.js +1 -1
  39. package/src/sap/m/DateTimePicker.js +1 -1
  40. package/src/sap/m/Dialog.js +1 -1
  41. package/src/sap/m/DisplayListItem.js +1 -1
  42. package/src/sap/m/DraftIndicator.js +1 -1
  43. package/src/sap/m/FacetFilter.js +1 -1
  44. package/src/sap/m/FacetFilterItem.js +1 -1
  45. package/src/sap/m/FacetFilterList.js +1 -1
  46. package/src/sap/m/FeedContent.js +1 -1
  47. package/src/sap/m/FeedInput.js +2 -2
  48. package/src/sap/m/FeedListItem.js +1 -1
  49. package/src/sap/m/FeedListItemAction.js +1 -1
  50. package/src/sap/m/Fiori20Adapter.js +2 -2
  51. package/src/sap/m/FlexBox.js +1 -1
  52. package/src/sap/m/FlexItemData.js +1 -1
  53. package/src/sap/m/FormattedText.js +10 -10
  54. package/src/sap/m/GenericTag.js +1 -1
  55. package/src/sap/m/GenericTile.js +1 -1
  56. package/src/sap/m/GroupHeaderListItem.js +1 -1
  57. package/src/sap/m/GrowingEnablement.js +2 -15
  58. package/src/sap/m/GrowingList.js +1 -1
  59. package/src/sap/m/HBox.js +1 -1
  60. package/src/sap/m/HeaderContainer.js +1 -1
  61. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  62. package/src/sap/m/IconTabBar.js +1 -1
  63. package/src/sap/m/IconTabBarSelectList.js +1 -1
  64. package/src/sap/m/IconTabFilter.js +1 -1
  65. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  66. package/src/sap/m/IconTabHeader.js +1 -1
  67. package/src/sap/m/IconTabSeparator.js +1 -1
  68. package/src/sap/m/Image.js +1 -1
  69. package/src/sap/m/ImageContent.js +1 -1
  70. package/src/sap/m/Input.js +5 -3
  71. package/src/sap/m/InputBase.js +1 -1
  72. package/src/sap/m/InputListItem.js +1 -1
  73. package/src/sap/m/Label.js +1 -1
  74. package/src/sap/m/LightBox.js +1 -1
  75. package/src/sap/m/LightBoxItem.js +1 -1
  76. package/src/sap/m/Link.js +1 -1
  77. package/src/sap/m/List.js +1 -1
  78. package/src/sap/m/ListBase.js +1 -1
  79. package/src/sap/m/ListItemBase.js +1 -1
  80. package/src/sap/m/MaskEnabler.js +1 -1
  81. package/src/sap/m/MaskInput.js +1 -1
  82. package/src/sap/m/MaskInputRule.js +1 -1
  83. package/src/sap/m/Menu.js +1 -1
  84. package/src/sap/m/MenuButton.js +1 -1
  85. package/src/sap/m/MenuItem.js +1 -1
  86. package/src/sap/m/MenuListItem.js +1 -1
  87. package/src/sap/m/MessageItem.js +1 -1
  88. package/src/sap/m/MessageListItem.js +1 -1
  89. package/src/sap/m/MessagePage.js +1 -1
  90. package/src/sap/m/MessagePopover.js +1 -1
  91. package/src/sap/m/MessagePopoverItem.js +1 -1
  92. package/src/sap/m/MessageStrip.js +1 -1
  93. package/src/sap/m/MessageToast.js +1 -1
  94. package/src/sap/m/MessageView.js +1 -1
  95. package/src/sap/m/MultiComboBox.js +1 -1
  96. package/src/sap/m/MultiEditField.js +1 -1
  97. package/src/sap/m/MultiInput.js +1 -1
  98. package/src/sap/m/NavContainer.js +1 -1
  99. package/src/sap/m/NewsContent.js +1 -1
  100. package/src/sap/m/NotificationListBase.js +1 -1
  101. package/src/sap/m/NotificationListGroup.js +1 -1
  102. package/src/sap/m/NotificationListItem.js +1 -1
  103. package/src/sap/m/NumericContent.js +1 -1
  104. package/src/sap/m/NumericContentRenderer.js +1 -1
  105. package/src/sap/m/ObjectAttribute.js +1 -1
  106. package/src/sap/m/ObjectHeader.js +1 -1
  107. package/src/sap/m/ObjectIdentifier.js +1 -1
  108. package/src/sap/m/ObjectListItem.js +1 -1
  109. package/src/sap/m/ObjectMarker.js +1 -1
  110. package/src/sap/m/ObjectNumber.js +1 -1
  111. package/src/sap/m/ObjectStatus.js +11 -9
  112. package/src/sap/m/OverflowToolbar.js +5 -1
  113. package/src/sap/m/OverflowToolbarAssociativePopover.js +4 -2
  114. package/src/sap/m/OverflowToolbarButton.js +1 -1
  115. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  116. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  117. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  118. package/src/sap/m/P13nColumnsItem.js +1 -1
  119. package/src/sap/m/P13nColumnsPanel.js +1 -1
  120. package/src/sap/m/P13nConditionPanel.js +1 -1
  121. package/src/sap/m/P13nDialog.js +1 -1
  122. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  123. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  124. package/src/sap/m/P13nFilterItem.js +1 -1
  125. package/src/sap/m/P13nFilterPanel.js +1 -1
  126. package/src/sap/m/P13nGroupItem.js +1 -1
  127. package/src/sap/m/P13nGroupPanel.js +1 -1
  128. package/src/sap/m/P13nItem.js +1 -1
  129. package/src/sap/m/P13nPanel.js +1 -1
  130. package/src/sap/m/P13nSelectionItem.js +1 -1
  131. package/src/sap/m/P13nSelectionPanel.js +1 -1
  132. package/src/sap/m/P13nSortItem.js +1 -1
  133. package/src/sap/m/P13nSortPanel.js +1 -1
  134. package/src/sap/m/PDFViewer.js +2 -2
  135. package/src/sap/m/PDFViewerRenderer.js +15 -7
  136. package/src/sap/m/Page.js +1 -1
  137. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  138. package/src/sap/m/PagingButton.js +1 -1
  139. package/src/sap/m/Panel.js +1 -1
  140. package/src/sap/m/PlanningCalendar.js +1 -1
  141. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  142. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  143. package/src/sap/m/PlanningCalendarRow.js +1 -1
  144. package/src/sap/m/PlanningCalendarView.js +1 -1
  145. package/src/sap/m/Popover.js +112 -70
  146. package/src/sap/m/ProgressIndicator.js +1 -1
  147. package/src/sap/m/PullToRefresh.js +1 -1
  148. package/src/sap/m/QuickView.js +1 -1
  149. package/src/sap/m/QuickViewBase.js +1 -1
  150. package/src/sap/m/QuickViewCard.js +1 -1
  151. package/src/sap/m/QuickViewGroup.js +1 -1
  152. package/src/sap/m/QuickViewGroupElement.js +1 -1
  153. package/src/sap/m/QuickViewPage.js +1 -1
  154. package/src/sap/m/RadioButton.js +1 -1
  155. package/src/sap/m/RadioButtonGroup.js +1 -1
  156. package/src/sap/m/RangeSlider.js +1 -1
  157. package/src/sap/m/RatingIndicator.js +1 -1
  158. package/src/sap/m/ResponsivePopover.js +1 -1
  159. package/src/sap/m/ResponsiveScale.js +1 -1
  160. package/src/sap/m/ScrollBar.js +1 -1
  161. package/src/sap/m/ScrollContainer.js +1 -1
  162. package/src/sap/m/SearchField.js +1 -1
  163. package/src/sap/m/SegmentedButton.js +1 -1
  164. package/src/sap/m/SegmentedButtonItem.js +1 -1
  165. package/src/sap/m/Select.js +50 -3
  166. package/src/sap/m/SelectDialog.js +1 -1
  167. package/src/sap/m/SelectList.js +1 -1
  168. package/src/sap/m/SelectRenderer.js +34 -18
  169. package/src/sap/m/SelectionDetails.js +1 -1
  170. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  171. package/src/sap/m/SelectionDetailsItem.js +1 -1
  172. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  173. package/src/sap/m/Shell.js +1 -1
  174. package/src/sap/m/SimpleFixFlex.js +1 -1
  175. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  176. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  177. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  178. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  179. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  180. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  181. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  182. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  183. package/src/sap/m/SlideTile.js +1 -1
  184. package/src/sap/m/Slider.js +1 -1
  185. package/src/sap/m/SliderTooltip.js +1 -1
  186. package/src/sap/m/SliderTooltipBase.js +1 -1
  187. package/src/sap/m/SliderTooltipContainer.js +1 -1
  188. package/src/sap/m/SplitApp.js +1 -1
  189. package/src/sap/m/SplitButton.js +1 -1
  190. package/src/sap/m/SplitContainer.js +1 -1
  191. package/src/sap/m/StandardListItem.js +1 -1
  192. package/src/sap/m/StandardTile.js +1 -1
  193. package/src/sap/m/StandardTreeItem.js +1 -1
  194. package/src/sap/m/StepInput.js +1 -1
  195. package/src/sap/m/SuggestionItem.js +1 -1
  196. package/src/sap/m/SuggestionsPopover.js +1 -1
  197. package/src/sap/m/Switch.js +1 -1
  198. package/src/sap/m/TabContainer.js +1 -1
  199. package/src/sap/m/TabContainerItem.js +1 -1
  200. package/src/sap/m/TabStrip.js +1 -1
  201. package/src/sap/m/TabStripItem.js +1 -1
  202. package/src/sap/m/Table.js +7 -1
  203. package/src/sap/m/TablePersoController.js +1 -1
  204. package/src/sap/m/TablePersoDialog.js +1 -1
  205. package/src/sap/m/TablePersoProvider.js +1 -1
  206. package/src/sap/m/TableRenderer.js +27 -0
  207. package/src/sap/m/TableSelectDialog.js +1 -1
  208. package/src/sap/m/Text.js +1 -1
  209. package/src/sap/m/TextArea.js +1 -1
  210. package/src/sap/m/Tile.js +1 -1
  211. package/src/sap/m/TileContainer.js +1 -1
  212. package/src/sap/m/TileContent.js +1 -1
  213. package/src/sap/m/TimePicker.js +44 -18
  214. package/src/sap/m/TimePickerSlider.js +1 -1
  215. package/src/sap/m/TimePickerSliders.js +1 -1
  216. package/src/sap/m/Title.js +1 -1
  217. package/src/sap/m/TitlePropagationSupport.js +1 -1
  218. package/src/sap/m/ToggleButton.js +1 -1
  219. package/src/sap/m/Token.js +1 -1
  220. package/src/sap/m/Tokenizer.js +1 -1
  221. package/src/sap/m/Toolbar.js +1 -1
  222. package/src/sap/m/ToolbarLayoutData.js +1 -1
  223. package/src/sap/m/ToolbarSeparator.js +1 -1
  224. package/src/sap/m/ToolbarSpacer.js +1 -1
  225. package/src/sap/m/Tree.js +1 -1
  226. package/src/sap/m/TreeItemBase.js +1 -1
  227. package/src/sap/m/UploadCollection.js +2 -2
  228. package/src/sap/m/UploadCollectionItem.js +1 -1
  229. package/src/sap/m/UploadCollectionParameter.js +1 -1
  230. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  231. package/src/sap/m/VBox.js +1 -1
  232. package/src/sap/m/ValueStateHeader.js +1 -1
  233. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  234. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  235. package/src/sap/m/ViewSettingsDialog.js +1 -1
  236. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  237. package/src/sap/m/ViewSettingsItem.js +1 -1
  238. package/src/sap/m/VisibleItem.js +1 -1
  239. package/src/sap/m/WheelSlider.js +1 -1
  240. package/src/sap/m/WheelSliderContainer.js +1 -1
  241. package/src/sap/m/Wizard.js +1 -1
  242. package/src/sap/m/WizardProgressNavigator.js +1 -1
  243. package/src/sap/m/WizardStep.js +1 -1
  244. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  245. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  246. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  247. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  248. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  249. package/src/sap/m/delegate/ValueStateMessage.js +2 -0
  250. package/src/sap/m/library.js +2 -2
  251. package/src/sap/m/messagebundle_fr.properties +2 -2
  252. package/src/sap/m/messagebundle_it.properties +3 -3
  253. package/src/sap/m/messagebundle_th.properties +1 -1
  254. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  255. package/src/sap/m/plugins/PluginBase.js +1 -1
  256. package/src/sap/m/semantic/AddAction.js +1 -1
  257. package/src/sap/m/semantic/CancelAction.js +1 -1
  258. package/src/sap/m/semantic/DeleteAction.js +1 -1
  259. package/src/sap/m/semantic/DetailPage.js +1 -1
  260. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  261. package/src/sap/m/semantic/EditAction.js +1 -1
  262. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  263. package/src/sap/m/semantic/FilterAction.js +1 -1
  264. package/src/sap/m/semantic/FilterSelect.js +1 -1
  265. package/src/sap/m/semantic/FlagAction.js +1 -1
  266. package/src/sap/m/semantic/ForwardAction.js +1 -1
  267. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  268. package/src/sap/m/semantic/GroupAction.js +1 -1
  269. package/src/sap/m/semantic/GroupSelect.js +1 -1
  270. package/src/sap/m/semantic/MainAction.js +1 -1
  271. package/src/sap/m/semantic/MasterPage.js +1 -1
  272. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  273. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  274. package/src/sap/m/semantic/NegativeAction.js +1 -1
  275. package/src/sap/m/semantic/OpenInAction.js +1 -1
  276. package/src/sap/m/semantic/PositiveAction.js +1 -1
  277. package/src/sap/m/semantic/PrintAction.js +1 -1
  278. package/src/sap/m/semantic/SaveAction.js +1 -1
  279. package/src/sap/m/semantic/Segment.js +1 -1
  280. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  281. package/src/sap/m/semantic/SemanticButton.js +1 -1
  282. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  283. package/src/sap/m/semantic/SemanticControl.js +1 -1
  284. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  285. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  286. package/src/sap/m/semantic/SemanticPage.js +1 -1
  287. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  288. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  289. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  290. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  291. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  292. package/src/sap/m/semantic/ShareMenu.js +1 -1
  293. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  294. package/src/sap/m/semantic/SortAction.js +1 -1
  295. package/src/sap/m/semantic/SortSelect.js +1 -1
  296. package/src/sap/m/themes/base/MessageBox.less +5 -5
  297. package/src/sap/m/themes/base/RadioButton.less +2 -2
  298. package/src/sap/m/themes/base/Select.less +5 -3
  299. package/src/sap/m/themes/base/Table.less +4 -0
  300. package/src/sap/m/upload/UploadSet.js +1 -1
  301. package/src/sap/m/upload/UploadSetItem.js +1 -1
@@ -113,7 +113,7 @@ sap.ui.define([
113
113
  * @extends sap.ui.core.Control
114
114
  * @implements sap.ui.core.PopupInterface
115
115
  * @author SAP SE
116
- * @version 1.84.23
116
+ * @version 1.84.26
117
117
  *
118
118
  * @public
119
119
  * @alias sap.m.Popover
@@ -423,7 +423,6 @@ sap.ui.define([
423
423
  height: 32
424
424
  };
425
425
 
426
- this._$window = jQuery(window);
427
426
  this._initialWindowDimensions = {};
428
427
 
429
428
  this.oPopup = new Popup();
@@ -543,10 +542,11 @@ sap.ui.define([
543
542
  }
544
543
 
545
544
  var oRect = jQuery(oPosition.of).rect();
545
+ var $popoverWithinArea = jQuery(that.getWithinAreaDomRef());
546
546
  // if openBy Dom element is complete out of viewport after resize event, close the popover. But close it only if virtualkeyboard is not opened.
547
547
  if (bFromResize
548
- && that._$window.height() == that._initialWindowDimensions.height
549
- && (oRect.top + oRect.height <= 0 || oRect.top >= that._$window.height() || oRect.left + oRect.width <= 0 || oRect.left >= that._$window.width())) {
548
+ && $popoverWithinArea.height() == that._initialWindowDimensions.height
549
+ && (oRect.top + oRect.height <= 0 || oRect.top >= $popoverWithinArea.height() || oRect.left + oRect.width <= 0 || oRect.left >= $popoverWithinArea.width())) {
550
550
  that.close();
551
551
  return;
552
552
  }
@@ -602,23 +602,38 @@ sap.ui.define([
602
602
  };
603
603
  };
604
604
 
605
+ /**
606
+ * Gets the area to which the Popover is restricted.
607
+ *
608
+ * @returns {HTMLElement|Window}
609
+ * @private
610
+ */
611
+ Popover.prototype.getWithinAreaDomRef = function () {
612
+ return Popup.getWithinAreaDomRef();
613
+ };
614
+
605
615
  /**
606
616
  * Required adaptations before rendering of the Popover.
607
617
  *
608
618
  * @private
609
619
  */
610
620
  Popover.prototype.onBeforeRendering = function () {
611
- var oNavContent, oPageContent,
621
+ var oNavContent, oPageContent, $popoverWithinArea,
612
622
  bHorScrolling = this.getHorizontalScrolling(),
613
623
  bVerScrolling = this.getVerticalScrolling(),
614
624
  bHorScrollingNotApplied = !bHorScrolling || this.isPropertyInitial("horizontalScrolling"),
615
625
  bVerScrollingNotApplied = !bVerScrolling || this.isPropertyInitial("verticalScrolling"),
616
626
  oHeader = this.getCustomHeader() || this._internalHeader;
617
627
 
628
+ if (this.hasStyleClass("sapUiPopupWithPadding")) {
629
+ Log.warning("Usage of CSS class 'sapUiPopupWithPadding' is deprecated. Use 'sapUiContentPadding' instead", null, "sap.m.Popover");
630
+ }
631
+
618
632
  if (!this._initialWindowDimensions.width || !this._initialWindowDimensions.height) {
633
+ $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
619
634
  this._initialWindowDimensions = {
620
- width: this._$window.width(),
621
- height: this._$window.height()
635
+ width: $popoverWithinArea.width(),
636
+ height: $popoverWithinArea.height()
622
637
  };
623
638
  }
624
639
 
@@ -995,15 +1010,16 @@ sap.ui.define([
995
1010
  sContentHeight = this.getContentHeight(),
996
1011
  $arrow = this.$("arrow"),
997
1012
  iWindowWidth,
998
- iWindowHeight;
1013
+ iWindowHeight,
1014
+ $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
999
1015
 
1000
1016
  if (sContentWidth.indexOf("%") > 0) {
1001
- iWindowWidth = this._$window.width();
1017
+ iWindowWidth = $popoverWithinArea.width();
1002
1018
  sContentWidth = PopupHelper.calcPercentageSize(sContentWidth, iWindowWidth);
1003
1019
  }
1004
1020
 
1005
1021
  if (sContentHeight.indexOf("%") > 0) {
1006
- iWindowHeight = this._$window.height();
1022
+ iWindowHeight = $popoverWithinArea.height();
1007
1023
  sContentHeight = PopupHelper.calcPercentageSize(sContentHeight, iWindowHeight);
1008
1024
  }
1009
1025
 
@@ -1415,9 +1431,10 @@ sap.ui.define([
1415
1431
 
1416
1432
  Popover.prototype._getDocHeight = function () {
1417
1433
  var body = document.body,
1418
- html = document.documentElement;
1434
+ html = document.documentElement,
1435
+ oOffset = jQuery(this.getWithinAreaDomRef()).offset() || {top: 0};
1419
1436
 
1420
- return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.offsetHeight);
1437
+ return oOffset.top + Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.offsetHeight);
1421
1438
  };
1422
1439
 
1423
1440
  Popover.prototype._calcVertical = function () {
@@ -1473,7 +1490,8 @@ sap.ui.define([
1473
1490
  var iOffsetX = this._getOffsetX();
1474
1491
  var iLeftSpace = iParentLeft - this._marginLeft + iOffsetX;
1475
1492
  var iParentRight = iParentLeft + iParentWidth;
1476
- var iRightSpace = this._$window.width() - iParentRight - this._marginRight - iOffsetX;
1493
+ var $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
1494
+ var iRightSpace = $popoverWithinArea.width() - iParentRight - this._marginRight - iOffsetX;
1477
1495
  var iPopoverWidth = this.$().outerWidth();
1478
1496
  var bPreferredLeftOrFlip = this.getPlacement() === PlacementType.PreferredLeftOrFlip;
1479
1497
  var bPreferredRightOrFlip = this.getPlacement() === PlacementType.PreferredRightOrFlip;
@@ -1509,8 +1527,9 @@ sap.ui.define([
1509
1527
  };
1510
1528
 
1511
1529
  Popover.prototype._calcAuto = function () {
1530
+ var $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
1512
1531
  //calculate which position is the best
1513
- if (this._$window.width() > this._$window.height()) {
1532
+ if ($popoverWithinArea.width() > $popoverWithinArea.height()) {
1514
1533
  //in "landscape" mode horizontal is preferred, therefore it is checked first
1515
1534
  if (this._checkHorizontal()) {
1516
1535
  this._calcHorizontal();
@@ -1540,7 +1559,8 @@ sap.ui.define([
1540
1559
  var iOffsetX = this._getOffsetX();
1541
1560
  var iLeftSpace = iParentLeft - this._marginLeft + iOffsetX;
1542
1561
  var iParentRight = iParentLeft + iParentWidth;
1543
- var iRightSpace = this._$window.width() - iParentRight - this._marginRight - iOffsetX;
1562
+ var $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
1563
+ var iRightSpace = $popoverWithinArea.width() - iParentRight - this._marginRight - iOffsetX;
1544
1564
 
1545
1565
  var $this = this.$();
1546
1566
  var iWidth = $this.outerWidth() + this._arrowOffset;
@@ -1587,23 +1607,24 @@ sap.ui.define([
1587
1607
  var iBottomSpace = this._getDocHeight() - $parent.offset().top - iParentHeight - this._marginBottom - iOffsetY;
1588
1608
  var iLeftSpace = iParentLeft - this._marginLeft + iOffsetX;
1589
1609
  var iParentRight = iParentLeft + iParentWidth;
1590
- var iRightSpace = this._$window.width() - iParentRight - this._marginRight - iOffsetX;
1610
+ var $popoverWithinArea = jQuery(this.getWithinAreaDomRef());
1611
+ var iRightSpace = $popoverWithinArea.width() - iParentRight - this._marginRight - iOffsetX;
1591
1612
 
1592
1613
  //calculation for every possible position how many percent of the popover can be covered
1593
1614
  var fPopoverSize = iHeight * iWidth;
1594
1615
  var fAvailableHeight;
1595
1616
  var fAvaliableWidth;
1596
1617
 
1597
- if ((this._$window.height() - this._marginTop - this._marginBottom) >= iHeight) {
1618
+ if (($popoverWithinArea.height() - this._marginTop - this._marginBottom) >= iHeight) {
1598
1619
  fAvailableHeight = iHeight;
1599
1620
  } else {
1600
- fAvailableHeight = this._$window.height() - this._marginTop - this._marginBottom;
1621
+ fAvailableHeight = $popoverWithinArea.height() - this._marginTop - this._marginBottom;
1601
1622
  }
1602
1623
 
1603
- if ((this._$window.width() - this._marginLeft - this._marginRight) >= iWidth) {
1624
+ if (($popoverWithinArea.width() - this._marginLeft - this._marginRight) >= iWidth) {
1604
1625
  fAvaliableWidth = iWidth;
1605
1626
  } else {
1606
- fAvaliableWidth = this._$window.width() - this._marginLeft - this._marginRight;
1627
+ fAvaliableWidth = $popoverWithinArea.width() - this._marginLeft - this._marginRight;
1607
1628
  }
1608
1629
 
1609
1630
  var fLeftCoverage = (fAvailableHeight * (iLeftSpace)) / fPopoverSize;
@@ -1628,7 +1649,7 @@ sap.ui.define([
1628
1649
  this._oCalcedPos = PlacementType.Bottom;
1629
1650
  }
1630
1651
  } else if (fMaxCoverageVertical === fMaxCoverageHorizontal) {
1631
- if (this._$window.height() > this._$window.width()) {
1652
+ if ($popoverWithinArea.height() > $popoverWithinArea.width()) {
1632
1653
  // in portrait vertical is preferred
1633
1654
  if (fMaxCoverageVertical === fTopCoverage) {
1634
1655
  this._oCalcedPos = PlacementType.Top;
@@ -1678,7 +1699,10 @@ sap.ui.define([
1678
1699
  Popover.prototype._getPositionParams = function ($popover, $arrow, $content, $scrollArea) {
1679
1700
  var oComputedStyle = window.getComputedStyle($popover[0]),
1680
1701
  oContentComputedStyle = window.getComputedStyle($content[0]),
1681
- fScrollWidth = this.getDomRef().clientHeight != this.getDomRef().scrollHeight ? getScrollbarSize().width : 0,
1702
+ $window = jQuery(window),
1703
+ fScrollWidth = this.getDomRef().clientHeight !== this.getDomRef().scrollHeight ? getScrollbarSize().width : 0,
1704
+ $popoverWithinArea = jQuery(this.getWithinAreaDomRef()),
1705
+ oWithinOffset = $popoverWithinArea.offset() || {top: 0, left: 0},
1682
1706
  oPosParams = {};
1683
1707
 
1684
1708
  oPosParams._$popover = $popover;
@@ -1692,30 +1716,36 @@ sap.ui.define([
1692
1716
 
1693
1717
  oPosParams._$footer = $popover.children(".sapMPopoverFooter");
1694
1718
 
1695
- oPosParams._fWindowTop = this._$window.scrollTop();
1696
- oPosParams._fWindowRight = this._$window.width();
1697
- oPosParams._fWindowBottom = (Popover._bIOS7 && Device.orientation.landscape && window.innerHeight) ? window.innerHeight : this._$window.height();
1698
- oPosParams._fWindowLeft = this._$window.scrollLeft();
1719
+ // Window dimensions
1720
+ oPosParams._fWindowTop = $window.scrollTop();
1721
+ oPosParams._fWindowRight = $window.width();
1722
+ oPosParams._fWindowBottom = (Popover._bIOS7 && Device.orientation.landscape && window.innerHeight) ? window.innerHeight : $window.height();
1723
+ oPosParams._fWindowLeft = $window.scrollLeft();
1724
+ oPosParams._fWindowWidth = window.innerWidth;
1725
+ oPosParams._fWindowHeight = window.innerHeight;
1726
+
1727
+ oPosParams._fWithinAreaWidth = Math.min($popoverWithinArea.outerWidth(), oPosParams._fWindowWidth);
1728
+ oPosParams._fWithinAreaHeight = Math.min($popoverWithinArea.outerHeight(), oPosParams._fWindowHeight);
1699
1729
 
1700
1730
  oPosParams._fDocumentWidth = oPosParams._fWindowLeft + oPosParams._fWindowRight;
1701
1731
  oPosParams._fDocumentHeight = oPosParams._fWindowTop + oPosParams._fWindowBottom;
1702
1732
 
1703
1733
  oPosParams._fArrowHeight = $arrow.outerHeight(true);
1704
- oPosParams._fWidth = Popover.outerWidth($popover[0]);
1705
- oPosParams._fWidthInner = oPosParams._$scrollArea ? (oPosParams._$scrollArea.width() + fScrollWidth) : 0;
1706
- oPosParams._fHeight = Popover.outerHeight($popover[0]);
1734
+ oPosParams._fPopoverWidth = Popover.outerWidth($popover[0]);
1735
+ oPosParams._fPopoverInnerWidth = oPosParams._$scrollArea ? (oPosParams._$scrollArea.width() + fScrollWidth) : 0;
1736
+ oPosParams._fPopoverHeight = Popover.outerHeight($popover[0]);
1707
1737
  oPosParams._fHeaderHeight = oPosParams._$header.length > 0 ? oPosParams._$header.outerHeight(true) : 0;
1708
1738
  oPosParams._fSubHeaderHeight = oPosParams._$subHeader.length > 0 ? oPosParams._$subHeader.outerHeight(true) : 0;
1709
1739
  oPosParams._fFooterHeight = oPosParams._$footer.length > 0 ? oPosParams._$footer.outerHeight(true) : 0;
1710
1740
 
1711
- oPosParams._fOffset = $popover.offset();
1712
- oPosParams._fOffsetX = this._getOffsetX();
1713
- oPosParams._fOffsetY = this._getOffsetY();
1741
+ oPosParams._fPopoverOffset = $popover.offset();
1742
+ oPosParams._fPopoverOffsetX = this._getOffsetX();
1743
+ oPosParams._fPopoverOffsetY = this._getOffsetY();
1714
1744
 
1715
- oPosParams._fMarginTop = oPosParams._fWindowTop + this._marginTop;
1716
- oPosParams._fMarginRight = this._marginRight;
1717
- oPosParams._fMarginBottom = this._marginBottom;
1718
- oPosParams._fMarginLeft = oPosParams._fWindowLeft + this._marginLeft;
1745
+ oPosParams._fPopoverMarginTop = oPosParams._fWindowTop + this._marginTop + oWithinOffset.top;
1746
+ oPosParams._fPopoverMarginLeft = oPosParams._fWindowLeft + this._marginLeft + oWithinOffset.left;
1747
+ oPosParams._fPopoverMarginRight = oPosParams._fWindowWidth - oWithinOffset.left - oPosParams._fWithinAreaWidth + this._marginRight;
1748
+ oPosParams._fPopoverMarginBottom = oPosParams._fWindowHeight - oWithinOffset.top - oPosParams._fWithinAreaHeight + this._marginBottom;
1719
1749
 
1720
1750
  oPosParams._fPopoverBorderTop = parseFloat(oComputedStyle.borderTopWidth);
1721
1751
  oPosParams._fPopoverBorderRight = parseFloat(oComputedStyle.borderRightWidth);
@@ -1736,31 +1766,35 @@ sap.ui.define([
1736
1766
  * @private
1737
1767
  */
1738
1768
  Popover.prototype._recalculateMargins = function (sCalculatedPlacement, oPosParams) {
1769
+ var fNewCalc;
1739
1770
  var bRtl = sap.ui.getCore().getConfiguration().getRTL();
1740
1771
 
1741
1772
  //make the popover never cover the control or dom node that opens the popover
1742
1773
  switch (sCalculatedPlacement) {
1743
1774
  case PlacementType.Left:
1744
1775
  if (bRtl) {
1745
- oPosParams._fMarginLeft = oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false) + this._arrowOffset - oPosParams._fOffsetX;
1776
+ oPosParams._fPopoverMarginLeft = oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false) + this._arrowOffset - oPosParams._fPopoverOffsetX;
1746
1777
  } else {
1747
- oPosParams._fMarginRight = oPosParams._fDocumentWidth - oPosParams._$parent.offset().left + this._arrowOffset - oPosParams._fOffsetX;
1778
+ oPosParams._fPopoverMarginRight = oPosParams._fWindowWidth - oPosParams._$parent.offset().left + this._arrowOffset - oPosParams._fPopoverOffsetX;
1748
1779
  }
1749
1780
  break;
1750
1781
  case PlacementType.Right:
1751
1782
  if (bRtl) {
1752
- oPosParams._fMarginRight = oPosParams._fDocumentWidth - Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$parent.offset().left + this._arrowOffset;
1783
+ oPosParams._fPopoverMarginRight = oPosParams._fWindowWidth - Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$parent.offset().left + this._arrowOffset;
1753
1784
  } else {
1754
- oPosParams._fMarginLeft = oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false) + this._arrowOffset + oPosParams._fOffsetX;
1785
+ oPosParams._fPopoverMarginLeft = oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false) + this._arrowOffset + oPosParams._fPopoverOffsetX;
1755
1786
  }
1756
1787
  break;
1757
1788
  case PlacementType.Top:
1758
- oPosParams._fMarginBottom = oPosParams._fDocumentHeight - oPosParams._$parent.offset().top + this._arrowOffset - oPosParams._fOffsetY;
1789
+ fNewCalc = oPosParams._fWindowHeight - oPosParams._$parent.offset().top + this._arrowOffset - oPosParams._fPopoverOffsetY;
1790
+ oPosParams._fPopoverMarginBottom = fNewCalc > oPosParams._fPopoverMarginBottom ? fNewCalc : oPosParams._fPopoverMarginBottom;
1759
1791
  break;
1760
1792
  case PlacementType.Bottom:
1761
- oPosParams._fMarginTop = oPosParams._$parent.offset().top + Popover.outerHeight(oPosParams._$parent[0], false) + this._arrowOffset + oPosParams._fOffsetY;
1793
+ oPosParams._fPopoverMarginTop = oPosParams._$parent.offset().top + Popover.outerHeight(oPosParams._$parent[0], false) + this._arrowOffset + oPosParams._fPopoverOffsetY;
1762
1794
  break;
1763
1795
  }
1796
+
1797
+ return oPosParams;
1764
1798
  };
1765
1799
 
1766
1800
  /**
@@ -1775,25 +1809,25 @@ sap.ui.define([
1775
1809
  iRight,
1776
1810
  iTop,
1777
1811
  iBottom,
1778
- iPosToRightBorder = oPosParams._fDocumentWidth - oPosParams._fOffset.left - oPosParams._fWidth,
1779
- iPosToBottomBorder = oPosParams._fDocumentHeight - oPosParams._fOffset.top - oPosParams._fHeight,
1780
- bExceedHorizontal = (oPosParams._fDocumentWidth - oPosParams._fMarginRight - oPosParams._fMarginLeft) < oPosParams._fWidth,
1781
- bExceedVertical = (oPosParams._fDocumentHeight - oPosParams._fMarginTop - oPosParams._fMarginBottom) < oPosParams._fHeight,
1782
- bOverLeft = oPosParams._fOffset.left < oPosParams._fMarginLeft,
1812
+ iPosToRightBorder = oPosParams._fDocumentWidth - oPosParams._fPopoverOffset.left - oPosParams._fPopoverWidth,
1813
+ iPosToBottomBorder = oPosParams._fDocumentHeight - oPosParams._fPopoverOffset.top - oPosParams._fPopoverHeight,
1814
+ bExceedHorizontal = (oPosParams._fDocumentWidth - oPosParams._fPopoverMarginRight - oPosParams._fPopoverMarginLeft) < oPosParams._fPopoverWidth,
1815
+ bExceedVertical = (oPosParams._fDocumentHeight - oPosParams._fPopoverMarginTop - oPosParams._fPopoverMarginBottom) < oPosParams._fPopoverHeight,
1816
+ bOverLeft = oPosParams._fPopoverOffset.left < oPosParams._fPopoverMarginLeft,
1783
1817
  //Include Scrollbar's width in these calculations
1784
- fScrollbarSize = this.getVerticalScrolling() && (oPosParams._fWidth !== oPosParams._fWidthInner) ?
1818
+ fScrollbarSize = this.getVerticalScrolling() && (oPosParams._fPopoverWidth !== oPosParams._fPopoverInnerWidth) ?
1785
1819
  getScrollbarSize().width : 0,
1786
- bOverRight = iPosToRightBorder < (oPosParams._fMarginRight + fScrollbarSize),
1787
- bOverTop = oPosParams._fOffset.top < oPosParams._fMarginTop,
1788
- bOverBottom = iPosToBottomBorder < oPosParams._fMarginBottom,
1820
+ bOverRight = iPosToRightBorder < (oPosParams._fPopoverMarginRight + fScrollbarSize),
1821
+ bOverTop = oPosParams._fPopoverOffset.top < oPosParams._fPopoverMarginTop,
1822
+ bOverBottom = iPosToBottomBorder < oPosParams._fPopoverMarginBottom,
1789
1823
  bRtl = sap.ui.getCore().getConfiguration().getRTL();
1790
1824
 
1791
1825
  if (bExceedHorizontal) {
1792
- iLeft = oPosParams._fMarginLeft;
1793
- iRight = oPosParams._fMarginRight;
1826
+ iLeft = oPosParams._fPopoverMarginLeft;
1827
+ iRight = oPosParams._fPopoverMarginRight;
1794
1828
  } else {
1795
1829
  if (bOverLeft) {
1796
- iLeft = oPosParams._fMarginLeft;
1830
+ iLeft = oPosParams._fPopoverMarginLeft;
1797
1831
  if (bRtl) {
1798
1832
  // when only one side of the popover goes beyond the defined border make sure that
1799
1833
  // only one from the iLeft and iRight is set because Popover has a fixed size and
@@ -1801,7 +1835,7 @@ sap.ui.define([
1801
1835
  iRight = "";
1802
1836
  }
1803
1837
  } else if (bOverRight) {
1804
- iRight = oPosParams._fMarginRight;
1838
+ iRight = oPosParams._fPopoverMarginRight;
1805
1839
  // when only one side of the popover goes beyond the defined border make sure that
1806
1840
  // only one from the iLeft and iRight is set because Popover has a fixed size and
1807
1841
  // can't react to content size change when both are set
@@ -1810,13 +1844,13 @@ sap.ui.define([
1810
1844
  }
1811
1845
 
1812
1846
  if (bExceedVertical) {
1813
- iTop = oPosParams._fMarginTop;
1814
- iBottom = oPosParams._fMarginBottom;
1847
+ iTop = oPosParams._fPopoverMarginTop;
1848
+ iBottom = oPosParams._fPopoverMarginBottom;
1815
1849
  } else {
1816
1850
  if (bOverTop) {
1817
- iTop = oPosParams._fMarginTop;
1851
+ iTop = oPosParams._fPopoverMarginTop;
1818
1852
  } else if (bOverBottom) {
1819
- iBottom = oPosParams._fMarginBottom;
1853
+ iBottom = oPosParams._fPopoverMarginBottom;
1820
1854
  // when only one side of the popover goes beyond the defined border make sure that
1821
1855
  // only one from the iLeft and iRight is set because Popover has a fixed size and
1822
1856
  // can't react to content size change when both are set
@@ -1872,7 +1906,10 @@ sap.ui.define([
1872
1906
  * @private
1873
1907
  */
1874
1908
  Popover.prototype._getMaxContentWidth = function (oPosParams) {
1875
- return oPosParams._fDocumentWidth - oPosParams._fMarginLeft - oPosParams._fMarginRight - oPosParams._fPopoverBorderLeft - oPosParams._fPopoverBorderRight;
1909
+ var fPopoverInnerElementsSpacing = oPosParams._fPopoverBorderLeft + oPosParams._fPopoverBorderRight;
1910
+
1911
+ return oPosParams._fDocumentWidth - oPosParams._fPopoverMarginLeft -
1912
+ oPosParams._fPopoverMarginRight - fPopoverInnerElementsSpacing;
1876
1913
  };
1877
1914
 
1878
1915
  /**
@@ -1883,7 +1920,12 @@ sap.ui.define([
1883
1920
  * @private
1884
1921
  */
1885
1922
  Popover.prototype._getMaxContentHeight = function (oPosParams) {
1886
- return oPosParams._fDocumentHeight - oPosParams._fMarginTop - oPosParams._fMarginBottom - oPosParams._fHeaderHeight - oPosParams._fSubHeaderHeight - oPosParams._fFooterHeight - oPosParams._fContentMarginTop - oPosParams._fContentMarginBottom - oPosParams._fPopoverBorderTop - oPosParams._fPopoverBorderBottom;
1923
+ var fPopoverInnerElementsHeight = oPosParams._fHeaderHeight + oPosParams._fSubHeaderHeight +
1924
+ oPosParams._fFooterHeight + oPosParams._fContentMarginTop + oPosParams._fContentMarginBottom +
1925
+ oPosParams._fPopoverBorderTop + oPosParams._fPopoverBorderBottom;
1926
+
1927
+ return oPosParams._fDocumentHeight - oPosParams._fPopoverMarginTop -
1928
+ oPosParams._fPopoverMarginBottom - fPopoverInnerElementsHeight;
1887
1929
  };
1888
1930
 
1889
1931
  /**
@@ -1914,25 +1956,25 @@ sap.ui.define([
1914
1956
  bRtl = sap.ui.getCore().getConfiguration().getRTL();
1915
1957
 
1916
1958
  // Recalculate Popover width and height because they can be changed after position adjustments
1917
- oPosParams._fWidth = oPosParams._$popover.outerWidth();
1918
- oPosParams._fHeight = oPosParams._$popover.outerHeight();
1959
+ oPosParams._fPopoverWidth = oPosParams._$popover.outerWidth();
1960
+ oPosParams._fPopoverHeight = oPosParams._$popover.outerHeight();
1919
1961
 
1920
1962
  // Set arrow offset
1921
1963
  if (sCalculatedPlacement === PlacementType.Left || sCalculatedPlacement === PlacementType.Right) {
1922
- iPosArrow = oPosParams._$parent.offset().top - oPosParams._$popover.offset().top - oPosParams._fPopoverBorderTop + oPosParams._fOffsetY + 0.5 * (Popover.outerHeight(oPosParams._$parent[0], false) - oPosParams._$arrow.outerHeight(false));
1964
+ iPosArrow = oPosParams._$parent.offset().top - oPosParams._$popover.offset().top - oPosParams._fPopoverBorderTop + oPosParams._fPopoverOffsetY + 0.5 * (Popover.outerHeight(oPosParams._$parent[0], false) - oPosParams._$arrow.outerHeight(false));
1923
1965
  iPosArrow = Math.max(iPosArrow, this._arrowOffsetThreshold);
1924
- iPosArrow = Math.min(iPosArrow, oPosParams._fHeight - this._arrowOffsetThreshold - oPosParams._$arrow.outerHeight());
1966
+ iPosArrow = Math.min(iPosArrow, oPosParams._fPopoverHeight - this._arrowOffsetThreshold - oPosParams._$arrow.outerHeight());
1925
1967
  return {"top": iPosArrow};
1926
1968
  } else if (sCalculatedPlacement === PlacementType.Top || sCalculatedPlacement === PlacementType.Bottom) {
1927
1969
  if (bRtl) {
1928
- iPosArrow = oPosParams._$popover.offset().left + Popover.outerWidth(oPosParams._$popover[0], false) - (oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false)) + oPosParams._fPopoverBorderRight + oPosParams._fOffsetX + 0.5 * (Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$arrow.outerWidth(false));
1970
+ iPosArrow = oPosParams._$popover.offset().left + Popover.outerWidth(oPosParams._$popover[0], false) - (oPosParams._$parent.offset().left + Popover.outerWidth(oPosParams._$parent[0], false)) + oPosParams._fPopoverBorderRight + oPosParams._fPopoverOffsetX + 0.5 * (Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$arrow.outerWidth(false));
1929
1971
  iPosArrow = Math.max(iPosArrow, this._arrowOffsetThreshold);
1930
- iPosArrow = Math.min(iPosArrow, oPosParams._fWidth - this._arrowOffsetThreshold - oPosParams._$arrow.outerWidth(false));
1972
+ iPosArrow = Math.min(iPosArrow, oPosParams._fPopoverWidth - this._arrowOffsetThreshold - oPosParams._$arrow.outerWidth(false));
1931
1973
  return {"right": iPosArrow};
1932
1974
  } else {
1933
- iPosArrow = oPosParams._$parent.offset().left - oPosParams._$popover.offset().left - oPosParams._fPopoverBorderLeft + oPosParams._fOffsetX + 0.5 * (Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$arrow.outerWidth(false));
1975
+ iPosArrow = oPosParams._$parent.offset().left - oPosParams._$popover.offset().left - oPosParams._fPopoverBorderLeft + oPosParams._fPopoverOffsetX + 0.5 * (Popover.outerWidth(oPosParams._$parent[0], false) - oPosParams._$arrow.outerWidth(false));
1934
1976
  iPosArrow = Math.max(iPosArrow, this._arrowOffsetThreshold);
1935
- iPosArrow = Math.min(iPosArrow, oPosParams._fWidth - this._arrowOffsetThreshold - oPosParams._$arrow.outerWidth(false));
1977
+ iPosArrow = Math.min(iPosArrow, oPosParams._fPopoverWidth - this._arrowOffsetThreshold - oPosParams._$arrow.outerWidth(false));
1936
1978
  return {"left": iPosArrow};
1937
1979
  }
1938
1980
  }
@@ -2025,7 +2067,7 @@ sap.ui.define([
2025
2067
  sCalculatedPlacement = this._getCalculatedPlacement(),
2026
2068
  oPosParams = this._getPositionParams($popover, $arrow, $content, $scrollArea);
2027
2069
 
2028
- this._recalculateMargins(sCalculatedPlacement, oPosParams);
2070
+ oPosParams = this._recalculateMargins(sCalculatedPlacement, oPosParams);
2029
2071
 
2030
2072
  var oPopoverPosition = this._getPopoverPositionCss(oPosParams),
2031
2073
  oContentSize = this._getContentDimensionsCss(oPosParams),
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.ui.core.Control
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.84.23
62
+ * @version 1.84.26
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.84.23
44
+ * @version 1.84.26
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.m.QuickViewBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.84.23
62
+ * @version 1.84.26
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.84.23
30
+ * @version 1.84.26
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.m.QuickViewBase
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.84.23
39
+ * @version 1.84.26
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.84.23
25
+ * @version 1.84.26
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Element
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.84.23
31
+ * @version 1.84.26
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  * @extends sap.ui.core.Control
94
94
  *
95
95
  * @author SAP SE
96
- * @version 1.84.23
96
+ * @version 1.84.26
97
97
  *
98
98
  * @constructor
99
99
  * @public
@@ -82,7 +82,7 @@ function(
82
82
  * @implements sap.ui.core.IFormContent
83
83
  *
84
84
  * @author SAP SE
85
- * @version 1.84.23
85
+ * @version 1.84.26
86
86
  *
87
87
  * @constructor
88
88
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @implements sap.ui.core.IFormContent
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.84.23
60
+ * @version 1.84.26
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.m.Slider
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.84.23
54
+ * @version 1.84.26
55
55
  *
56
56
  * @constructor
57
57
  * @public
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.Control
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.84.23
54
+ * @version 1.84.26
55
55
  *
56
56
  * @constructor
57
57
  * @public
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.core.Control
64
64
  *
65
65
  * @author SAP SE
66
- * @version 1.84.23
66
+ * @version 1.84.26
67
67
  *
68
68
  * @constructor
69
69
  * @public
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Element
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.84.23
37
+ * @version 1.84.26
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -25,7 +25,7 @@ function(Control, ScrollBarRenderer) {
25
25
  * care of only rendering the currently visible rows and use this <code>ScrollBar</code> control to make
26
26
  * the users think they are actually scrolling through a long list.
27
27
  * @extends sap.ui.core.Control
28
- * @version 1.84.23
28
+ * @version 1.84.26
29
29
  *
30
30
  * @private
31
31
  * @alias sap.m.ScrollBar
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.84.23
40
+ * @version 1.84.26
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @extends sap.ui.core.Control
73
73
  * @implements sap.ui.core.IFormContent
74
74
  * @author SAP SE
75
- * @version 1.84.23
75
+ * @version 1.84.26
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -50,7 +50,7 @@ function(
50
50
  * @implements sap.ui.core.IFormContent
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.84.23
53
+ * @version 1.84.26
54
54
  *
55
55
  * @constructor
56
56
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/m/Button', 'sap/ui/core/Cus
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.84.23
26
+ * @version 1.84.26
27
27
  *
28
28
  * @constructor
29
29
  * @public