@openui5/sap.m 1.98.0 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +2 -2
  7. package/src/sap/m/ActionListItemRenderer.js +5 -7
  8. package/src/sap/m/ActionSelect.js +1 -1
  9. package/src/sap/m/ActionSelectRenderer.js +1 -1
  10. package/src/sap/m/ActionSheet.js +12 -5
  11. package/src/sap/m/ActionSheetRenderer.js +1 -1
  12. package/src/sap/m/App.js +1 -1
  13. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  14. package/src/sap/m/Avatar.js +21 -4
  15. package/src/sap/m/AvatarRenderer.js +6 -1
  16. package/src/sap/m/BadgeCustomData.js +6 -4
  17. package/src/sap/m/BadgeEnabler.js +3 -2
  18. package/src/sap/m/Bar.js +6 -5
  19. package/src/sap/m/BarRenderer.js +6 -6
  20. package/src/sap/m/Breadcrumbs.js +81 -7
  21. package/src/sap/m/BreadcrumbsRenderer.js +3 -7
  22. package/src/sap/m/BusyDialog.js +1 -1
  23. package/src/sap/m/BusyIndicator.js +1 -1
  24. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  25. package/src/sap/m/Button.js +2 -2
  26. package/src/sap/m/ButtonRenderer.js +3 -3
  27. package/src/sap/m/Carousel.js +22 -17
  28. package/src/sap/m/CarouselLayout.js +1 -1
  29. package/src/sap/m/CarouselRenderer.js +10 -4
  30. package/src/sap/m/CheckBox.js +2 -4
  31. package/src/sap/m/CheckBoxRenderer.js +1 -1
  32. package/src/sap/m/ColorPalette.js +1 -1
  33. package/src/sap/m/ColorPalettePopover.js +1 -1
  34. package/src/sap/m/Column.js +1 -1
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  36. package/src/sap/m/ColumnListItem.js +1 -1
  37. package/src/sap/m/ColumnListItemRenderer.js +10 -11
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  40. package/src/sap/m/ColumnPopoverItem.js +1 -1
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  43. package/src/sap/m/ComboBox.js +3 -2
  44. package/src/sap/m/ComboBoxBase.js +5 -3
  45. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  46. package/src/sap/m/ComboBoxRenderer.js +4 -4
  47. package/src/sap/m/ComboBoxTextField.js +1 -1
  48. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  49. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  50. package/src/sap/m/CustomListItem.js +1 -1
  51. package/src/sap/m/CustomListItemRenderer.js +4 -6
  52. package/src/sap/m/CustomTile.js +1 -1
  53. package/src/sap/m/CustomTileRenderer.js +2 -2
  54. package/src/sap/m/CustomTreeItem.js +1 -1
  55. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  56. package/src/sap/m/DatePicker.js +36 -7
  57. package/src/sap/m/DatePickerRenderer.js +1 -6
  58. package/src/sap/m/DateRangeSelection.js +42 -4
  59. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  60. package/src/sap/m/DateTimeField.js +15 -6
  61. package/src/sap/m/DateTimeInput.js +1 -1
  62. package/src/sap/m/DateTimePicker.js +375 -89
  63. package/src/sap/m/DateTimePickerRenderer.js +57 -0
  64. package/src/sap/m/Dialog.js +20 -7
  65. package/src/sap/m/DialogRenderer.js +1 -1
  66. package/src/sap/m/DisplayListItem.js +1 -1
  67. package/src/sap/m/DisplayListItemRenderer.js +4 -6
  68. package/src/sap/m/DraftIndicator.js +1 -1
  69. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  70. package/src/sap/m/DynamicDate.js +3 -3
  71. package/src/sap/m/DynamicDateFormat.js +33 -1
  72. package/src/sap/m/DynamicDateOption.js +144 -9
  73. package/src/sap/m/DynamicDateRange.js +145 -49
  74. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  75. package/src/sap/m/DynamicDateUtil.js +10 -3
  76. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  77. package/src/sap/m/ExpandableText.js +1 -1
  78. package/src/sap/m/FacetFilter.js +1 -1
  79. package/src/sap/m/FacetFilterItem.js +1 -1
  80. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  81. package/src/sap/m/FacetFilterList.js +7 -5
  82. package/src/sap/m/FacetFilterRenderer.js +10 -10
  83. package/src/sap/m/FeedContent.js +2 -2
  84. package/src/sap/m/FeedInput.js +2 -2
  85. package/src/sap/m/FeedInputRenderer.js +1 -1
  86. package/src/sap/m/FeedListItem.js +7 -7
  87. package/src/sap/m/FeedListItemAction.js +1 -1
  88. package/src/sap/m/FeedListItemRenderer.js +12 -7
  89. package/src/sap/m/Fiori20Adapter.js +2 -2
  90. package/src/sap/m/FlexBox.js +1 -1
  91. package/src/sap/m/FlexItemData.js +1 -1
  92. package/src/sap/m/FormattedText.js +4 -1
  93. package/src/sap/m/GenericTag.js +5 -3
  94. package/src/sap/m/GenericTagRenderer.js +13 -5
  95. package/src/sap/m/GenericTile.js +62 -16
  96. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  97. package/src/sap/m/GenericTileRenderer.js +89 -42
  98. package/src/sap/m/GroupHeaderListItem.js +1 -1
  99. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  100. package/src/sap/m/GrowingEnablement.js +53 -3
  101. package/src/sap/m/GrowingList.js +1 -1
  102. package/src/sap/m/HBox.js +1 -1
  103. package/src/sap/m/HBoxRenderer.js +1 -1
  104. package/src/sap/m/HeaderContainer.js +87 -16
  105. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  106. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  107. package/src/sap/m/HyphenationSupport.js +1 -5
  108. package/src/sap/m/IconTabBar.js +2 -2
  109. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  110. package/src/sap/m/IconTabBarSelectList.js +3 -5
  111. package/src/sap/m/IconTabFilter.js +1 -1
  112. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  113. package/src/sap/m/IconTabHeader.js +9 -13
  114. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  115. package/src/sap/m/IconTabSeparator.js +1 -1
  116. package/src/sap/m/IllustratedMessage.js +29 -8
  117. package/src/sap/m/IllustratedMessageRenderer.js +5 -5
  118. package/src/sap/m/IllustratedMessageType.js +26 -2
  119. package/src/sap/m/Illustration.js +1 -1
  120. package/src/sap/m/IllustrationRenderer.js +4 -2
  121. package/src/sap/m/Image.js +1 -1
  122. package/src/sap/m/ImageContent.js +2 -2
  123. package/src/sap/m/ImageRenderer.js +1 -1
  124. package/src/sap/m/Input.js +13 -23
  125. package/src/sap/m/InputBase.js +6 -8
  126. package/src/sap/m/InputBaseRenderer.js +53 -39
  127. package/src/sap/m/InputListItem.js +1 -1
  128. package/src/sap/m/InputListItemRenderer.js +4 -6
  129. package/src/sap/m/InputRenderer.js +12 -9
  130. package/src/sap/m/Label.js +3 -3
  131. package/src/sap/m/LabelRenderer.js +2 -2
  132. package/src/sap/m/LightBox.js +5 -5
  133. package/src/sap/m/LightBoxItem.js +2 -3
  134. package/src/sap/m/LightBoxRenderer.js +1 -1
  135. package/src/sap/m/Link.js +2 -2
  136. package/src/sap/m/LinkRenderer.js +1 -1
  137. package/src/sap/m/List.js +1 -1
  138. package/src/sap/m/ListBase.js +50 -10
  139. package/src/sap/m/ListBaseRenderer.js +38 -24
  140. package/src/sap/m/ListItemBase.js +4 -3
  141. package/src/sap/m/ListItemBaseRenderer.js +23 -23
  142. package/src/sap/m/MaskEnabler.js +11 -11
  143. package/src/sap/m/MaskInput.js +9 -1
  144. package/src/sap/m/MaskInputRenderer.js +9 -43
  145. package/src/sap/m/MaskInputRule.js +5 -5
  146. package/src/sap/m/Menu.js +1 -1
  147. package/src/sap/m/MenuButton.js +5 -1
  148. package/src/sap/m/MenuButtonRenderer.js +1 -1
  149. package/src/sap/m/MenuItem.js +1 -1
  150. package/src/sap/m/MenuListItem.js +1 -1
  151. package/src/sap/m/MenuListItemRenderer.js +2 -2
  152. package/src/sap/m/MessageBox.js +1 -1
  153. package/src/sap/m/MessageItem.js +1 -1
  154. package/src/sap/m/MessageListItem.js +1 -1
  155. package/src/sap/m/MessagePage.js +1 -1
  156. package/src/sap/m/MessagePageRenderer.js +1 -1
  157. package/src/sap/m/MessagePopover.js +19 -34
  158. package/src/sap/m/MessagePopoverItem.js +1 -1
  159. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  160. package/src/sap/m/MessageStrip.js +2 -2
  161. package/src/sap/m/MessageStripRenderer.js +1 -1
  162. package/src/sap/m/MessageToast.js +1 -1
  163. package/src/sap/m/MessageView.js +3 -3
  164. package/src/sap/m/MultiComboBox.js +6 -4
  165. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  166. package/src/sap/m/MultiEditField.js +1 -1
  167. package/src/sap/m/MultiInput.js +44 -27
  168. package/src/sap/m/NavContainer.js +53 -53
  169. package/src/sap/m/NavContainerRenderer.js +1 -1
  170. package/src/sap/m/NewsContent.js +2 -2
  171. package/src/sap/m/NotificationList.js +1 -1
  172. package/src/sap/m/NotificationListBase.js +1 -1
  173. package/src/sap/m/NotificationListGroup.js +1 -1
  174. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  175. package/src/sap/m/NotificationListItem.js +1 -1
  176. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  177. package/src/sap/m/NotificationListRenderer.js +2 -2
  178. package/src/sap/m/NumericContent.js +30 -22
  179. package/src/sap/m/NumericContentRenderer.js +10 -10
  180. package/src/sap/m/NumericInput.js +3 -2
  181. package/src/sap/m/NumericInputRenderer.js +13 -1
  182. package/src/sap/m/ObjectAttribute.js +4 -5
  183. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  184. package/src/sap/m/ObjectHeader.js +20 -7
  185. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  186. package/src/sap/m/ObjectIdentifier.js +3 -3
  187. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  188. package/src/sap/m/ObjectListItem.js +1 -1
  189. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  190. package/src/sap/m/ObjectMarker.js +35 -11
  191. package/src/sap/m/ObjectMarkerRenderer.js +15 -3
  192. package/src/sap/m/ObjectNumber.js +1 -1
  193. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  194. package/src/sap/m/ObjectStatus.js +1 -1
  195. package/src/sap/m/ObjectStatusRenderer.js +4 -5
  196. package/src/sap/m/OverflowToolbar.js +23 -3
  197. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  198. package/src/sap/m/OverflowToolbarButton.js +1 -1
  199. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  200. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  201. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  202. package/src/sap/m/P13nColumnsItem.js +1 -1
  203. package/src/sap/m/P13nColumnsPanel.js +1 -1
  204. package/src/sap/m/P13nConditionPanel.js +2 -2
  205. package/src/sap/m/P13nDialog.js +1 -1
  206. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  207. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  208. package/src/sap/m/P13nFilterItem.js +1 -1
  209. package/src/sap/m/P13nFilterPanel.js +1 -1
  210. package/src/sap/m/P13nGroupItem.js +1 -1
  211. package/src/sap/m/P13nGroupPanel.js +3 -3
  212. package/src/sap/m/P13nItem.js +1 -1
  213. package/src/sap/m/P13nPanel.js +1 -1
  214. package/src/sap/m/P13nSelectionItem.js +1 -1
  215. package/src/sap/m/P13nSelectionPanel.js +1 -1
  216. package/src/sap/m/P13nSortItem.js +1 -1
  217. package/src/sap/m/P13nSortPanel.js +1 -1
  218. package/src/sap/m/PDFViewer.js +4 -3
  219. package/src/sap/m/PDFViewerRenderer.js +15 -7
  220. package/src/sap/m/Page.js +1 -1
  221. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  222. package/src/sap/m/PagingButton.js +1 -1
  223. package/src/sap/m/Panel.js +1 -1
  224. package/src/sap/m/PanelRenderer.js +1 -1
  225. package/src/sap/m/PlanningCalendar.js +16 -15
  226. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  227. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  228. package/src/sap/m/PlanningCalendarRow.js +1 -1
  229. package/src/sap/m/PlanningCalendarView.js +1 -1
  230. package/src/sap/m/Popover.js +25 -9
  231. package/src/sap/m/PopoverRenderer.js +1 -1
  232. package/src/sap/m/ProgressIndicator.js +3 -3
  233. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  234. package/src/sap/m/PullToRefresh.js +1 -1
  235. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  236. package/src/sap/m/QuickView.js +1 -1
  237. package/src/sap/m/QuickViewBase.js +1 -1
  238. package/src/sap/m/QuickViewCard.js +1 -1
  239. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  240. package/src/sap/m/QuickViewGroup.js +1 -1
  241. package/src/sap/m/QuickViewGroupElement.js +1 -1
  242. package/src/sap/m/QuickViewPage.js +5 -2
  243. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  244. package/src/sap/m/RadioButton.js +1 -1
  245. package/src/sap/m/RadioButtonGroup.js +14 -2
  246. package/src/sap/m/RadioButtonRenderer.js +1 -2
  247. package/src/sap/m/RangeSlider.js +17 -6
  248. package/src/sap/m/RangeSliderRenderer.js +5 -5
  249. package/src/sap/m/RatingIndicator.js +2 -2
  250. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  251. package/src/sap/m/ResponsivePopover.js +3 -5
  252. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  253. package/src/sap/m/ResponsiveScale.js +1 -1
  254. package/src/sap/m/ScrollBar.js +3 -3
  255. package/src/sap/m/ScrollBarRenderer.js +1 -1
  256. package/src/sap/m/ScrollContainer.js +1 -1
  257. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  258. package/src/sap/m/SearchField.js +2 -2
  259. package/src/sap/m/SegmentedButton.js +17 -7
  260. package/src/sap/m/SegmentedButtonItem.js +1 -1
  261. package/src/sap/m/SegmentedButtonRenderer.js +2 -2
  262. package/src/sap/m/Select.js +36 -6
  263. package/src/sap/m/SelectDialog.js +4 -4
  264. package/src/sap/m/SelectDialogBase.js +1 -1
  265. package/src/sap/m/SelectList.js +4 -3
  266. package/src/sap/m/SelectListRenderer.js +5 -5
  267. package/src/sap/m/SelectRenderer.js +5 -5
  268. package/src/sap/m/SelectionDetails.js +3 -5
  269. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  270. package/src/sap/m/SelectionDetailsItem.js +1 -1
  271. package/src/sap/m/SelectionDetailsItemLine.js +3 -3
  272. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  273. package/src/sap/m/Shell.js +1 -1
  274. package/src/sap/m/ShellRenderer.js +1 -1
  275. package/src/sap/m/SimpleFixFlex.js +1 -1
  276. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendar.js +21 -2
  278. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  279. package/src/sap/m/SinglePlanningCalendarGrid.js +118 -67
  280. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +16 -14
  281. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
  282. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
  283. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  284. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  285. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  286. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  287. package/src/sap/m/SlideTile.js +2 -2
  288. package/src/sap/m/SlideTileRenderer.js +9 -2
  289. package/src/sap/m/Slider.js +1 -1
  290. package/src/sap/m/SliderRenderer.js +9 -9
  291. package/src/sap/m/SliderTooltip.js +3 -3
  292. package/src/sap/m/SliderTooltipBase.js +1 -1
  293. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  294. package/src/sap/m/SliderTooltipContainer.js +6 -2
  295. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  296. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  297. package/src/sap/m/SplitApp.js +1 -1
  298. package/src/sap/m/SplitButton.js +3 -1
  299. package/src/sap/m/SplitButtonRenderer.js +1 -1
  300. package/src/sap/m/SplitContainer.js +24 -31
  301. package/src/sap/m/StandardDynamicDateOption.js +154 -12
  302. package/src/sap/m/StandardListItem.js +1 -1
  303. package/src/sap/m/StandardListItemRenderer.js +8 -8
  304. package/src/sap/m/StandardTile.js +1 -1
  305. package/src/sap/m/StandardTileRenderer.js +1 -1
  306. package/src/sap/m/StandardTreeItem.js +1 -1
  307. package/src/sap/m/StepInput.js +4 -4
  308. package/src/sap/m/SuggestionItem.js +1 -1
  309. package/src/sap/m/SuggestionsPopover.js +7 -22
  310. package/src/sap/m/Switch.js +1 -1
  311. package/src/sap/m/SwitchRenderer.js +3 -3
  312. package/src/sap/m/TabContainer.js +1 -1
  313. package/src/sap/m/TabContainerItem.js +1 -3
  314. package/src/sap/m/TabContainerRenderer.js +2 -2
  315. package/src/sap/m/TabStrip.js +2 -2
  316. package/src/sap/m/TabStripItem.js +1 -1
  317. package/src/sap/m/TabStripRenderer.js +2 -2
  318. package/src/sap/m/Table.js +41 -9
  319. package/src/sap/m/TablePersoController.js +1 -1
  320. package/src/sap/m/TablePersoDialog.js +1 -1
  321. package/src/sap/m/TablePersoProvider.js +1 -1
  322. package/src/sap/m/TableRenderer.js +10 -5
  323. package/src/sap/m/TableSelectDialog.js +19 -19
  324. package/src/sap/m/Text.js +1 -1
  325. package/src/sap/m/TextArea.js +1 -1
  326. package/src/sap/m/TextAreaRenderer.js +1 -1
  327. package/src/sap/m/Tile.js +3 -3
  328. package/src/sap/m/TileContainer.js +6 -4
  329. package/src/sap/m/TileContainerRenderer.js +1 -1
  330. package/src/sap/m/TileContent.js +37 -5
  331. package/src/sap/m/TileContentRenderer.js +43 -6
  332. package/src/sap/m/TileRenderer.js +2 -2
  333. package/src/sap/m/TimePicker.js +4 -56
  334. package/src/sap/m/TimePickerClock.js +5 -6
  335. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  336. package/src/sap/m/TimePickerClocks.js +6 -5
  337. package/src/sap/m/TimePickerClocksRenderer.js +3 -3
  338. package/src/sap/m/TimePickerInputs.js +1 -1
  339. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  340. package/src/sap/m/TimePickerInternals.js +8 -6
  341. package/src/sap/m/TimePickerRenderer.js +5 -17
  342. package/src/sap/m/TimePickerSlider.js +2 -2
  343. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  344. package/src/sap/m/TimePickerSliders.js +7 -5
  345. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  346. package/src/sap/m/Title.js +1 -5
  347. package/src/sap/m/TitlePropagationSupport.js +1 -1
  348. package/src/sap/m/TitleRenderer.js +2 -2
  349. package/src/sap/m/ToggleButton.js +1 -1
  350. package/src/sap/m/Token.js +1 -2
  351. package/src/sap/m/TokenRenderer.js +21 -3
  352. package/src/sap/m/Tokenizer.js +8 -8
  353. package/src/sap/m/TokenizerRenderer.js +41 -7
  354. package/src/sap/m/Toolbar.js +5 -5
  355. package/src/sap/m/ToolbarLayoutData.js +1 -1
  356. package/src/sap/m/ToolbarRenderer.js +3 -3
  357. package/src/sap/m/ToolbarSeparator.js +5 -3
  358. package/src/sap/m/ToolbarSpacer.js +1 -1
  359. package/src/sap/m/Tree.js +1 -1
  360. package/src/sap/m/TreeItemBase.js +6 -6
  361. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  362. package/src/sap/m/TreeRenderer.js +2 -2
  363. package/src/sap/m/UploadCollection.js +5 -3
  364. package/src/sap/m/UploadCollectionItem.js +1 -1
  365. package/src/sap/m/UploadCollectionParameter.js +1 -1
  366. package/src/sap/m/UploadCollectionRenderer.js +2 -1
  367. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  368. package/src/sap/m/VBox.js +1 -1
  369. package/src/sap/m/VBoxRenderer.js +1 -1
  370. package/src/sap/m/ValueStateHeader.js +1 -1
  371. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  372. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  373. package/src/sap/m/ViewSettingsDialog.js +118 -61
  374. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  375. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  376. package/src/sap/m/ViewSettingsItem.js +1 -1
  377. package/src/sap/m/VisibleItem.js +2 -2
  378. package/src/sap/m/WheelSlider.js +1 -1
  379. package/src/sap/m/WheelSliderContainer.js +1 -1
  380. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  381. package/src/sap/m/WheelSliderRenderer.js +2 -2
  382. package/src/sap/m/Wizard.js +22 -4
  383. package/src/sap/m/WizardProgressNavigator.js +10 -3
  384. package/src/sap/m/WizardStep.js +1 -1
  385. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  386. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  387. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  388. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  389. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  390. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -5
  391. package/src/sap/m/delegate/DateNavigation.js +2 -2
  392. package/src/sap/m/designtime/ListBase.designtime.js +29 -0
  393. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  394. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  395. package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
  396. package/src/sap/m/inputUtils/typeAhead.js +7 -7
  397. package/src/sap/m/library.js +74 -38
  398. package/src/sap/m/messagebundle.properties +80 -20
  399. package/src/sap/m/messagebundle_ar.properties +48 -14
  400. package/src/sap/m/messagebundle_bg.properties +77 -43
  401. package/src/sap/m/messagebundle_ca.properties +48 -14
  402. package/src/sap/m/messagebundle_cs.properties +50 -16
  403. package/src/sap/m/messagebundle_cy.properties +48 -14
  404. package/src/sap/m/messagebundle_da.properties +49 -15
  405. package/src/sap/m/messagebundle_de.properties +49 -15
  406. package/src/sap/m/messagebundle_el.properties +53 -19
  407. package/src/sap/m/messagebundle_en.properties +46 -12
  408. package/src/sap/m/messagebundle_en_GB.properties +46 -12
  409. package/src/sap/m/messagebundle_en_US_sappsd.properties +48 -12
  410. package/src/sap/m/messagebundle_en_US_saprigi.properties +291 -66
  411. package/src/sap/m/messagebundle_en_US_saptrc.properties +46 -12
  412. package/src/sap/m/messagebundle_es.properties +48 -14
  413. package/src/sap/m/messagebundle_es_MX.properties +48 -14
  414. package/src/sap/m/messagebundle_et.properties +48 -14
  415. package/src/sap/m/messagebundle_fi.properties +49 -15
  416. package/src/sap/m/messagebundle_fr.properties +61 -27
  417. package/src/sap/m/messagebundle_fr_CA.properties +47 -13
  418. package/src/sap/m/messagebundle_hi.properties +46 -12
  419. package/src/sap/m/messagebundle_hr.properties +48 -14
  420. package/src/sap/m/messagebundle_hu.properties +49 -15
  421. package/src/sap/m/messagebundle_id.properties +48 -14
  422. package/src/sap/m/messagebundle_it.properties +55 -21
  423. package/src/sap/m/messagebundle_iw.properties +48 -14
  424. package/src/sap/m/messagebundle_ja.properties +51 -17
  425. package/src/sap/m/messagebundle_kk.properties +48 -14
  426. package/src/sap/m/messagebundle_ko.properties +48 -14
  427. package/src/sap/m/messagebundle_lt.properties +48 -14
  428. package/src/sap/m/messagebundle_lv.properties +48 -14
  429. package/src/sap/m/messagebundle_ms.properties +47 -13
  430. package/src/sap/m/messagebundle_nl.properties +48 -14
  431. package/src/sap/m/messagebundle_no.properties +48 -14
  432. package/src/sap/m/messagebundle_pl.properties +48 -14
  433. package/src/sap/m/messagebundle_pt.properties +71 -37
  434. package/src/sap/m/messagebundle_pt_PT.properties +49 -15
  435. package/src/sap/m/messagebundle_ro.properties +48 -14
  436. package/src/sap/m/messagebundle_ru.properties +48 -14
  437. package/src/sap/m/messagebundle_sh.properties +48 -14
  438. package/src/sap/m/messagebundle_sk.properties +48 -14
  439. package/src/sap/m/messagebundle_sl.properties +48 -14
  440. package/src/sap/m/messagebundle_sv.properties +49 -15
  441. package/src/sap/m/messagebundle_th.properties +55 -21
  442. package/src/sap/m/messagebundle_tr.properties +48 -14
  443. package/src/sap/m/messagebundle_uk.properties +48 -14
  444. package/src/sap/m/messagebundle_vi.properties +47 -13
  445. package/src/sap/m/messagebundle_zh_CN.properties +48 -14
  446. package/src/sap/m/messagebundle_zh_TW.properties +47 -13
  447. package/src/sap/m/p13n/AbstractContainer.js +15 -8
  448. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  449. package/src/sap/m/p13n/BasePanel.js +39 -20
  450. package/src/sap/m/p13n/Container.js +20 -14
  451. package/src/sap/m/p13n/GroupPanel.js +6 -5
  452. package/src/sap/m/p13n/Popup.js +9 -2
  453. package/src/sap/m/p13n/QueryPanel.js +93 -30
  454. package/src/sap/m/p13n/SelectionPanel.js +16 -8
  455. package/src/sap/m/p13n/SortPanel.js +9 -6
  456. package/src/sap/m/plugins/ColumnResizer.js +38 -9
  457. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  458. package/src/sap/m/plugins/PasteProvider.js +1 -1
  459. package/src/sap/m/plugins/PluginBase.js +1 -1
  460. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  461. package/src/sap/m/rules/MessagePage.support.js +1 -1
  462. package/src/sap/m/rules/Tokenizer.support.js +4 -2
  463. package/src/sap/m/semantic/AddAction.js +1 -1
  464. package/src/sap/m/semantic/CancelAction.js +1 -1
  465. package/src/sap/m/semantic/DeleteAction.js +1 -1
  466. package/src/sap/m/semantic/DetailPage.js +1 -1
  467. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  468. package/src/sap/m/semantic/EditAction.js +1 -1
  469. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  470. package/src/sap/m/semantic/FilterAction.js +1 -1
  471. package/src/sap/m/semantic/FilterSelect.js +1 -1
  472. package/src/sap/m/semantic/FlagAction.js +1 -1
  473. package/src/sap/m/semantic/ForwardAction.js +1 -1
  474. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  475. package/src/sap/m/semantic/GroupAction.js +1 -1
  476. package/src/sap/m/semantic/GroupSelect.js +1 -1
  477. package/src/sap/m/semantic/MainAction.js +1 -1
  478. package/src/sap/m/semantic/MasterPage.js +1 -1
  479. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  480. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  481. package/src/sap/m/semantic/NegativeAction.js +1 -1
  482. package/src/sap/m/semantic/OpenInAction.js +1 -1
  483. package/src/sap/m/semantic/PositiveAction.js +1 -1
  484. package/src/sap/m/semantic/PrintAction.js +1 -1
  485. package/src/sap/m/semantic/SaveAction.js +1 -1
  486. package/src/sap/m/semantic/Segment.js +1 -1
  487. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  488. package/src/sap/m/semantic/SemanticButton.js +1 -1
  489. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  490. package/src/sap/m/semantic/SemanticControl.js +1 -1
  491. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  492. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  493. package/src/sap/m/semantic/SemanticPage.js +1 -1
  494. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  495. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  496. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  497. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  498. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  499. package/src/sap/m/semantic/ShareMenu.js +2 -2
  500. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  501. package/src/sap/m/semantic/SortAction.js +1 -1
  502. package/src/sap/m/semantic/SortSelect.js +1 -1
  503. package/src/sap/m/table/Util.js +104 -23
  504. package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
  505. package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
  506. package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
  507. package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
  508. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  509. package/src/sap/m/table/columnmenu/Menu.js +556 -0
  510. package/src/sap/m/table/columnmenu/MenuRenderer.js +57 -0
  511. package/src/sap/m/table/columnmenu/QuickAction.js +65 -0
  512. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  513. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  514. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  515. package/src/sap/m/table/columnmenu/QuickGroup.js +146 -0
  516. package/src/sap/m/table/columnmenu/QuickGroupItem.js +59 -0
  517. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  518. package/src/sap/m/table/columnmenu/QuickSortItem.js +118 -0
  519. package/src/sap/m/table/columnmenu/QuickTotal.js +157 -0
  520. package/src/sap/m/table/columnmenu/QuickTotalItem.js +59 -0
  521. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  522. package/src/sap/m/themes/base/Avatar.less +11 -5
  523. package/src/sap/m/themes/base/Button.less +2 -2
  524. package/src/sap/m/themes/base/Carousel.less +5 -0
  525. package/src/sap/m/themes/base/CheckBox.less +0 -5
  526. package/src/sap/m/themes/base/ColumnMenu.less +17 -13
  527. package/src/sap/m/themes/base/DatePicker.less +7 -2
  528. package/src/sap/m/themes/base/DateTimePicker.less +147 -1
  529. package/src/sap/m/themes/base/Dialog.less +4 -6
  530. package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
  531. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  532. package/src/sap/m/themes/base/GenericTile.less +418 -55
  533. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  534. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  535. package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
  536. package/src/sap/m/themes/base/Input.less +1 -1
  537. package/src/sap/m/themes/base/InputBase.less +112 -10
  538. package/src/sap/m/themes/base/Label.less +4 -1
  539. package/src/sap/m/themes/base/Link.less +12 -4
  540. package/src/sap/m/themes/base/ListBase.less +4 -0
  541. package/src/sap/m/themes/base/MenuButton.less +4 -4
  542. package/src/sap/m/themes/base/MessageToast.less +2 -2
  543. package/src/sap/m/themes/base/MultiInput.less +1 -1
  544. package/src/sap/m/themes/base/NewsContent.less +7 -0
  545. package/src/sap/m/themes/base/NumericContent.less +1 -5
  546. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  547. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  548. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  549. package/src/sap/m/themes/base/Page.less +1 -1
  550. package/src/sap/m/themes/base/Popover.less +10 -7
  551. package/src/sap/m/themes/base/RadioButton.less +22 -3
  552. package/src/sap/m/themes/base/SearchField.less +23 -59
  553. package/src/sap/m/themes/base/SplitButton.less +5 -0
  554. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  555. package/src/sap/m/themes/base/TextArea.less +27 -0
  556. package/src/sap/m/themes/base/TileContent.less +45 -1
  557. package/src/sap/m/themes/base/Token.less +14 -13
  558. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  559. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  566. package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  574. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  575. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  576. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  577. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  578. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  579. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  580. package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
  581. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  582. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  583. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  584. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  585. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  586. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  587. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  588. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  589. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  590. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  591. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  592. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  593. package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
  594. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  595. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  596. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  597. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  598. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  599. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  600. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  601. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  602. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  603. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  604. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  605. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  606. package/src/sap/m/upload/UploadSet.js +421 -59
  607. package/src/sap/m/upload/UploadSetItem.js +77 -8
  608. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  609. package/src/sap/m/table/ColumnMenu.js +0 -378
  610. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  611. package/src/sap/m/table/QuickAction.js +0 -53
  612. package/src/sap/m/table/QuickActionBase.js +0 -53
  613. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
  614. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
  615. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
