@openui5/sap.m 1.98.0 → 1.99.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 (537) hide show
  1. package/package.json +4 -4
  2. package/src/sap/m/.library +1 -1
  3. package/src/sap/m/AccButton.js +1 -1
  4. package/src/sap/m/ActionListItem.js +2 -2
  5. package/src/sap/m/ActionListItemRenderer.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSelectRenderer.js +1 -1
  8. package/src/sap/m/ActionSheet.js +2 -2
  9. package/src/sap/m/ActionSheetRenderer.js +1 -1
  10. package/src/sap/m/App.js +1 -1
  11. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  12. package/src/sap/m/Avatar.js +21 -4
  13. package/src/sap/m/AvatarRenderer.js +6 -1
  14. package/src/sap/m/BadgeCustomData.js +6 -4
  15. package/src/sap/m/Bar.js +1 -1
  16. package/src/sap/m/BarRenderer.js +6 -6
  17. package/src/sap/m/Breadcrumbs.js +2 -1
  18. package/src/sap/m/BusyDialog.js +1 -1
  19. package/src/sap/m/BusyIndicator.js +1 -1
  20. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  21. package/src/sap/m/Button.js +1 -1
  22. package/src/sap/m/ButtonRenderer.js +3 -3
  23. package/src/sap/m/Carousel.js +19 -17
  24. package/src/sap/m/CarouselLayout.js +1 -1
  25. package/src/sap/m/CarouselRenderer.js +6 -2
  26. package/src/sap/m/CheckBox.js +1 -1
  27. package/src/sap/m/CheckBoxRenderer.js +1 -1
  28. package/src/sap/m/ColorPalette.js +1 -1
  29. package/src/sap/m/ColorPalettePopover.js +1 -1
  30. package/src/sap/m/Column.js +1 -1
  31. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  32. package/src/sap/m/ColumnListItem.js +1 -1
  33. package/src/sap/m/ColumnListItemRenderer.js +1 -1
  34. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  35. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  36. package/src/sap/m/ColumnPopoverItem.js +1 -1
  37. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  38. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  39. package/src/sap/m/ComboBox.js +2 -2
  40. package/src/sap/m/ComboBoxBase.js +2 -2
  41. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  42. package/src/sap/m/ComboBoxRenderer.js +4 -4
  43. package/src/sap/m/ComboBoxTextField.js +1 -1
  44. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  45. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  46. package/src/sap/m/CustomListItem.js +1 -1
  47. package/src/sap/m/CustomListItemRenderer.js +1 -1
  48. package/src/sap/m/CustomTile.js +1 -1
  49. package/src/sap/m/CustomTileRenderer.js +1 -1
  50. package/src/sap/m/CustomTreeItem.js +1 -1
  51. package/src/sap/m/CustomTreeItemRenderer.js +1 -1
  52. package/src/sap/m/DatePicker.js +1 -1
  53. package/src/sap/m/DatePickerRenderer.js +1 -5
  54. package/src/sap/m/DateRangeSelection.js +2 -2
  55. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  56. package/src/sap/m/DateTimeField.js +12 -3
  57. package/src/sap/m/DateTimeInput.js +1 -1
  58. package/src/sap/m/DateTimePicker.js +309 -52
  59. package/src/sap/m/DateTimePickerRenderer.js +40 -0
  60. package/src/sap/m/Dialog.js +1 -1
  61. package/src/sap/m/DialogRenderer.js +1 -1
  62. package/src/sap/m/DisplayListItem.js +1 -1
  63. package/src/sap/m/DisplayListItemRenderer.js +1 -1
  64. package/src/sap/m/DraftIndicator.js +1 -1
  65. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  66. package/src/sap/m/DynamicDate.js +3 -3
  67. package/src/sap/m/DynamicDateFormat.js +26 -0
  68. package/src/sap/m/DynamicDateOption.js +134 -9
  69. package/src/sap/m/DynamicDateRange.js +69 -31
  70. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  71. package/src/sap/m/DynamicDateUtil.js +9 -1
  72. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  73. package/src/sap/m/ExpandableText.js +1 -1
  74. package/src/sap/m/FacetFilter.js +1 -1
  75. package/src/sap/m/FacetFilterItem.js +1 -1
  76. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  77. package/src/sap/m/FacetFilterList.js +2 -2
  78. package/src/sap/m/FacetFilterRenderer.js +10 -10
  79. package/src/sap/m/FeedContent.js +2 -2
  80. package/src/sap/m/FeedInput.js +1 -1
  81. package/src/sap/m/FeedInputRenderer.js +1 -1
  82. package/src/sap/m/FeedListItem.js +6 -6
  83. package/src/sap/m/FeedListItemAction.js +1 -1
  84. package/src/sap/m/FeedListItemRenderer.js +2 -2
  85. package/src/sap/m/Fiori20Adapter.js +2 -2
  86. package/src/sap/m/FlexBox.js +1 -1
  87. package/src/sap/m/FlexItemData.js +1 -1
  88. package/src/sap/m/FormattedText.js +4 -1
  89. package/src/sap/m/GenericTag.js +1 -1
  90. package/src/sap/m/GenericTile.js +14 -12
  91. package/src/sap/m/GenericTileRenderer.js +7 -4
  92. package/src/sap/m/GroupHeaderListItem.js +1 -1
  93. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  94. package/src/sap/m/GrowingEnablement.js +14 -0
  95. package/src/sap/m/GrowingList.js +1 -1
  96. package/src/sap/m/HBox.js +1 -1
  97. package/src/sap/m/HBoxRenderer.js +1 -1
  98. package/src/sap/m/HeaderContainer.js +71 -16
  99. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  100. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  101. package/src/sap/m/HyphenationSupport.js +1 -1
  102. package/src/sap/m/IconTabBar.js +1 -1
  103. package/src/sap/m/IconTabBarDragAndDropUtil.js +2 -2
  104. package/src/sap/m/IconTabBarSelectList.js +1 -1
  105. package/src/sap/m/IconTabFilter.js +1 -1
  106. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  107. package/src/sap/m/IconTabHeader.js +3 -3
  108. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  109. package/src/sap/m/IconTabSeparator.js +1 -1
  110. package/src/sap/m/IllustratedMessage.js +11 -8
  111. package/src/sap/m/IllustratedMessageRenderer.js +5 -5
  112. package/src/sap/m/IllustratedMessageType.js +26 -2
  113. package/src/sap/m/Illustration.js +1 -1
  114. package/src/sap/m/IllustrationRenderer.js +4 -2
  115. package/src/sap/m/Image.js +1 -1
  116. package/src/sap/m/ImageContent.js +2 -2
  117. package/src/sap/m/ImageRenderer.js +1 -1
  118. package/src/sap/m/Input.js +5 -6
  119. package/src/sap/m/InputBase.js +6 -8
  120. package/src/sap/m/InputBaseRenderer.js +53 -38
  121. package/src/sap/m/InputListItem.js +1 -1
  122. package/src/sap/m/InputListItemRenderer.js +1 -1
  123. package/src/sap/m/InputRenderer.js +12 -9
  124. package/src/sap/m/Label.js +3 -3
  125. package/src/sap/m/LabelRenderer.js +1 -1
  126. package/src/sap/m/LightBox.js +5 -5
  127. package/src/sap/m/LightBoxItem.js +2 -3
  128. package/src/sap/m/LightBoxRenderer.js +1 -1
  129. package/src/sap/m/Link.js +2 -2
  130. package/src/sap/m/LinkRenderer.js +1 -1
  131. package/src/sap/m/List.js +1 -1
  132. package/src/sap/m/ListBase.js +15 -6
  133. package/src/sap/m/ListBaseRenderer.js +16 -16
  134. package/src/sap/m/ListItemBase.js +2 -2
  135. package/src/sap/m/ListItemBaseRenderer.js +23 -23
  136. package/src/sap/m/MaskEnabler.js +11 -11
  137. package/src/sap/m/MaskInput.js +9 -1
  138. package/src/sap/m/MaskInputRenderer.js +9 -43
  139. package/src/sap/m/MaskInputRule.js +5 -5
  140. package/src/sap/m/Menu.js +1 -1
  141. package/src/sap/m/MenuButton.js +1 -1
  142. package/src/sap/m/MenuButtonRenderer.js +1 -1
  143. package/src/sap/m/MenuItem.js +1 -1
  144. package/src/sap/m/MenuListItem.js +1 -1
  145. package/src/sap/m/MenuListItemRenderer.js +2 -2
  146. package/src/sap/m/MessageItem.js +1 -1
  147. package/src/sap/m/MessageListItem.js +1 -1
  148. package/src/sap/m/MessagePage.js +1 -1
  149. package/src/sap/m/MessagePageRenderer.js +1 -1
  150. package/src/sap/m/MessagePopover.js +5 -2
  151. package/src/sap/m/MessagePopoverItem.js +1 -1
  152. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  153. package/src/sap/m/MessageStrip.js +1 -1
  154. package/src/sap/m/MessageStripRenderer.js +1 -1
  155. package/src/sap/m/MessageToast.js +1 -1
  156. package/src/sap/m/MessageView.js +3 -3
  157. package/src/sap/m/MultiComboBox.js +3 -3
  158. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  159. package/src/sap/m/MultiEditField.js +1 -1
  160. package/src/sap/m/MultiInput.js +40 -23
  161. package/src/sap/m/NavContainer.js +1 -1
  162. package/src/sap/m/NavContainerRenderer.js +1 -1
  163. package/src/sap/m/NewsContent.js +2 -2
  164. package/src/sap/m/NotificationList.js +1 -1
  165. package/src/sap/m/NotificationListBase.js +1 -1
  166. package/src/sap/m/NotificationListGroup.js +1 -1
  167. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  168. package/src/sap/m/NotificationListItem.js +1 -1
  169. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  170. package/src/sap/m/NotificationListRenderer.js +2 -2
  171. package/src/sap/m/NumericContent.js +2 -2
  172. package/src/sap/m/NumericContentRenderer.js +10 -10
  173. package/src/sap/m/NumericInput.js +1 -1
  174. package/src/sap/m/ObjectAttribute.js +1 -1
  175. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  176. package/src/sap/m/ObjectHeader.js +20 -7
  177. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  178. package/src/sap/m/ObjectIdentifier.js +1 -1
  179. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  180. package/src/sap/m/ObjectListItem.js +1 -1
  181. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  182. package/src/sap/m/ObjectMarker.js +2 -2
  183. package/src/sap/m/ObjectMarkerRenderer.js +1 -1
  184. package/src/sap/m/ObjectNumber.js +1 -1
  185. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  186. package/src/sap/m/ObjectStatus.js +1 -1
  187. package/src/sap/m/ObjectStatusRenderer.js +1 -1
  188. package/src/sap/m/OverflowToolbar.js +19 -3
  189. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  190. package/src/sap/m/OverflowToolbarButton.js +1 -1
  191. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  192. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  193. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  194. package/src/sap/m/P13nColumnsItem.js +1 -1
  195. package/src/sap/m/P13nColumnsPanel.js +1 -1
  196. package/src/sap/m/P13nConditionPanel.js +2 -2
  197. package/src/sap/m/P13nDialog.js +1 -1
  198. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  199. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  200. package/src/sap/m/P13nFilterItem.js +1 -1
  201. package/src/sap/m/P13nFilterPanel.js +1 -1
  202. package/src/sap/m/P13nGroupItem.js +1 -1
  203. package/src/sap/m/P13nGroupPanel.js +3 -3
  204. package/src/sap/m/P13nItem.js +1 -1
  205. package/src/sap/m/P13nPanel.js +1 -1
  206. package/src/sap/m/P13nSelectionItem.js +1 -1
  207. package/src/sap/m/P13nSelectionPanel.js +1 -1
  208. package/src/sap/m/P13nSortItem.js +1 -1
  209. package/src/sap/m/P13nSortPanel.js +1 -1
  210. package/src/sap/m/PDFViewer.js +5 -4
  211. package/src/sap/m/Page.js +1 -1
  212. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  213. package/src/sap/m/PagingButton.js +1 -1
  214. package/src/sap/m/Panel.js +1 -1
  215. package/src/sap/m/PanelRenderer.js +1 -1
  216. package/src/sap/m/PlanningCalendar.js +2 -1
  217. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  218. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  219. package/src/sap/m/PlanningCalendarRow.js +1 -1
  220. package/src/sap/m/PlanningCalendarView.js +1 -1
  221. package/src/sap/m/Popover.js +12 -1
  222. package/src/sap/m/PopoverRenderer.js +1 -1
  223. package/src/sap/m/ProgressIndicator.js +3 -3
  224. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  225. package/src/sap/m/PullToRefresh.js +1 -1
  226. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  227. package/src/sap/m/QuickView.js +1 -1
  228. package/src/sap/m/QuickViewBase.js +1 -1
  229. package/src/sap/m/QuickViewCard.js +1 -1
  230. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  231. package/src/sap/m/QuickViewGroup.js +1 -1
  232. package/src/sap/m/QuickViewGroupElement.js +1 -1
  233. package/src/sap/m/QuickViewPage.js +1 -1
  234. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  235. package/src/sap/m/RadioButton.js +1 -1
  236. package/src/sap/m/RadioButtonGroup.js +1 -1
  237. package/src/sap/m/RadioButtonRenderer.js +1 -1
  238. package/src/sap/m/RangeSlider.js +4 -5
  239. package/src/sap/m/RangeSliderRenderer.js +5 -5
  240. package/src/sap/m/RatingIndicator.js +1 -1
  241. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  242. package/src/sap/m/ResponsivePopover.js +1 -1
  243. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  244. package/src/sap/m/ResponsiveScale.js +1 -1
  245. package/src/sap/m/ScrollBar.js +2 -2
  246. package/src/sap/m/ScrollBarRenderer.js +1 -1
  247. package/src/sap/m/ScrollContainer.js +1 -1
  248. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  249. package/src/sap/m/SearchField.js +2 -2
  250. package/src/sap/m/SegmentedButton.js +5 -1
  251. package/src/sap/m/SegmentedButtonItem.js +1 -1
  252. package/src/sap/m/SegmentedButtonRenderer.js +1 -1
  253. package/src/sap/m/Select.js +3 -4
  254. package/src/sap/m/SelectDialog.js +1 -1
  255. package/src/sap/m/SelectDialogBase.js +1 -1
  256. package/src/sap/m/SelectList.js +4 -3
  257. package/src/sap/m/SelectListRenderer.js +5 -5
  258. package/src/sap/m/SelectRenderer.js +5 -5
  259. package/src/sap/m/SelectionDetails.js +1 -1
  260. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  261. package/src/sap/m/SelectionDetailsItem.js +1 -1
  262. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  263. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  264. package/src/sap/m/Shell.js +1 -1
  265. package/src/sap/m/ShellRenderer.js +1 -1
  266. package/src/sap/m/SimpleFixFlex.js +1 -1
  267. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  268. package/src/sap/m/SinglePlanningCalendar.js +21 -2
  269. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  270. package/src/sap/m/SinglePlanningCalendarGrid.js +29 -20
  271. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +6 -5
  272. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  273. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
  274. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  275. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  276. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  278. package/src/sap/m/SlideTile.js +1 -1
  279. package/src/sap/m/SlideTileRenderer.js +1 -1
  280. package/src/sap/m/Slider.js +1 -1
  281. package/src/sap/m/SliderRenderer.js +9 -9
  282. package/src/sap/m/SliderTooltip.js +3 -3
  283. package/src/sap/m/SliderTooltipBase.js +1 -1
  284. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  285. package/src/sap/m/SliderTooltipContainer.js +2 -2
  286. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  287. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  288. package/src/sap/m/SplitApp.js +1 -1
  289. package/src/sap/m/SplitButton.js +3 -1
  290. package/src/sap/m/SplitButtonRenderer.js +1 -1
  291. package/src/sap/m/SplitContainer.js +21 -28
  292. package/src/sap/m/StandardDynamicDateOption.js +129 -8
  293. package/src/sap/m/StandardListItem.js +1 -1
  294. package/src/sap/m/StandardListItemRenderer.js +8 -8
  295. package/src/sap/m/StandardTile.js +1 -1
  296. package/src/sap/m/StandardTileRenderer.js +1 -1
  297. package/src/sap/m/StandardTreeItem.js +1 -1
  298. package/src/sap/m/StepInput.js +1 -1
  299. package/src/sap/m/SuggestionItem.js +1 -1
  300. package/src/sap/m/SuggestionsPopover.js +2 -9
  301. package/src/sap/m/Switch.js +1 -1
  302. package/src/sap/m/SwitchRenderer.js +3 -3
  303. package/src/sap/m/TabContainer.js +1 -1
  304. package/src/sap/m/TabContainerItem.js +1 -3
  305. package/src/sap/m/TabContainerRenderer.js +2 -2
  306. package/src/sap/m/TabStrip.js +1 -1
  307. package/src/sap/m/TabStripItem.js +1 -1
  308. package/src/sap/m/TabStripRenderer.js +1 -1
  309. package/src/sap/m/Table.js +8 -7
  310. package/src/sap/m/TablePersoController.js +1 -1
  311. package/src/sap/m/TablePersoDialog.js +1 -1
  312. package/src/sap/m/TablePersoProvider.js +1 -1
  313. package/src/sap/m/TableRenderer.js +1 -1
  314. package/src/sap/m/TableSelectDialog.js +16 -16
  315. package/src/sap/m/Text.js +1 -1
  316. package/src/sap/m/TextArea.js +1 -1
  317. package/src/sap/m/TextAreaRenderer.js +1 -1
  318. package/src/sap/m/Tile.js +1 -1
  319. package/src/sap/m/TileContainer.js +1 -1
  320. package/src/sap/m/TileContainerRenderer.js +1 -1
  321. package/src/sap/m/TileContent.js +4 -4
  322. package/src/sap/m/TileContentRenderer.js +3 -3
  323. package/src/sap/m/TileRenderer.js +1 -1
  324. package/src/sap/m/TimePicker.js +2 -2
  325. package/src/sap/m/TimePickerClock.js +5 -6
  326. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  327. package/src/sap/m/TimePickerClocks.js +6 -5
  328. package/src/sap/m/TimePickerClocksRenderer.js +3 -3
  329. package/src/sap/m/TimePickerInputs.js +1 -1
  330. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  331. package/src/sap/m/TimePickerInternals.js +7 -5
  332. package/src/sap/m/TimePickerRenderer.js +3 -13
  333. package/src/sap/m/TimePickerSlider.js +2 -2
  334. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  335. package/src/sap/m/TimePickerSliders.js +7 -5
  336. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  337. package/src/sap/m/Title.js +1 -5
  338. package/src/sap/m/TitlePropagationSupport.js +1 -1
  339. package/src/sap/m/TitleRenderer.js +1 -1
  340. package/src/sap/m/ToggleButton.js +1 -1
  341. package/src/sap/m/Token.js +1 -2
  342. package/src/sap/m/TokenRenderer.js +21 -3
  343. package/src/sap/m/Tokenizer.js +3 -4
  344. package/src/sap/m/TokenizerRenderer.js +40 -6
  345. package/src/sap/m/Toolbar.js +5 -5
  346. package/src/sap/m/ToolbarLayoutData.js +1 -1
  347. package/src/sap/m/ToolbarRenderer.js +3 -3
  348. package/src/sap/m/ToolbarSeparator.js +1 -1
  349. package/src/sap/m/ToolbarSpacer.js +1 -1
  350. package/src/sap/m/Tree.js +1 -1
  351. package/src/sap/m/TreeItemBase.js +6 -6
  352. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  353. package/src/sap/m/TreeRenderer.js +2 -2
  354. package/src/sap/m/UploadCollection.js +1 -1
  355. package/src/sap/m/UploadCollectionItem.js +1 -1
  356. package/src/sap/m/UploadCollectionParameter.js +1 -1
  357. package/src/sap/m/UploadCollectionRenderer.js +1 -1
  358. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  359. package/src/sap/m/VBox.js +1 -1
  360. package/src/sap/m/VBoxRenderer.js +1 -1
  361. package/src/sap/m/ValueStateHeader.js +1 -1
  362. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  363. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  364. package/src/sap/m/ViewSettingsDialog.js +14 -14
  365. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  366. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  367. package/src/sap/m/ViewSettingsItem.js +1 -1
  368. package/src/sap/m/VisibleItem.js +1 -1
  369. package/src/sap/m/WheelSlider.js +1 -1
  370. package/src/sap/m/WheelSliderContainer.js +1 -1
  371. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  372. package/src/sap/m/WheelSliderRenderer.js +2 -2
  373. package/src/sap/m/Wizard.js +1 -1
  374. package/src/sap/m/WizardProgressNavigator.js +1 -1
  375. package/src/sap/m/WizardStep.js +1 -1
  376. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  377. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  378. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  379. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  380. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  381. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  382. package/src/sap/m/designtime/ListBase.designtime.js +26 -0
  383. package/src/sap/m/library.js +39 -9
  384. package/src/sap/m/messagebundle.properties +54 -6
  385. package/src/sap/m/messagebundle_ar.properties +33 -5
  386. package/src/sap/m/messagebundle_bg.properties +62 -34
  387. package/src/sap/m/messagebundle_ca.properties +33 -5
  388. package/src/sap/m/messagebundle_cs.properties +33 -5
  389. package/src/sap/m/messagebundle_cy.properties +33 -5
  390. package/src/sap/m/messagebundle_da.properties +34 -6
  391. package/src/sap/m/messagebundle_de.properties +33 -5
  392. package/src/sap/m/messagebundle_el.properties +35 -7
  393. package/src/sap/m/messagebundle_en.properties +31 -3
  394. package/src/sap/m/messagebundle_en_GB.properties +31 -3
  395. package/src/sap/m/messagebundle_en_US_sappsd.properties +33 -3
  396. package/src/sap/m/messagebundle_en_US_saprigi.properties +277 -58
  397. package/src/sap/m/messagebundle_en_US_saptrc.properties +31 -3
  398. package/src/sap/m/messagebundle_es.properties +33 -5
  399. package/src/sap/m/messagebundle_es_MX.properties +33 -5
  400. package/src/sap/m/messagebundle_et.properties +33 -5
  401. package/src/sap/m/messagebundle_fi.properties +35 -7
  402. package/src/sap/m/messagebundle_fr.properties +44 -16
  403. package/src/sap/m/messagebundle_fr_CA.properties +33 -5
  404. package/src/sap/m/messagebundle_hi.properties +33 -5
  405. package/src/sap/m/messagebundle_hr.properties +33 -5
  406. package/src/sap/m/messagebundle_hu.properties +34 -6
  407. package/src/sap/m/messagebundle_id.properties +34 -6
  408. package/src/sap/m/messagebundle_it.properties +33 -5
  409. package/src/sap/m/messagebundle_iw.properties +33 -5
  410. package/src/sap/m/messagebundle_ja.properties +37 -9
  411. package/src/sap/m/messagebundle_kk.properties +33 -5
  412. package/src/sap/m/messagebundle_ko.properties +33 -5
  413. package/src/sap/m/messagebundle_lt.properties +33 -5
  414. package/src/sap/m/messagebundle_lv.properties +33 -5
  415. package/src/sap/m/messagebundle_ms.properties +33 -5
  416. package/src/sap/m/messagebundle_nl.properties +34 -6
  417. package/src/sap/m/messagebundle_no.properties +33 -5
  418. package/src/sap/m/messagebundle_pl.properties +33 -5
  419. package/src/sap/m/messagebundle_pt.properties +56 -28
  420. package/src/sap/m/messagebundle_pt_PT.properties +34 -6
  421. package/src/sap/m/messagebundle_ro.properties +33 -5
  422. package/src/sap/m/messagebundle_ru.properties +33 -5
  423. package/src/sap/m/messagebundle_sh.properties +33 -5
  424. package/src/sap/m/messagebundle_sk.properties +33 -5
  425. package/src/sap/m/messagebundle_sl.properties +33 -5
  426. package/src/sap/m/messagebundle_sv.properties +33 -5
  427. package/src/sap/m/messagebundle_th.properties +41 -13
  428. package/src/sap/m/messagebundle_tr.properties +33 -5
  429. package/src/sap/m/messagebundle_uk.properties +33 -5
  430. package/src/sap/m/messagebundle_vi.properties +33 -5
  431. package/src/sap/m/messagebundle_zh_CN.properties +33 -5
  432. package/src/sap/m/messagebundle_zh_TW.properties +33 -5
  433. package/src/sap/m/p13n/AbstractContainer.js +15 -8
  434. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  435. package/src/sap/m/p13n/BasePanel.js +6 -6
  436. package/src/sap/m/p13n/Container.js +10 -11
  437. package/src/sap/m/p13n/GroupPanel.js +5 -5
  438. package/src/sap/m/p13n/Popup.js +1 -1
  439. package/src/sap/m/p13n/QueryPanel.js +59 -28
  440. package/src/sap/m/p13n/SelectionPanel.js +2 -2
  441. package/src/sap/m/p13n/SortPanel.js +6 -6
  442. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  443. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  444. package/src/sap/m/plugins/PasteProvider.js +1 -1
  445. package/src/sap/m/plugins/PluginBase.js +1 -1
  446. package/src/sap/m/rules/MessagePage.support.js +1 -1
  447. package/src/sap/m/semantic/AddAction.js +1 -1
  448. package/src/sap/m/semantic/CancelAction.js +1 -1
  449. package/src/sap/m/semantic/DeleteAction.js +1 -1
  450. package/src/sap/m/semantic/DetailPage.js +1 -1
  451. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  452. package/src/sap/m/semantic/EditAction.js +1 -1
  453. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  454. package/src/sap/m/semantic/FilterAction.js +1 -1
  455. package/src/sap/m/semantic/FilterSelect.js +1 -1
  456. package/src/sap/m/semantic/FlagAction.js +1 -1
  457. package/src/sap/m/semantic/ForwardAction.js +1 -1
  458. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  459. package/src/sap/m/semantic/GroupAction.js +1 -1
  460. package/src/sap/m/semantic/GroupSelect.js +1 -1
  461. package/src/sap/m/semantic/MainAction.js +1 -1
  462. package/src/sap/m/semantic/MasterPage.js +1 -1
  463. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  464. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  465. package/src/sap/m/semantic/NegativeAction.js +1 -1
  466. package/src/sap/m/semantic/OpenInAction.js +1 -1
  467. package/src/sap/m/semantic/PositiveAction.js +1 -1
  468. package/src/sap/m/semantic/PrintAction.js +1 -1
  469. package/src/sap/m/semantic/SaveAction.js +1 -1
  470. package/src/sap/m/semantic/Segment.js +1 -1
  471. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  472. package/src/sap/m/semantic/SemanticButton.js +1 -1
  473. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  474. package/src/sap/m/semantic/SemanticControl.js +1 -1
  475. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  476. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  477. package/src/sap/m/semantic/SemanticPage.js +1 -1
  478. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  479. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  480. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  481. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  482. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  483. package/src/sap/m/semantic/ShareMenu.js +1 -1
  484. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  485. package/src/sap/m/semantic/SortAction.js +1 -1
  486. package/src/sap/m/semantic/SortSelect.js +1 -1
  487. package/src/sap/m/table/Util.js +1 -1
  488. package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
  489. package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
  490. package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
  491. package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
  492. package/src/sap/m/table/{ColumnMenu.js → columnmenu/Menu.js} +65 -66
  493. package/src/sap/m/table/columnmenu/MenuRenderer.js +81 -0
  494. package/src/sap/m/table/{QuickAction.js → columnmenu/QuickAction.js} +9 -8
  495. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  496. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  497. package/src/sap/m/table/columnmenu/QuickGroup.js +133 -0
  498. package/src/sap/m/table/columnmenu/QuickGroupItem.js +47 -0
  499. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  500. package/src/sap/m/table/columnmenu/QuickSortItem.js +117 -0
  501. package/src/sap/m/table/columnmenu/QuickTotal.js +142 -0
  502. package/src/sap/m/table/columnmenu/QuickTotalItem.js +47 -0
  503. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  504. package/src/sap/m/themes/base/Carousel.less +5 -0
  505. package/src/sap/m/themes/base/CheckBox.less +0 -4
  506. package/src/sap/m/themes/base/ColumnMenu.less +5 -9
  507. package/src/sap/m/themes/base/DateTimePicker.less +147 -1
  508. package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
  509. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  510. package/src/sap/m/themes/base/GenericTile.less +35 -0
  511. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  512. package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
  513. package/src/sap/m/themes/base/NewsContent.less +7 -0
  514. package/src/sap/m/themes/base/TileContent.less +4 -0
  515. package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
  516. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  517. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  518. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  519. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  520. package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
  521. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  522. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  523. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  524. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  525. package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
  526. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  527. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  528. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  529. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  530. package/src/sap/m/upload/UploadSet.js +104 -34
  531. package/src/sap/m/upload/UploadSetItem.js +4 -4
  532. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  533. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  534. package/src/sap/m/table/QuickActionBase.js +0 -53
  535. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
  536. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
  537. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.model.SimpleType
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.98.0
39
+ * @version 1.99.0
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  var aValueTypes = DynamicDateUtil.getOption(oValue.operator).getValueTypes();
89
89
 
