@openui5/sap.m 1.97.1 → 1.99.1

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 (718) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +14 -21
  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 +1 -1
  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 +5 -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/Bar.js +1 -1
  18. package/src/sap/m/BarRenderer.js +6 -6
  19. package/src/sap/m/Breadcrumbs.js +2 -1
  20. package/src/sap/m/BusyDialog.js +1 -1
  21. package/src/sap/m/BusyIndicator.js +1 -1
  22. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  23. package/src/sap/m/Button.js +1 -1
  24. package/src/sap/m/ButtonRenderer.js +3 -3
  25. package/src/sap/m/Carousel.js +19 -17
  26. package/src/sap/m/CarouselLayout.js +1 -1
  27. package/src/sap/m/CarouselRenderer.js +6 -2
  28. package/src/sap/m/CheckBox.js +2 -22
  29. package/src/sap/m/CheckBoxRenderer.js +1 -1
  30. package/src/sap/m/ColorPalette.js +1 -1
  31. package/src/sap/m/ColorPalettePopover.js +1 -1
  32. package/src/sap/m/Column.js +26 -7
  33. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  34. package/src/sap/m/ColumnListItem.js +1 -1
  35. package/src/sap/m/ColumnListItemRenderer.js +8 -5
  36. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  37. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  38. package/src/sap/m/ColumnPopoverItem.js +1 -1
  39. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  40. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  41. package/src/sap/m/ComboBox.js +4 -4
  42. package/src/sap/m/ComboBoxBase.js +6 -6
  43. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  44. package/src/sap/m/ComboBoxRenderer.js +4 -4
  45. package/src/sap/m/ComboBoxTextField.js +1 -1
  46. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  47. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  48. package/src/sap/m/CustomListItem.js +1 -1
  49. package/src/sap/m/CustomListItemRenderer.js +1 -1
  50. package/src/sap/m/CustomTile.js +1 -1
  51. package/src/sap/m/CustomTileRenderer.js +1 -1
  52. package/src/sap/m/CustomTreeItem.js +1 -1
  53. package/src/sap/m/CustomTreeItemRenderer.js +1 -1
  54. package/src/sap/m/DatePicker.js +16 -12
  55. package/src/sap/m/DatePickerRenderer.js +1 -5
  56. package/src/sap/m/DateRangeSelection.js +2 -2
  57. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  58. package/src/sap/m/DateTimeField.js +12 -3
  59. package/src/sap/m/DateTimeInput.js +1 -1
  60. package/src/sap/m/DateTimePicker.js +355 -62
  61. package/src/sap/m/DateTimePickerRenderer.js +40 -0
  62. package/src/sap/m/Dialog.js +14 -7
  63. package/src/sap/m/DialogRenderer.js +1 -1
  64. package/src/sap/m/DisplayListItem.js +1 -1
  65. package/src/sap/m/DisplayListItemRenderer.js +1 -1
  66. package/src/sap/m/DraftIndicator.js +1 -1
  67. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  68. package/src/sap/m/DynamicDate.js +3 -3
  69. package/src/sap/m/DynamicDateFormat.js +29 -2
  70. package/src/sap/m/DynamicDateOption.js +134 -9
  71. package/src/sap/m/DynamicDateRange.js +197 -72
  72. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  73. package/src/sap/m/DynamicDateUtil.js +85 -4
  74. package/src/sap/m/DynamicDateValueHelpUIType.js +7 -2
  75. package/src/sap/m/ExpandableText.js +1 -1
  76. package/src/sap/m/FacetFilter.js +21 -18
  77. package/src/sap/m/FacetFilterItem.js +1 -1
  78. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  79. package/src/sap/m/FacetFilterList.js +2 -2
  80. package/src/sap/m/FacetFilterRenderer.js +10 -10
  81. package/src/sap/m/FeedContent.js +2 -2
  82. package/src/sap/m/FeedInput.js +1 -1
  83. package/src/sap/m/FeedInputRenderer.js +1 -1
  84. package/src/sap/m/FeedListItem.js +6 -6
  85. package/src/sap/m/FeedListItemAction.js +1 -1
  86. package/src/sap/m/FeedListItemRenderer.js +2 -2
  87. package/src/sap/m/Fiori20Adapter.js +2 -2
  88. package/src/sap/m/FlexBox.js +1 -1
  89. package/src/sap/m/FlexItemData.js +1 -1
  90. package/src/sap/m/FormattedText.js +13 -10
  91. package/src/sap/m/GenericTag.js +1 -1
  92. package/src/sap/m/GenericTile.js +44 -15
  93. package/src/sap/m/GenericTileLineModeRenderer.js +4 -12
  94. package/src/sap/m/GenericTileRenderer.js +11 -5
  95. package/src/sap/m/GroupHeaderListItem.js +1 -1
  96. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  97. package/src/sap/m/GrowingEnablement.js +14 -0
  98. package/src/sap/m/GrowingList.js +1 -1
  99. package/src/sap/m/HBox.js +1 -1
  100. package/src/sap/m/HBoxRenderer.js +1 -1
  101. package/src/sap/m/HeaderContainer.js +71 -16
  102. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  103. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  104. package/src/sap/m/HyphenationSupport.js +1 -1
  105. package/src/sap/m/IconTabBar.js +1 -1
  106. package/src/sap/m/IconTabBarDragAndDropUtil.js +2 -2
  107. package/src/sap/m/IconTabBarSelectList.js +12 -1
  108. package/src/sap/m/IconTabBarSelectListRenderer.js +1 -1
  109. package/src/sap/m/IconTabFilter.js +14 -9
  110. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  111. package/src/sap/m/IconTabHeader.js +57 -33
  112. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  113. package/src/sap/m/IconTabSeparator.js +1 -1
  114. package/src/sap/m/IllustratedMessage.js +622 -0
  115. package/src/sap/m/IllustratedMessageRenderer.js +55 -0
  116. package/src/sap/m/IllustratedMessageSize.js +64 -0
  117. package/src/sap/m/IllustratedMessageType.js +343 -0
  118. package/src/sap/m/Illustration.js +117 -0
  119. package/src/sap/m/IllustrationPool.js +392 -0
  120. package/src/sap/m/IllustrationRenderer.js +43 -0
  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 +28 -14
  125. package/src/sap/m/InputBase.js +6 -8
  126. package/src/sap/m/InputBaseRenderer.js +53 -38
  127. package/src/sap/m/InputListItem.js +1 -1
  128. package/src/sap/m/InputListItemRenderer.js +1 -1
  129. package/src/sap/m/InputRenderer.js +12 -9
  130. package/src/sap/m/Label.js +24 -5
  131. package/src/sap/m/LabelRenderer.js +8 -5
  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 +15 -6
  139. package/src/sap/m/ListBaseRenderer.js +16 -16
  140. package/src/sap/m/ListItemBase.js +2 -2
  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 +3 -3
  147. package/src/sap/m/MenuButton.js +6 -2
  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/MessageItem.js +1 -1
  153. package/src/sap/m/MessageListItem.js +1 -1
  154. package/src/sap/m/MessagePage.js +1 -1
  155. package/src/sap/m/MessagePageRenderer.js +1 -1
  156. package/src/sap/m/MessagePopover.js +5 -2
  157. package/src/sap/m/MessagePopoverItem.js +1 -1
  158. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  159. package/src/sap/m/MessageStrip.js +1 -1
  160. package/src/sap/m/MessageStripRenderer.js +1 -1
  161. package/src/sap/m/MessageToast.js +1 -1
  162. package/src/sap/m/MessageView.js +10 -5
  163. package/src/sap/m/MultiComboBox.js +13 -13
  164. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  165. package/src/sap/m/MultiEditField.js +1 -1
  166. package/src/sap/m/MultiInput.js +53 -40
  167. package/src/sap/m/NavContainer.js +1 -1
  168. package/src/sap/m/NavContainerRenderer.js +1 -1
  169. package/src/sap/m/NewsContent.js +2 -2
  170. package/src/sap/m/NotificationList.js +1 -1
  171. package/src/sap/m/NotificationListBase.js +1 -1
  172. package/src/sap/m/NotificationListGroup.js +1 -1
  173. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  174. package/src/sap/m/NotificationListItem.js +1 -1
  175. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  176. package/src/sap/m/NotificationListRenderer.js +2 -2
  177. package/src/sap/m/NumericContent.js +2 -2
  178. package/src/sap/m/NumericContentRenderer.js +10 -10
  179. package/src/sap/m/NumericInput.js +138 -0
  180. package/src/sap/m/NumericInputRenderer.js +124 -0
  181. package/src/sap/m/ObjectAttribute.js +20 -15
  182. package/src/sap/m/ObjectAttributeRenderer.js +15 -8
  183. package/src/sap/m/ObjectHeader.js +20 -7
  184. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  185. package/src/sap/m/ObjectIdentifier.js +1 -1
  186. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  187. package/src/sap/m/ObjectListItem.js +1 -1
  188. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  189. package/src/sap/m/ObjectMarker.js +2 -2
  190. package/src/sap/m/ObjectMarkerRenderer.js +1 -1
  191. package/src/sap/m/ObjectNumber.js +1 -1
  192. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  193. package/src/sap/m/ObjectStatus.js +1 -1
  194. package/src/sap/m/ObjectStatusRenderer.js +1 -1
  195. package/src/sap/m/OverflowToolbar.js +19 -3
  196. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  197. package/src/sap/m/OverflowToolbarButton.js +1 -1
  198. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  199. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  200. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  201. package/src/sap/m/P13nColumnsItem.js +1 -1
  202. package/src/sap/m/P13nColumnsPanel.js +3 -1
  203. package/src/sap/m/P13nConditionPanel.js +2 -2
  204. package/src/sap/m/P13nDialog.js +3 -2
  205. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  206. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  207. package/src/sap/m/P13nFilterItem.js +1 -1
  208. package/src/sap/m/P13nFilterPanel.js +12 -7
  209. package/src/sap/m/P13nGroupItem.js +1 -1
  210. package/src/sap/m/P13nGroupPanel.js +5 -4
  211. package/src/sap/m/P13nItem.js +1 -1
  212. package/src/sap/m/P13nPanel.js +1 -1
  213. package/src/sap/m/P13nSelectionItem.js +1 -1
  214. package/src/sap/m/P13nSelectionPanel.js +1 -1
  215. package/src/sap/m/P13nSortItem.js +1 -1
  216. package/src/sap/m/P13nSortPanel.js +3 -2
  217. package/src/sap/m/PDFViewer.js +5 -4
  218. package/src/sap/m/Page.js +1 -1
  219. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  220. package/src/sap/m/PagingButton.js +1 -1
  221. package/src/sap/m/Panel.js +1 -1
  222. package/src/sap/m/PanelRenderer.js +1 -1
  223. package/src/sap/m/PlanningCalendar.js +2 -1
  224. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  225. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  226. package/src/sap/m/PlanningCalendarRow.js +1 -1
  227. package/src/sap/m/PlanningCalendarView.js +1 -1
  228. package/src/sap/m/Popover.js +12 -1
  229. package/src/sap/m/PopoverRenderer.js +1 -1
  230. package/src/sap/m/ProgressIndicator.js +3 -3
  231. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  232. package/src/sap/m/PullToRefresh.js +1 -1
  233. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  234. package/src/sap/m/QuickView.js +1 -1
  235. package/src/sap/m/QuickViewBase.js +1 -1
  236. package/src/sap/m/QuickViewCard.js +1 -1
  237. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  238. package/src/sap/m/QuickViewGroup.js +1 -1
  239. package/src/sap/m/QuickViewGroupElement.js +1 -1
  240. package/src/sap/m/QuickViewPage.js +1 -1
  241. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  242. package/src/sap/m/RadioButton.js +1 -1
  243. package/src/sap/m/RadioButtonGroup.js +1 -1
  244. package/src/sap/m/RadioButtonRenderer.js +1 -1
  245. package/src/sap/m/RangeSlider.js +4 -5
  246. package/src/sap/m/RangeSliderRenderer.js +5 -5
  247. package/src/sap/m/RatingIndicator.js +1 -1
  248. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  249. package/src/sap/m/ResponsivePopover.js +1 -1
  250. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  251. package/src/sap/m/ResponsiveScale.js +1 -1
  252. package/src/sap/m/ScrollBar.js +2 -2
  253. package/src/sap/m/ScrollBarRenderer.js +1 -1
  254. package/src/sap/m/ScrollContainer.js +1 -1
  255. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  256. package/src/sap/m/SearchField.js +2 -2
  257. package/src/sap/m/SegmentedButton.js +6 -2
  258. package/src/sap/m/SegmentedButtonItem.js +1 -1
  259. package/src/sap/m/SegmentedButtonRenderer.js +1 -1
  260. package/src/sap/m/Select.js +11 -4
  261. package/src/sap/m/SelectDialog.js +2 -2
  262. package/src/sap/m/SelectDialogBase.js +1 -1
  263. package/src/sap/m/SelectList.js +4 -3
  264. package/src/sap/m/SelectListRenderer.js +5 -5
  265. package/src/sap/m/SelectRenderer.js +5 -5
  266. package/src/sap/m/SelectionDetails.js +1 -1
  267. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  268. package/src/sap/m/SelectionDetailsItem.js +1 -1
  269. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  270. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  271. package/src/sap/m/Shell.js +4 -4
  272. package/src/sap/m/ShellRenderer.js +1 -1
  273. package/src/sap/m/SimpleFixFlex.js +1 -1
  274. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  275. package/src/sap/m/SinglePlanningCalendar.js +59 -3
  276. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendarGrid.js +29 -20
  278. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +6 -5
  279. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +13 -3
  280. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +7 -3
  281. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  282. package/src/sap/m/SinglePlanningCalendarView.js +13 -2
  283. package/src/sap/m/SinglePlanningCalendarWeekView.js +15 -4
  284. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  285. package/src/sap/m/SlideTile.js +16 -1
  286. package/src/sap/m/SlideTileRenderer.js +5 -3
  287. package/src/sap/m/Slider.js +1 -1
  288. package/src/sap/m/SliderRenderer.js +9 -9
  289. package/src/sap/m/SliderTooltip.js +3 -3
  290. package/src/sap/m/SliderTooltipBase.js +1 -1
  291. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  292. package/src/sap/m/SliderTooltipContainer.js +2 -2
  293. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  294. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  295. package/src/sap/m/SplitApp.js +1 -1
  296. package/src/sap/m/SplitButton.js +3 -1
  297. package/src/sap/m/SplitButtonRenderer.js +1 -1
  298. package/src/sap/m/SplitContainer.js +21 -28
  299. package/src/sap/m/StandardDynamicDateOption.js +254 -16
  300. package/src/sap/m/StandardListItem.js +34 -1
  301. package/src/sap/m/StandardListItemRenderer.js +12 -10
  302. package/src/sap/m/StandardTile.js +1 -1
  303. package/src/sap/m/StandardTileRenderer.js +1 -1
  304. package/src/sap/m/StandardTreeItem.js +1 -1
  305. package/src/sap/m/StepInput.js +60 -158
  306. package/src/sap/m/SuggestionItem.js +1 -1
  307. package/src/sap/m/SuggestionsPopover.js +2 -9
  308. package/src/sap/m/Switch.js +16 -3
  309. package/src/sap/m/SwitchRenderer.js +3 -3
  310. package/src/sap/m/TabContainer.js +1 -1
  311. package/src/sap/m/TabContainerItem.js +1 -3
  312. package/src/sap/m/TabContainerRenderer.js +2 -2
  313. package/src/sap/m/TabStrip.js +1 -1
  314. package/src/sap/m/TabStripItem.js +1 -1
  315. package/src/sap/m/TabStripRenderer.js +1 -1
  316. package/src/sap/m/Table.js +51 -9
  317. package/src/sap/m/TablePersoController.js +1 -1
  318. package/src/sap/m/TablePersoDialog.js +1 -1
  319. package/src/sap/m/TablePersoProvider.js +1 -1
  320. package/src/sap/m/TableRenderer.js +4 -3
  321. package/src/sap/m/TableSelectDialog.js +17 -17
  322. package/src/sap/m/Text.js +1 -1
  323. package/src/sap/m/TextArea.js +3 -38
  324. package/src/sap/m/TextAreaRenderer.js +1 -1
  325. package/src/sap/m/Tile.js +1 -1
  326. package/src/sap/m/TileContainer.js +1 -1
  327. package/src/sap/m/TileContainerRenderer.js +1 -1
  328. package/src/sap/m/TileContent.js +4 -4
  329. package/src/sap/m/TileContentRenderer.js +3 -3
  330. package/src/sap/m/TileRenderer.js +1 -1
  331. package/src/sap/m/TimePicker.js +45 -16
  332. package/src/sap/m/TimePickerClock.js +5 -6
  333. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  334. package/src/sap/m/TimePickerClocks.js +11 -5
  335. package/src/sap/m/TimePickerClocksRenderer.js +5 -3
  336. package/src/sap/m/TimePickerInputs.js +6 -1
  337. package/src/sap/m/TimePickerInputsRenderer.js +3 -1
  338. package/src/sap/m/TimePickerInternals.js +57 -7
  339. package/src/sap/m/TimePickerRenderer.js +3 -13
  340. package/src/sap/m/TimePickerSlider.js +2 -2
  341. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  342. package/src/sap/m/TimePickerSliders.js +7 -5
  343. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  344. package/src/sap/m/Title.js +1 -5
  345. package/src/sap/m/TitlePropagationSupport.js +1 -1
  346. package/src/sap/m/TitleRenderer.js +1 -1
  347. package/src/sap/m/ToggleButton.js +1 -1
  348. package/src/sap/m/Token.js +1 -2
  349. package/src/sap/m/TokenRenderer.js +21 -3
  350. package/src/sap/m/Tokenizer.js +3 -4
  351. package/src/sap/m/TokenizerRenderer.js +40 -6
  352. package/src/sap/m/Toolbar.js +5 -5
  353. package/src/sap/m/ToolbarLayoutData.js +1 -1
  354. package/src/sap/m/ToolbarRenderer.js +3 -3
  355. package/src/sap/m/ToolbarSeparator.js +1 -1
  356. package/src/sap/m/ToolbarSpacer.js +1 -1
  357. package/src/sap/m/Tree.js +1 -1
  358. package/src/sap/m/TreeItemBase.js +6 -6
  359. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  360. package/src/sap/m/TreeRenderer.js +2 -2
  361. package/src/sap/m/UploadCollection.js +1 -1
  362. package/src/sap/m/UploadCollectionItem.js +1 -1
  363. package/src/sap/m/UploadCollectionParameter.js +1 -1
  364. package/src/sap/m/UploadCollectionRenderer.js +1 -1
  365. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  366. package/src/sap/m/VBox.js +1 -1
  367. package/src/sap/m/VBoxRenderer.js +1 -1
  368. package/src/sap/m/ValueStateHeader.js +1 -1
  369. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  370. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  371. package/src/sap/m/ViewSettingsDialog.js +14 -14
  372. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  373. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  374. package/src/sap/m/ViewSettingsItem.js +1 -1
  375. package/src/sap/m/VisibleItem.js +1 -1
  376. package/src/sap/m/WheelSlider.js +1 -1
  377. package/src/sap/m/WheelSliderContainer.js +1 -1
  378. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  379. package/src/sap/m/WheelSliderRenderer.js +2 -2
  380. package/src/sap/m/Wizard.js +39 -19
  381. package/src/sap/m/WizardProgressNavigator.js +1 -1
  382. package/src/sap/m/WizardStep.js +1 -1
  383. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  384. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  385. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  386. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  387. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  388. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  389. package/src/sap/m/delegate/ValueStateMessage.js +1 -1
  390. package/src/sap/m/designtime/Button.designtime.js +1 -1
  391. package/src/sap/m/designtime/ListBase.designtime.js +26 -0
  392. package/src/sap/m/designtime/StandardListItem.designtime.js +5 -1
  393. package/src/sap/m/library.js +324 -55
  394. package/src/sap/m/messagebundle.properties +327 -65
  395. package/src/sap/m/messagebundle_ar.properties +178 -32
  396. package/src/sap/m/messagebundle_bg.properties +215 -69
  397. package/src/sap/m/messagebundle_ca.properties +195 -49
  398. package/src/sap/m/messagebundle_cs.properties +198 -52
  399. package/src/sap/m/messagebundle_cy.properties +186 -40
  400. package/src/sap/m/messagebundle_da.properties +189 -43
  401. package/src/sap/m/messagebundle_de.properties +178 -32
  402. package/src/sap/m/messagebundle_el.properties +221 -75
  403. package/src/sap/m/messagebundle_en.properties +221 -75
  404. package/src/sap/m/messagebundle_en_GB.properties +221 -75
  405. package/src/sap/m/messagebundle_en_US_sappsd.properties +220 -74
  406. package/src/sap/m/messagebundle_en_US_saprigi.properties +277 -58
  407. package/src/sap/m/messagebundle_en_US_saptrc.properties +220 -74
  408. package/src/sap/m/messagebundle_es.properties +205 -59
  409. package/src/sap/m/messagebundle_es_MX.properties +201 -55
  410. package/src/sap/m/messagebundle_et.properties +177 -31
  411. package/src/sap/m/messagebundle_fi.properties +174 -28
  412. package/src/sap/m/messagebundle_fr.properties +197 -51
  413. package/src/sap/m/messagebundle_fr_CA.properties +183 -37
  414. package/src/sap/m/messagebundle_hi.properties +181 -35
  415. package/src/sap/m/messagebundle_hr.properties +190 -44
  416. package/src/sap/m/messagebundle_hu.properties +185 -39
  417. package/src/sap/m/messagebundle_id.properties +234 -88
  418. package/src/sap/m/messagebundle_it.properties +190 -44
  419. package/src/sap/m/messagebundle_iw.properties +188 -42
  420. package/src/sap/m/messagebundle_ja.properties +174 -28
  421. package/src/sap/m/messagebundle_kk.properties +160 -14
  422. package/src/sap/m/messagebundle_ko.properties +187 -41
  423. package/src/sap/m/messagebundle_lt.properties +166 -20
  424. package/src/sap/m/messagebundle_lv.properties +185 -39
  425. package/src/sap/m/messagebundle_ms.properties +219 -73
  426. package/src/sap/m/messagebundle_nl.properties +184 -38
  427. package/src/sap/m/messagebundle_no.properties +182 -36
  428. package/src/sap/m/messagebundle_pl.properties +188 -42
  429. package/src/sap/m/messagebundle_pt.properties +217 -71
  430. package/src/sap/m/messagebundle_pt_PT.properties +183 -37
  431. package/src/sap/m/messagebundle_ro.properties +190 -44
  432. package/src/sap/m/messagebundle_ru.properties +187 -41
  433. package/src/sap/m/messagebundle_sh.properties +178 -32
  434. package/src/sap/m/messagebundle_sk.properties +185 -39
  435. package/src/sap/m/messagebundle_sl.properties +182 -36
  436. package/src/sap/m/messagebundle_sv.properties +177 -31
  437. package/src/sap/m/messagebundle_th.properties +186 -40
  438. package/src/sap/m/messagebundle_tr.properties +183 -37
  439. package/src/sap/m/messagebundle_uk.properties +176 -30
  440. package/src/sap/m/messagebundle_vi.properties +179 -33
  441. package/src/sap/m/messagebundle_zh_CN.properties +178 -32
  442. package/src/sap/m/messagebundle_zh_TW.properties +185 -39
  443. package/src/sap/m/p13n/AbstractContainer.js +29 -22
  444. package/src/sap/m/p13n/AbstractContainerItem.js +7 -8
  445. package/src/sap/m/p13n/BasePanel.js +38 -20
  446. package/src/sap/m/p13n/Container.js +17 -24
  447. package/src/sap/m/p13n/GroupPanel.js +31 -6
  448. package/src/sap/m/p13n/Popup.js +22 -19
  449. package/src/sap/m/p13n/QueryPanel.js +60 -30
  450. package/src/sap/m/p13n/SelectionPanel.js +14 -11
  451. package/src/sap/m/p13n/SortPanel.js +30 -6
  452. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  453. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  454. package/src/sap/m/plugins/PasteProvider.js +1 -1
  455. package/src/sap/m/plugins/PluginBase.js +1 -1
  456. package/src/sap/m/routing/RouteMatchedHandler.js +1 -1
  457. package/src/sap/m/routing/Router.js +9 -7
  458. package/src/sap/m/routing/TargetHandler.js +4 -4
  459. package/src/sap/m/routing/Targets.js +52 -42
  460. package/src/sap/m/routing/async/Targets.js +3 -3
  461. package/src/sap/m/routing/sync/Targets.js +3 -3
  462. package/src/sap/m/rules/MessagePage.support.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  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.js → columnmenu/Menu.js} +108 -108
  509. package/src/sap/m/table/columnmenu/MenuRenderer.js +81 -0
  510. package/src/sap/m/table/{QuickAction.js → columnmenu/QuickAction.js} +9 -8
  511. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  512. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  513. package/src/sap/m/table/columnmenu/QuickGroup.js +133 -0
  514. package/src/sap/m/table/columnmenu/QuickGroupItem.js +47 -0
  515. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  516. package/src/sap/m/table/columnmenu/QuickSortItem.js +117 -0
  517. package/src/sap/m/table/columnmenu/QuickTotal.js +142 -0
  518. package/src/sap/m/table/columnmenu/QuickTotalItem.js +47 -0
  519. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  520. package/src/sap/m/themes/base/Carousel.less +5 -0
  521. package/src/sap/m/themes/base/CheckBox.less +0 -4
  522. package/src/sap/m/themes/base/ColumnListItem.less +13 -5
  523. package/src/sap/m/themes/base/ColumnMenu.less +5 -9
  524. package/src/sap/m/themes/base/ComboBoxBase.less +18 -7
  525. package/src/sap/m/themes/base/DateTimePicker.less +155 -4
  526. package/src/sap/m/themes/base/DynamicDateRange.less +11 -1
  527. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  528. package/src/sap/m/themes/base/GenericTile.less +53 -29
  529. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  530. package/src/sap/m/themes/base/IconTabBar.less +4 -3
  531. package/src/sap/m/themes/base/IllustratedMessage.less +110 -0
  532. package/src/sap/m/themes/base/Illustration.less +58 -0
  533. package/src/sap/m/themes/base/Label.less +10 -3
  534. package/src/sap/m/themes/base/NavContainer.less +0 -9
  535. package/src/sap/m/themes/base/NewsContent.less +7 -0
  536. package/src/sap/m/themes/base/ObjectAttribute.less +4 -12
  537. package/src/sap/m/themes/base/ObjectStatus.less +4 -4
  538. package/src/sap/m/themes/base/Page.less +0 -1
  539. package/src/sap/m/themes/base/RadioButton.less +7 -2
  540. package/src/sap/m/themes/base/SegmentedButton.less +0 -16
  541. package/src/sap/m/themes/base/StandardListItem.less +4 -0
  542. package/src/sap/m/themes/base/SuggestionsPopover.less +2 -1
  543. package/src/sap/m/themes/base/Table.less +1 -1
  544. package/src/sap/m/themes/base/TileContent.less +4 -0
  545. package/src/sap/m/themes/base/TimePickerClock.less +4 -0
  546. package/src/sap/m/themes/base/TimePickerClocks.less +3 -3
  547. package/src/sap/m/themes/base/TimePickerInputs.less +4 -0
  548. package/src/sap/m/themes/base/WizardProgressNavigator.less +17 -16
  549. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddColumn.svg +37 -0
  550. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddPeople.svg +31 -0
  551. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BalloonSky.svg +33 -0
  552. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BeforeSearch.svg +13 -0
  553. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Connection.svg +18 -0
  554. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +74 -0
  555. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +36 -0
  556. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyPlanningCalendar.svg +78 -0
  557. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ErrorScreen.svg +34 -0
  558. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-FilterTable.svg +41 -0
  559. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-GroupTable.svg +67 -0
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoActivities.svg +18 -0
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoData.svg +10 -0
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +16 -0
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoFilterResults.svg +24 -0
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoMail.svg +11 -0
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoMail_v1.svg +22 -0
  566. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +12 -0
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSavedItems.svg +13 -0
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSavedItems_v1.svg +36 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSearchResults.svg +15 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks.svg +18 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks_v1.svg +53 -0
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-PageNotFound.svg +29 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ReloadScreen.svg +34 -0
  574. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ResizeColumn.svg +41 -0
  575. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchEarth.svg +18 -0
  576. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchFolder.svg +27 -0
  577. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBalloon.svg +17 -0
  578. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +13 -0
  579. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +48 -0
  580. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCheckMark.svg +6 -0
  581. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleConnection.svg +18 -0
  582. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleEmptyDoc.svg +17 -0
  583. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleEmptyList.svg +10 -0
  584. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleError.svg +10 -0
  585. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleMagnifier.svg +10 -0
  586. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleMail.svg +13 -0
  587. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleNoSavedItems.svg +17 -0
  588. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleNotFoundMagnifier.svg +21 -0
  589. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleReload.svg +11 -0
  590. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleTask.svg +23 -0
  591. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +30 -0
  592. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SortColumn.svg +39 -0
  593. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  594. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  595. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  596. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessScreen.svg +32 -0
  597. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +31 -0
  598. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoad.svg +11 -0
  599. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  600. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToUpload.svg +13 -0
  601. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadCollection.svg +32 -0
  602. package/src/sap/m/themes/base/illustrations/sapIllus-Patterns.svg +20 -0
  603. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddColumn.svg +48 -0
  604. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddPeople.svg +30 -0
  605. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BalloonSky.svg +42 -0
  606. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BeforeSearch.svg +31 -0
  607. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +31 -0
  608. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +87 -0
  609. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +43 -0
  610. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyPlanningCalendar.svg +91 -0
  611. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ErrorScreen.svg +78 -0
  612. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-FilterTable.svg +56 -0
  613. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-GroupTable.svg +76 -0
  614. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoActivities.svg +28 -0
  615. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +21 -0
  616. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +30 -0
  617. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoFilterResults.svg +39 -0
  618. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoMail.svg +23 -0
  619. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoMail_v1.svg +55 -0
  620. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoNotifications.svg +36 -0
  621. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSavedItems.svg +36 -0
  622. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSavedItems_v1.svg +39 -0
  623. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSearchResults.svg +15 -0
  624. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks.svg +22 -0
  625. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks_v1.svg +90 -0
  626. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-PageNotFound.svg +33 -0
  627. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ReloadScreen.svg +80 -0
  628. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ResizeColumn.svg +52 -0
  629. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchEarth.svg +30 -0
  630. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchFolder.svg +36 -0
  631. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBalloon.svg +20 -0
  632. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +16 -0
  633. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +44 -0
  634. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCheckMark.svg +9 -0
  635. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleConnection.svg +22 -0
  636. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleEmptyDoc.svg +20 -0
  637. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleEmptyList.svg +13 -0
  638. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleError.svg +13 -0
  639. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleMagnifier.svg +13 -0
  640. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleMail.svg +16 -0
  641. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleNoSavedItems.svg +27 -0
  642. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleNotFoundMagnifier.svg +24 -0
  643. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleReload.svg +14 -0
  644. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleTask.svg +19 -0
  645. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +50 -0
  646. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SortColumn.svg +50 -0
  647. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  648. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  649. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  650. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessScreen.svg +78 -0
  651. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +59 -0
  652. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoad.svg +23 -0
  653. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  654. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToUpload.svg +13 -0
  655. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadCollection.svg +30 -0
  656. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddColumn.svg +37 -0
  657. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddPeople.svg +31 -0
  658. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BalloonSky.svg +29 -0
  659. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BeforeSearch.svg +10 -0
  660. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Connection.svg +22 -0
  661. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +43 -0
  662. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +29 -0
  663. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyPlanningCalendar.svg +78 -0
  664. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ErrorScreen.svg +32 -0
  665. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-FilterTable.svg +46 -0
  666. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-GroupTable.svg +67 -0
  667. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoActivities.svg +23 -0
  668. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoData.svg +9 -0
  669. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +12 -0
  670. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoFilterResults.svg +25 -0
  671. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoMail.svg +10 -0
  672. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoMail_v1.svg +16 -0
  673. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +10 -0
  674. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSavedItems.svg +9 -0
  675. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSavedItems_v1.svg +33 -0
  676. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSearchResults.svg +13 -0
  677. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks.svg +20 -0
  678. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks_v1.svg +15 -0
  679. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-PageNotFound.svg +31 -0
  680. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ReloadScreen.svg +32 -0
  681. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ResizeColumn.svg +41 -0
  682. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchEarth.svg +55 -0
  683. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchFolder.svg +25 -0
  684. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBalloon.svg +7 -0
  685. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +12 -0
  686. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +44 -0
  687. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCheckMark.svg +5 -0
  688. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleConnection.svg +10 -0
  689. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleEmptyDoc.svg +6 -0
  690. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleEmptyList.svg +6 -0
  691. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleError.svg +9 -0
  692. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleMagnifier.svg +9 -0
  693. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleMail.svg +12 -0
  694. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleNoSavedItems.svg +23 -0
  695. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleNotFoundMagnifier.svg +10 -0
  696. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleReload.svg +7 -0
  697. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleTask.svg +22 -0
  698. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -0
  699. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SortColumn.svg +39 -0
  700. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  701. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  702. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  703. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessScreen.svg +32 -0
  704. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +29 -0
  705. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoad.svg +10 -0
  706. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  707. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToUpload.svg +10 -0
  708. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadCollection.svg +31 -0
  709. package/src/sap/m/themes/base/library.source.less +2 -0
  710. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +12 -0
  711. package/src/sap/m/themes/sap_hcb/ObjectHeader.less +0 -21
  712. package/src/sap/m/themes/sap_hcb/SegmentedButton.less +0 -19
  713. package/src/sap/m/upload/UploadSet.js +165 -37
  714. package/src/sap/m/upload/UploadSetItem.js +17 -5
  715. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  716. package/src/sap/m/upload/Uploader.js +25 -3
  717. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  718. package/src/sap/m/table/QuickActionBase.js +0 -53