@@ -12,10 +12,13 @@ sap.ui.define([
12
12
  'sap/ui/model/type/Date',
13
13
  'sap/ui/unified/DateRange',
14
14
  './library',
15
+ 'sap/ui/core/library',
15
16
  'sap/ui/core/Control',
16
17
  'sap/ui/Device',
17
18
  'sap/ui/core/format/DateFormat',
18
19
  'sap/ui/core/LocaleData',
20
+ 'sap/ui/core/Core',
21
+ 'sap/ui/core/format/TimezoneUtil',
19
22
  './TimePickerClocks',
20
23
  './DateTimePickerRenderer',
21
24
  './SegmentedButton',
@@ -23,7 +26,8 @@ sap.ui.define([
23
26
  './ResponsivePopover',
24
27
  './Button',
25
28
  "sap/ui/events/KeyCodes",
26
- "sap/ui/core/IconPool"
29
+ "sap/ui/core/IconPool",
30
+ "sap/ui/qunit/utils/waitForThemeApplied"
27
31
  ], function(
28
32
  jQuery,
29
33
  InputBase,
@@ -31,10 +35,13 @@ sap.ui.define([
31
35
  Date1,
32
36
  DateRange,
33
37
  library,
38
+ coreLibrary,
34
39
  Control,
35
40
  Device,
36
41
  DateFormat,
37
42
  LocaleData,
43
+ Core,
44
+ TimezoneUtil,
38
45
  TimePickerClocks,
39
46
  DateTimePickerRenderer,
40
47
  SegmentedButton,
@@ -42,15 +49,17 @@ sap.ui.define([
42
49
  ResponsivePopover,
43
50
  Button,
44
51
  KeyCodes,
45
- IconPool
52
+ IconPool,
53
+ waitForThemeApplied
46
54
  ) {
47
55
  "use strict";
48
56
 
49
57
  // shortcut for sap.m.PlacementType and sap.m.ButtonType
50
58
  var PlacementType = library.PlacementType,
51
59
  ButtonType = library.ButtonType,
52
- // From sap.ui.Device.media.RANGESETS.SAP_STANDARD - "Phone": For screens smaller than 600 pixels.
53
- STANDART_PHONE_RANGESET = "Phone";
60
+ // From Device.media.RANGESETS.SAP_STANDARD - "Phone": For screens smaller than 600 pixels.
61
+ STANDART_PHONE_RANGESET = "Phone",
62
+ CalendarType = coreLibrary.CalendarType;
54
63
 
55
64
  /**
56
65
  * Constructor for a new <code>DateTimePicker</code>.
@@ -136,7 +145,7 @@ sap.ui.define([
136
145
  * mobile devices, it opens in full screen.
137
146
  *
138
147
  * @extends sap.m.DatePicker
139
- * @version 1.98.0
148
+ * @version 1.101.0
140
149
  *
141
150
  * @constructor
142
151
  * @public
@@ -168,10 +177,52 @@ sap.ui.define([
168
177
  *
169
178
  * @since 1.98
170
179
  */
171
- showCurrentTimeButton : {type : "boolean", group : "Behavior", defaultValue : false}
180
+ showCurrentTimeButton: { type: "boolean", group: "Behavior", defaultValue: false },
181
+
182
+ /**
183
+ * Determines whether to show the timezone or not.
184
+ * @since 1.99
185
+ */
186
+ showTimezone: { type: "boolean", group: "Behavior" },
187
+
188
+ /**
189
+ * The IANA timezone ID, e.g <code>"Europe/Berlin"</code>. Date and time are displayed in this timezone.
190
+ * The <code>value</code> property string is treated as if it is formatted in this timezone.
191
+ * However, the <code>dateValue</code> property is a JS Date object, which is the same point in time
192
+ * as the <code>value</code>, but in the local timezone. Thus, it is adjusted when the
193
+ * <code>timezone</code> changes.
194
+ * @since 1.99
195
+ */
196
+ timezone: { type: "string", group: "Data" }
172
197
  },
173
198
  designtime: "sap/m/designtime/DateTimePicker.designtime",
174
199
  dnd: { draggable: false, droppable: true }
200
+ }, constructor: function(sId, mSettings, oScope) {
201
+ var mSortedSettings;
202
+
203
+ if ( typeof sId !== 'string' && sId !== undefined ) {
204
+ // shift arguments in case sId was missing, but mSettings was given
205
+ oScope = mSettings;
206
+ mSettings = sId;
207
+ sId = mSettings && mSettings.id;
208
+ }
209
+
210
+ mSortedSettings = mSettings ? Object.keys(mSettings)
211
+ .sort(function(sKey1, sKey2) {
212
+ if (sKey1 === "timezone") {
213
+ return -1;
214
+ } else if (sKey2 === "timezone") {
215
+ return 1;
216
+ }
217
+
218
+ return 0;
219
+ })
220
+ .reduce(function (acc, key) {
221
+ acc[key] = mSettings[key];
222
+ return acc;
223
+ }, {}) : mSettings;
224
+
225
+ DatePicker.call(this, sId, mSortedSettings, oScope);
175
226
  }});
176
227
 
177
228
  var DateTimeFormatStyles = {
@@ -185,6 +236,10 @@ sap.ui.define([
185
236
 
186
237
  metadata: {
187
238
  library : "sap.m",
239
+ properties: {
240
+ /* This property can be set to force the Phone view even if the device is not a phone */
241
+ forcePhoneView : {type : "boolean", group : "Behavior", defaultValue : false}
242
+ },
188
243
  aggregations: {
189
244
  _switcher : {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
190
245
  calendar : {type: "sap.ui.core.Control", multiple: false},
@@ -208,7 +263,6 @@ sap.ui.define([
208
263
  oRm.openEnd();
209
264
  oRm.renderControl(oSwitcher);
210
265
  oRm.close("div");
211
-
212
266
  }
213
267
 
214
268
  var oCalendar = oPopup.getCalendar();
@@ -239,7 +293,7 @@ sap.ui.define([
239
293
  var oSwitcher = this.getAggregation("_switcher");
240
294
 
241
295
  if (!oSwitcher) {
242
- var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
296
+ var oResourceBundle = Core.getLibraryResourceBundle("sap.m");
243
297
  var sDateText = oResourceBundle.getText("DATETIMEPICKER_DATE");
244
298
  var sTimeText = oResourceBundle.getText("DATETIMEPICKER_TIME");
245
299
 
@@ -256,23 +310,17 @@ sap.ui.define([
256
310
  this.setAggregation("_switcher", oSwitcher, true);
257
311
  }
258
312
 
259
- if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone")) {
313
+ if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
260
314
  oSwitcher.setVisible(true);
261
315
  oSwitcher.setSelectedKey("Cal");
316
+ this.getCalendar().addDelegate({
317
+ onAfterRendering: function() {
318
+ this._switchVisibility(oSwitcher.getSelectedKey());
319
+ }.bind(this)
320
+ });
262
321
  } else {
263
322
  oSwitcher.setVisible(false);
264
323
  }
265
-
266
- },
267
-
268
- onAfterRendering: function() {
269
-
270
- if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone")) {
271
- var oSwitcher = this.getAggregation("_switcher");
272
- var sKey = oSwitcher.getSelectedKey();
273
- this._switchVisibility(sKey);
274
- }
275
-
276
324
  },
277
325
 
278
326
  _handleSelect: function(oEvent) {
@@ -296,7 +344,7 @@ sap.ui.define([
296
344
  }
297
345
 
298
346
  if (sKey === "Cal") {
299
- oCalendar.$().css("display", "");
347
+ oCalendar.$().css("display", "flex");
300
348
  oClocks.$().css("display", "none");
301
349
  oCalendar.getFocusDomRef() && oCalendar.getFocusDomRef().focus();
302
350
  } else {
@@ -319,21 +367,7 @@ sap.ui.define([
319
367
  getSpecialDates: function() {
320
368
 
321
369
  return this._oDateTimePicker.getSpecialDates();
322
- },
323
370
 
324
- onkeydown: function(oEvent) {
325
- var bIsTabForward = oEvent.keyCode === KeyCodes.TAB && !oEvent.shiftKey;
326
- var bIsTabBackward = oEvent.keyCode === KeyCodes.TAB && oEvent.shiftKey;
327
- if (bIsTabForward) {
328
- if (oEvent.target.classList.contains('sapUiCalHeadToday')
329
- || (oEvent.target.classList.contains('sapUiCalHeadBLast') && !this._oDateTimePicker._oCalendar.getShowCurrentDateButton())) {
330
- this.getAggregation('clocks').getDomRef().children[0].children[0].focus();
331
- }
332
- }
333
- if (bIsTabBackward && oEvent.target.classList.contains('sapUiCalItem')) {
334
- var iLastElementIndex = this.oParent.getAggregation("footer").getAggregation("content").length - 1;
335
- this.oParent.getAggregation("footer").getAggregation("content")[iLastElementIndex].focus();
336
- }
337
371
  }
338
372
  });
339
373
 
@@ -343,6 +377,89 @@ sap.ui.define([
343
377
  this._bOnlyCalendar = false;
344
378
  };
345
379
 
380
+ DateTimePicker.prototype.setValue = function(sValue) {
381
+ var sFallbackValue;
382
+
383
+ DatePicker.prototype.setValue.apply(this, arguments);
384
+
385
+ delete this._prefferedValue;
386
+
387
+ if (!this.getDateValue()) {
388
+ sFallbackValue = this._fallbackParse(sValue);
389
+
390
+ if (typeof sFallbackValue === "string") {
391
+ this._bValid = true;
392
+ this._prefferedValue = sFallbackValue;
393
+
394
+ // there is a re-render comming, but this updates the dom immediately to avoid flickering
395
+ if (this.getDomRef() && this._$input.val() !== sFallbackValue) {
396
+ this._$input.val(sFallbackValue);
397
+ this._curpos = this._$input.cursorPos();
398
+ }
399
+ }
400
+ }
401
+
402
+ return this;
403
+ };
404
+
405
+ DateTimePicker.prototype.setTimezone = function(sTimezone) {
406
+ var oCurrentDateValue,
407
+ sFormattedValue,
408
+ oNewDateValue;
409
+
410
+ if (this.getTimezone() === sTimezone) {
411
+ return this;
412
+ }
413
+
414
+ oCurrentDateValue = this.getDateValue() || this._parseValue(this.getValue(), false);
415
+ sFormattedValue = this._formatValue(oCurrentDateValue, false);
416
+
417
+ this.setProperty("timezone", sTimezone);
418
+
419
+ this._oDisplayFormat = null;
420
+ this._oValueFormat = null;
421
+ this._oDisplayFormatWithTimezone = null;
422
+ this._oValueFormatWithTimezone = null;
423
+
424
+ if (this._oTimezonePopup) {
425
+ this._oTimezonePopup.setTitle(sTimezone);
426
+ }
427
+
428
+ // the dateValue should be adjusted, and the value re-formatted
429
+ oNewDateValue = this._parseValue(sFormattedValue, true);
430
+ if (oNewDateValue) {
431
+ this.setProperty("dateValue", oNewDateValue);
432
+ this.setProperty("value", this._formatValue(oNewDateValue, true));
433
+ }
434
+
435
+ return this;
436
+ };
437
+
438
+ DateTimePicker.prototype.ontap = function(oEvent) {
439
+ if (oEvent.target.parentElement.classList.contains("sapMDTPTimezoneLabel")) {
440
+ this._togglePopoverOpen(this._getTimezoneNamePopup(), oEvent.target);
441
+ return;
442
+ }
443
+
444
+ DatePicker.prototype.ontap.apply(this, arguments);
445
+ };
446
+
447
+ DateTimePicker.prototype.onAfterRendering = function() {
448
+ if (this._getShowTimezone()) {
449
+ waitForThemeApplied().then(function() {
450
+ var oDummyContentDomRef = this.$().find(".sapMDummyContent"),
451
+ iDummyWidth;
452
+
453
+ if (!oDummyContentDomRef || !oDummyContentDomRef.length) {
454
+ return;
455
+ }
456
+
457
+ iDummyWidth = oDummyContentDomRef[0].getBoundingClientRect().width;
458
+ this.$("inner").css("max-width", (iDummyWidth + 2) + "px");
459
+ }.bind(this));
460
+ }
461
+ };
462
+
346
463
  /**
347
464
  * Apply the correct icon to the used Date control
348
465
  * @protected
@@ -360,12 +477,13 @@ sap.ui.define([
360
477
  delete this._oClocks;
361
478
  }
362
479
 
480
+ this._oTimezonePopup = undefined;
363
481
  this._oPopupContent = undefined; // is destroyed via popup aggregation - just remove reference
364
482
  Device.media.detachHandler(this._handleWindowResize, this);
365
483
  };
366
484
 
367
485
  DateTimePicker.prototype.setDisplayFormat = function(sDisplayFormat) {
368
-
486
+ this._oDisplayFormatWithTimezone = null;
369
487
  DatePicker.prototype.setDisplayFormat.apply(this, arguments);
370
488
 
371
489
  if (this._oClocks) {
@@ -377,6 +495,11 @@ sap.ui.define([
377
495
 
378
496
  };
379
497
 
498
+ DateTimePicker.prototype.setValueFormat = function(sValueFormat) {
499
+ this._oValueFormatWithTimezone = null;
500
+ return DatePicker.prototype.setValueFormat.apply(this, arguments);
501
+ };
502
+
380
503
  DateTimePicker.prototype.setMinutesStep = function(iMinutesStep) {
381
504
 
382
505
  this.setProperty('minutesStep', iMinutesStep, true);
@@ -431,30 +554,160 @@ sap.ui.define([
431
554
  return this.setProperty("showCurrentTimeButton", bShow);
432
555
  };
433
556
 
434
- DateTimePicker.prototype._getFormatInstance = function(oArguments, bDisplayFormat){
557
+ DateTimePicker.prototype._getTimezoneNamePopup = function() {
558
+ var oResourceBundle;
435
559
 
436
- var oMyArguments = jQuery.extend({}, oArguments);
560
+ if (this._oTimezonePopup) {
561
+ this._oTimezonePopup.setTitle(this._getTimezone(true));
562
+ return this._oTimezonePopup;
563
+ }
564
+
565
+ this._oTimezonePopup = new ResponsivePopover({
566
+ showArrow: false,
567
+ placement: PlacementType.VerticalPreferredBottom,
568
+ offsetX: 0,
569
+ offsetY: 3,
570
+ horizontalScrolling: false,
571
+ title: this._getTimezone(true)
572
+ });
573
+
574
+ this.addDependent(this._oTimezonePopup);
437
575
 
438
- // check for mixed styles
439
- var iSlashIndex = -1;
576
+ if (Device.system.phone) {
577
+ oResourceBundle = Core.getLibraryResourceBundle("sap.m");
440
578
 
441
- if (oMyArguments.style) {
442
- iSlashIndex = oMyArguments.style.indexOf("/");
579
+ this._oTimezonePopup.setEndButton(new Button({
580
+ text: oResourceBundle.getText("SUGGESTIONSPOPOVER_CLOSE_BUTTON"),
581
+ type: ButtonType.Emphasized,
582
+ press: function () {
583
+ this._oTimezonePopup.close();
584
+ }.bind(this)
585
+ }));
443
586
  }
444
587
 
445
- if (bDisplayFormat) {
446
- // also create a date formatter as fallback for parsing
447
- var oDateArguments = jQuery.extend({}, oMyArguments);
588
+ return this._oTimezonePopup;
589
+ };
448
590
 
449
- if (iSlashIndex > 0) {
450
- oDateArguments.style = oDateArguments.style.substr(0, iSlashIndex);
451
- }
591
+ DateTimePicker.prototype._togglePopoverOpen = function(oPopover, oOpenerDomRef) {
592
+ if (oPopover.isOpen()) {
593
+ oPopover.close();
594
+ } else {
595
+ oPopover.openBy(oOpenerDomRef || this.getDomRef());
596
+ }
597
+ };
452
598
 
453
- this._oDisplayFormatDate = DateFormat.getInstance(oDateArguments);
599
+ DateTimePicker.prototype._getFormatter = function(bDisplayFormat) {
600
+ var sCacheName = this._getTimezoneFormatterCacheName(bDisplayFormat);
601
+
602
+ if (!this[sCacheName]) {
603
+ this[sCacheName] = DateFormat.getDateTimeWithTimezoneInstance(this._getTimezoneFormatOptions(bDisplayFormat));
604
+ }
605
+
606
+ return this[sCacheName];
607
+ };
608
+
609
+ /**
610
+ * Gets the format options of the value or dateValue binding.
611
+ * @returns {object} The binding format options or undefined.
612
+ * @private
613
+ */
614
+ DateTimePicker.prototype._getBindingFormatOptions = function() {
615
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
616
+ oBindingType;
617
+
618
+ if (oBinding) {
619
+ oBindingType = oBinding.getType();
620
+ }
621
+
622
+ if (this._isSupportedBindingType(oBindingType)) {
623
+ return jQuery.extend({}, oBindingType.getFormatOptions());
624
+ }
625
+ };
626
+
627
+ /**
628
+ * Gets the combined format options from both properties and binding for
629
+ * formatting dates with timezones.
630
+ * @param {boolean} bDisplayFormat Determines which formatter to create - for
631
+ * the display or for the value property string
632
+ * @returns {object} An object with DateFormat options
633
+ * @private
634
+ */
635
+ DateTimePicker.prototype._getTimezoneFormatOptions = function(bDisplayFormat) {
636
+ var oFormatOptions = this._getBindingFormatOptions() || {},
637
+ sFormat = bDisplayFormat ? this.getDisplayFormat() : this.getValueFormat(),
638
+ oBinding = this.getBinding("value") || this.getBinding("dateValue"),
639
+ oBindingType = oBinding && oBinding.getType && oBinding.getType();
640
+
641
+ if (bDisplayFormat || !this._getTimezone() ||
642
+ (oBindingType && !oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"]))) {
643
+ oFormatOptions.showTimezone = false;
644
+ }
645
+
646
+ if (oFormatOptions.relative === undefined) {
647
+ oFormatOptions.relative = false;
648
+ }
649
+
650
+ if (oFormatOptions.calendarType === undefined) {
651
+ oFormatOptions.calendarType = bDisplayFormat
652
+ ? this.getDisplayFormatType()
653
+ : CalendarType.Gregorian;
654
+ }
655
+
656
+ if (oFormatOptions.strictParsing === undefined) {
657
+ oFormatOptions.strictParsing = true;
454
658
  }
455
659
 
456
- return DateFormat.getDateTimeInstance(oMyArguments);
660
+ if (sFormat && !this._isSupportedBindingType(oBindingType)) {
661
+ oFormatOptions[this._checkStyle(sFormat) ? "style" : "pattern"] = sFormat;
662
+ }
663
+
664
+ return oFormatOptions;
665
+ };
666
+
667
+ /**
668
+ * Returns the name of the cache property used for either the display formatter,
669
+ * or the value formatter with timezone.
670
+ * @private
671
+ */
672
+ DateTimePicker.prototype._getTimezoneFormatterCacheName = function(bDisplayFormat) {
673
+ return bDisplayFormat ? "_oDisplayFormatWithTimezone" : "_oValueFormatWithTimezone";
674
+ };
675
+
676
+ /**
677
+ * If the control should display a timezone label.
678
+ * The property is with priority over the binding options.
679
+ * @returns {boolean} Returns true, if the control should display a timezone
680
+ * @private
681
+ */
682
+ DateTimePicker.prototype._getShowTimezone = function() {
683
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
684
+ oBindingType = oBinding && oBinding.getType();
685
+
686
+ if (this.getShowTimezone() === undefined && oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
687
+ return oBindingType.getFormatOptions().showTimezone !== false;
688
+ }
457
689
 
690
+ return this.getShowTimezone();
691
+ };
692
+
693
+ /**
694
+ * Gets the timezone that will be used by the control.
695
+ * The timezone property is with priority over the binding options.
696
+ * @param {boolean} bUseDefaultAsFallback Whether to use the application default as a fallback.
697
+ * @returns {string} The timezone IANA ID
698
+ * @private
699
+ */
700
+ DateTimePicker.prototype._getTimezone = function(bUseDefaultAsFallback) {
701
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
702
+ oBindingType = oBinding && oBinding.getType();
703
+
704
+ if (!this.getTimezone() && oBindingType
705
+ && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])
706
+ && oBinding.aValues[1]) {
707
+ return oBinding.aValues[1];
708
+ }
709
+
710
+ return this.getTimezone() || (bUseDefaultAsFallback && Core.getConfiguration().getTimezone());
458
711
  };
459
712
 
460
713
  DateTimePicker.prototype._checkStyle = function(sPattern){
@@ -491,33 +744,68 @@ sap.ui.define([
491
744
 
492
745
  };
493
746
 
494
- DateTimePicker.prototype._parseValue = function(sValue, bDisplayFormat) {
747
+ DateTimePicker.prototype._parseValue = function(sValue, bDisplayFormat, sTimezone) {
748
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
749
+ oBindingType = oBinding && oBinding.getType(),
750
+ aDateWithTimezone;
495
751
 
496
- var oDate = DatePicker.prototype._parseValue.apply(this, arguments);
752
+ if (oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
753
+ var aCurrentBindingValues = oBinding.getCurrentValues().slice(0);
754
+ aCurrentBindingValues[1] = sTimezone || this._getTimezone(true);
755
+ return oBindingType.parseValue(sValue, "string", aCurrentBindingValues)[0];
756
+ }
497
757
 
498
- if (bDisplayFormat && !oDate) {
499
- // maybe only a date is entered
500
- oDate = this._oDisplayFormatDate.parse(sValue);
501
- if (oDate) {
502
- // use time of existing date or current time
503
- var oOldDate = this.getDateValue();
504
- if (!oOldDate) {
505
- oOldDate = new Date();
506
- }
507
- oDate.setHours(oOldDate.getHours());
508
- oDate.setMinutes(oOldDate.getMinutes());
509
- oDate.setSeconds(oOldDate.getSeconds());
510
- oDate.setMilliseconds(oOldDate.getMilliseconds());
511
- }
758
+ aDateWithTimezone = this._getFormatter(bDisplayFormat)
759
+ .parse(sValue, sTimezone || this._getTimezone(true));
760
+
761
+ if (!aDateWithTimezone || !aDateWithTimezone.length) {
762
+ return null;
512
763
  }
513
764
 
514
- return oDate;
765
+ return aDateWithTimezone[0];
766
+ };
515
767
 
768
+ DateTimePicker.prototype._formatValue = function(oDate, bValueFormat, sTimezone) {
769
+ if (!oDate) {
770
+ return "";
771
+ }
772
+
773
+ return this._getFormatter(!bValueFormat).format(oDate, sTimezone || this._getTimezone(true));
774
+ };
775
+
776
+ /**
777
+ * Tries to parse the value to see if it is a timezone only string.
778
+ * @param {string} sValue A value string
779
+ * @return {string|null} An empty string indicating success or null
780
+ * @private
781
+ */
782
+ DateTimePicker.prototype._fallbackParse = function(sValue) {
783
+ return this._getFallbackParser().parse(sValue) ? "" : null;
784
+ };
785
+
786
+ DateTimePicker.prototype._getFallbackParser = function() {
787
+ if (!this._fallbackParser) {
788
+ this._fallbackParser = DateFormat.getDateTimeWithTimezoneInstance({
789
+ showDate: false,
790
+ showTime: false,
791
+ showTimezone: true
792
+ });
793
+ }
794
+
795
+ return this._fallbackParser;
796
+ };
797
+
798
+ DateTimePicker.prototype._getPickerParser = function() {
799
+ if (!this._clocksParser) {
800
+ this._clocksParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
801
+ }
802
+
803
+ return this._clocksParser;
516
804
  };
517
805
 
518
806
  DateTimePicker.prototype._getLocaleBasedPattern = function(sPlaceholder) {
519
807
  var oLocaleData = LocaleData.getInstance(
520
- sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale()
808
+ Core.getConfiguration().getFormatSettings().getFormatLocale()
521
809
  ),
522
810
  iSlashIndex = sPlaceholder.indexOf("/");
523
811
 
@@ -534,7 +822,7 @@ sap.ui.define([
534
822
  var sLabelId, sLabel, oResourceBundle, sOKButtonText, sCancelButtonText, oPopover;
535
823
 
536
824
  if (!this._oPopup) {
537
- oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
825
+ oResourceBundle = Core.getLibraryResourceBundle("sap.m");
538
826
  sOKButtonText = oResourceBundle.getText("TIMEPICKER_SET");
539
827
  sCancelButtonText = oResourceBundle.getText("TIMEPICKER_CANCEL");
540
828
 
@@ -650,7 +938,8 @@ sap.ui.define([
650
938
  DateTimePicker.prototype._fillDateRange = function(){
651
939
 
652
940
  var oDate = this.getDateValue(),
653
- bDateFound = true;
941
+ bDateFound = true,
942
+ sFormattedDate;
654
943
 
655
944
  if (oDate) {
656
945
  oDate = new Date(oDate.getTime());
@@ -670,6 +959,10 @@ sap.ui.define([
670
959
  this._oOKButton.setEnabled(false);
671
960
  }
672
961
 
962
+ // convert the date to local date for the calendar and the clocks
963
+ sFormattedDate = this._getPickerParser().format(oDate, this._getTimezone(true));
964
+ oDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
965
+
673
966
  this._oCalendar.focusDate(oDate);
674
967
 
675
968
  if (bDateFound) {
@@ -679,14 +972,16 @@ sap.ui.define([
679
972
  }
680
973
 
681
974
  this._oClocks._setTimeValues(oDate);
682
-
683
975
  };
684
976
 
685
977
  DateTimePicker.prototype._getSelectedDate = function(){
686
-
687
- var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments);
978
+ var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
979
+ sFormattedDate;
688
980
 
689
981
  if (oDate) {
982
+ sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
983
+ oDate = this._getPickerParser().parse(sFormattedDate, this._getTimezone(true))[0];
984
+
690
985
  var oDateTime = this._oClocks.getTimeValues();
691
986
  var sPattern = this._oClocks._getDisplayFormatPattern();
692
987
  if (sPattern.search("h") >= 0 || sPattern.search("H") >= 0) {
@@ -707,12 +1002,11 @@ sap.ui.define([
707
1002
  }
708
1003
 
709
1004
  return oDate;
710
-
711
1005
  };
712
1006
 
713
1007
  DateTimePicker.prototype.getLocaleId = function(){
714
1008
 
715
- return sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale().toString();
1009
+ return Core.getConfiguration().getFormatSettings().getFormatLocale().toString();
716
1010
 
717
1011
  };
718
1012
 
@@ -723,7 +1017,7 @@ sap.ui.define([
723
1017
  */
724
1018
  DateTimePicker.prototype.getAccessibilityInfo = function() {
725
1019
  var oInfo = DatePicker.prototype.getAccessibilityInfo.apply(this, arguments);
726
- oInfo.type = sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATETIMEINPUT");
1020
+ oInfo.type = Core.getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATETIMEINPUT");
727
1021
  return oInfo;
728
1022
  };
729
1023
 
@@ -753,12 +1047,11 @@ sap.ui.define([
753
1047
  } else {
754
1048
  oSwitcher.setVisible(false);
755
1049
  oClocks.$().css("display", "");
756
- oCalendar.$().css("display", "");
1050
+ oCalendar.$().css("display", "flex");
757
1051
  }
758
1052
  };
759
1053
 
760
1054
  function _handleAfterOpen(oEvent){
761
- this.$("inner").attr("aria-expanded", true);
762
1055
  this._oCalendar.focus();
763
1056
 
764
1057
  Device.media.attachHandler(this._handleWindowResize, this);
@@ -766,7 +1059,6 @@ sap.ui.define([
766
1059
 
767
1060
  function _handleAfterClose(){
768
1061
  this.removeStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
769
- this.$("inner").attr("aria-expanded", false);
770
1062
 
771
1063
  this._oCalendar._closePickers();
772
1064
  Device.media.detachHandler(this._handleWindowResize, this);
@@ -796,7 +1088,7 @@ sap.ui.define([
796
1088
  }
797
1089
 
798
1090
  if (sDisplayFormat == DateTimeFormatStyles.Short || sDisplayFormat == DateTimeFormatStyles.Medium || sDisplayFormat == DateTimeFormatStyles.Long || sDisplayFormat == DateTimeFormatStyles.Full) {
799
- var oLocale = sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
1091
+ var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale();
800
1092
  var oLocaleData = LocaleData.getInstance(oLocale);
801
1093
  sTimePattern = oLocaleData.getTimePattern(sDisplayFormat);
802
1094
  } else {
@@ -808,15 +1100,9 @@ sap.ui.define([
808
1100
  }
809
1101
 
810
1102
  function _handleCalendarSelect(oEvent) {
811
- var oDelegate = {
812
- onAfterRendering: function () {
813
- this._oPopupContent.getCalendar().getAggregation("month")[0].removeEventDelegate(oDelegate, this);
814
- this._oOKButton.setEnabled(true);
815
- this._oPopupContent.switchToTime();
816
- this._oPopupContent.getClocks()._focusActiveButton();
817
- }
818
- };
819
- this._oPopupContent.getCalendar().getAggregation("month")[0].addEventDelegate(oDelegate, this);
1103
+ this._oPopupContent.switchToTime();
1104
+ this._oPopupContent.getClocks()._focusActiveButton();
1105
+ this._oOKButton.setEnabled(true);
820
1106
  }
821
1107
 
822
1108
  return DateTimePicker;