@openui5/sap.m 1.113.0 → 1.114.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 (420) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +5 -3
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +19 -3
  19. package/src/sap/m/ButtonRenderer.js +9 -1
  20. package/src/sap/m/Carousel.js +3 -4
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +1 -1
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  27. package/src/sap/m/ColumnListItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +14 -3
  34. package/src/sap/m/ComboBoxBase.js +1 -1
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +48 -18
  40. package/src/sap/m/DateRangeSelection.js +71 -32
  41. package/src/sap/m/DateTimeField.js +19 -14
  42. package/src/sap/m/DateTimeInput.js +6 -4
  43. package/src/sap/m/DateTimePicker.js +42 -11
  44. package/src/sap/m/Dialog.js +2 -2
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +5 -6
  48. package/src/sap/m/DynamicDateFormat.js +10 -7
  49. package/src/sap/m/DynamicDateOption.js +12 -6
  50. package/src/sap/m/DynamicDateRange.js +268 -45
  51. package/src/sap/m/DynamicDateUtil.js +5 -5
  52. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -2
  53. package/src/sap/m/ExpandableText.js +1 -1
  54. package/src/sap/m/FacetFilter.js +7 -5
  55. package/src/sap/m/FacetFilterItem.js +1 -1
  56. package/src/sap/m/FacetFilterList.js +1 -1
  57. package/src/sap/m/FeedContent.js +1 -1
  58. package/src/sap/m/FeedInput.js +1 -1
  59. package/src/sap/m/FeedListItem.js +11 -4
  60. package/src/sap/m/FeedListItemAction.js +1 -1
  61. package/src/sap/m/Fiori20Adapter.js +2 -2
  62. package/src/sap/m/FlexBox.js +1 -1
  63. package/src/sap/m/FlexItemData.js +1 -1
  64. package/src/sap/m/FormattedText.js +42 -51
  65. package/src/sap/m/GenericTag.js +1 -1
  66. package/src/sap/m/GenericTile.js +23 -23
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingEnablement.js +2 -4
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +11 -5
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +1 -1
  75. package/src/sap/m/IconTabFilter.js +5 -6
  76. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  77. package/src/sap/m/IconTabHeader.js +1 -1
  78. package/src/sap/m/IconTabSeparator.js +5 -8
  79. package/src/sap/m/IllustratedMessage.js +30 -2
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/IllustrationRenderer.js +0 -2
  82. package/src/sap/m/Image.js +1 -1
  83. package/src/sap/m/ImageContent.js +1 -1
  84. package/src/sap/m/ImageHelper.js +110 -0
  85. package/src/sap/m/Input.js +3 -2
  86. package/src/sap/m/InputBase.js +1 -1
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/Label.js +1 -1
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +7 -16
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +6 -2
  94. package/src/sap/m/ListItemBase.js +10 -3
  95. package/src/sap/m/MaskEnabler.js +1 -1
  96. package/src/sap/m/MaskInput.js +1 -1
  97. package/src/sap/m/MaskInputRule.js +1 -1
  98. package/src/sap/m/Menu.js +1 -1
  99. package/src/sap/m/MenuButton.js +1 -1
  100. package/src/sap/m/MenuItem.js +1 -1
  101. package/src/sap/m/MenuListItem.js +1 -1
  102. package/src/sap/m/MessageItem.js +1 -1
  103. package/src/sap/m/MessageListItem.js +4 -5
  104. package/src/sap/m/MessagePage.js +1 -1
  105. package/src/sap/m/MessagePopover.js +1 -1
  106. package/src/sap/m/MessagePopoverItem.js +1 -1
  107. package/src/sap/m/MessageStrip.js +1 -1
  108. package/src/sap/m/MessageToast.js +78 -10
  109. package/src/sap/m/MessageView.js +1 -1
  110. package/src/sap/m/MultiComboBox.js +24 -5
  111. package/src/sap/m/MultiEditField.js +1 -1
  112. package/src/sap/m/MultiInput.js +1 -1
  113. package/src/sap/m/NavContainer.js +1 -1
  114. package/src/sap/m/NewsContent.js +1 -1
  115. package/src/sap/m/NotificationList.js +1 -1
  116. package/src/sap/m/NotificationListBase.js +1 -1
  117. package/src/sap/m/NotificationListGroup.js +1 -1
  118. package/src/sap/m/NotificationListItem.js +1 -1
  119. package/src/sap/m/NumericContent.js +1 -1
  120. package/src/sap/m/NumericInput.js +1 -1
  121. package/src/sap/m/ObjectAttribute.js +6 -6
  122. package/src/sap/m/ObjectHeader.js +5 -5
  123. package/src/sap/m/ObjectIdentifier.js +1 -1
  124. package/src/sap/m/ObjectListItem.js +5 -6
  125. package/src/sap/m/ObjectMarker.js +1 -1
  126. package/src/sap/m/ObjectNumber.js +1 -1
  127. package/src/sap/m/ObjectStatus.js +4 -7
  128. package/src/sap/m/OverflowToolbar.js +7 -1
  129. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  130. package/src/sap/m/OverflowToolbarButton.js +1 -1
  131. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  132. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  133. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  134. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  135. package/src/sap/m/P13nColumnsItem.js +1 -1
  136. package/src/sap/m/P13nColumnsPanel.js +1 -1
  137. package/src/sap/m/P13nConditionPanel.js +1 -1
  138. package/src/sap/m/P13nDialog.js +1 -1
  139. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  140. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  141. package/src/sap/m/P13nFilterItem.js +1 -1
  142. package/src/sap/m/P13nFilterPanel.js +1 -1
  143. package/src/sap/m/P13nGroupItem.js +1 -1
  144. package/src/sap/m/P13nGroupPanel.js +1 -1
  145. package/src/sap/m/P13nItem.js +1 -1
  146. package/src/sap/m/P13nPanel.js +1 -1
  147. package/src/sap/m/P13nSelectionItem.js +1 -1
  148. package/src/sap/m/P13nSelectionPanel.js +1 -1
  149. package/src/sap/m/P13nSortItem.js +1 -1
  150. package/src/sap/m/P13nSortPanel.js +1 -1
  151. package/src/sap/m/PDFViewer.js +1 -1
  152. package/src/sap/m/Page.js +2 -2
  153. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  154. package/src/sap/m/PagingButton.js +1 -1
  155. package/src/sap/m/Panel.js +1 -1
  156. package/src/sap/m/PlanningCalendar.js +11 -11
  157. package/src/sap/m/PlanningCalendarHeader.js +3 -3
  158. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  159. package/src/sap/m/PlanningCalendarRow.js +15 -15
  160. package/src/sap/m/PlanningCalendarView.js +1 -1
  161. package/src/sap/m/Popover.js +3 -3
  162. package/src/sap/m/ProgressIndicator.js +1 -1
  163. package/src/sap/m/PullToRefresh.js +4 -10
  164. package/src/sap/m/QuickView.js +1 -1
  165. package/src/sap/m/QuickViewBase.js +1 -1
  166. package/src/sap/m/QuickViewCard.js +1 -1
  167. package/src/sap/m/QuickViewGroup.js +1 -1
  168. package/src/sap/m/QuickViewGroupElement.js +1 -1
  169. package/src/sap/m/QuickViewPage.js +1 -1
  170. package/src/sap/m/RadioButton.js +1 -1
  171. package/src/sap/m/RadioButtonGroup.js +2 -1
  172. package/src/sap/m/RangeSlider.js +1 -1
  173. package/src/sap/m/RatingIndicator.js +1 -1
  174. package/src/sap/m/ResponsivePopover.js +1 -1
  175. package/src/sap/m/ResponsiveScale.js +1 -1
  176. package/src/sap/m/ScrollBar.js +1 -1
  177. package/src/sap/m/ScrollContainer.js +1 -1
  178. package/src/sap/m/SearchField.js +17 -7
  179. package/src/sap/m/SegmentedButton.js +1 -1
  180. package/src/sap/m/SegmentedButtonItem.js +1 -1
  181. package/src/sap/m/Select.js +1 -1
  182. package/src/sap/m/SelectDialog.js +1 -1
  183. package/src/sap/m/SelectDialogBase.js +1 -1
  184. package/src/sap/m/SelectList.js +1 -1
  185. package/src/sap/m/SelectionDetails.js +1 -1
  186. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  187. package/src/sap/m/SelectionDetailsItem.js +2 -2
  188. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  189. package/src/sap/m/Shell.js +4 -3
  190. package/src/sap/m/SimpleFixFlex.js +1 -1
  191. package/src/sap/m/SinglePlanningCalendar.js +44 -15
  192. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendarGrid.js +13 -13
  194. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +9 -9
  195. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendarView.js +2 -2
  197. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  199. package/src/sap/m/SlideTile.js +1 -1
  200. package/src/sap/m/Slider.js +4 -4
  201. package/src/sap/m/SliderTooltip.js +1 -1
  202. package/src/sap/m/SliderTooltipBase.js +1 -1
  203. package/src/sap/m/SliderTooltipContainer.js +1 -1
  204. package/src/sap/m/SplitApp.js +1 -1
  205. package/src/sap/m/SplitButton.js +1 -1
  206. package/src/sap/m/SplitContainer.js +1 -1
  207. package/src/sap/m/StandardDynamicDateOption.js +2 -3
  208. package/src/sap/m/StandardListItem.js +1 -1
  209. package/src/sap/m/StandardTile.js +4 -9
  210. package/src/sap/m/StandardTreeItem.js +1 -1
  211. package/src/sap/m/StepInput.js +1 -1
  212. package/src/sap/m/SuggestionItem.js +1 -1
  213. package/src/sap/m/SuggestionsPopover.js +1 -1
  214. package/src/sap/m/Switch.js +1 -1
  215. package/src/sap/m/TabContainer.js +1 -1
  216. package/src/sap/m/TabContainerItem.js +3 -6
  217. package/src/sap/m/TabStrip.js +1 -1
  218. package/src/sap/m/TabStripItem.js +3 -6
  219. package/src/sap/m/Table.js +5 -4
  220. package/src/sap/m/TablePersoController.js +1 -1
  221. package/src/sap/m/TablePersoDialog.js +1 -1
  222. package/src/sap/m/TablePersoProvider.js +1 -1
  223. package/src/sap/m/TableSelectDialog.js +1 -1
  224. package/src/sap/m/Text.js +1 -1
  225. package/src/sap/m/TextArea.js +1 -1
  226. package/src/sap/m/Tile.js +1 -1
  227. package/src/sap/m/TileContainer.js +1 -1
  228. package/src/sap/m/TileContent.js +8 -8
  229. package/src/sap/m/TileContentRenderer.js +1 -6
  230. package/src/sap/m/TimePicker.js +38 -8
  231. package/src/sap/m/TimePickerClock.js +1 -1
  232. package/src/sap/m/TimePickerClocks.js +4 -4
  233. package/src/sap/m/TimePickerClocksRenderer.js +7 -9
  234. package/src/sap/m/TimePickerInputs.js +10 -8
  235. package/src/sap/m/TimePickerInputsRenderer.js +7 -6
  236. package/src/sap/m/TimePickerInternals.js +15 -2
  237. package/src/sap/m/TimePickerSlider.js +1 -1
  238. package/src/sap/m/TimePickerSliders.js +7 -5
  239. package/src/sap/m/Title.js +1 -1
  240. package/src/sap/m/TitlePropagationSupport.js +1 -1
  241. package/src/sap/m/ToggleButton.js +1 -1
  242. package/src/sap/m/Token.js +1 -1
  243. package/src/sap/m/Tokenizer.js +1 -1
  244. package/src/sap/m/Toolbar.js +1 -1
  245. package/src/sap/m/ToolbarLayoutData.js +1 -1
  246. package/src/sap/m/ToolbarSeparator.js +1 -1
  247. package/src/sap/m/ToolbarSpacer.js +1 -1
  248. package/src/sap/m/Tree.js +7 -1
  249. package/src/sap/m/TreeItemBase.js +1 -1
  250. package/src/sap/m/UploadCollection.js +1 -1
  251. package/src/sap/m/UploadCollectionItem.js +1 -1
  252. package/src/sap/m/UploadCollectionParameter.js +1 -1
  253. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  254. package/src/sap/m/VBox.js +10 -1
  255. package/src/sap/m/ValueStateHeader.js +1 -1
  256. package/src/sap/m/VariantManagement.js +77 -78
  257. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  258. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  259. package/src/sap/m/ViewSettingsDialog.js +1 -1
  260. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  261. package/src/sap/m/ViewSettingsItem.js +1 -1
  262. package/src/sap/m/VisibleItem.js +1 -1
  263. package/src/sap/m/WheelSlider.js +1 -1
  264. package/src/sap/m/WheelSliderContainer.js +1 -1
  265. package/src/sap/m/Wizard.js +1 -1
  266. package/src/sap/m/WizardProgressNavigator.js +1 -1
  267. package/src/sap/m/WizardStep.js +1 -1
  268. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  269. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  270. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  271. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  272. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  273. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  274. package/src/sap/m/delegate/DateNavigation.js +1 -1
  275. package/src/sap/m/designtime/PersistenceProvider.designtime.js +21 -0
  276. package/src/sap/m/library.js +25 -90
  277. package/src/sap/m/messagebundle.properties +15 -0
  278. package/src/sap/m/messagebundle_ar.properties +10 -0
  279. package/src/sap/m/messagebundle_bg.properties +10 -0
  280. package/src/sap/m/messagebundle_ca.properties +10 -0
  281. package/src/sap/m/messagebundle_cs.properties +11 -1
  282. package/src/sap/m/messagebundle_cy.properties +10 -0
  283. package/src/sap/m/messagebundle_da.properties +10 -0
  284. package/src/sap/m/messagebundle_de.properties +12 -2
  285. package/src/sap/m/messagebundle_el.properties +10 -0
  286. package/src/sap/m/messagebundle_en.properties +10 -0
  287. package/src/sap/m/messagebundle_en_GB.properties +10 -0
  288. package/src/sap/m/messagebundle_en_US_sappsd.properties +10 -0
  289. package/src/sap/m/messagebundle_en_US_saprigi.properties +10 -0
  290. package/src/sap/m/messagebundle_es.properties +10 -0
  291. package/src/sap/m/messagebundle_es_MX.properties +10 -0
  292. package/src/sap/m/messagebundle_et.properties +10 -0
  293. package/src/sap/m/messagebundle_fi.properties +10 -0
  294. package/src/sap/m/messagebundle_fr.properties +10 -0
  295. package/src/sap/m/messagebundle_fr_CA.properties +10 -0
  296. package/src/sap/m/messagebundle_hi.properties +10 -0
  297. package/src/sap/m/messagebundle_hr.properties +10 -0
  298. package/src/sap/m/messagebundle_hu.properties +10 -0
  299. package/src/sap/m/messagebundle_id.properties +10 -0
  300. package/src/sap/m/messagebundle_it.properties +13 -3
  301. package/src/sap/m/messagebundle_iw.properties +10 -0
  302. package/src/sap/m/messagebundle_ja.properties +11 -1
  303. package/src/sap/m/messagebundle_kk.properties +10 -0
  304. package/src/sap/m/messagebundle_ko.properties +11 -1
  305. package/src/sap/m/messagebundle_lt.properties +10 -0
  306. package/src/sap/m/messagebundle_lv.properties +10 -0
  307. package/src/sap/m/messagebundle_ms.properties +11 -1
  308. package/src/sap/m/messagebundle_nl.properties +10 -0
  309. package/src/sap/m/messagebundle_no.properties +10 -0
  310. package/src/sap/m/messagebundle_pl.properties +10 -0
  311. package/src/sap/m/messagebundle_pt.properties +10 -0
  312. package/src/sap/m/messagebundle_pt_PT.properties +10 -0
  313. package/src/sap/m/messagebundle_ro.properties +10 -0
  314. package/src/sap/m/messagebundle_ru.properties +10 -0
  315. package/src/sap/m/messagebundle_sh.properties +10 -0
  316. package/src/sap/m/messagebundle_sk.properties +10 -0
  317. package/src/sap/m/messagebundle_sl.properties +10 -0
  318. package/src/sap/m/messagebundle_sv.properties +10 -0
  319. package/src/sap/m/messagebundle_th.properties +10 -0
  320. package/src/sap/m/messagebundle_tr.properties +10 -0
  321. package/src/sap/m/messagebundle_uk.properties +10 -0
  322. package/src/sap/m/messagebundle_vi.properties +10 -0
  323. package/src/sap/m/messagebundle_zh_CN.properties +10 -0
  324. package/src/sap/m/messagebundle_zh_TW.properties +10 -0
  325. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  326. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  327. package/src/sap/m/p13n/BasePanel.js +1 -1
  328. package/src/sap/m/p13n/Container.js +1 -1
  329. package/src/sap/m/p13n/Engine.js +8 -4
  330. package/src/sap/m/p13n/GroupController.js +1 -1
  331. package/src/sap/m/p13n/GroupPanel.js +1 -1
  332. package/src/sap/m/p13n/PersistenceProvider.js +1 -1
  333. package/src/sap/m/p13n/Popup.js +7 -1
  334. package/src/sap/m/p13n/QueryPanel.js +1 -1
  335. package/src/sap/m/p13n/SelectionController.js +14 -13
  336. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  337. package/src/sap/m/p13n/SortController.js +1 -1
  338. package/src/sap/m/p13n/SortPanel.js +1 -1
  339. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  340. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  341. package/src/sap/m/p13n/modules/UIManager.js +19 -9
  342. package/src/sap/m/plugins/CellSelector.js +1 -1
  343. package/src/sap/m/plugins/ColumnResizer.js +9 -1
  344. package/src/sap/m/plugins/CopyProvider.js +122 -5
  345. package/src/sap/m/plugins/DataStateIndicator.js +14 -2
  346. package/src/sap/m/plugins/PasteProvider.js +1 -1
  347. package/src/sap/m/plugins/PluginBase.js +1 -1
  348. package/src/sap/m/semantic/AddAction.js +1 -1
  349. package/src/sap/m/semantic/CancelAction.js +1 -1
  350. package/src/sap/m/semantic/DeleteAction.js +1 -1
  351. package/src/sap/m/semantic/DetailPage.js +1 -1
  352. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  353. package/src/sap/m/semantic/EditAction.js +1 -1
  354. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  355. package/src/sap/m/semantic/FilterAction.js +1 -1
  356. package/src/sap/m/semantic/FilterSelect.js +1 -1
  357. package/src/sap/m/semantic/FlagAction.js +1 -1
  358. package/src/sap/m/semantic/ForwardAction.js +1 -1
  359. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  360. package/src/sap/m/semantic/GroupAction.js +1 -1
  361. package/src/sap/m/semantic/GroupSelect.js +1 -1
  362. package/src/sap/m/semantic/MainAction.js +1 -1
  363. package/src/sap/m/semantic/MasterPage.js +1 -1
  364. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  365. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  366. package/src/sap/m/semantic/NegativeAction.js +1 -1
  367. package/src/sap/m/semantic/OpenInAction.js +1 -1
  368. package/src/sap/m/semantic/PositiveAction.js +1 -1
  369. package/src/sap/m/semantic/PrintAction.js +1 -1
  370. package/src/sap/m/semantic/SaveAction.js +1 -1
  371. package/src/sap/m/semantic/Segment.js +1 -1
  372. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  373. package/src/sap/m/semantic/SemanticButton.js +1 -1
  374. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  375. package/src/sap/m/semantic/SemanticControl.js +1 -1
  376. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  377. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  378. package/src/sap/m/semantic/SemanticPage.js +1 -1
  379. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  380. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  381. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  382. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  383. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  384. package/src/sap/m/semantic/ShareMenu.js +1 -1
  385. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  386. package/src/sap/m/semantic/SortAction.js +1 -1
  387. package/src/sap/m/semantic/SortSelect.js +1 -1
  388. package/src/sap/m/table/Util.js +57 -3
  389. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  390. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  391. package/src/sap/m/table/columnmenu/Item.js +1 -1
  392. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  393. package/src/sap/m/table/columnmenu/Menu.js +14 -21
  394. package/src/sap/m/table/columnmenu/MenuRenderer.js +0 -6
  395. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  396. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  397. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  398. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  399. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  400. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  401. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  402. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  403. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  404. package/src/sap/m/themes/base/Button.less +4 -4
  405. package/src/sap/m/themes/base/FeedInput.less +1 -0
  406. package/src/sap/m/themes/base/GenericTile.less +5 -23
  407. package/src/sap/m/themes/base/IllustratedMessage.less +1 -1
  408. package/src/sap/m/themes/base/InputBase.less +27 -15
  409. package/src/sap/m/themes/base/MessageToast.less +7 -0
  410. package/src/sap/m/themes/base/ObjectHeader.less +20 -0
  411. package/src/sap/m/themes/base/PlanningCalendarHeader.less +2 -1
  412. package/src/sap/m/themes/base/SelectionDetailsItem.less +1 -1
  413. package/src/sap/m/themes/base/Table.less +0 -20
  414. package/src/sap/m/themes/base/TimePickerClocks.less +2 -1
  415. package/src/sap/m/themes/base/TimePickerInputs.less +2 -1
  416. package/src/sap/m/themes/base/Wizard.less +1 -1
  417. package/src/sap/m/upload/UploadSet.js +21 -18
  418. package/src/sap/m/upload/UploadSetItem.js +27 -25
  419. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  420. package/src/sap/m/CustomDynamicDateOption.js +0 -110
