@openui5/sap.m 1.71.46 → 1.71.48

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/Bar.js +1 -1
  11. package/src/sap/m/Breadcrumbs.js +1 -1
  12. package/src/sap/m/BusyDialog.js +1 -1
  13. package/src/sap/m/BusyIndicator.js +1 -1
  14. package/src/sap/m/Button.js +1 -1
  15. package/src/sap/m/Carousel.js +1 -1
  16. package/src/sap/m/CarouselLayout.js +1 -1
  17. package/src/sap/m/CheckBox.js +1 -1
  18. package/src/sap/m/ColorPalette.js +1 -1
  19. package/src/sap/m/ColorPalettePopover.js +1 -1
  20. package/src/sap/m/Column.js +1 -1
  21. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  22. package/src/sap/m/ColumnListItem.js +1 -1
  23. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  24. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  25. package/src/sap/m/ColumnPopoverItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  27. package/src/sap/m/ComboBox.js +1 -1
  28. package/src/sap/m/ComboBoxBase.js +1 -1
  29. package/src/sap/m/ComboBoxTextField.js +1 -1
  30. package/src/sap/m/CustomListItem.js +1 -1
  31. package/src/sap/m/CustomTile.js +1 -1
  32. package/src/sap/m/CustomTreeItem.js +1 -1
  33. package/src/sap/m/DatePicker.js +1 -1
  34. package/src/sap/m/DateRangeSelection.js +2 -2
  35. package/src/sap/m/DateTimeField.js +1 -1
  36. package/src/sap/m/DateTimeInput.js +1 -1
  37. package/src/sap/m/DateTimePicker.js +1 -1
  38. package/src/sap/m/Dialog.js +161 -44
  39. package/src/sap/m/DialogRenderer.js +3 -2
  40. package/src/sap/m/DisplayListItem.js +1 -1
  41. package/src/sap/m/DraftIndicator.js +1 -1
  42. package/src/sap/m/FacetFilter.js +1 -1
  43. package/src/sap/m/FacetFilterItem.js +1 -1
  44. package/src/sap/m/FacetFilterList.js +1 -1
  45. package/src/sap/m/FeedContent.js +1 -1
  46. package/src/sap/m/FeedInput.js +1 -1
  47. package/src/sap/m/FeedListItem.js +1 -1
  48. package/src/sap/m/FeedListItemAction.js +1 -1
  49. package/src/sap/m/Fiori20Adapter.js +2 -2
  50. package/src/sap/m/FlexBox.js +1 -1
  51. package/src/sap/m/FlexItemData.js +1 -1
  52. package/src/sap/m/FormattedText.js +1 -1
  53. package/src/sap/m/GenericTag.js +1 -1
  54. package/src/sap/m/GenericTile.js +1 -1
  55. package/src/sap/m/GroupHeaderListItem.js +1 -1
  56. package/src/sap/m/GrowingEnablement.js +2 -11
  57. package/src/sap/m/GrowingList.js +1 -1
  58. package/src/sap/m/HBox.js +1 -1
  59. package/src/sap/m/HeaderContainer.js +1 -1
  60. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  61. package/src/sap/m/IconTabBar.js +1 -1
  62. package/src/sap/m/IconTabBarSelectList.js +1 -1
  63. package/src/sap/m/IconTabFilter.js +1 -1
  64. package/src/sap/m/IconTabHeader.js +1 -1
  65. package/src/sap/m/IconTabSeparator.js +1 -1
  66. package/src/sap/m/Image.js +1 -1
  67. package/src/sap/m/ImageContent.js +1 -1
  68. package/src/sap/m/Input.js +1 -1
  69. package/src/sap/m/InputBase.js +1 -1
  70. package/src/sap/m/InputListItem.js +1 -1
  71. package/src/sap/m/Label.js +1 -1
  72. package/src/sap/m/LightBox.js +1 -1
  73. package/src/sap/m/LightBoxItem.js +1 -1
  74. package/src/sap/m/Link.js +2 -2
  75. package/src/sap/m/LinkRenderer.js +1 -2
  76. package/src/sap/m/List.js +1 -1
  77. package/src/sap/m/ListBase.js +6 -6
  78. package/src/sap/m/ListItemBase.js +1 -1
  79. package/src/sap/m/MaskEnabler.js +1 -1
  80. package/src/sap/m/MaskInput.js +1 -1
  81. package/src/sap/m/MaskInputRule.js +1 -1
  82. package/src/sap/m/Menu.js +1 -1
  83. package/src/sap/m/MenuButton.js +1 -1
  84. package/src/sap/m/MenuItem.js +1 -1
  85. package/src/sap/m/MenuListItem.js +1 -1
  86. package/src/sap/m/MessageItem.js +1 -1
  87. package/src/sap/m/MessageListItem.js +1 -1
  88. package/src/sap/m/MessagePage.js +1 -1
  89. package/src/sap/m/MessagePopover.js +1 -1
  90. package/src/sap/m/MessagePopoverItem.js +1 -1
  91. package/src/sap/m/MessageStrip.js +1 -1
  92. package/src/sap/m/MessageToast.js +1 -1
  93. package/src/sap/m/MessageView.js +1 -1
  94. package/src/sap/m/MultiComboBox.js +1 -1
  95. package/src/sap/m/MultiEditField.js +1 -1
  96. package/src/sap/m/MultiInput.js +1 -1
  97. package/src/sap/m/NavContainer.js +1 -1
  98. package/src/sap/m/NewsContent.js +1 -1
  99. package/src/sap/m/NotificationListBase.js +1 -1
  100. package/src/sap/m/NotificationListGroup.js +1 -1
  101. package/src/sap/m/NotificationListItem.js +1 -1
  102. package/src/sap/m/NumericContent.js +1 -1
  103. package/src/sap/m/ObjectAttribute.js +1 -1
  104. package/src/sap/m/ObjectHeader.js +1 -1
  105. package/src/sap/m/ObjectIdentifier.js +1 -1
  106. package/src/sap/m/ObjectListItem.js +1 -1
  107. package/src/sap/m/ObjectMarker.js +1 -1
  108. package/src/sap/m/ObjectNumber.js +1 -1
  109. package/src/sap/m/ObjectStatus.js +1 -1
  110. package/src/sap/m/OverflowToolbar.js +1 -1
  111. package/src/sap/m/OverflowToolbarAssociativePopover.js +4 -2
  112. package/src/sap/m/OverflowToolbarButton.js +1 -1
  113. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  114. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  115. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  116. package/src/sap/m/P13nColumnsItem.js +1 -1
  117. package/src/sap/m/P13nColumnsPanel.js +1 -1
  118. package/src/sap/m/P13nConditionPanel.js +10 -1
  119. package/src/sap/m/P13nDialog.js +1 -1
  120. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  121. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  122. package/src/sap/m/P13nFilterItem.js +1 -1
  123. package/src/sap/m/P13nFilterPanel.js +1 -1
  124. package/src/sap/m/P13nGroupItem.js +1 -1
  125. package/src/sap/m/P13nGroupPanel.js +1 -1
  126. package/src/sap/m/P13nItem.js +1 -1
  127. package/src/sap/m/P13nPanel.js +1 -1
  128. package/src/sap/m/P13nSelectionItem.js +1 -1
  129. package/src/sap/m/P13nSelectionPanel.js +1 -1
  130. package/src/sap/m/P13nSortItem.js +1 -1
  131. package/src/sap/m/P13nSortPanel.js +1 -1
  132. package/src/sap/m/PDFViewer.js +1 -1
  133. package/src/sap/m/Page.js +1 -1
  134. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  135. package/src/sap/m/PagingButton.js +1 -1
  136. package/src/sap/m/Panel.js +1 -1
  137. package/src/sap/m/PlanningCalendar.js +1 -1
  138. package/src/sap/m/PlanningCalendarHeader.js +3 -3
  139. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  140. package/src/sap/m/PlanningCalendarRow.js +1 -1
  141. package/src/sap/m/PlanningCalendarView.js +1 -1
  142. package/src/sap/m/Popover.js +112 -70
  143. package/src/sap/m/ProgressIndicator.js +1 -1
  144. package/src/sap/m/PullToRefresh.js +1 -1
  145. package/src/sap/m/QuickView.js +1 -1
  146. package/src/sap/m/QuickViewBase.js +1 -1
  147. package/src/sap/m/QuickViewCard.js +1 -1
  148. package/src/sap/m/QuickViewGroup.js +1 -1
  149. package/src/sap/m/QuickViewGroupElement.js +1 -1
  150. package/src/sap/m/QuickViewPage.js +1 -1
  151. package/src/sap/m/RadioButton.js +148 -212
  152. package/src/sap/m/RadioButtonGroup.js +65 -64
  153. package/src/sap/m/RadioButtonGroupRenderer.js +31 -38
  154. package/src/sap/m/RadioButtonRenderer.js +94 -108
  155. package/src/sap/m/RangeSlider.js +1 -1
  156. package/src/sap/m/RatingIndicator.js +1 -1
  157. package/src/sap/m/ResponsivePopover.js +1 -1
  158. package/src/sap/m/ResponsiveScale.js +1 -1
  159. package/src/sap/m/ScrollBar.js +1 -1
  160. package/src/sap/m/ScrollContainer.js +1 -1
  161. package/src/sap/m/SearchField.js +1 -1
  162. package/src/sap/m/SegmentedButton.js +1 -1
  163. package/src/sap/m/SegmentedButtonItem.js +1 -1
  164. package/src/sap/m/Select.js +31 -2
  165. package/src/sap/m/SelectDialog.js +1 -1
  166. package/src/sap/m/SelectList.js +1 -1
  167. package/src/sap/m/SelectRenderer.js +1 -33
  168. package/src/sap/m/SelectionDetails.js +1 -1
  169. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  170. package/src/sap/m/SelectionDetailsItem.js +1 -1
  171. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  172. package/src/sap/m/Shell.js +1 -1
  173. package/src/sap/m/SimpleFixFlex.js +1 -1
  174. package/src/sap/m/SinglePlanningCalendar.js +59 -17
  175. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  176. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  177. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  178. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  179. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  180. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  181. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  182. package/src/sap/m/SlideTile.js +1 -1
  183. package/src/sap/m/Slider.js +1 -1
  184. package/src/sap/m/SliderTooltip.js +1 -1
  185. package/src/sap/m/SliderTooltipBase.js +1 -1
  186. package/src/sap/m/SliderTooltipContainer.js +1 -1
  187. package/src/sap/m/SplitApp.js +1 -1
  188. package/src/sap/m/SplitButton.js +1 -1
  189. package/src/sap/m/SplitContainer.js +1 -1
  190. package/src/sap/m/StandardListItem.js +1 -1
  191. package/src/sap/m/StandardTile.js +1 -1
  192. package/src/sap/m/StandardTreeItem.js +1 -1
  193. package/src/sap/m/StepInput.js +1 -1
  194. package/src/sap/m/SuggestionItem.js +1 -1
  195. package/src/sap/m/SuggestionsPopover.js +3 -2
  196. package/src/sap/m/Switch.js +1 -1
  197. package/src/sap/m/TabContainer.js +1 -1
  198. package/src/sap/m/TabContainerItem.js +1 -1
  199. package/src/sap/m/TabStrip.js +1 -1
  200. package/src/sap/m/TabStripItem.js +1 -1
  201. package/src/sap/m/Table.js +1 -1
  202. package/src/sap/m/TablePersoController.js +1 -1
  203. package/src/sap/m/TablePersoDialog.js +1 -1
  204. package/src/sap/m/TablePersoProvider.js +1 -1
  205. package/src/sap/m/TableSelectDialog.js +1 -1
  206. package/src/sap/m/Text.js +1 -1
  207. package/src/sap/m/TextArea.js +1 -1
  208. package/src/sap/m/Tile.js +1 -1
  209. package/src/sap/m/TileContainer.js +1 -1
  210. package/src/sap/m/TileContent.js +1 -1
  211. package/src/sap/m/TimePicker.js +6 -2
  212. package/src/sap/m/TimePickerSlider.js +1 -1
  213. package/src/sap/m/TimePickerSliders.js +1 -1
  214. package/src/sap/m/Title.js +1 -1
  215. package/src/sap/m/TitlePropagationSupport.js +1 -1
  216. package/src/sap/m/ToggleButton.js +1 -1
  217. package/src/sap/m/Token.js +1 -1
  218. package/src/sap/m/Tokenizer.js +1 -1
  219. package/src/sap/m/Toolbar.js +1 -1
  220. package/src/sap/m/ToolbarLayoutData.js +1 -1
  221. package/src/sap/m/ToolbarSeparator.js +1 -1
  222. package/src/sap/m/ToolbarSpacer.js +1 -1
  223. package/src/sap/m/Tree.js +1 -1
  224. package/src/sap/m/TreeItemBase.js +1 -1
  225. package/src/sap/m/UploadCollection.js +2 -2
  226. package/src/sap/m/UploadCollectionItem.js +1 -1
  227. package/src/sap/m/UploadCollectionParameter.js +1 -1
  228. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  229. package/src/sap/m/VBox.js +1 -1
  230. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  231. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  232. package/src/sap/m/ViewSettingsDialog.js +1 -1
  233. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  234. package/src/sap/m/ViewSettingsItem.js +1 -1
  235. package/src/sap/m/VisibleItem.js +1 -1
  236. package/src/sap/m/Wizard.js +1 -1
  237. package/src/sap/m/WizardProgressNavigator.js +1 -1
  238. package/src/sap/m/WizardStep.js +1 -1
  239. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  240. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  241. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  242. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  243. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  244. package/src/sap/m/delegate/ValueStateMessage.js +2 -0
  245. package/src/sap/m/designtime/messagebundle_de.properties +2 -2
  246. package/src/sap/m/designtime/messagebundle_sv.properties +2 -2
  247. package/src/sap/m/library.js +2 -2
  248. package/src/sap/m/messagebundle_cs.properties +8 -8
  249. package/src/sap/m/messagebundle_fr.properties +3 -3
  250. package/src/sap/m/messagebundle_hr.properties +2 -2
  251. package/src/sap/m/messagebundle_it.properties +2 -2
  252. package/src/sap/m/messagebundle_iw.properties +1 -1
  253. package/src/sap/m/messagebundle_ko.properties +8 -8
  254. package/src/sap/m/messagebundle_lt.properties +6 -6
  255. package/src/sap/m/messagebundle_nl.properties +4 -4
  256. package/src/sap/m/messagebundle_sh.properties +1 -1
  257. package/src/sap/m/messagebundle_th.properties +1 -1
  258. package/src/sap/m/semantic/AddAction.js +1 -1
  259. package/src/sap/m/semantic/CancelAction.js +1 -1
  260. package/src/sap/m/semantic/DeleteAction.js +1 -1
  261. package/src/sap/m/semantic/DetailPage.js +1 -1
  262. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  263. package/src/sap/m/semantic/EditAction.js +1 -1
  264. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  265. package/src/sap/m/semantic/FilterAction.js +1 -1
  266. package/src/sap/m/semantic/FilterSelect.js +1 -1
  267. package/src/sap/m/semantic/FlagAction.js +1 -1
  268. package/src/sap/m/semantic/ForwardAction.js +1 -1
  269. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  270. package/src/sap/m/semantic/GroupAction.js +1 -1
  271. package/src/sap/m/semantic/GroupSelect.js +1 -1
  272. package/src/sap/m/semantic/MainAction.js +1 -1
  273. package/src/sap/m/semantic/MasterPage.js +1 -1
  274. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  275. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  276. package/src/sap/m/semantic/NegativeAction.js +1 -1
  277. package/src/sap/m/semantic/OpenInAction.js +1 -1
  278. package/src/sap/m/semantic/PositiveAction.js +1 -1
  279. package/src/sap/m/semantic/PrintAction.js +1 -1
  280. package/src/sap/m/semantic/SaveAction.js +1 -1
  281. package/src/sap/m/semantic/Segment.js +1 -1
  282. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  283. package/src/sap/m/semantic/SemanticButton.js +1 -1
  284. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  285. package/src/sap/m/semantic/SemanticControl.js +1 -1
  286. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  287. package/src/sap/m/semantic/SemanticPage.js +1 -1
  288. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  289. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  290. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  291. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  292. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  293. package/src/sap/m/semantic/ShareMenu.js +1 -1
  294. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  295. package/src/sap/m/semantic/SortAction.js +1 -1
  296. package/src/sap/m/semantic/SortSelect.js +1 -1
  297. package/src/sap/m/themes/base/Dialog.less +4 -66
  298. package/src/sap/m/themes/base/Popover.less +0 -1
  299. package/src/sap/m/themes/base/RadioButton.less +2 -2
  300. package/src/sap/m/upload/UploadSet.js +16 -3
  301. package/src/sap/m/upload/UploadSetItem.js +1 -1