90
90
  oResult.values = oResult.values.map(function(oValue, index) {
91
- if (aValueTypes[index] === "date") {
91
+ if (aValueTypes[index] === "date" || aValueTypes[index] === "datetime") {
92
92
  return oTimestampInputFormat.parse(oValue);
93
93
  }
94
94
 
@@ -128,7 +128,7 @@ sap.ui.define([
128
128
  aValueTypes = DynamicDateUtil.getOption(oValue.operator).getValueTypes();
129
129
 
130
130
  oResult.values = oResult.values.map(function(oValue, index) {
131
- if (aValueTypes[index] === "date") {
131
+ if (aValueTypes[index] === "date" || aValueTypes[index] === "datetime") {
132
132
  return oTimestampInputFormat.format(oValue);
133
133
  }
134
134
 
@@ -41,7 +41,9 @@ sap.ui.define([
41
41
  var _dynamicParameterIndexes = {};
42
42
  var aParameterTypesByStandardOptionKey = {
43
43
  "DATE": ["date"],
44
+ "DATETIME": ["datetime"],
44
45
  "DATERANGE": ["date", "date"],
46
+ "DATETIMERANGE": ["datetime", "datetime"],
45
47
  "LASTDAYS": ["int"],
46
48
  "LASTWEEKS": ["int"],
47
49
  "LASTMONTHS": ["int"],
@@ -54,7 +56,10 @@ sap.ui.define([
54
56
  "NEXTYEARS": ["int"],
55
57
  "FROM": ["date"],
56
58
  "TO": ["date"],
59
+ "FROMDATETIME": ["datetime"],
60
+ "TODATETIME": ["datetime"],
57
61
  "SPECIFICMONTH": ["month"],
62
+ "SPECIFICMONTHINYEAR": ["month", "int"],
58
63
  "TODAYFROMTO": ["int", "int"]
59
64
  };
60
65
  var aStandardDynamicDateRangeKeysArray = Object.keys(library.StandardDynamicDateRangeKeys);
@@ -109,7 +114,9 @@ sap.ui.define([
109
114
 
110
115
  DynamicDateFormat.oDefaultDynamicDateFormat = {
111
116
  "date": {},
117
+ "datetime": {},
112
118
  "month": { pattern: "MMMM" },
119
+ "year": { pattern: "yyyy" },
113
120
  "int": {}
114
121
  };
115
122
 
@@ -144,7 +151,9 @@ sap.ui.define([
144
151
  };
145
152
  });
146
153
 
154
+ oFormat._dateTimeFormatter = DateFormat.getDateTimeInstance(oFormat.oOriginalFormatOptions["datetime"]);
147
155
  oFormat._monthFormatter = DateFormat.getInstance(oFormat.oOriginalFormatOptions["month"]);
156
+ oFormat._yearFormatter = DateFormat.getInstance(oFormat.oOriginalFormatOptions["year"]);
148
157
  oFormat._numberFormatter = NumberFormat.getInstance(oFormat.oOriginalFormatOptions["int"]);
149
158
  oFormat._resourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
150
159
 
@@ -166,6 +175,14 @@ sap.ui.define([
166
175
  var oDate = new Date();
167
176
  oDate.setMonth(aParams[0]);
168
177
  aParams[0] = this._monthFormatter.format(oDate);
178
+ } else if (sKey === "SPECIFICMONTHINYEAR") {
179
+ var oDate = new Date();
180
+
181
+ oDate.setMonth(aParams[0]);
182
+ oDate.setYear(aParams[1]);
183
+
184
+ aParams[0] = this._monthFormatter.format(oDate);
185
+ aParams[1] = this._yearFormatter.format(oDate);
169
186
  } else if (sKey === "LASTDAYS" && aParams[0] === 1) {
170
187
  sKey = "YESTERDAY";
171
188
  aParams = [];
@@ -175,10 +192,15 @@ sap.ui.define([
175
192
  } else if ((sKey === "LASTDAYS" || sKey === "NEXTDAYS") && aParams[0] === 0) {
176
193
  sKey = "TODAY";
177
194
  aParams = [];
195
+ } else if (sKey === "DATETIME") {
196
+ aParams[0] = this._dateTimeFormatter.format(oObj.values[0]);
178
197
  }
179
198
 
180
199
  var aFormattedParams = aParams.map(function(param) {
181
200
  if (param instanceof Date) {
201
+ if (sKey === "DATETIMERANGE" || sKey === "FROMDATETIME" || sKey === "TODATETIME") {
202
+ return this._dateTimeFormatter.format(param);
203
+ }
182
204
  return this._dateFormatter.format(param);
183
205
  }
184
206
 
@@ -196,6 +218,7 @@ sap.ui.define([
196
218
  * Parses a given list string into an array.
197
219
  *
198
220
  * @param {string} sValue String value to be parsed
221
+ * @param {string} sKey String value of the key we will parse for
199
222
  * @return {object} The parsed output value
200
223
  * @public
201
224
  */
@@ -227,6 +250,9 @@ sap.ui.define([
227
250
  case "date":
228
251
  oVal = this._dateFormatter.parse(sCurrentMatch);
229
252
  break;
253
+ case "datetime":
254
+ oVal = this._dateTimeFormatter.parse(sCurrentMatch);
255
+ break;
230
256
  case "month":
231
257
  var aMonthNames = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(function(i) {
232
258
  var oDate = new Date();
@@ -9,16 +9,20 @@ sap.ui.define([
9
9
  'sap/ui/core/Element',
10
10
  './Label',
11
11
  './StepInput',
12
+ './DateTimePicker',
12
13
  'sap/ui/unified/Calendar',
13
14
  'sap/ui/unified/DateRange',
14
- 'sap/ui/unified/calendar/MonthPicker'],
15
+ 'sap/ui/unified/calendar/MonthPicker',
16
+ 'sap/ui/unified/calendar/CustomMonthPicker'],
15
17
  function(
16
18
  Element,
17
19
  Label,
18
20
  StepInput,
21
+ DateTimePicker,
19
22
  Calendar,
20
23
  DateRange,
21
- MonthPicker) {
24
+ MonthPicker,
25
+ CustomMonthPicker) {
22
26
  "use strict";
23
27
 
24
28
  /**
@@ -32,7 +36,7 @@ sap.ui.define([
32
36
  * @extends sap.ui.core.Element
33
37
  *
34
38
  * @author SAP SE
35
- * @version 1.98.0
39
+ * @version 1.99.0
36
40
  *
37
41
  * @public
38
42
  * @since 1.92
@@ -96,10 +100,11 @@ sap.ui.define([
96
100
  * @public
97
101
  */
98
102
  DynamicDateOption.prototype.createValueHelpUI = function(oControl, fnControlsUpdated) {
99
- var oValue = oControl.getValue();
100
- var aParams = this.getValueHelpUITypes(oControl);
101
- var aControls = [];
102
- var oInputControl;
103
+ var oValue = oControl.getValue(),
104
+ aParams = this.getValueHelpUITypes(oControl),
105
+ valueHelpUiTypesCount = aParams.length,
106
+ aControls = [],
107
+ oInputControl;
103
108
 
104
109
  if (!oControl.aControlsByParameters) {
105
110
  oControl.aControlsByParameters = {};
@@ -116,7 +121,7 @@ sap.ui.define([
116
121
  );
117
122
  }
118
123
 
119
- oInputControl = this._createControl(i, aParams[i].getType(), oValue, fnControlsUpdated);
124
+ oInputControl = this._createControl(i, aParams[i].getType(), oValue, fnControlsUpdated, valueHelpUiTypesCount);
120
125
 
121
126
  aControls.push(oInputControl);
122
127
  oControl.aControlsByParameters[this.getKey()].push(oInputControl);
@@ -148,12 +153,18 @@ sap.ui.define([
148
153
  }
149
154
  break;
150
155
  case "month":
156
+ case "custommonth":
151
157
  case "date":
152
158
  case "daterange":
153
159
  if (!oInputControl.getSelectedDates() || oInputControl.getSelectedDates().length == 0) {
154
160
  return false;
155
161
  }
156
162
  break;
163
+ case "datetime":
164
+ if (!oInputControl.getDateValue()) {
165
+ return false;
166
+ }
167
+ break;
157
168
  }
158
169
  }
159
170
 
@@ -191,6 +202,20 @@ sap.ui.define([
191
202
  }
192
203
 
193
204
  vOutput = oInputControl.getSelectedDates()[0].getStartDate();
205
+ break;
206
+ case "custommonth":
207
+ if (!oInputControl.getSelectedDates() || !oInputControl.getSelectedDates().length) {
208
+ return null;
209
+ }
210
+
211
+ vOutput = [oInputControl.getSelectedDates()[0].getStartDate().getMonth(), oInputControl.getSelectedDates()[0].getStartDate().getFullYear()];
212
+ break;
213
+ case "datetime":
214
+ if (!oInputControl.getDateValue()) {
215
+ return null;
216
+ }
217
+
218
+ vOutput = oInputControl.getDateValue();
194
219
  break;
195
220
  case "daterange":
196
221
  if (!oInputControl.getSelectedDates().length) {
@@ -200,6 +225,8 @@ sap.ui.define([
200
225
  var oEndDate = oInputControl.getSelectedDates()[0].getEndDate() || oInputControl.getSelectedDates()[0].getStartDate();
201
226
  vOutput = [oInputControl.getSelectedDates()[0].getStartDate(), oEndDate];
202
227
  break;
228
+ default:
229
+ break;
203
230
  }
204
231
 
205
232
  if (Array.isArray(vOutput)) {
@@ -281,7 +308,7 @@ sap.ui.define([
281
308
 
282
309
  // PRIVATE
283
310
 
284
- DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated) {
311
+ DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated, valueHelpUiTypesCount) {
285
312
  var oInputControl;
286
313
 
287
314
  switch (sUIType) {
@@ -291,12 +318,25 @@ sap.ui.define([
291
318
  case "date":
292
319
  oInputControl = this._createDateControl(oValue, iIndex, fnControlsUpdated);
293
320
  break;
321
+ case "datetime":
322
+ if (valueHelpUiTypesCount === 1) {
323
+ // Returns DateTimePicker PopupContent control (single "datetime" option)
324
+ oInputControl = this._createDateTimeInnerControl(oValue, iIndex, fnControlsUpdated);
325
+ } else if (valueHelpUiTypesCount === 2) {
326
+ oInputControl = this._createDateTimeControl(oValue, iIndex, fnControlsUpdated);
327
+ }
328
+ break;
294
329
  case "daterange":
295
330
  oInputControl = this._createDateRangeControl(oValue, iIndex, fnControlsUpdated);
296
331
  break;
297
332
  case "month":
298
333
  oInputControl = this._createMonthControl(oValue, iIndex, fnControlsUpdated);
299
334
  break;
335
+ case "custommonth":
336
+ oInputControl = this._createCustomMonthControl(oValue, iIndex, fnControlsUpdated);
337
+ break;
338
+ default:
339
+ break;
300
340
  }
301
341
 
302
342
  return oInputControl;
@@ -320,6 +360,22 @@ sap.ui.define([
320
360
  return oControl;
321
361
  };
322
362
 
363
+ DynamicDateOption.prototype._createDateTimeControl = function(oValue, iIndex, fnControlsUpdated) {
364
+ var oControl = new DateTimePicker();
365
+
366
+ if (oValue && this.getKey() === oValue.operator) {
367
+ oControl.setDateValue(oValue.values[iIndex]);
368
+ }
369
+
370
+ if (fnControlsUpdated instanceof Function) {
371
+ oControl.attachChange(function() {
372
+ fnControlsUpdated(this);
373
+ }, this);
374
+ }
375
+
376
+ return oControl;
377
+ };
378
+
323
379
  DynamicDateOption.prototype._createDateControl = function(oValue, iIndex, fnControlsUpdated) {
324
380
  var oControl = new Calendar({
325
381
  width: "100%"
@@ -340,6 +396,53 @@ sap.ui.define([
340
396
  return oControl;
341
397
  };
342
398
 
399
+ /**
400
+ * Returns DateTimePicker PopupContent control (single "datetime" option)
401
+ */
402
+ DynamicDateOption.prototype._createDateTimeInnerControl = function(oValue, iIndex, fnControlsUpdated) {
403
+ var oControl = new DateTimePicker({
404
+ width: "100%"
405
+ }),
406
+ oPopupContent;
407
+
408
+ // DateTimePicker is created, but only its internal PopupContent control is used
409
+ oControl._createPopup();
410
+ oControl._createPopupContent();
411
+ oPopupContent = oControl._oPopupContent;
412
+ oPopupContent.setForcePhoneView(true);
413
+ oPopupContent.getCalendar().removeAllSelectedDates();
414
+
415
+ if (oValue && this.getKey() === oValue.operator) {
416
+ var oValueCopy = new Date(oValue.values[iIndex]); // a copy is used to prevent time setting on pressing Cancel button
417
+ oPopupContent.getCalendar().addSelectedDate(new DateRange({
418
+ startDate: oValueCopy
419
+ }));
420
+ oPopupContent.getClocks()._setTimeValues(oValueCopy);
421
+ }
422
+
423
+ if (fnControlsUpdated instanceof Function) {
424
+ // capture live clock changes and update the value
425
+ oPopupContent.getClocks().getAggregation("_clocks").forEach(function(oClock) {
426
+ oClock.attachChange(function(oEvent) {
427
+ fnControlsUpdated(this);
428
+ }.bind(this));
429
+ }.bind(this));
430
+
431
+ // capture live AM/PM changes and update the value
432
+ if (oPopupContent.getClocks().getAggregation("_buttonAmPm")) {
433
+ oPopupContent.getClocks().getAggregation("_buttonAmPm").attachSelectionChange(function(oEvent) {
434
+ fnControlsUpdated(this);
435
+ }.bind(this));
436
+ }
437
+
438
+ oPopupContent.getCalendar().attachSelect(function() {
439
+ fnControlsUpdated(this);
440
+ }, this);
441
+ }
442
+
443
+ return oPopupContent;
444
+ };
445
+
343
446
  DynamicDateOption.prototype._createDateRangeControl = function(oValue, iIndex, fnControlsUpdated) {
344
447
  var oControl = new Calendar({
345
448
  intervalSelection: true,
@@ -382,5 +485,27 @@ sap.ui.define([
382
485
  return oControl;
383
486
  };
384
487
 
488
+ DynamicDateOption.prototype._createCustomMonthControl = function(oValue, iIndex, fnControlsUpdated) {
489
+ var oControl = new CustomMonthPicker(),
490
+ oDate = new Date(),
491
+ iMonth = (oValue && iIndex >= 0 && this.getKey() === oValue.operator) ? oValue.values[iIndex] : oDate.getMonth(),
492
+ iYear = (oValue && iIndex >= 0 && this.getKey() === oValue.operator) ? oValue.values[iIndex + 1] : oDate.getFullYear();
493
+
494
+ oDate.setDate(1);
495
+ oDate.setMonth(iMonth);
496
+ oDate.setYear(iYear);
497
+ oControl.addSelectedDate(new DateRange({
498
+ startDate: oDate
499
+ }));
500
+
501
+ if (fnControlsUpdated instanceof Function) {
502
+ oControl.attachSelect(function() {
503
+ fnControlsUpdated(this);
504
+ }, this);
505
+ }
506
+
507
+ return oControl;
508
+ };
509
+
385
510
  return DynamicDateOption;
386
511
  });
@@ -118,7 +118,7 @@ sap.ui.define([
118
118
  * is opened. The dialog is closed via a date time period value selection or by pressing the "Cancel" button.
119
119
  *
120
120
  * @author SAP SE
121
- * @version 1.98.0
121
+ * @version 1.99.0
122
122
  *
123
123
  * @constructor
124
124
  * @public
@@ -239,8 +239,11 @@ sap.ui.define([
239
239
  "FIRSTDAYYEAR",
240
240
  "LASTDAYYEAR",
241
241
  "DATERANGE",
242
+ "DATETIMERANGE",
242
243
  "FROM",
243
244
  "TO",
245
+ "FROMDATETIME",
246
+ "TODATETIME",
244
247
  "YEARTODATE",
245
248
  "DATETOYEAR",
246
249
  "LASTDAYS",
@@ -258,6 +261,7 @@ sap.ui.define([
258
261
  "LASTWEEK",
259
262
  "NEXTWEEK",
260
263
  "SPECIFICMONTH",
264
+ "SPECIFICMONTHINYEAR",
261
265
  "THISMONTH",
262
266
  "LASTMONTH",
263
267
  "NEXTMONTH",
@@ -270,7 +274,8 @@ sap.ui.define([
270
274
  "QUARTER4",
271
275
  "THISYEAR",
272
276
  "LASTYEAR",
273
- "NEXTYEAR"
277
+ "NEXTYEAR",
278
+ "DATETIME"
274
279
  ]
275
280
  }
276
281
  },
@@ -427,6 +432,13 @@ sap.ui.define([
427
432
  if (typeof (vOption) === "string") {
428
433
  return this._createHeaderListItem(vOption);
429
434
  }
435
+ if (vOption.getKey() === "FROMDATETIME") {
436
+ vOption._bAdditionalTimeText = !!this._findOption("FROM");
437
+ } else if (vOption.getKey() === "TODATETIME") {
438
+ vOption._bAdditionalTimeText = !!this._findOption("TO");
439
+ } else if (vOption.getKey() === "DATETIMERANGE") {
440
+ vOption._bAdditionalTimeText = !!this._findOption("DATERANGE");
441
+ }
430
442
  return this._createListItem(vOption);
431
443
  }, this).forEach(function(oItem) {
432
444
  oItem.addDelegate(this._oListItemDelegate, this);
@@ -440,6 +452,19 @@ sap.ui.define([
440
452
  }
441
453
  };
442
454
 
455
+ /**
456
+ * Searches if there is an option with the given key included.
457
+ *
458
+ * @param {string} sKey option key to be searched against
459
+ * @returns {object|undefined} object if the object exists
460
+ * @private
461
+ */
462
+ DynamicDateRange.prototype._findOption = function(sKey) {
463
+ return this._getOptions().find(function(oOption) {
464
+ return oOption.getKey() === sKey;
465
+ });
466
+ };
467
+
443
468
  /**
444
469
  * Appends an option key, identifying an additional option to be used by the control.
445
470
  *
@@ -468,6 +493,8 @@ sap.ui.define([
468
493
  if (oValue && oValue.operator !== "PARSEERROR") {
469
494
  sInputValue = this._enhanceInputValue(this._formatValue(oValue), oValue);
470
495
  this._oInput.setValue(sInputValue);
496
+ } else if (oValue === undefined) {
497
+ this._oInput.setValue("");
471
498
  }
472
499
  };
473
500
 
@@ -555,11 +582,22 @@ sap.ui.define([
555
582
  };
556
583
 
557
584
  DynamicDateRange.prototype._getDatesLabelFormatter = function() {
558
- if (!this._oDatesLabelFormatter) {
559
- var oFormatOptions = Object.create(this._getFormatter()._dateFormatter.oFormatOptions);
560
- oFormatOptions.interval = true;
585
+ var oFormatOptions,
586
+ aValueHelpTypes = this._oSelectedOption ? this._oSelectedOption.getValueHelpUITypes() : [],
587
+ sType = aValueHelpTypes && aValueHelpTypes.length ? aValueHelpTypes[0].getType() : "";
561
588
 
562
- this._oDatesLabelFormatter = DateFormat.getInstance(oFormatOptions);
589
+ if (!this._oDatesLabelFormatter) {
590
+ switch (sType) {
591
+ case "datetime":
592
+ oFormatOptions = Object.create(this._getFormatter()._dateTimeFormatter.oFormatOptions);
593
+ oFormatOptions.interval = true;
594
+ this._oDatesLabelFormatter = DateFormat.getDateTimeInstance(oFormatOptions);
595
+ break;
596
+ default:
597
+ oFormatOptions = Object.create(this._getFormatter()._dateFormatter.oFormatOptions);
598
+ oFormatOptions.interval = true;
599
+ this._oDatesLabelFormatter = DateFormat.getInstance(oFormatOptions);
600
+ }
563
601
  }
564
602
 
565
603
  return this._oDatesLabelFormatter;
@@ -659,8 +697,8 @@ sap.ui.define([
659
697
  if (!this._oPopup) {
660
698
  this._oPopup = new ResponsivePopover(this.getId() + "-RP", {
661
699
  //read the documentation about those two - the page addapts its size to its container...
662
- contentHeight: '470px',
663
- contentWidth: _isCompact(this.getDomRef()) ? '272px' : '320px',
700
+ contentHeight: '512px',
701
+ contentWidth: '320px',
664
702
  showCloseButton: false,
665
703
  showArrow: false,
666
704
  showHeader: false,
@@ -688,6 +726,7 @@ sap.ui.define([
688
726
  }, this);
689
727
 
690
728
  this._oPopup.attachAfterClose(function() {
729
+ this._oPreviousSelectedOption = this._oSelectedOption;
691
730
  this._setFooterVisibility(false);
692
731
  this.invalidate();
693
732
  }, this);
@@ -700,7 +739,11 @@ sap.ui.define([
700
739
 
701
740
  this._oPopup.setEndButton(new Button({
702
741
  text: oResourceBundle.getText("DYNAMIC_DATE_RANGE_CANCEL"),
703
- press: this._closePopup.bind(this)
742
+ press: function() {
743
+ this._oSelectedOption = this._oPreviousSelectedOption;
744
+ this._oDatesLabelFormatter = null;
745
+ this._closePopup();
746
+ }.bind(this)
704
747
  }));
705
748
 
706
749
  this._setFooterVisibility(false);
@@ -785,7 +828,7 @@ sap.ui.define([
785
828
  DynamicDateRange.prototype._createListItem = function(oOption) {
786
829
  var bIsFixedOption = this._isFixedOption(oOption);
787
830
 
788
- return new DynamicDateRangeListItem(this.getId() + "-option-" + oOption.getKey(), {
831
+ return new DynamicDateRangeListItem(this.getId() + "-option-" + oOption.getKey().replaceAll(" ", ""), {
789
832
  type: bIsFixedOption ? ListType.Active : ListType.Navigation,
790
833
  title: oOption.getText(this),
791
834
  wrapping: true,
@@ -806,6 +849,11 @@ sap.ui.define([
806
849
  var sOptionKey = oEvent.getSource().getOptionKey(),
807
850
  oOption = DynamicDateUtil.getOption(sOptionKey);
808
851
 
852
+ if (this._oPreviousSelectedOption && this._oPreviousSelectedOption.getKey() !== sOptionKey) {
853
+ this._oDatesLabelFormatter = null;
854
+ }
855
+ this._oPreviousSelectedOption = this._oSelectedOption;
856
+
809
857
  this._oSelectedOption = oOption;
810
858
  if (this._isFixedOption(oOption)) {
811
859
  this._applyValue();
@@ -1029,7 +1077,7 @@ sap.ui.define([
1029
1077
  if (oToPage === oOptionDetailsPage) {
1030
1078
  this.aInputControls.forEach(function(oControl) {
1031
1079
  if (jQuery(oControl.getDomRef()).firstFocusableDomRef()) {
1032
- oControl.addAriaLabelledBy(oToPage.getAggregation("_internalHeader"));
1080
+ oControl.addAriaLabelledBy && oControl.addAriaLabelledBy(oToPage.getAggregation("_internalHeader"));
1033
1081
 
1034
1082
  if (!this._isCalendarBasedControl(oControl) && oControl.addAriaDescribedBy) {
1035
1083
  oControl.addAriaDescribedBy(oToPage.getFooter().getContent()[0]);
@@ -1174,7 +1222,7 @@ sap.ui.define([
1174
1222
  * Returns ARIA accessibility role for the control.
1175
1223
  *
1176
1224
  * @param {sap.ui.core.Control} oControl an object representation of the control
1177
- * @returns {String}
1225
+ * @returns {string}
1178
1226
  */
1179
1227
  DynamicDateRangeInputRenderer.getAriaRole = function(oControl) {
1180
1228
  return "combobox";
@@ -1244,7 +1292,6 @@ sap.ui.define([
1244
1292
  /**
1245
1293
  * Getter for the originating control.
1246
1294
  *
1247
- * @param {void}
1248
1295
  * @returns {sap.ui.core.Control}
1249
1296
  */
1250
1297
  DynamicDateRangeInput.prototype._getControlOrigin = function() {
@@ -1278,13 +1325,17 @@ sap.ui.define([
1278
1325
  // Overwrite the sap.m.StandardListItem.getNavigationControl method, in order to change the navigation icon URI
1279
1326
  DynamicDateRangeListItem.prototype.getNavigationControl = function() {
1280
1327
  var oNavControl = StandardListItem.prototype.getNavigationControl.apply(this, arguments),
1281
- bDateOption = ["SPECIFICMONTH", "DATE", "DATERANGE", "FROM", "TO"].includes(this.getOptionKey()),
1282
- sNavgationIconURI = bDateOption
1283
- ? IconPool.getIconURI("appointment-2")
1284
- : IconPool.getIconURI("slim-arrow-right");
1328
+ sOptionKey = this.getOptionKey(),
1329
+ aValueTypes = DynamicDateUtil.getOption(sOptionKey).getValueTypes(),
1330
+ bDateOption = ["SPECIFICMONTH", "DATE", "DATERANGE", "FROM", "TO"].includes(sOptionKey),
1331
+ bDateTimeOption = aValueTypes && aValueTypes.length && aValueTypes[0] === "datetime",
1332
+ sNavgationIconURI;
1285
1333
 
1286
- if (bDateOption) {
1334
+ if (bDateOption || bDateTimeOption) {
1287
1335
  oNavControl.addStyleClass("sapMDDRDateOption");
1336
+ sNavgationIconURI = bDateOption ? IconPool.getIconURI("appointment-2") : IconPool.getIconURI("date-time");
1337
+ } else {
1338
+ sNavgationIconURI = IconPool.getIconURI("slim-arrow-right");
1288
1339
  }
1289
1340
 
1290
1341
  oNavControl.setSrc(sNavgationIconURI);
@@ -1292,18 +1343,5 @@ sap.ui.define([
1292
1343
  return oNavControl;
1293
1344
  };
1294
1345
 
1295
- function _isCompact(oRef) {
1296
- var oDomRef = oRef;
1297
-
1298
- while (oDomRef && oDomRef.classList) {
1299
- if (oDomRef.classList.contains("sapUiSizeCompact")) {
1300
- return true;
1301
- }
1302
- oDomRef = oDomRef.parentNode;
1303
- }
1304
-
1305
- return false;
1306
- }
1307
-
1308
1346
  return DynamicDateRange;
1309
1347
  });
@@ -19,7 +19,7 @@ sap.ui.define(["sap/m/InputBaseRenderer", 'sap/ui/core/Renderer'],
19
19
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
20
20
  *
21
21
  * @param {sap.ui.core.RenderManager} oRm the RenderManager that can be used for writing to the render output buffer
22
- * @param {sap.ui.core.Control} oControl an object representation of the control that should be rendered
22
+ * @param {sap.m.DynamicDateRange} oControl an object representation of the control that should be rendered
23
23
  */
24
24
  DynamicDateRangeRenderer.render = function(oRm, oControl) {
25
25
 
@@ -27,6 +27,9 @@ sap.ui.define([
27
27
  "LASTDAYQUARTER",
28
28
  "FIRSTDAYYEAR",
29
29
  "LASTDAYYEAR",
30
+ "DATETIMERANGE",
31
+ "FROMDATETIME",
32
+ "TODATETIME",
30
33
  "DATERANGE",
31
34
  "FROM",
32
35
  "TO",
@@ -112,6 +115,8 @@ sap.ui.define([
112
115
  "NEXTYEARS": new StandardDynamicDateOption({ key: "NEXTYEARS", valueTypes: ["int"] }),
113
116
  "FROM": new StandardDynamicDateOption({ key: "FROM", valueTypes: ["date"] }),
114
117
  "TO": new StandardDynamicDateOption({ key: "TO", valueTypes: ["date"] }),
118
+ "FROMDATETIME": new StandardDynamicDateOption({ key: "FROMDATETIME", valueTypes: ["datetime"] }),
119
+ "TODATETIME": new StandardDynamicDateOption({ key: "TODATETIME", valueTypes: ["datetime"] }),
115
120
  "YEARTODATE": new StandardDynamicDateOption({ key: "YEARTODATE", valueTypes: [] }),
116
121
  "DATETOYEAR": new StandardDynamicDateOption({ key: "DATETOYEAR", valueTypes: [] }),
117
122
  "TODAYFROMTO": new StandardDynamicDateOption({ key: "TODAYFROMTO", valueTypes: ["int", "int"] }),
@@ -120,8 +125,11 @@ sap.ui.define([
120
125
  "QUARTER3": new StandardDynamicDateOption({ key: "QUARTER3", valueTypes: [] }),
121
126
  "QUARTER4": new StandardDynamicDateOption({ key: "QUARTER4", valueTypes: [] }),
122
127
  "SPECIFICMONTH": new StandardDynamicDateOption({ key: "SPECIFICMONTH", valueTypes: ["int"] }),
128
+ "SPECIFICMONTHINYEAR": new StandardDynamicDateOption({ key: "SPECIFICMONTHINYEAR", valueTypes: ["int", "int"] }),
123
129
  "DATERANGE": new StandardDynamicDateOption({ key: "DATERANGE", valueTypes: ["date", "date"] }),
124
- "DATE": new StandardDynamicDateOption({ key: "DATE", valueTypes: ["date"] })
130
+ "DATE": new StandardDynamicDateOption({ key: "DATE", valueTypes: ["date"] }),
131
+ "DATETIME": new StandardDynamicDateOption({ key: "DATETIME", valueTypes: ["datetime"] }),
132
+ "DATETIMERANGE": new StandardDynamicDateOption({ key: "DATETIMERANGE", valueTypes: ["datetime", "datetime"] })
125
133
  },
126
134
  _allKeys: STANDARD_KEYS_ARRAY.slice(0)
127
135
  };
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.98.0
23
+ * @version 1.99.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.92
@@ -100,7 +100,7 @@ function(library,
100
100
  * @implements sap.ui.core.IFormContent, sap.m.IHyphenation
101
101
  *
102
102
  * @author SAP SE
103
- * @version 1.98.0
103
+ * @version 1.99.0
104
104
  *
105
105
  * @constructor
106
106
  * @public
@@ -170,7 +170,7 @@ sap.ui.define([
170
170
  *
171
171
  * @extends sap.ui.core.Control
172
172
  * @implements sap.ui.core.IShrinkable
173
- * @version 1.98.0
173
+ * @version 1.99.0
174
174
  *
175
175
  * @constructor
176
176
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['./ListItemBase', './library', './FacetFilterItemRenderer'],
20
20
  * @class
21
21
  * Represents a value for the {@link sap.m.FacetFilterList} control.
22
22
  * @extends sap.m.ListItemBase
23
- * @version 1.98.0
23
+ * @version 1.99.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -16,7 +16,7 @@ sap.ui.define(['./ListItemBaseRenderer', 'sap/ui/core/Renderer'],
16
16
  *
17
17
  * @param {sap.ui.core.RenderManager}
18
18
  * oRm The RenderManager that can be used for writing to the render output buffer
19
- * @param {sap.ui.core.Control}
19
+ * @param {sap.m.FacetFilterItem}
20
20
  * oControl An object representation of the control that should be rendered
21
21
  */
22
22
  FacetFilterItemRenderer.renderLIContent = function(oRm, oControl) {