@@ -6,6 +6,7 @@
6
6
 
7
7
  // Provides control sap.m.DynamicDateRange.
8
8
  sap.ui.define([
9
+ 'sap/base/Log',
9
10
  'sap/ui/core/InvisibleText',
10
11
  'sap/ui/core/Element',
11
12
  'sap/ui/core/Control',
@@ -14,10 +15,10 @@ sap.ui.define([
14
15
  'sap/ui/core/Renderer',
15
16
  'sap/ui/core/message/MessageMixin',
16
17
  'sap/m/DynamicDateFormat',
17
- 'sap/m/DynamicDateUtil',
18
18
  'sap/ui/core/IconPool',
19
19
  'sap/ui/core/Icon',
20
20
  'sap/ui/core/LabelEnablement',
21
+ "sap/ui/core/date/UniversalDate",
21
22
  'sap/ui/core/format/DateFormat',
22
23
  'sap/ui/core/format/TimezoneUtil',
23
24
  'sap/ui/base/ManagedObjectObserver',
@@ -40,8 +41,9 @@ sap.ui.define([
40
41
  'sap/ui/thirdparty/jquery',
41
42
  'sap/ui/core/Configuration',
42
43
  'sap/ui/unified/calendar/CalendarUtils',
43
- "sap/ui/core/CustomData"
44
+ 'sap/ui/core/CustomData'
44
45
  ], function(
46
+ Log,
45
47
  InvisibleText,
46
48
  Element,
47
49
  Control,
@@ -50,10 +52,10 @@ sap.ui.define([
50
52
  Renderer,
51
53
  MessageMixin,
52
54
  DynamicDateFormat,
53
- DynamicDateUtil,
54
55
  IconPool,
55
56
  Icon,
56
57
  LabelEnablement,
58
+ UniversalDate,
57
59
  DateFormat,
58
60
  TimezoneUtil,
59
61
  ManagedObjectObserver,
@@ -89,6 +91,120 @@ sap.ui.define([
89
91
  ListSeparators = library.ListSeparators,
90
92
  oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
91
93
 
94
+ var oStandardOptionsObjects = {
95
+ "TODAY": new StandardDynamicDateOption({ key: "TODAY", valueTypes: [] }),
96
+ "YESTERDAY": new StandardDynamicDateOption({ key: "YESTERDAY", valueTypes: [] }),
97
+ "TOMORROW": new StandardDynamicDateOption({ key: "TOMORROW", valueTypes: [] }),
98
+ "FIRSTDAYWEEK": new StandardDynamicDateOption({ key: "FIRSTDAYWEEK", valueTypes: [] }),
99
+ "LASTDAYWEEK": new StandardDynamicDateOption({ key: "LASTDAYWEEK", valueTypes: [] }),
100
+ "FIRSTDAYMONTH":new StandardDynamicDateOption({ key: "FIRSTDAYMONTH", valueTypes: [] }),
101
+ "LASTDAYMONTH":new StandardDynamicDateOption({ key: "LASTDAYMONTH", valueTypes: [] }),
102
+ "FIRSTDAYQUARTER":new StandardDynamicDateOption({ key: "FIRSTDAYQUARTER", valueTypes: [] }),
103
+ "LASTDAYQUARTER":new StandardDynamicDateOption({ key: "LASTDAYQUARTER", valueTypes: [] }),
104
+ "FIRSTDAYYEAR":new StandardDynamicDateOption({ key: "FIRSTDAYYEAR", valueTypes: [] }),
105
+ "LASTDAYYEAR":new StandardDynamicDateOption({ key: "LASTDAYYEAR", valueTypes: [] }),
106
+ "THISWEEK": new StandardDynamicDateOption({ key: "THISWEEK", valueTypes: [] }),
107
+ "THISMONTH": new StandardDynamicDateOption({ key: "THISMONTH", valueTypes: [] }),
108
+ "THISQUARTER": new StandardDynamicDateOption({ key: "THISQUARTER", valueTypes: [] }),
109
+ "THISYEAR": new StandardDynamicDateOption({ key: "THISYEAR", valueTypes: [] }),
110
+ "LASTWEEK": new StandardDynamicDateOption({ key: "LASTWEEK", valueTypes: [] }),
111
+ "LASTMONTH": new StandardDynamicDateOption({ key: "LASTMONTH", valueTypes: [] }),
112
+ "LASTQUARTER": new StandardDynamicDateOption({ key: "LASTQUARTER", valueTypes: [] }),
113
+ "LASTYEAR": new StandardDynamicDateOption({ key: "LASTYEAR", valueTypes: [] }),
114
+ "NEXTWEEK": new StandardDynamicDateOption({ key: "NEXTWEEK", valueTypes: [] }),
115
+ "NEXTMONTH": new StandardDynamicDateOption({ key: "NEXTMONTH", valueTypes: [] }),
116
+ "NEXTQUARTER": new StandardDynamicDateOption({ key: "NEXTQUARTER", valueTypes: [] }),
117
+ "NEXTYEAR": new StandardDynamicDateOption({ key: "NEXTYEAR", valueTypes: [] }),
118
+ "LASTMINUTES": new StandardDynamicDateOption({ key: "LASTMINUTES", valueTypes: ["int"] }),
119
+ "LASTHOURS": new StandardDynamicDateOption({ key: "LASTHOURS", valueTypes: ["int"] }),
120
+ "LASTDAYS": new StandardDynamicDateOption({ key: "LASTDAYS", valueTypes: ["int"] }),
121
+ "LASTWEEKS": new StandardDynamicDateOption({ key: "LASTWEEKS", valueTypes: ["int"] }),
122
+ "LASTMONTHS": new StandardDynamicDateOption({ key: "LASTMONTHS", valueTypes: ["int"] }),
123
+ "LASTQUARTERS": new StandardDynamicDateOption({ key: "LASTQUARTERS", valueTypes: ["int"] }),
124
+ "LASTYEARS": new StandardDynamicDateOption({ key: "LASTYEARS", valueTypes: ["int"] }),
125
+ "NEXTMINUTES": new StandardDynamicDateOption({ key: "NEXTMINUTES", valueTypes: ["int"] }),
126
+ "NEXTHOURS": new StandardDynamicDateOption({ key: "NEXTHOURS", valueTypes: ["int"] }),
127
+ "NEXTDAYS": new StandardDynamicDateOption({ key: "NEXTDAYS", valueTypes: ["int"] }),
128
+ "NEXTWEEKS": new StandardDynamicDateOption({ key: "NEXTWEEKS", valueTypes: ["int"] }),
129
+ "NEXTMONTHS": new StandardDynamicDateOption({ key: "NEXTMONTHS", valueTypes: ["int"] }),
130
+ "NEXTQUARTERS": new StandardDynamicDateOption({ key: "NEXTQUARTERS", valueTypes: ["int"] }),
131
+ "NEXTYEARS": new StandardDynamicDateOption({ key: "NEXTYEARS", valueTypes: ["int"] }),
132
+ "FROM": new StandardDynamicDateOption({ key: "FROM", valueTypes: ["date"] }),
133
+ "TO": new StandardDynamicDateOption({ key: "TO", valueTypes: ["date"] }),
134
+ "FROMDATETIME": new StandardDynamicDateOption({ key: "FROMDATETIME", valueTypes: ["datetime"] }),
135
+ "TODATETIME": new StandardDynamicDateOption({ key: "TODATETIME", valueTypes: ["datetime"] }),
136
+ "YEARTODATE": new StandardDynamicDateOption({ key: "YEARTODATE", valueTypes: [] }),
137
+ "DATETOYEAR": new StandardDynamicDateOption({ key: "DATETOYEAR", valueTypes: [] }),
138
+ "TODAYFROMTO": new StandardDynamicDateOption({ key: "TODAYFROMTO", valueTypes: ["int", "int"] }),
139
+ "QUARTER1": new StandardDynamicDateOption({ key: "QUARTER1", valueTypes: [] }),
140
+ "QUARTER2": new StandardDynamicDateOption({ key: "QUARTER2", valueTypes: [] }),
141
+ "QUARTER3": new StandardDynamicDateOption({ key: "QUARTER3", valueTypes: [] }),
142
+ "QUARTER4": new StandardDynamicDateOption({ key: "QUARTER4", valueTypes: [] }),
143
+ "SPECIFICMONTH": new StandardDynamicDateOption({ key: "SPECIFICMONTH", valueTypes: ["int"] }),
144
+ "SPECIFICMONTHINYEAR": new StandardDynamicDateOption({ key: "SPECIFICMONTHINYEAR", valueTypes: ["int", "int"] }),
145
+ "DATERANGE": new StandardDynamicDateOption({ key: "DATERANGE", valueTypes: ["date", "date"] }),
146
+ "DATE": new StandardDynamicDateOption({ key: "DATE", valueTypes: ["date"] }),
147
+ "DATETIME": new StandardDynamicDateOption({ key: "DATETIME", valueTypes: ["datetime"] }),
148
+ "DATETIMERANGE": new StandardDynamicDateOption({ key: "DATETIMERANGE", valueTypes: ["datetime", "datetime"] })
149
+ };
150
+
151
+ var aStandardOptionsKeys = [
152
+ "DATE",
153
+ "TODAY",
154
+ "YESTERDAY",
155
+ "TOMORROW",
156
+ "FIRSTDAYWEEK",
157
+ "LASTDAYWEEK",
158
+ "FIRSTDAYMONTH",
159
+ "LASTDAYMONTH",
160
+ "FIRSTDAYQUARTER",
161
+ "LASTDAYQUARTER",
162
+ "FIRSTDAYYEAR",
163
+ "LASTDAYYEAR",
164
+ "DATERANGE",
165
+ "DATETIMERANGE",
166
+ "FROM",
167
+ "TO",
168
+ "FROMDATETIME",
169
+ "TODATETIME",
170
+ "YEARTODATE",
171
+ "DATETOYEAR",
172
+ "LASTMINUTES",
173
+ "LASTHOURS",
174
+ "LASTDAYS",
175
+ "LASTWEEKS",
176
+ "LASTMONTHS",
177
+ "LASTQUARTERS",
178
+ "LASTYEARS",
179
+ "NEXTMINUTES",
180
+ "NEXTHOURS",
181
+ "NEXTDAYS",
182
+ "NEXTWEEKS",
183
+ "NEXTMONTHS",
184
+ "NEXTQUARTERS",
185
+ "NEXTYEARS",
186
+ "TODAYFROMTO",
187
+ "THISWEEK",
188
+ "LASTWEEK",
189
+ "NEXTWEEK",
190
+ "SPECIFICMONTH",
191
+ "SPECIFICMONTHINYEAR",
192
+ "THISMONTH",
193
+ "LASTMONTH",
194
+ "NEXTMONTH",
195
+ "THISQUARTER",
196
+ "LASTQUARTER",
197
+ "NEXTQUARTER",
198
+ "QUARTER1",
199
+ "QUARTER2",
200
+ "QUARTER3",
201
+ "QUARTER4",
202
+ "THISYEAR",
203
+ "LASTYEAR",
204
+ "NEXTYEAR",
205
+ "DATETIME"
206
+ ];
207
+
92
208
  /**
93
209
  * Constructor for a new DynamicDateRange.
94
210
  *
@@ -113,9 +229,9 @@ sap.ui.define([
113
229
  *
114
230
  * The <code>DynamicDateRange</code> control supports a number of standard options:
115
231
  * see {@link sap.m.StandardDynamicDateRangeKeys}.
116
- * A custom option could be defined by using the <code>sap.m.CustomDynamicDateOption</code> class and
117
- * appending an instance of this class into the <code>sap.m.DynamicDateUtil</code> options.
118
- * In order for a specific option to be used its key should be added into the <code>options</code> property
232
+ * A custom option could be defined by extending the <code>sap.m.DynamicDateOption</code> class and
233
+ * adding an instance of this class into the <code>sap.m.DynamicDateRange</code> customOptions aggregation.
234
+ * In order for a specific option to be used its key should be added into the <code>standardOptions</code> property
119
235
  * of the control. No options are added by default.
120
236
  *
121
237
  * Suggestions are available when the user types in the control input field.
@@ -126,14 +242,13 @@ sap.ui.define([
126
242
  * is opened. The dialog is closed via a date time period value selection or by pressing the "Cancel" button.
127
243
  *
128
244
  * @author SAP SE
129
- * @version 1.113.0
245
+ * @version 1.114.1
130
246
  *
131
247
  * @constructor
132
248
  * @public
133
249
  * @since 1.92.0
134
250
  * @alias sap.m.DynamicDateRange
135
251
  * @extends sap.ui.core.Control
136
- * @experimental Since 1.92. This class is experimental and provides only limited functionality. Also the API might be changed in future.
137
252
  */
138
253
  var DynamicDateRange = Control.extend("sap.m.DynamicDateRange", /** @lends sap.m.DynamicDateRange.prototype */ {
139
254
  metadata: {
@@ -147,6 +262,7 @@ sap.ui.define([
147
262
  * an unrecognized string - { operator: "PARSEERROR", values: [...]}
148
263
  *
149
264
  * @since 1.92
265
+ * @private
150
266
  */
151
267
  value: { type: "object" },
152
268
 
@@ -222,15 +338,16 @@ sap.ui.define([
222
338
  * corresponding formatting and parsing functionality.
223
339
  *
224
340
  * @since 1.92
341
+ * @private
225
342
  */
226
343
  formatter: { type: "object" },
227
344
 
228
345
  /**
229
- * Array of standard and custom option keys
346
+ * Array of standard option keys
230
347
  *
231
348
  * @since 1.92
232
349
  */
233
- options: {
350
+ standardOptions: {
234
351
  type: "string[]", group: "Behavior",
235
352
  defaultValue: [
236
353
  "DATE",
@@ -315,6 +432,11 @@ sap.ui.define([
315
432
 
316
433
  },
317
434
  aggregations: {
435
+ /**
436
+ * Custom options for the <code>DynamicDateRange</code>.
437
+ *
438
+ */
439
+ customOptions: { type: "sap.m.DynamicDateOption", multiple: true },
318
440
  _input: { type: "sap.m.Input", multiple: false, visibility: "hidden" },
319
441
  _popup: { type: "sap.m.ResponsivePopover", multiple: false, visibility: "hidden" }
320
442
  },
@@ -420,6 +542,34 @@ sap.ui.define([
420
542
  }
421
543
  };
422
544
 
545
+ /**
546
+ * Getter for the <code>value</code> of the control.
547
+ * @returns {sap.m.DynamicDateRangeValue} A <code>sap.m.DynamicDateRangeValue</code>
548
+ */
549
+ DynamicDateRange.prototype.getValue = function() {
550
+ return this.getProperty("value");
551
+ };
552
+
553
+ /**
554
+ * Getter for the <code>formatter</code> of the control.
555
+ * @returns {sap.m.DynamicDateFormat} A <code>sap.m.DynamicDateFormat</code>
556
+ */
557
+ DynamicDateRange.prototype.getFormatter = function() {
558
+ return this.getProperty("formatter");
559
+ };
560
+
561
+ /**
562
+ * Setter for the <code>formatter</code> of the control.
563
+ * @returns {sap.m.DynamicDateFormat} A <code>sap.m.DynamicDateFormat</code>
564
+ * @param {sap.m.DynamicDateFormat} oFormatter A <code>sap.m.DynamicDateFormat</code>
565
+ * @returns {this} Reference to <code>this</code> for method chaining
566
+ */
567
+ DynamicDateRange.prototype.setFormatter = function(oFormatter) {
568
+ this.setProperty("formatter", oFormatter);
569
+
570
+ return this;
571
+ };
572
+
423
573
  DynamicDateRange.prototype.onBeforeRendering = function() {
424
574
  this._updateInputValue(this.getValue());
425
575
  this._oInput.setEditable(this.getEditable());
@@ -446,7 +596,7 @@ sap.ui.define([
446
596
  oValue = this._substituteValue(oValue);
447
597
 
448
598
  this.setProperty("value", oValue);
449
- this._oSelectedOption = DynamicDateUtil.getOption(sOptionKey);
599
+ this._oSelectedOption = this.getOption(sOptionKey);
450
600
 
451
601
  // Forward Dynamic Date Range control property values to inner sap.m.Input instance.
452
602
  this._updateInputValue(oValue);
@@ -527,21 +677,21 @@ sap.ui.define([
527
677
  };
528
678
 
529
679
  /**
530
- * Appends an option key, identifying an additional option to be used by the control.
680
+ * Appends an option key, identifying an additional standard option to be used by the control.
531
681
  *
532
682
  * @param {string} sKey option key
533
683
  * @returns {void}
534
684
  * @since 1.92
535
685
  * @public
536
686
  */
537
- DynamicDateRange.prototype.addOption = function(sKey) {
538
- var aOptions = this.getOptions();
687
+ DynamicDateRange.prototype.addStandardOption = function(sKey) {
688
+ var aOptions = this.getStandardOptions();
539
689
 
540
690
  if (aOptions.indexOf(sKey) === -1) {
541
691
  aOptions.push(sKey);
542
692
  }
543
693
 
544
- this.setOptions(aOptions);
694
+ this.setStandardOptions(aOptions);
545
695
  };
546
696
 
547
697
  DynamicDateRange.prototype.getFocusDomRef = function(){
@@ -584,7 +734,7 @@ sap.ui.define([
584
734
  return false;
585
735
  }
586
736
 
587
- var sSuggestedValue = DynamicDateUtil.getOption(oSuggestValue.operator)
737
+ var sSuggestedValue = this.getOption(oSuggestValue.operator)
588
738
  .format(oSuggestValue, this._getFormatter()).toLowerCase();
589
739
  var iIndexOfQuery = sSuggestedValue
590
740
  .indexOf(sQuery.toLowerCase());
@@ -629,20 +779,51 @@ sap.ui.define([
629
779
  };
630
780
 
631
781
  /**
632
- * Returns an array of <code>sap.m.StandardDynamicDateOption</code> instances used in the control.
782
+ * Gets an option object by its key.
783
+ *
784
+ * @param {string} sKey The option key
785
+ * @returns {sap.m.DynamicDateOption} The option
786
+ * @public
787
+ */
788
+ DynamicDateRange.prototype.getOption = function(sKey) {
789
+ return this._getOptions().find(function(option) {
790
+ return option.getKey() === sKey;
791
+ });
792
+ };
793
+
794
+ /**
795
+ * Calculates a date range from a provided object in the format of the DynamicDateRange's value.
796
+ *
797
+ * @param {string} oValue The provided value
798
+ * @returns {sap.ui.core.date.UniversalDate[]} An array of two date objects - start and end date
799
+ * @public
800
+ */
801
+ DynamicDateRange.prototype.toDates = function(oValue) {
802
+ var sKey = oValue.operator;
803
+ return this.getOption(sKey).toDates(oValue);
804
+ };
805
+
806
+ /**
807
+ * Returns an array of <code>sap.m.DynamicDateOptions</code> (standard and custom) instances used in the control.
633
808
  *
634
809
  * @private
635
810
  */
636
811
  DynamicDateRange.prototype._getOptions = function() {
637
- var aOptionKeys = this.getOptions();
812
+ var aOptionKeys = this.getStandardOptions();
638
813
  var aOptions = aOptionKeys.map(function(sKey) {
639
- return DynamicDateUtil.getOption(sKey);
814
+ return oStandardOptionsObjects[sKey];
640
815
  }, this);
641
816
 
642
817
  // filter out the non-existent options (such option key is not known in the global util)
643
- return aOptions.filter(function(o) {
644
- return !!o;
645
- });
818
+ var aStandardOptions = aOptions.filter(Boolean);
819
+
820
+ var aCustomOptions = this.getAggregation("customOptions");
821
+
822
+ if (aCustomOptions) {
823
+ return aStandardOptions.concat(aCustomOptions);
824
+ }
825
+
826
+ return aStandardOptions;
646
827
  };
647
828
 
648
829
  DynamicDateRange.prototype._getValueHelpTypeForFormatter = function() {
@@ -653,7 +834,7 @@ sap.ui.define([
653
834
  aButtons = aPopupContent.getButtons ? aPopupContent.getButtons() : [],
654
835
  aSuggestionItems = this.getAggregation('_input').getAggregation('suggestionItems'),
655
836
  oValue = this.getValue(),
656
- aOptionKeys = this.getOptions(),
837
+ aOptionKeys = this.getStandardOptions(),
657
838
  sActualSelectedOptionKey = "",
658
839
  aLastActualOrder = [],
659
840
  aNextActualOrder = [],
@@ -763,14 +944,14 @@ sap.ui.define([
763
944
  * @private
764
945
  */
765
946
  DynamicDateRange.prototype._addSuggestionItem = function(oSuggestValue) {
766
- var aValueDates = DynamicDateRange.toDates(oSuggestValue, this.getCalendarWeekNumbering());
947
+ var aValueDates = this.toDates(oSuggestValue, this.getCalendarWeekNumbering());
767
948
  var aResultingDates = [];
768
949
  for (var i = 0; i < aValueDates.length; i++) {
769
950
  aResultingDates[i] = aValueDates[i];
770
951
  }
771
952
 
772
953
  var oItem = new ListItem({
773
- text: DynamicDateUtil.getOption(oSuggestValue.operator).format(oSuggestValue, this._getFormatter()),
954
+ text: this.getOption(oSuggestValue.operator).format(oSuggestValue, this._getFormatter()),
774
955
  additionalText: '',
775
956
  customData: [
776
957
  new CustomData({
@@ -844,7 +1025,13 @@ sap.ui.define([
844
1025
  };
845
1026
 
846
1027
  DynamicDateRange.prototype._enhanceInputValue = function(sFormattedValue, oVal) {
847
- if (DynamicDateUtil.getOption(oVal.operator).enhanceFormattedValue()
1028
+ var oOption = this.getOption(oVal.operator);
1029
+
1030
+ if (!oOption) {
1031
+ return null;
1032
+ }
1033
+
1034
+ if (oOption.enhanceFormattedValue()
848
1035
  || (oVal.operator === "LASTDAYS" && oVal.values[0] <= 1)
849
1036
  || (oVal.operator === "NEXTDAYS" && oVal.values[0] <= 1)) {
850
1037
  return sFormattedValue + " (" + this._toDatesString(oVal) + ")";
@@ -870,7 +1057,7 @@ sap.ui.define([
870
1057
  };
871
1058
 
872
1059
  DynamicDateRange.prototype._toDatesString = function(oValue) {
873
- var aValueDates = DynamicDateRange.toDates(oValue, this.getCalendarWeekNumbering());
1060
+ var aValueDates = this.toDates(oValue, this.getCalendarWeekNumbering());
874
1061
  var aDates = [];
875
1062
  for (var i = 0; i < aValueDates.length; i++) {
876
1063
  aDates[i] = aValueDates[i];
@@ -961,7 +1148,6 @@ sap.ui.define([
961
1148
 
962
1149
  // get the control options' metadata
963
1150
  var aOptions = aArray;
964
- var aStandardDynamicDateRangeKeysArray = DynamicDateUtil.getStandardKeys();
965
1151
 
966
1152
  // sort by group
967
1153
  aOptions.sort(function(a, b) {
@@ -971,7 +1157,7 @@ sap.ui.define([
971
1157
  return iGroupDiff;
972
1158
  }
973
1159
 
974
- return aStandardDynamicDateRangeKeysArray.indexOf(a.getKey()) - aStandardDynamicDateRangeKeysArray.indexOf(b.getKey());
1160
+ return aStandardOptionsKeys.indexOf(a.getKey()) - aStandardOptionsKeys.indexOf(b.getKey());
975
1161
  });
976
1162
 
977
1163
  if (bReduce) {
@@ -1039,7 +1225,7 @@ sap.ui.define([
1039
1225
 
1040
1226
  DynamicDateRange.prototype._handleOptionPress = function(oEvent) {
1041
1227
  var sOptionKey = oEvent.getSource().getOptionKey(),
1042
- oOption = DynamicDateUtil.getOption(sOptionKey);
1228
+ oOption = this.getOption(sOptionKey);
1043
1229
 
1044
1230
  if (this._oPreviousSelectedOption && this._oPreviousSelectedOption.getKey() !== sOptionKey) {
1045
1231
  this._oDatesLabelFormatter = null;
@@ -1101,9 +1287,9 @@ sap.ui.define([
1101
1287
  sFormattedDates,
1102
1288
  sSelectedOptionKey;
1103
1289
 
1104
- var aValueDates = DynamicDateRange.toDates(oOutputValue, this.getCalendarWeekNumbering());
1290
+ var aValueDates = this.toDates(oOutputValue, this.getCalendarWeekNumbering());
1105
1291
 
1106
- if (!oOutputValue || !oOutputValue.operator || !DynamicDateUtil.getOption(oOutputValue.operator)) {
1292
+ if (!oOutputValue || !oOutputValue.operator || !this.getOption(oOutputValue.operator)) {
1107
1293
  return;
1108
1294
  }
1109
1295
 
@@ -1388,10 +1574,10 @@ sap.ui.define([
1388
1574
 
1389
1575
  DynamicDateRange.prototype._applyValue = function() {
1390
1576
  this._oOutput = this._oSelectedOption.getValueHelpOutput(this);
1391
- var aValueDates = DynamicDateRange.toDates(this._oOutput, this.getCalendarWeekNumbering());
1577
+ var aValueDates = this.toDates(this._oOutput, this.getCalendarWeekNumbering());
1392
1578
  for (var i = 0; i < aValueDates.length; i++) {
1393
- if (this._oOutput.values[i] instanceof Date) {
1394
- this._oOutput.values[i] = aValueDates[i];
1579
+ if (this._oOutput.values[i] instanceof Date && aValueDates[i] instanceof UniversalDate) {
1580
+ this._oOutput.values[i] = aValueDates[i].getJSDate();
1395
1581
  }
1396
1582
  }
1397
1583
 
@@ -1443,17 +1629,55 @@ sap.ui.define([
1443
1629
  };
1444
1630
 
1445
1631
  DynamicDateRange.prototype._formatValue = function(oOutput) {
1446
- return DynamicDateUtil.getOption(oOutput.operator).format(oOutput, this._getFormatter());
1632
+ var oOption = this.getOption(oOutput.operator);
1633
+
1634
+ return oOption ? oOption.format(oOutput, this._getFormatter()) : "";
1447
1635
  };
1448
1636
 
1449
1637
  DynamicDateRange.prototype._parseValue = function(sInputValue) {
1450
- var aResults = DynamicDateUtil.parse(sInputValue, this._getFormatter(), this.getOptions()).filter(function(oResult) {
1451
- return this.getOptions().indexOf(oResult.operator) !== -1;
1638
+ var aResults = this.parse(sInputValue, this._getFormatter(), this._getOptions()).filter(function(oResult) {
1639
+ return this._getOptions().find(function(option){
1640
+ return option.getKey() === oResult.operator;
1641
+ });
1452
1642
  }, this);
1453
1643
 
1454
1644
  return aResults.length ? aResults[0] : null;
1455
1645
  };
1456
1646
 
1647
+ /**
1648
+ * Parses a string to an array of objects in the DynamicDateRange's value format.
1649
+ * Uses the provided formatter.
1650
+ *
1651
+ * @param {string} sValue The string to be parsed
1652
+ * @param {sap.m.DynamicDateFormat} oFormatter A dynamic date formatter
1653
+ * @param {array} aOptionKeys array of option names
1654
+ * @returns {object[]} An array of value objects in the DynamicDateRange's value format
1655
+ * @static
1656
+ * @public
1657
+ */
1658
+ DynamicDateRange.prototype.parse = function(sValue, oFormatter) {
1659
+ if (typeof sValue !== 'string') {
1660
+ Log.error("DynamicDateFormat can only parse a String.");
1661
+ return [];
1662
+ }
1663
+
1664
+ var aResults = [],
1665
+ oResult;
1666
+
1667
+ var aOptions = this._getOptions();
1668
+
1669
+ for (var i = 0; i < aOptions.length; i++) {
1670
+ oResult = aOptions[i] && aOptions[i].parse(sValue.trim(), oFormatter);
1671
+
1672
+ if (oResult) {
1673
+ oResult.operator = aOptions[i].getKey();
1674
+ aResults.push(oResult);
1675
+ }
1676
+ }
1677
+
1678
+ return aResults;
1679
+ };
1680
+
1457
1681
  /**
1458
1682
  * Some of the values are semantically equivalent to others.
1459
1683
  * So we substitute them everywhere, if needed. Example: Last 1 days === Yesterday
@@ -1473,12 +1697,12 @@ sap.ui.define([
1473
1697
  sKey = oValue.operator;
1474
1698
  aParams = oValue.values;
1475
1699
 
1476
- if (sKey === "LASTDAYS" && aParams[0] === 1 && this.getOptions().includes("YESTERDAY")) {
1700
+ if (sKey === "LASTDAYS" && aParams[0] === 1 && this.getStandardOptions().includes("YESTERDAY")) {
1477
1701
  oNewValue = {
1478
1702
  operator: "YESTERDAY",
1479
1703
  values: []
1480
1704
  };
1481
- } else if (sKey === "NEXTDAYS" && aParams[0] === 1 && this.getOptions().includes("TOMORROW")) {
1705
+ } else if (sKey === "NEXTDAYS" && aParams[0] === 1 && this.getStandardOptions().includes("TOMORROW")) {
1482
1706
  oNewValue = {
1483
1707
  operator: "TOMORROW",
1484
1708
  values: []
@@ -1518,12 +1742,12 @@ sap.ui.define([
1518
1742
  DynamicDateRange.prototype._substituteMissingValue = function(oValue) {
1519
1743
  var oNewValue = oValue;
1520
1744
 
1521
- if (oValue && oValue.operator === "YESTERDAY" && !this.getOptions().includes("YESTERDAY") && this.getOptions().includes("LASTDAYS")) {
1745
+ if (oValue && oValue.operator === "YESTERDAY" && !this.getStandardOptions().includes("YESTERDAY") && this.getStandardOptions().includes("LASTDAYS")) {
1522
1746
  oNewValue = {
1523
1747
  operator: "LASTDAYS",
1524
1748
  values: [1]
1525
1749
  };
1526
- } else if (oValue && oValue.operator === "TOMORROW" && !this.getOptions().includes("TOMORROW") && this.getOptions().includes("NEXTDAYS")) {
1750
+ } else if (oValue && oValue.operator === "TOMORROW" && !this.getStandardOptions().includes("TOMORROW") && this.getStandardOptions().includes("NEXTDAYS")) {
1527
1751
  oNewValue = {
1528
1752
  operator: "NEXTDAYS",
1529
1753
  values: [1]
@@ -1547,7 +1771,7 @@ sap.ui.define([
1547
1771
  * @public
1548
1772
  */
1549
1773
  DynamicDateRange.toDates = function(oValue, sCalendarWeekNumbering) {
1550
- return DynamicDateUtil.toDates(oValue, sCalendarWeekNumbering).map(function (oDate) {
1774
+ return oStandardOptionsObjects[oValue.operator].toDates(oValue, sCalendarWeekNumbering).map(function (oDate) {
1551
1775
  if (oDate instanceof Date) {
1552
1776
  return oDate;
1553
1777
  }
@@ -1686,9 +1910,8 @@ sap.ui.define([
1686
1910
  DynamicDateRangeListItem.prototype.getNavigationControl = function() {
1687
1911
  var oNavControl = StandardListItem.prototype.getNavigationControl.apply(this, arguments),
1688
1912
  sOptionKey = this.getOptionKey(),
1689
- aValueTypes = DynamicDateUtil.getOption(sOptionKey).getValueTypes(),
1690
1913
  bDateOption = ["SPECIFICMONTH", "DATE", "DATERANGE", "FROM", "TO"].includes(sOptionKey),
1691
- bDateTimeOption = aValueTypes && aValueTypes.length && aValueTypes[0] === "datetime",
1914
+ bDateTimeOption = ["DATETIME", "DATETIMERANGE", "FROMDATETIME", "TODATETIME"].includes(sOptionKey),
1692
1915
  sNavgationIconURI;
1693
1916
 
1694
1917
  if (bDateOption || bDateTimeOption) {
@@ -10,9 +10,10 @@ sap.ui.define([
10
10
  "sap/base/Log",
11
11
  "./library",
12
12
  'sap/ui/core/format/TimezoneUtil',
13
- 'sap/ui/core/Core'
13
+ 'sap/ui/core/Core',
14
+ 'sap/ui/core/date/UI5Date'
14
15
  ], function(
15
- StandardDynamicDateOption, Log, library, TimezoneUtil, Core) {
16
+ StandardDynamicDateOption, Log, library, TimezoneUtil, Core, UI5Date) {
16
17
  "use strict";
17
18
 
18
19
  var STANDARD_KEYS_ARRAY = [
@@ -80,8 +81,7 @@ sap.ui.define([
80
81
  *
81
82
  * @namespace
82
83
  * @alias sap.m.DynamicDateUtil
83
- * @public
84
- * @experimental Since 1.92. This class is experimental and provides only limited functionality. Also the API might be changed in future.
84
+ * @protected
85
85
  */
86
86
  var DynamicDateUtil = {
87
87
  _options: {
@@ -263,7 +263,7 @@ sap.ui.define([
263
263
  * @public
264
264
  */
265
265
  DynamicDateUtil.removeTimezoneOffset = function(oDate) {
266
- var oNewDate = new Date(oDate);
266
+ var oNewDate = UI5Date.getInstance(oDate);
267
267
  var sTimezone = Core.getConfiguration().getTimezone();
268
268
  var iOffsetInSeconds = TimezoneUtil.calculateOffset(oNewDate, sTimezone) - oNewDate.getTimezoneOffset() * 60;
269
269
 
@@ -20,12 +20,11 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  *
25
25
  * @public
26
26
  * @since 1.92
27
27
  * @alias sap.m.DynamicDateValueHelpUIType
28
- * @experimental Since 1.92. This class is experimental and provides only limited functionality. Also the API might be changed in future.
29
28
  */
30
29
  var DynamicDateValueHelpUIType = Element.extend("sap.m.DynamicDateValueHelpUIType", /** @lends sap.m.DynamicDateValueHelpUIType.prototype */ {
31
30
  metadata: {
@@ -105,7 +105,7 @@ function(library,
105
105
  * @implements sap.ui.core.IFormContent, sap.m.IHyphenation
106
106
  *
107
107
  * @author SAP SE
108
- * @version 1.113.0
108
+ * @version 1.114.1
109
109
  *
110
110
  * @constructor
111
111
  * @public
@@ -39,6 +39,7 @@ sap.ui.define([
39
39
  "sap/m/StandardListItem",
40
40
  "sap/m/CheckBox",
41
41
  "sap/m/Page",
42
+ 'sap/ui/core/date/UI5Date',
42
43
  // jQuery Plugin "scrollRightRTL"
43
44
  "sap/ui/dom/jquery/scrollRightRTL",
44
45
  // jQuery Plugin "scrollLeftRTL"
@@ -79,7 +80,8 @@ sap.ui.define([
79
80
  List,
80
81
  StandardListItem,
81
82
  CheckBox,
82
- Page
83
+ Page,
84
+ UI5Date
83
85
  ) {
84
86
  "use strict";
85
87
 
@@ -172,7 +174,7 @@ sap.ui.define([
172
174
  *
173
175
  * @extends sap.ui.core.Control
174
176
  * @implements sap.ui.core.IShrinkable
175
- * @version 1.113.0
177
+ * @version 1.114.1
176
178
  *
177
179
  * @constructor
178
180
  * @public
@@ -2416,7 +2418,7 @@ sap.ui.define([
2416
2418
  this.startScrollX = this.getDomRef("head").scrollLeft;
2417
2419
  this.startTouchX = evt.touches[0].pageX;
2418
2420
  this._bTouchNotMoved = true;
2419
- this._lastMoveTime = new Date().getTime();
2421
+ this._lastMoveTime = UI5Date.getInstance().getTime();
2420
2422
  }.bind(this);
2421
2423
 
2422
2424
  var fnTouchMove = function(evt) {
@@ -2436,8 +2438,8 @@ sap.ui.define([
2436
2438
  this._bTouchNotMoved = false;
2437
2439
 
2438
2440
  // inertia scrolling: prepare continuation even after touchend by calculating the current velocity
2439
- var dt = new Date().getTime() - this._lastMoveTime;
2440
- this._lastMoveTime = new Date().getTime();
2441
+ var dt = UI5Date.getInstance().getTime() - this._lastMoveTime;
2442
+ this._lastMoveTime = UI5Date.getInstance().getTime();
2441
2443
  if (dt > 0) {
2442
2444
  this._velocity = (newScrollLeft - oldScrollLeft) / dt;
2443
2445
  }