@@ -12,17 +12,22 @@ 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',
19
+ 'sap/ui/core/format/DateFormatTimezoneDisplay',
18
20
  'sap/ui/core/LocaleData',
21
+ 'sap/ui/core/Core',
22
+ './TimePickerClocks',
19
23
  './DateTimePickerRenderer',
20
24
  './SegmentedButton',
21
25
  './SegmentedButtonItem',
22
26
  './ResponsivePopover',
23
27
  './Button',
24
28
  "sap/ui/events/KeyCodes",
25
- "sap/ui/core/IconPool"
29
+ "sap/ui/core/IconPool",
30
+ "sap/ui/qunit/utils/waitForThemeApplied"
26
31
  ], function(
27
32
  jQuery,
28
33
  InputBase,
@@ -30,17 +35,22 @@ sap.ui.define([
30
35
  Date1,
31
36
  DateRange,
32
37
  library,
38
+ coreLibrary,
33
39
  Control,
34
40
  Device,
35
41
  DateFormat,
42
+ DateFormatTimezoneDisplay,
36
43
  LocaleData,
44
+ Core,
45
+ TimePickerClocks,
37
46
  DateTimePickerRenderer,
38
47
  SegmentedButton,
39
48
  SegmentedButtonItem,
40
49
  ResponsivePopover,
41
50
  Button,
42
51
  KeyCodes,
43
- IconPool
52
+ IconPool,
53
+ waitForThemeApplied
44
54
  ) {
45
55
  "use strict";
46
56
 
@@ -48,7 +58,8 @@ sap.ui.define([
48
58
  var PlacementType = library.PlacementType,
49
59
  ButtonType = library.ButtonType,
50
60
  // From sap.ui.Device.media.RANGESETS.SAP_STANDARD - "Phone": For screens smaller than 600 pixels.
51
- STANDART_PHONE_RANGESET = "Phone";
61
+ STANDART_PHONE_RANGESET = "Phone",
62
+ CalendarType = coreLibrary.CalendarType;
52
63
 
53
64
  /**
54
65
  * Constructor for a new <code>DateTimePicker</code>.
@@ -134,7 +145,7 @@ sap.ui.define([
134
145
  * mobile devices, it opens in full screen.
135
146
  *
136
147
  * @extends sap.m.DatePicker
137
- * @version 1.97.1
148
+ * @version 1.99.1
138
149
  *
139
150
  * @constructor
140
151
  * @public
@@ -159,10 +170,59 @@ sap.ui.define([
159
170
  * The seconds clock is populated only by multiples of the step.
160
171
  * @since 1.56
161
172
  */
162
- secondsStep: {type: "int", group: "Misc", defaultValue: 1 }
173
+ secondsStep: {type: "int", group: "Misc", defaultValue: 1 },
174
+
175
+ /**
176
+ * Determines whether there is a shortcut navigation to current time.
177
+ *
178
+ * @since 1.98
179
+ */
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" }
163
197
  },
164
198
  designtime: "sap/m/designtime/DateTimePicker.designtime",
165
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);
166
226
  }});