@@ -19,6 +19,7 @@ sap.ui.define([
19
19
  'sap/ui/core/RenderManager',
20
20
  'sap/ui/core/InvisibleText',
21
21
  'sap/ui/core/ResizeHandler',
22
+ "sap/ui/core/theming/Parameters",
22
23
  'sap/ui/Device',
23
24
  'sap/ui/base/ManagedObject',
24
25
  'sap/ui/core/library',
@@ -47,6 +48,7 @@ function(
47
48
  RenderManager,
48
49
  InvisibleText,
49
50
  ResizeHandler,
51
+ Parameters,
50
52
  Device,
51
53
  ManagedObject,
52
54
  coreLibrary,
@@ -83,6 +85,27 @@ function(
83
85
  // HTML container scrollbar width
84
86
  var iScrollbarWidth = 17;
85
87
 
88
+ /**
89
+ * Margin on the left and right sides of dialog
90
+ */
91
+ var HORIZONTAL_MARGIN = 5;
92
+
93
+ /**
94
+ * Margin on top and bottom of dialog
95
+ */
96
+ var VERTICAL_MARGIN = Parameters.get({
97
+ name: "_sap_m_Dialog_VerticalMargin",
98
+ callback: function(sValue) {
99
+ VERTICAL_MARGIN = parseFloat(sValue);
100
+ }
101
+ });
102
+
103
+ if (VERTICAL_MARGIN) {
104
+ VERTICAL_MARGIN = parseFloat(VERTICAL_MARGIN);
105
+ } else {
106
+ VERTICAL_MARGIN = 3; // default value
107
+ }
108
+
86
109
  /**
87
110
  * Constructor for a new Dialog.
88
111
  *
@@ -135,7 +158,7 @@ function(
135
158
  *
136
159
  * @implements sap.ui.core.PopupInterface
137
160
  * @author SAP SE
138
- * @version 1.71.46
161
+ * @version 1.71.48
139
162
  *
140
163
  * @constructor
141
164
  * @public
@@ -187,7 +210,9 @@ function(
187
210
  stretchOnPhone: {type: "boolean", group: "Appearance", defaultValue: false, deprecated: true},
188
211
 
189
212
  /**
190
- * Determines if the Dialog will be stretched to full screen on mobile. On desktop, the Dialog will be stretched to 93% of the viewport. This property is only applicable to a Standard Dialog. Message-type Dialog ignores it.
213
+ * Determines if the Dialog will be stretched to full screen on mobile.
214
+ * On desktop, the Dialog will be stretched to approximately 90% of the viewport.
215
+ * This property is only applicable to a Standard Dialog. Message-type Dialog ignores it.
191
216
  * @since 1.13.1
192
217
  */
193
218
  stretch: {type: "boolean", group: "Appearance", defaultValue: false},
@@ -439,7 +464,7 @@ function(
439
464
  top: that._oManuallySetPosition.y
440
465
  };
441
466
  } else {
442
- oPosition.at = that._calcCenter();
467
+ oPosition.at = that._calcPosition();
443
468
  }
444
469
 
445
470
  //deregister the content resize handler before repositioning
@@ -834,9 +859,10 @@ function(
834
859
  }
835
860
 
836
861
  $this.css(oStyles);
862
+ $this.css(this._calcMaxSizes());
837
863
 
838
- if (!bStretch && !this._oManuallySetSize && !this._bDisableRepositioning) {
839
- this._centerDialog();
864
+ if (!this._oManuallySetSize && !this._bDisableRepositioning) {
865
+ $this.css(this._calcPosition());
840
866
  }
841
867
 
842
868
  //In Chrome when the dialog is stretched the footer is not rendered in the right position;
@@ -890,7 +916,7 @@ function(
890
916
  sContentHeight = this.getContentHeight(),
891
917
  sContentWidth = this.getContentWidth(),
892
918
  iDialogHeight,
893
- maxDialogWidth = Math.floor(window.innerWidth * 0.9), //90% of the max screen size
919
+ iMaxDialogWidth = this._calcMaxSizes().maxWidth, // 90% of the max screen size
894
920
  BORDER_THICKNESS = 2, // solves Scrollbar issue in IE when Table is in Dialog// TODO remove after 1.62 version
895
921
  oBrowser = Device.browser,
896
922
  iTotalChildrenHeight = 0;
@@ -936,7 +962,7 @@ function(
936
962
  if (this._hasVerticalScrollbar() && // - there is a vertical scroll
937
963
  (!sContentWidth || sContentWidth == 'auto') && // - when the developer hasn't set it explicitly
938
964
  !this.getStretch() && // - when the dialog is not stretched
939
- $dialogContent.width() < maxDialogWidth) { // - if the dialog can't grow anymore
965
+ $dialogContent.width() < iMaxDialogWidth) { // - if the dialog can't grow anymore
940
966
 
941
967
  $dialog.addClass("sapMDialogVerticalScrollIncluded");
942
968
  $dialogContent.css({"padding-right" : iScrollbarWidth});
@@ -949,8 +975,8 @@ function(
949
975
  }
950
976
  }
951
977
 
952
- if (!this.getStretch() && !this._oManuallySetSize && !this._bDisableRepositioning) {
953
- this._centerDialog();
978
+ if (!this._oManuallySetSize && !this._bDisableRepositioning) {
979
+ this._positionDialog();
954
980
  }
955
981
  };
956
982
 
@@ -972,32 +998,116 @@ function(
972
998
  };
973
999
 
974
1000
  /**
975
- * Centers the dialog
1001
+ * Positions the dialog in the center of designated area, or stretches it.
1002
+ * Max sizes are also added.
976
1003
  *
977
1004
  * @private
978
1005
  */
979
- Dialog.prototype._centerDialog = function() {
980
- this.$().css(this._calcCenter());
1006
+ Dialog.prototype._positionDialog = function() {
1007
+ var $this = this.$();
1008
+
1009
+ $this.css(this._calcMaxSizes());
1010
+ $this.css(this._calcPosition());
981
1011
  };
982
1012
 
983
1013
  /**
984
- * Calculates "left" and "top" positions, so the dialog is centered.
1014
+ * Calculates "left" side ("right" side in RTL mode) and "top" positions, so the dialog is centered.
985
1015
  *
1016
+ * @returns {object} Object that has "left" side ("right" side in RTL mode) and "top" positions of the dialog
986
1017
  * @private
987
1018
  */
988
- Dialog.prototype._calcCenter = function () {
989
- var windowWidth = window.innerWidth,
990
- windowHeight = window.innerHeight,
1019
+ Dialog.prototype._calcPosition = function () {
1020
+ var oAreaDimensions = this._getAreaDimensions(),
991
1021
  $this = this.$(),
992
- dialogWidth = $this.outerWidth(),
993
- dialogHeight = $this.outerHeight();
1022
+ iLeft,
1023
+ iTop,
1024
+ oPosition;
1025
+
1026
+ if (Device.system.phone && this.getStretch()) {
1027
+ iLeft = 0;
1028
+ iTop = 0;
1029
+ } else if (this.getStretch()) {
1030
+ iLeft = this._percentOfSize(oAreaDimensions.width, HORIZONTAL_MARGIN); // 5% from left
1031
+ iTop = this._percentOfSize(oAreaDimensions.height, VERTICAL_MARGIN); // 3% from top
1032
+ } else {
1033
+ iLeft = (oAreaDimensions.width - $this.outerWidth()) / 2;
1034
+ iTop = (oAreaDimensions.height - $this.outerHeight()) / 2;
1035
+ }
1036
+
1037
+ oPosition = {
1038
+ top: Math.round(oAreaDimensions.top + iTop)
1039
+ };
1040
+ oPosition[this._bRTL ? "right" : "left"] = Math.round(oAreaDimensions.left + iLeft);
1041
+
1042
+ return oPosition;
1043
+ };
1044
+
1045
+ /**
1046
+ * Calculates maximum width and height
1047
+ * @private
1048
+ * @returns {object} Object that contains 'maxHeight' and 'maxWidth'
1049
+ */
1050
+ Dialog.prototype._calcMaxSizes = function () {
1051
+ var oAreaDimensions = this._getAreaDimensions(),
1052
+ $this = this.$(),
1053
+ iHeaderHeight = $this.find(".sapMDialogTitle").height() || 0,
1054
+ iSubHeaderHeight = $this.find(".sapMDialogSubHeader").height() || 0,
1055
+ iFooterHeight = $this.find("footer").height() || 0,
1056
+ iHeightAsPadding = iHeaderHeight + iSubHeaderHeight + iFooterHeight,
1057
+ iMaxHeight,
1058
+ iMaxWidth;
1059
+
1060
+ if (Device.system.phone && this.getStretch()) {
1061
+ iMaxWidth = oAreaDimensions.width;
1062
+ iMaxHeight = oAreaDimensions.height - iHeightAsPadding;
1063
+ } else {
1064
+ iMaxWidth = this._percentOfSize(oAreaDimensions.width, 100 - 2 * HORIZONTAL_MARGIN); // 90% of available width
1065
+ iMaxHeight = this._percentOfSize(oAreaDimensions.height, 100 - 2 * VERTICAL_MARGIN) - iHeightAsPadding; // 94% of available height minus paddings for headers and footer
1066
+ }
994
1067
 
995
1068
  return {
996
- left: Math.round((windowWidth - dialogWidth) / 2),
997
- top: Math.round((windowHeight - dialogHeight) / 2)
1069
+ maxWidth: Math.floor(iMaxWidth),
1070
+ maxHeight: Math.floor(iMaxHeight)
998
1071
  };
999
1072
  };
1000
1073
 
1074
+ /**
1075
+ * @returns {object} Object that has dimensions of the area in which the dialog is positioned
1076
+ * @private
1077
+ */
1078
+ Dialog.prototype._getAreaDimensions = function() {
1079
+ var oWithin = Popup.getWithinAreaDomRef(),
1080
+ oAreaDimensions;
1081
+
1082
+ if (oWithin === window) {
1083
+ oAreaDimensions = {
1084
+ left: 0,
1085
+ top: 0,
1086
+ width: oWithin.innerWidth,
1087
+ height: oWithin.innerHeight
1088
+ };
1089
+ } else {
1090
+ var oClientRect = oWithin.getBoundingClientRect(),
1091
+ $within = jQuery(oWithin);
1092
+
1093
+ oAreaDimensions = {
1094
+ left: oClientRect.left + parseFloat($within.css("border-left-width")),
1095
+ top: oClientRect.top + parseFloat($within.css("border-top-width")),
1096
+ width: oWithin.clientWidth,
1097
+ height: oWithin.clientHeight
1098
+ };
1099
+ }
1100
+
1101
+ oAreaDimensions.right = oAreaDimensions.left + oAreaDimensions.width;
1102
+ oAreaDimensions.bottom = oAreaDimensions.top + oAreaDimensions.height;
1103
+
1104
+ return oAreaDimensions;
1105
+ };
1106
+
1107
+ Dialog.prototype._percentOfSize = function (iSize, iPercent) {
1108
+ return Math.round(iSize * iPercent / 100);
1109
+ };
1110
+
1001
1111
  /**
1002
1112
  *
1003
1113
  * @private
@@ -1311,12 +1421,19 @@ function(
1311
1421
  * @private
1312
1422
  */
1313
1423
  Dialog.prototype._deregisterResizeHandler = function () {
1424
+ var oWithin = Popup.getWithinAreaDomRef();
1425
+
1314
1426
  if (this._resizeListenerId) {
1315
1427
  ResizeHandler.deregister(this._resizeListenerId);
1316
1428
  this._resizeListenerId = null;
1317
1429
  }
1318
1430
 
1319
- Device.resize.detachHandler(this._onResize, this);
1431
+ if (oWithin === window) {
1432
+ Device.resize.detachHandler(this._onResize, this);
1433
+ } else {
1434
+ ResizeHandler.deregister(this._withinResizeListenerId);
1435
+ this._withinResizeListenerId = null;
1436
+ }
1320
1437
  };
1321
1438
 
1322
1439
  /**
@@ -1324,15 +1441,18 @@ function(
1324
1441
  * @private
1325
1442
  */
1326
1443
  Dialog.prototype._registerResizeHandler = function () {
1327
- var _$srollSontent = this.$("scroll");
1444
+ var _$srollSontent = this.$("scroll"),
1445
+ oWithin = Popup.getWithinAreaDomRef();
1328
1446
 
1329
1447
  //The content have to have explicit size so the scroll will work when the user's content is larger than the available space.
1330
- //This can be removed and the layout change to flex when the support for IE9 is dropped// TODO remove after 1.62 version
1448
+ //This can be removed and the layout change to flex when the support for IE9 is dropped// TODO remove after the end of support for Internet Explorer
1331
1449
  this._resizeListenerId = ResizeHandler.register(_$srollSontent.get(0), jQuery.proxy(this._onResize, this));
1332
- Device.resize.attachHandler(this._onResize, this);
1333
1450
 
1334
- //set the initial size of the content container so when a dialog with large content is open there will be a scroller
1335
- this._onResize();
1451
+ if (oWithin === window) {
1452
+ Device.resize.attachHandler(this._onResize, this);
1453
+ } else {
1454
+ this._withinResizeListenerId = ResizeHandler.register(oWithin, this._onResize.bind(this));
1455
+ }
1336
1456
  };
1337
1457
 
1338
1458
  /**
@@ -1742,14 +1862,12 @@ function(
1742
1862
  /* end: setters */
1743
1863
  /* =========================================================== */
1744
1864
 
1745
- Dialog.prototype.forceInvalidate = Control.prototype.invalidate;
1746
-
1747
1865
  // stop propagating the invalidate to static UIArea before dialog is opened.
1748
1866
  // otherwise the open animation can't be seen
1749
1867
  // dialog will be rendered directly to static ui area when the open method is called.
1750
1868
  Dialog.prototype.invalidate = function (oOrigin) {
1751
1869
  if (this.isOpen()) {
1752
- this.forceInvalidate(oOrigin);
1870
+ Control.prototype.invalidate.call(this, oOrigin);
1753
1871
  }
1754
1872
  };
1755
1873
 
@@ -1800,8 +1918,7 @@ function(
1800
1918
  };
1801
1919
 
1802
1920
  /**
1803
- *
1804
- * @param {Object} e
1921
+ * @param {jQuery.Event} e The mousedown event
1805
1922
  */
1806
1923
  Dialog.prototype.onmousedown = function (e) {
1807
1924
  if (e.which === 3) {
@@ -1822,8 +1939,8 @@ function(
1822
1939
  }, 0);
1823
1940
  };
1824
1941
 
1825
- var windowWidth = window.innerWidth;
1826
- var windowHeight = window.innerHeight;
1942
+ var oAreaDimensions = this._getAreaDimensions();
1943
+
1827
1944
  var initial = {
1828
1945
  x: e.pageX,
1829
1946
  y: e.pageY,
@@ -1872,8 +1989,8 @@ function(
1872
1989
 
1873
1990
  //set the new position of the dialog on mouse down when the transform is disabled by the class
1874
1991
  that._$dialog.css({
1875
- left: Math.min(Math.max(0, that._oManuallySetPosition.x), windowWidth - initial.width),
1876
- top: Math.min(Math.max(0, that._oManuallySetPosition.y), windowHeight - initial.height),
1992
+ left: Math.min(Math.max(oAreaDimensions.left, that._oManuallySetPosition.x), oAreaDimensions.right - initial.width),
1993
+ top: Math.min(Math.max(oAreaDimensions.top, that._oManuallySetPosition.y), oAreaDimensions.bottom - initial.height),
1877
1994
  width: initial.width
1878
1995
  });
1879
1996
  }
@@ -1890,19 +2007,19 @@ function(
1890
2007
  that._bDisableRepositioning = true;
1891
2008
 
1892
2009
  that._oManuallySetPosition = {
1893
- x: event.pageX - e.pageX + initial.position.x, // deltaX + initial dialog position
1894
- y: event.pageY - e.pageY + initial.position.y // deltaY + initial dialog position
2010
+ x: Math.max(oAreaDimensions.left, Math.min(event.pageX - e.pageX + initial.position.x, oAreaDimensions.right - initial.width)), // deltaX + initial dialog position
2011
+ y: Math.max(oAreaDimensions.top, Math.min(event.pageY - e.pageY + initial.position.y, oAreaDimensions.bottom - initial.outerHeight)) // deltaY + initial dialog position
1895
2012
  };
1896
2013
 
1897
2014
  //move the dialog
1898
2015
  that._$dialog.css({
1899
- left: Math.min(Math.max(0, that._oManuallySetPosition.x), windowWidth - initial.width),
1900
- top: Math.min(Math.max(0, that._oManuallySetPosition.y), windowHeight - initial.outerHeight)
2016
+ top: that._oManuallySetPosition.y,
2017
+ left: that._oManuallySetPosition.x,
2018
+ right: that._bRTL ? "" : undefined
1901
2019
  });
1902
2020
  });
1903
2021
  });
1904
2022
  } else if (bResize) {
1905
-
1906
2023
  that._$dialog.addClass('sapMDialogResizing');
1907
2024
 
1908
2025
  var styles = {};
@@ -1918,12 +2035,12 @@ function(
1918
2035
  // BCP: 1680048166 remove inline set height and width so that the content resizes together with the mouse pointer
1919
2036
  that.$('cont').height('').width('');
1920
2037
 
1921
- if (event.pageY + handleOffsetY > windowHeight) {
1922
- event.pageY = windowHeight - handleOffsetY;
2038
+ if (event.pageY + handleOffsetY > oAreaDimensions.bottom) {
2039
+ event.pageY = oAreaDimensions.bottom - handleOffsetY;
1923
2040
  }
1924
2041
 
1925
- if (event.pageX + handleOffsetX > windowWidth) {
1926
- event.pageX = windowWidth - handleOffsetX;
2042
+ if (event.pageX + handleOffsetX > oAreaDimensions.right) {
2043
+ event.pageX = oAreaDimensions.right - handleOffsetX;
1927
2044
  }
1928
2045
 
1929
2046
  that._oManuallySetSize = {
@@ -88,7 +88,8 @@ sap.ui.define(["sap/m/library", "sap/ui/Device", "sap/ui/core/library"],
88
88
  // No Footer
89
89
  var noToolbarAndNobuttons = !oControl._oToolbar && !oLeftButton && !oRightButton;
90
90
  var emptyToolbarAndNoButtons = oControl._oToolbar && oControl._isToolbarEmpty() && !oLeftButton && !oRightButton;
91
- if (noToolbarAndNobuttons || emptyToolbarAndNoButtons) {
91
+ var bHiddenFooter = oControl._oToolbar && !oControl._oToolbar.getVisible();
92
+ if (noToolbarAndNobuttons || emptyToolbarAndNoButtons || bHiddenFooter) {
92
93
  oRm.addClass("sapMDialog-NoFooter");
93
94
  }
94
95
 
@@ -212,7 +213,7 @@ sap.ui.define(["sap/m/library", "sap/ui/Device", "sap/ui/core/library"],
212
213
  oRm.write("</div>");
213
214
  oRm.write("</section>");
214
215
 
215
- if (!(noToolbarAndNobuttons || emptyToolbarAndNoButtons)) {
216
+ if (!noToolbarAndNobuttons && !emptyToolbarAndNoButtons && !bHiddenFooter) {
216
217
  oRm.write("<footer");
217
218
  oRm.addClass("sapMDialogFooter");
218
219
  oRm.writeClasses();
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.71.46
33
+ * @version 1.71.48
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @abstract
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.71.46
29
+ * @version 1.71.48
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -140,7 +140,7 @@ sap.ui.define([
140
140
  *
141
141
  * @extends sap.ui.core.Control
142
142
  * @implements sap.ui.core.IShrinkable
143
- * @version 1.71.46
143
+ * @version 1.71.48
144
144
  *
145
145
  * @constructor
146
146
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['./ListItemBase', './library', './FacetFilterItemRenderer'],
20
20
  * @class
21
21
  * Represents a value for the {@link sap.m.FacetFilterList} control.
22
22
  * @extends sap.m.ListItemBase
23
- * @version 1.71.46
23
+ * @version 1.71.48
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * be closed.
53
53
  *
54
54
  * @extends sap.m.List
55
- * @version 1.71.46
55
+ * @version 1.71.48
56
56
  *
57
57
  * @constructor
58
58
  * @public
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Control
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.71.46
31
+ * @version 1.71.48
32
32
  * @since 1.34
33
33
  *
34
34
  * @public
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @extends sap.ui.core.Control
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.71.46
38
+ * @version 1.71.48
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -53,7 +53,7 @@ function(
53
53
  * @extends sap.m.ListItemBase
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.71.46
56
+ * @version 1.71.48
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(["sap/ui/core/Element"],
19
19
  * @extends sap.ui.core.Element
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.71.46
22
+ * @version 1.71.48
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  *
28
28
  * @class text
29
- * @version 1.71.46
29
+ * @version 1.71.48
30
30
  * @private
31
31
  * @since 1.38
32
32
  * @alias HeaderAdapter
@@ -226,7 +226,7 @@ sap.ui.define([
226
226
  * Constructor for an sap.m.Fiori20Adapter.
227
227
  *
228
228
  * @class text
229
- * @version 1.71.46
229
+ * @version 1.71.48
230
230
  * @private
231
231
  * @since 1.38
232
232
  * @alias sap.m.Fiori20Adapter
@@ -60,7 +60,7 @@ function(
60
60
  * @extends sap.ui.core.Control
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.71.46
63
+ * @version 1.71.48
64
64
  *
65
65
  * @public
66
66
  * @alias sap.m.FlexBox
@@ -24,7 +24,7 @@ sap.ui.define(['./FlexBoxStylingHelper', './library', 'sap/ui/core/LayoutData'],
24
24
  * @class
25
25
  * Holds layout data for a FlexBox / HBox / VBox.
26
26
  * @extends sap.ui.core.LayoutData
27
- * @version 1.71.46
27
+ * @version 1.71.48
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -41,7 +41,7 @@ function(
41
41
  * @class
42
42
  * The FormattedText control allows the usage of a limited set of tags for inline display of formatted text in HTML format.
43
43
  * @extends sap.ui.core.Control
44
- * @version 1.71.46
44
+ * @version 1.71.48
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @extends sap.ui.core.Control
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.71.46
56
+ * @version 1.71.48
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.core.Control
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.71.46
63
+ * @version 1.71.48
64
64
  * @since 1.34.0
65
65
  *
66
66
  * @public
@@ -30,7 +30,7 @@ sap.ui.define(["sap/ui/core/library", "./library", "./ListItemBase", "./GroupHea
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.71.46
33
+ * @version 1.71.48
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -180,12 +180,8 @@ sap.ui.define([
180
180
  // if max item count not reached or if we do not know the count
181
181
  var oBinding = this._oControl.getBinding("items");
182
182
  if (oBinding && !oBinding.isLengthFinal() || this._iLimit < this._oControl.getMaxItemsCount()) {
183
- // The GrowingEnablement has its own busy indicator. Do not show the busy indicator, if existing, of the parent control.
184
- if (this._oControl.getMetadata().hasProperty("enableBusyIndicator")) {
185
- this._bParentEnableBusyIndicator = this._oControl.getEnableBusyIndicator();
186
- this._oControl.setEnableBusyIndicator(false);
187
- }
188
-
183
+ // block busy indicator animation from the ListBase
184
+ this._oControl._bBusy = true;
189
185
  this._iLimit += this._oControl.getGrowingThreshold();
190
186
  this._updateTriggerDelayed(true);
191
187
  this.updateItems("Growing");
@@ -203,11 +199,6 @@ sap.ui.define([
203
199
  this._bLoading = false;
204
200
  this._updateTriggerDelayed(false);
205
201
  this._oControl.onAfterPageLoaded(this.getInfo(), sChangeReason);
206
-
207
- // After the data has been loaded, restore the busy indicator handling of the parent control.
208
- if (this._oControl.setEnableBusyIndicator) {
209
- this._oControl.setEnableBusyIndicator(this._bParentEnableBusyIndicator);
210
- }
211
202
  },
212
203
 
213
204
  // created and returns load more trigger
@@ -22,7 +22,7 @@ sap.ui.define(['./List', './library', './GrowingListRenderer'],
22
22
  * @extends sap.m.List
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.71.46
25
+ * @version 1.71.48
26
26
  *
27
27
  * @constructor
28
28
  * @public
package/src/sap/m/HBox.js CHANGED
@@ -25,7 +25,7 @@ sap.ui.define(['./FlexBox', './library', './HBoxRenderer'],
25
25
  * @extends sap.m.FlexBox
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.71.46
28
+ * @version 1.71.48
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -119,7 +119,7 @@ sap.ui.define([
119
119
  * @since 1.44.0
120
120
  *
121
121
  * @author SAP SE
122
- * @version 1.71.46
122
+ * @version 1.71.48
123
123
  *
124
124
  * @public
125
125
  * @alias sap.m.HeaderContainer
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @since 1.67.0
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.71.46
22
+ * @version 1.71.48
23
23
  *
24
24
  * @constructor
25
25
  * @alias sap.m.HeaderContainerItemNavigator
@@ -90,7 +90,7 @@ sap.ui.define([
90
90
  * @implements sap.m.ObjectHeaderContainer, sap.f.IDynamicPageStickyContent
91
91
  *
92
92
  * @author SAP SE
93
- * @version 1.71.46
93
+ * @version 1.71.48
94
94
  *
95
95
  * @public
96
96
  * @alias sap.m.IconTabBar
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.71.46
37
+ * @version 1.71.48
38
38
  *
39
39
  * @constructor
40
40
  * @private
@@ -43,7 +43,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item',
43
43
  * @implements sap.m.IconTab
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.71.46
46
+ * @version 1.71.48
47
47
  *
48
48
  * @constructor
49
49
  * @public
@@ -81,7 +81,7 @@ function(
81
81
  * @extends sap.ui.core.Control
82
82
  *
83
83
  * @author SAP SE
84
- * @version 1.71.46
84
+ * @version 1.71.48
85
85
  *
86
86
  * @constructor
87
87
  * @public