167
227
 
168
228
  var DateTimeFormatStyles = {
@@ -176,6 +236,10 @@ sap.ui.define([
176
236
 
177
237
  metadata: {
178
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
+ },
179
243
  aggregations: {
180
244
  _switcher : {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
181
245
  calendar : {type: "sap.ui.core.Control", multiple: false},
@@ -199,7 +263,6 @@ sap.ui.define([
199
263
  oRm.openEnd();
200
264
  oRm.renderControl(oSwitcher);
201
265
  oRm.close("div");
202
-
203
266
  }
204
267
 
205
268
  var oCalendar = oPopup.getCalendar();
@@ -230,7 +293,7 @@ sap.ui.define([
230
293
  var oSwitcher = this.getAggregation("_switcher");
231
294
 
232
295
  if (!oSwitcher) {
233
- var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
296
+ var oResourceBundle = Core.getLibraryResourceBundle("sap.m");
234
297
  var sDateText = oResourceBundle.getText("DATETIMEPICKER_DATE");
235
298
  var sTimeText = oResourceBundle.getText("DATETIMEPICKER_TIME");
236
299
 
@@ -239,7 +302,7 @@ sap.ui.define([
239
302
  selectedKey: "Cal",
240
303
  items: [
241
304
  new SegmentedButtonItem(this.getId() + "-Switch-Cal", {key: "Cal", text: sDateText}),
242
- new SegmentedButtonItem(this.getId() + "-Switch-Sli", {key: "Sli", text: sTimeText})
305
+ new SegmentedButtonItem(this.getId() + "-Switch-Clk", {key: "Clk", text: sTimeText})
243
306
  ]
244
307
  });
245
308
  oSwitcher.attachSelect(this._handleSelect, this);
@@ -247,7 +310,7 @@ sap.ui.define([
247
310
  this.setAggregation("_switcher", oSwitcher, true);
248
311
  }
249
312
 
250
- if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone")) {
313
+ if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
251
314
  oSwitcher.setVisible(true);
252
315
  oSwitcher.setSelectedKey("Cal");
253
316
  } else {
@@ -257,30 +320,38 @@ sap.ui.define([
257
320
  },
258
321
 
259
322
  onAfterRendering: function() {
260
- if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone")) {
323
+ if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
261
324
  var oSwitcher = this.getAggregation("_switcher");
262
325
  var sKey = oSwitcher.getSelectedKey();
263
326
  this._switchVisibility(sKey);
264
327
  }
328
+
265
329
  },
266
330
 
267
331
  _handleSelect: function(oEvent) {
268
332
 
269
- this._switchVisibility(oEvent.getParameter("key"));
333
+ var sKey = oEvent.getParameter("key");
334
+
335
+ this._switchVisibility(sKey);
336
+ if (sKey === "Clk") {
337
+ this.getClocks()._focusActiveButton();
338
+ }
339
+
270
340
  },
271
341
 
272
342
  _switchVisibility: function(sKey) {
273
343
 
274
- var oCalendar = this.getCalendar();
275
- var oClocks = this.getClocks();
344
+ var oCalendar = this.getCalendar(),
345
+ oClocks = this.getClocks();
276
346
 
277
347
  if (!oCalendar || !oClocks) {
278
348
  return;
279
349
  }
280
350
 
281
- if (sKey == "Cal") {
351
+ if (sKey === "Cal") {
282
352
  oCalendar.$().css("display", "");
283
353
  oClocks.$().css("display", "none");
354
+ oCalendar.getFocusDomRef() && oCalendar.getFocusDomRef().focus();
284
355
  } else {
285
356
  oCalendar.$().css("display", "none");
286
357
  oClocks.$().css("display", "");
@@ -292,8 +363,8 @@ sap.ui.define([
292
363
 
293
364
  var oSwitcher = this.getAggregation("_switcher");
294
365
  if (oSwitcher && oSwitcher.getVisible()) {
295
- oSwitcher.setSelectedKey("Sli");
296
- this._switchVisibility("Sli");
366
+ oSwitcher.setSelectedKey("Clk");
367
+ this._switchVisibility("Clk");
297
368
  }
298
369
 
299
370
  },
@@ -301,6 +372,7 @@ sap.ui.define([
301
372
  getSpecialDates: function() {
302
373
 
303
374
  return this._oDateTimePicker.getSpecialDates();
375
+
304
376
  },
305
377
 
306
378
  onkeydown: function(oEvent) {
@@ -325,6 +397,60 @@ sap.ui.define([
325
397
  this._bOnlyCalendar = false;
326
398
  };
327
399
 
400
+ DateTimePicker.prototype.setTimezone = function(sTimezone) {
401
+ var oCurrentDateValue,
402
+ sFormattedValue,
403
+ oNewDateValue;
404
+
405
+ oCurrentDateValue = this.getDateValue() || this._parseValue(this.getValue(), false);
406
+ sFormattedValue = this._formatValue(oCurrentDateValue, false);
407
+
408
+ this.setProperty("timezone", sTimezone);
409
+
410
+ this._oDisplayFormat = null;
411
+ this._oValueFormat = null;
412
+ this._oDisplayFormatWithTimezone = null;
413
+ this._oValueFormatWithTimezone = null;
414
+
415
+ if (this._oTimezonePopup) {
416
+ this._oTimezonePopup.setTitle(sTimezone);
417
+ }
418
+
419
+ // the dateValue should be adjusted, and the value re-formatted
420
+ oNewDateValue = this._parseValue(sFormattedValue, true);
421
+ if (oNewDateValue) {
422
+ this.setProperty("dateValue", oNewDateValue);
423
+ this.setProperty("value", this._formatValue(oNewDateValue, true));
424
+ }
425
+
426
+ return this;
427
+ };
428
+
429
+ DateTimePicker.prototype.ontap = function(oEvent) {
430
+ if (oEvent.target.parentElement.classList.contains("sapMDTPTimezoneLabel")) {
431
+ this._togglePopoverOpen(this._getTimezoneNamePopup(), oEvent.target);
432
+ return;
433
+ }
434
+
435
+ DatePicker.prototype.ontap.apply(this, arguments);
436
+ };
437
+
438
+ DateTimePicker.prototype.onAfterRendering = function() {
439
+ if (this._getShowTimezone()) {
440
+ waitForThemeApplied().then(function() {
441
+ var oDummyContentDomRef = this.$().find(".sapMDummyContent"),
442
+ iDummyWidth;
443
+
444
+ if (!oDummyContentDomRef || !oDummyContentDomRef.length) {
445
+ return;
446
+ }
447
+
448
+ iDummyWidth = oDummyContentDomRef[0].getBoundingClientRect().width;
449
+ this.$("inner").css("max-width", (iDummyWidth + 2) + "px");
450
+ }.bind(this));
451
+ }
452
+ };
453
+
328
454
  /**
329
455
  * Apply the correct icon to the used Date control
330
456
  * @protected
@@ -342,15 +468,17 @@ sap.ui.define([
342
468
  delete this._oClocks;
343
469
  }
344
470
 
471
+ this._oTimezonePopup = undefined;
345
472
  this._oPopupContent = undefined; // is destroyed via popup aggregation - just remove reference
346
473
  Device.media.detachHandler(this._handleWindowResize, this);
347
474
  };
348
475
 
349
476
  DateTimePicker.prototype.setDisplayFormat = function(sDisplayFormat) {
350
-
477
+ this._oDisplayFormatWithTimezone = null;
351
478
  DatePicker.prototype.setDisplayFormat.apply(this, arguments);
352
479
 
353
480
  if (this._oClocks) {
481
+ this._oClocks.setValueFormat(_getTimePattern.call(this));
354
482
  this._oClocks.setDisplayFormat(_getTimePattern.call(this));
355
483
  }
356
484
 
@@ -358,6 +486,11 @@ sap.ui.define([
358
486
 
359
487
  };
360
488
 
489
+ DateTimePicker.prototype.setValueFormat = function(sValueFormat) {
490
+ this._oValueFormatWithTimezone = null;
491
+ return DatePicker.prototype.setValueFormat.apply(this, arguments);
492
+ };
493
+
361
494
  DateTimePicker.prototype.setMinutesStep = function(iMinutesStep) {
362
495
 
363
496
  this.setProperty('minutesStep', iMinutesStep, true);
@@ -404,30 +537,167 @@ sap.ui.define([
404
537
 
405
538
  };
406
539
 
407
- DateTimePicker.prototype._getFormatInstance = function(oArguments, bDisplayFormat){
540
+ DateTimePicker.prototype.setShowCurrentTimeButton = function(bShow) {
541
+ var oClocks = this._oClocks;
408
542
 
409
- var oMyArguments = jQuery.extend({}, oArguments);
543
+ oClocks && oClocks.setShowCurrentTimeButton(bShow);
544
+
545
+ return this.setProperty("showCurrentTimeButton", bShow);
546
+ };
410
547
 
411
- // check for mixed styles
412
- var iSlashIndex = -1;
548
+ DateTimePicker.prototype._getTimezoneNamePopup = function() {
549
+ var oResourceBundle;
413
550
 
414
- if (oMyArguments.style) {
415
- iSlashIndex = oMyArguments.style.indexOf("/");
551
+ if (this._oTimezonePopup) {
552
+ return this._oTimezonePopup;
416
553
  }
417
554
 
418
- if (bDisplayFormat) {
419
- // also create a date formatter as fallback for parsing
420
- var oDateArguments = jQuery.extend({}, oMyArguments);
555
+ this._oTimezonePopup = new ResponsivePopover({
556
+ showArrow: false,
557
+ placement: PlacementType.VerticalPreferredBottom,
558
+ offsetX: 0,
559
+ offsetY: 3,
560
+ horizontalScrolling: false,
561
+ title: this._getTimezone(true)
562
+ });
421
563
 
422
- if (iSlashIndex > 0) {
423
- oDateArguments.style = oDateArguments.style.substr(0, iSlashIndex);
424
- }
564
+ this.addDependent(this._oTimezonePopup);
565
+
566
+ if (Device.system.phone) {
567
+ oResourceBundle = Core.getLibraryResourceBundle("sap.m");
568
+
569
+ this._oTimezonePopup.setEndButton(new Button({
570
+ text: oResourceBundle.getText("SUGGESTIONSPOPOVER_CLOSE_BUTTON"),
571
+ type: ButtonType.Emphasized,
572
+ press: function () {
573
+ this._oTimezonePopup.close();
574
+ }.bind(this)
575
+ }));
576
+ }
577
+
578
+ return this._oTimezonePopup;
579
+ };
580
+
581
+ DateTimePicker.prototype._togglePopoverOpen = function(oPopover, oOpenerDomRef) {
582
+ if (oPopover.isOpen()) {
583
+ oPopover.close();
584
+ } else {
585
+ oPopover.openBy(oOpenerDomRef || this.getDomRef());
586
+ }
587
+ };
588
+
589
+ DateTimePicker.prototype._getFormatter = function(bDisplayFormat) {
590
+ var sCacheName = this._getTimezoneFormatterCacheName(bDisplayFormat);
425
591
 
426
- this._oDisplayFormatDate = DateFormat.getInstance(oDateArguments);
592
+ if (!this[sCacheName]) {
593
+ this[sCacheName] = DateFormat.getDateTimeWithTimezoneInstance(this._getTimezoneFormatOptions(bDisplayFormat));
427
594
  }
428
595
 
429
- return DateFormat.getDateTimeInstance(oMyArguments);
596
+ return this[sCacheName];
597
+ };
598
+
599
+ /**
600
+ * Gets the format options of the value or dateValue binding with timezone.
601
+ * @returns {object} The binding format options or an empty object instance.
602
+ * @private
603
+ */
604
+ DateTimePicker.prototype._getBindingWithTimezoneFormatOptions = function() {
605
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
606
+ oBindingType;
430
607
 
608
+ if (oBinding) {
609
+ oBindingType = oBinding.getType();
610
+ }
611
+
612
+ if (oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
613
+ return jQuery.extend({}, oBindingType.getFormatOptions());
614
+ }
615
+ };
616
+
617
+ /**
618
+ * Gets the combined format options from both properties and binding for
619
+ * formatting dates with timezones.
620
+ * @param {boolean} bDisplayFormat Determines which formatter to create - for
621
+ * the display or for the value property string
622
+ * @returns {object} An object with DateFormat options
623
+ * @private
624
+ */
625
+ DateTimePicker.prototype._getTimezoneFormatOptions = function(bDisplayFormat) {
626
+ var oFormatOptions = this._getBindingWithTimezoneFormatOptions() || {},
627
+ sFormat = bDisplayFormat ? this.getDisplayFormat() : this.getValueFormat(),
628
+ oBinding = this.getBinding("value") || this.getBinding("dateValue"),
629
+ oBindingType = oBinding && oBinding.getType && oBinding.getType();
630
+
631
+ if (bDisplayFormat || !this._getTimezone()
632
+ || (oBindingType && this._isSupportedBindingType(oBindingType))) {
633
+ oFormatOptions.showTimezone = DateFormatTimezoneDisplay.Hide;
634
+ }
635
+
636
+ if (oFormatOptions.relative === undefined) {
637
+ oFormatOptions.relative = false;
638
+ }
639
+
640
+ if (oFormatOptions.calendarType === undefined) {
641
+ oFormatOptions.calendarType = bDisplayFormat
642
+ ? this.getDisplayFormatType()
643
+ : CalendarType.Gregorian;
644
+ }
645
+
646
+ if (oFormatOptions.strictParsing === undefined) {
647
+ oFormatOptions.strictParsing = true;
648
+ }
649
+
650
+ if (sFormat && (!oBinding || !oBindingType || !this._isSupportedBindingType(oBindingType))) {
651
+ oFormatOptions[this._checkStyle(sFormat) ? "style" : "pattern"] = sFormat;
652
+ }
653
+
654
+ return oFormatOptions;
655
+ };
656
+
657
+ /**
658
+ * Returns the name of the cache property used for either the display formatter,
659
+ * or the value formatter with timezone.
660
+ * @private
661
+ */
662
+ DateTimePicker.prototype._getTimezoneFormatterCacheName = function(bDisplayFormat) {
663
+ return bDisplayFormat ? "_oDisplayFormatWithTimezone" : "_oValueFormatWithTimezone";
664
+ };
665
+
666
+ /**
667
+ * If the control should display a timezone label.
668
+ * The property is with priority over the binding options.
669
+ * @returns {boolean} Returns true, if the control should display a timezone
670
+ * @private
671
+ */
672
+ DateTimePicker.prototype._getShowTimezone = function() {
673
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
674
+ oBindingType = oBinding && oBinding.getType();
675
+
676
+ if (this.getShowTimezone() === undefined && oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
677
+ return oBindingType.getFormatOptions().showTimezone !== DateFormatTimezoneDisplay.Hide;
678
+ }
679
+
680
+ return this.getShowTimezone();
681
+ };
682
+
683
+ /**
684
+ * Gets the timezone that will be used by the control.
685
+ * The timezone property is with priority over the binding options.
686
+ * @param {boolean} bUseDefaultAsFallback Whether to use the application default as a fallback.
687
+ * @returns {string} The timezone IANA ID
688
+ * @private
689
+ */
690
+ DateTimePicker.prototype._getTimezone = function(bUseDefaultAsFallback) {
691
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
692
+ oBindingType = oBinding && oBinding.getType();
693
+
694
+ if (!this.getTimezone() && oBindingType
695
+ && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])
696
+ && oBinding.aValues[1]) {
697
+ return oBinding.aValues[1];
698
+ }
699
+
700
+ return this.getTimezone() || (bUseDefaultAsFallback && Core.getConfiguration().getTimezone());
431
701
  };
432
702
 
433
703
  DateTimePicker.prototype._checkStyle = function(sPattern){
@@ -464,33 +734,42 @@ sap.ui.define([
464
734
 
465
735
  };
466
736
 
467
- DateTimePicker.prototype._parseValue = function(sValue, bDisplayFormat) {
737
+ DateTimePicker.prototype._parseValue = function(sValue, bDisplayFormat, sTimezone) {
738
+ var oBinding = this.getBinding("value") || this.getBinding("dateValue"),
739
+ oBindingType = oBinding && oBinding.getType(),
740
+ aDateWithTimezone;
741
+
742
+ if (oBindingType) {
743
+ if (oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
744
+ var aCurrentBindingValues = oBinding.getCurrentValues().slice(0);
745
+ aCurrentBindingValues[1] = sTimezone || this._getTimezone(true);
746
+ return oBindingType.parseValue(sValue, "string", aCurrentBindingValues)[0];
747
+ } else if (!bDisplayFormat && this._isSupportedBindingType(oBindingType)) {
748
+ return DatePicker.prototype._parseValue.apply(this, arguments);
749
+ }
750
+ }
468
751
 
469
- var oDate = DatePicker.prototype._parseValue.apply(this, arguments);
752
+ aDateWithTimezone = this._getFormatter(bDisplayFormat)
753
+ .parse(sValue, sTimezone || this._getTimezone(true));
470
754
 
471
- if (bDisplayFormat && !oDate) {
472
- // maybe only a date is entered
473
- oDate = this._oDisplayFormatDate.parse(sValue);
474
- if (oDate) {
475
- // use time of existing date or current time
476
- var oOldDate = this.getDateValue();
477
- if (!oOldDate) {
478
- oOldDate = new Date();
479
- }
480
- oDate.setHours(oOldDate.getHours());
481
- oDate.setMinutes(oOldDate.getMinutes());
482
- oDate.setSeconds(oOldDate.getSeconds());
483
- oDate.setMilliseconds(oOldDate.getMilliseconds());
484
- }
755
+ if (!aDateWithTimezone || !aDateWithTimezone.length) {
756
+ return null;
485
757
  }
486
758
 
487
- return oDate;
759
+ return aDateWithTimezone[0];
760
+ };
488
761
 
762
+ DateTimePicker.prototype._formatValue = function(oDate, bValueFormat, sTimezone) {
763
+ if (!oDate) {
764
+ return "";
765
+ }
766
+
767
+ return this._getFormatter(!bValueFormat).format(oDate, sTimezone || this._getTimezone(true));
489
768
  };
490
769
 
491
770
  DateTimePicker.prototype._getLocaleBasedPattern = function(sPlaceholder) {
492
771
  var oLocaleData = LocaleData.getInstance(
493
- sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale()
772
+ Core.getConfiguration().getFormatSettings().getFormatLocale()
494
773
  ),
495
774
  iSlashIndex = sPlaceholder.indexOf("/");
496
775
 
@@ -507,7 +786,7 @@ sap.ui.define([
507
786
  var sLabelId, sLabel, oResourceBundle, sOKButtonText, sCancelButtonText, oPopover;
508
787
 
509
788
  if (!this._oPopup) {
510
- oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
789
+ oResourceBundle = Core.getLibraryResourceBundle("sap.m");
511
790
  sOKButtonText = oResourceBundle.getText("TIMEPICKER_SET");
512
791
  sCancelButtonText = oResourceBundle.getText("TIMEPICKER_CANCEL");
513
792
 
@@ -594,17 +873,23 @@ sap.ui.define([
594
873
  }
595
874
 
596
875
  if (!this._oClocks) {
597
- this._oClocks = new sap.m.TimePickerClocks(this.getId() + "-Clocks", {
876
+ this._oClocks = new TimePickerClocks(this.getId() + "-Clocks", {
598
877
  minutesStep: this.getMinutesStep(),
599
878
  secondsStep: this.getSecondsStep(),
879
+ valueFormat: _getTimePattern.call(this),
600
880
  displayFormat: _getTimePattern.call(this),
601
- localeId: this.getLocaleId()
881
+ localeId: this.getLocaleId(),
882
+ showCurrentTimeButton: this.getShowCurrentTimeButton()
602
883
  });
603
884
  this._oPopupContent.setClocks(this._oClocks);
604
885
  }
605
886
 
606
887
  };
607
888
 
889
+ /* Override of the DatePicker method - this delegate is not needed in DateTimePicker */
890
+ DateTimePicker.prototype._attachAfterRenderingDelegate = function() {
891
+ };
892
+
608
893
  DateTimePicker.prototype._selectFocusedDateValue = function (oDateRange) {
609
894
  var oCalendar = this._oCalendar;
610
895
 
@@ -617,7 +902,8 @@ sap.ui.define([
617
902
  DateTimePicker.prototype._fillDateRange = function(){
618
903
 
619
904
  var oDate = this.getDateValue(),
620
- bDateFound = true;
905
+ bDateFound = true,
906
+ sFormattedDate;
621
907
 
622
908
  if (oDate) {
623
909
  oDate = new Date(oDate.getTime());
@@ -645,13 +931,15 @@ sap.ui.define([
645
931
  }
646
932
  }
647
933
 
934
+ sFormattedDate = this._formatValue(oDate, false);
935
+ oDate = this._parseValue(sFormattedDate, true, Core.getConfiguration().getTimezone());
648
936
  this._oClocks._setTimeValues(oDate);
649
-
650
937
  };
651
938
 
652
939
  DateTimePicker.prototype._getSelectedDate = function(){
653
940
 
654
- var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments);
941
+ var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
942
+ sFormattedDate;
655
943
 
656
944
  if (oDate) {
657
945
  var oDateTime = this._oClocks.getTimeValues();
@@ -673,13 +961,15 @@ sap.ui.define([
673
961
  }
674
962
  }
675
963
 
676
- return oDate;
964
+ sFormattedDate = this._formatValue(oDate, false, Core.getConfiguration().getTimezone());
965
+ oDate = this._parseValue(sFormattedDate, true, this._getTimezone(true));
677
966
 
967
+ return oDate;
678
968
  };
679
969
 
680
970
  DateTimePicker.prototype.getLocaleId = function(){
681
971
 
682
- return sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale().toString();
972
+ return Core.getConfiguration().getFormatSettings().getFormatLocale().toString();
683
973
 
684
974
  };
685
975
 
@@ -690,7 +980,7 @@ sap.ui.define([
690
980
  */
691
981
  DateTimePicker.prototype.getAccessibilityInfo = function() {
692
982
  var oInfo = DatePicker.prototype.getAccessibilityInfo.apply(this, arguments);
693
- oInfo.type = sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATETIMEINPUT");
983
+ oInfo.type = Core.getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATETIMEINPUT");
694
984
  return oInfo;
695
985
  };
696
986
 
@@ -763,7 +1053,7 @@ sap.ui.define([
763
1053
  }
764
1054
 
765
1055
  if (sDisplayFormat == DateTimeFormatStyles.Short || sDisplayFormat == DateTimeFormatStyles.Medium || sDisplayFormat == DateTimeFormatStyles.Long || sDisplayFormat == DateTimeFormatStyles.Full) {
766
- var oLocale = sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
1056
+ var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale();
767
1057
  var oLocaleData = LocaleData.getInstance(oLocale);
768
1058
  sTimePattern = oLocaleData.getTimePattern(sDisplayFormat);
769
1059
  } else {
@@ -775,12 +1065,15 @@ sap.ui.define([
775
1065
  }
776
1066
 
777
1067
  function _handleCalendarSelect(oEvent) {
778
- this._oPopupContent.getCalendar().getAggregation("month")[0].addEventDelegate({
1068
+ var oDelegate = {
779
1069
  onAfterRendering: function () {
780
- this._oOKButton.setEnabled(true);
1070
+ this._oPopupContent.getCalendar().getAggregation("month")[0].removeEventDelegate(oDelegate, this);
781
1071
  this._oPopupContent.switchToTime();
1072
+ this._oPopupContent.getClocks()._focusActiveButton();
782
1073
  }
783
- }, this);
1074
+ };
1075
+ this._oOKButton.setEnabled(true);
1076
+ this._oPopupContent.getCalendar().getAggregation("month")[0].addEventDelegate(oDelegate, this);
784
1077
  }
785
1078
 
786
1079
  return DateTimePicker;