@openui5/sap.m 1.102.0 → 1.102.4

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 (345) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +2 -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/App.js +1 -1
  9. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  10. package/src/sap/m/Avatar.js +1 -1
  11. package/src/sap/m/Bar.js +1 -1
  12. package/src/sap/m/Breadcrumbs.js +1 -1
  13. package/src/sap/m/BusyDialog.js +1 -1
  14. package/src/sap/m/BusyIndicator.js +1 -1
  15. package/src/sap/m/Button.js +1 -1
  16. package/src/sap/m/Carousel.js +1 -1
  17. package/src/sap/m/CarouselLayout.js +1 -1
  18. package/src/sap/m/CheckBox.js +1 -1
  19. package/src/sap/m/ColorPalette.js +1 -1
  20. package/src/sap/m/ColorPalettePopover.js +1 -1
  21. package/src/sap/m/Column.js +1 -1
  22. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  23. package/src/sap/m/ColumnListItem.js +1 -1
  24. package/src/sap/m/ColumnListItemRenderer.js +6 -2
  25. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  30. package/src/sap/m/ComboBox.js +1 -1
  31. package/src/sap/m/ComboBoxBase.js +1 -1
  32. package/src/sap/m/ComboBoxTextField.js +1 -1
  33. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  34. package/src/sap/m/CustomListItem.js +1 -1
  35. package/src/sap/m/CustomTile.js +1 -1
  36. package/src/sap/m/CustomTreeItem.js +1 -1
  37. package/src/sap/m/DatePicker.js +21 -23
  38. package/src/sap/m/DateRangeSelection.js +45 -38
  39. package/src/sap/m/DateTimeField.js +48 -28
  40. package/src/sap/m/DateTimeInput.js +1 -1
  41. package/src/sap/m/DateTimePicker.js +26 -20
  42. package/src/sap/m/Dialog.js +2 -2
  43. package/src/sap/m/DisplayListItem.js +1 -1
  44. package/src/sap/m/DraftIndicator.js +1 -1
  45. package/src/sap/m/DynamicDate.js +1 -1
  46. package/src/sap/m/DynamicDateFormat.js +36 -1
  47. package/src/sap/m/DynamicDateOption.js +38 -13
  48. package/src/sap/m/DynamicDateRange.js +33 -20
  49. package/src/sap/m/DynamicDateUtil.js +23 -2
  50. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  51. package/src/sap/m/ExpandableText.js +1 -1
  52. package/src/sap/m/FacetFilter.js +1 -1
  53. package/src/sap/m/FacetFilterItem.js +1 -1
  54. package/src/sap/m/FacetFilterList.js +1 -1
  55. package/src/sap/m/FeedContent.js +1 -1
  56. package/src/sap/m/FeedInput.js +1 -1
  57. package/src/sap/m/FeedListItem.js +1 -1
  58. package/src/sap/m/FeedListItemAction.js +1 -1
  59. package/src/sap/m/Fiori20Adapter.js +2 -2
  60. package/src/sap/m/FlexBox.js +1 -1
  61. package/src/sap/m/FlexItemData.js +1 -1
  62. package/src/sap/m/FormattedText.js +1 -1
  63. package/src/sap/m/GenericTag.js +1 -1
  64. package/src/sap/m/GenericTile.js +67 -15
  65. package/src/sap/m/GenericTileRenderer.js +75 -55
  66. package/src/sap/m/GroupHeaderListItem.js +1 -1
  67. package/src/sap/m/GrowingEnablement.js +80 -19
  68. package/src/sap/m/GrowingList.js +1 -1
  69. package/src/sap/m/HBox.js +1 -1
  70. package/src/sap/m/HeaderContainer.js +48 -44
  71. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  72. package/src/sap/m/IconTabBar.js +54 -22
  73. package/src/sap/m/IconTabBarSelectList.js +1 -1
  74. package/src/sap/m/IconTabFilter.js +1 -1
  75. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  76. package/src/sap/m/IconTabHeader.js +3 -2
  77. package/src/sap/m/IconTabSeparator.js +1 -1
  78. package/src/sap/m/IllustratedMessage.js +1 -1
  79. package/src/sap/m/Illustration.js +1 -1
  80. package/src/sap/m/Image.js +1 -1
  81. package/src/sap/m/ImageContent.js +1 -1
  82. package/src/sap/m/Input.js +1 -1
  83. package/src/sap/m/InputBase.js +1 -1
  84. package/src/sap/m/InputListItem.js +1 -1
  85. package/src/sap/m/Label.js +1 -1
  86. package/src/sap/m/LightBox.js +1 -1
  87. package/src/sap/m/LightBoxItem.js +1 -1
  88. package/src/sap/m/Link.js +21 -5
  89. package/src/sap/m/LinkRenderer.js +17 -9
  90. package/src/sap/m/List.js +1 -1
  91. package/src/sap/m/ListBase.js +4 -1
  92. package/src/sap/m/ListItemBase.js +1 -1
  93. package/src/sap/m/MaskEnabler.js +1 -1
  94. package/src/sap/m/MaskInput.js +1 -1
  95. package/src/sap/m/MaskInputRule.js +1 -1
  96. package/src/sap/m/Menu.js +1 -1
  97. package/src/sap/m/MenuButton.js +1 -1
  98. package/src/sap/m/MenuItem.js +1 -1
  99. package/src/sap/m/MenuListItem.js +1 -1
  100. package/src/sap/m/MessageItem.js +1 -1
  101. package/src/sap/m/MessageListItem.js +1 -1
  102. package/src/sap/m/MessagePage.js +1 -1
  103. package/src/sap/m/MessagePopover.js +1 -1
  104. package/src/sap/m/MessagePopoverItem.js +1 -1
  105. package/src/sap/m/MessageStrip.js +1 -1
  106. package/src/sap/m/MessageToast.js +1 -1
  107. package/src/sap/m/MessageView.js +1 -1
  108. package/src/sap/m/MultiComboBox.js +1 -1
  109. package/src/sap/m/MultiEditField.js +1 -1
  110. package/src/sap/m/MultiInput.js +1 -1
  111. package/src/sap/m/NavContainer.js +1 -1
  112. package/src/sap/m/NewsContent.js +1 -1
  113. package/src/sap/m/NotificationList.js +1 -1
  114. package/src/sap/m/NotificationListBase.js +1 -1
  115. package/src/sap/m/NotificationListGroup.js +1 -1
  116. package/src/sap/m/NotificationListItem.js +1 -1
  117. package/src/sap/m/NumericContent.js +1 -1
  118. package/src/sap/m/NumericInput.js +1 -1
  119. package/src/sap/m/ObjectAttribute.js +1 -1
  120. package/src/sap/m/ObjectHeader.js +1 -1
  121. package/src/sap/m/ObjectIdentifier.js +1 -1
  122. package/src/sap/m/ObjectListItem.js +1 -1
  123. package/src/sap/m/ObjectMarker.js +1 -1
  124. package/src/sap/m/ObjectNumber.js +1 -1
  125. package/src/sap/m/ObjectStatus.js +1 -1
  126. package/src/sap/m/OverflowToolbar.js +5 -2
  127. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  128. package/src/sap/m/OverflowToolbarButton.js +1 -1
  129. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  130. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  131. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  132. package/src/sap/m/P13nColumnsItem.js +1 -1
  133. package/src/sap/m/P13nColumnsPanel.js +1 -1
  134. package/src/sap/m/P13nConditionPanel.js +8 -1
  135. package/src/sap/m/P13nDialog.js +1 -1
  136. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  137. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  138. package/src/sap/m/P13nFilterItem.js +1 -1
  139. package/src/sap/m/P13nFilterPanel.js +1 -1
  140. package/src/sap/m/P13nGroupItem.js +1 -1
  141. package/src/sap/m/P13nGroupPanel.js +1 -1
  142. package/src/sap/m/P13nItem.js +1 -1
  143. package/src/sap/m/P13nPanel.js +1 -1
  144. package/src/sap/m/P13nSelectionItem.js +1 -1
  145. package/src/sap/m/P13nSelectionPanel.js +1 -1
  146. package/src/sap/m/P13nSortItem.js +1 -1
  147. package/src/sap/m/P13nSortPanel.js +1 -1
  148. package/src/sap/m/PDFViewer.js +2 -2
  149. package/src/sap/m/Page.js +1 -1
  150. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  151. package/src/sap/m/PagingButton.js +1 -1
  152. package/src/sap/m/Panel.js +1 -1
  153. package/src/sap/m/PlanningCalendar.js +1 -1
  154. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  155. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  156. package/src/sap/m/PlanningCalendarRow.js +1 -1
  157. package/src/sap/m/PlanningCalendarView.js +1 -1
  158. package/src/sap/m/Popover.js +1 -1
  159. package/src/sap/m/ProgressIndicator.js +1 -1
  160. package/src/sap/m/PullToRefresh.js +1 -1
  161. package/src/sap/m/QuickView.js +1 -1
  162. package/src/sap/m/QuickViewBase.js +1 -1
  163. package/src/sap/m/QuickViewCard.js +1 -1
  164. package/src/sap/m/QuickViewGroup.js +1 -1
  165. package/src/sap/m/QuickViewGroupElement.js +1 -1
  166. package/src/sap/m/QuickViewPage.js +1 -1
  167. package/src/sap/m/RadioButton.js +1 -1
  168. package/src/sap/m/RadioButtonGroup.js +1 -1
  169. package/src/sap/m/RangeSlider.js +1 -1
  170. package/src/sap/m/RatingIndicator.js +1 -1
  171. package/src/sap/m/ResponsivePopover.js +1 -1
  172. package/src/sap/m/ResponsiveScale.js +1 -1
  173. package/src/sap/m/ScrollBar.js +1 -1
  174. package/src/sap/m/ScrollContainer.js +1 -1
  175. package/src/sap/m/SearchField.js +1 -1
  176. package/src/sap/m/SegmentedButton.js +1 -1
  177. package/src/sap/m/SegmentedButtonItem.js +1 -1
  178. package/src/sap/m/Select.js +1 -1
  179. package/src/sap/m/SelectDialog.js +1 -1
  180. package/src/sap/m/SelectDialogBase.js +1 -1
  181. package/src/sap/m/SelectList.js +1 -1
  182. package/src/sap/m/SelectionDetails.js +1 -1
  183. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  184. package/src/sap/m/SelectionDetailsItem.js +1 -1
  185. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  186. package/src/sap/m/Shell.js +1 -1
  187. package/src/sap/m/SimpleFixFlex.js +1 -1
  188. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  189. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  190. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  191. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  192. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  194. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  196. package/src/sap/m/SlideTile.js +1 -1
  197. package/src/sap/m/Slider.js +1 -1
  198. package/src/sap/m/SliderTooltip.js +1 -1
  199. package/src/sap/m/SliderTooltipBase.js +1 -1
  200. package/src/sap/m/SliderTooltipContainer.js +1 -1
  201. package/src/sap/m/SplitApp.js +1 -1
  202. package/src/sap/m/SplitButton.js +1 -1
  203. package/src/sap/m/SplitContainer.js +1 -1
  204. package/src/sap/m/StandardDynamicDateOption.js +9 -5
  205. package/src/sap/m/StandardListItem.js +1 -1
  206. package/src/sap/m/StandardTile.js +1 -1
  207. package/src/sap/m/StandardTreeItem.js +1 -1
  208. package/src/sap/m/StepInput.js +1 -1
  209. package/src/sap/m/SuggestionItem.js +1 -1
  210. package/src/sap/m/SuggestionsPopover.js +1 -1
  211. package/src/sap/m/Switch.js +1 -1
  212. package/src/sap/m/TabContainer.js +1 -1
  213. package/src/sap/m/TabContainerItem.js +1 -1
  214. package/src/sap/m/TabStrip.js +1 -1
  215. package/src/sap/m/TabStripItem.js +1 -1
  216. package/src/sap/m/Table.js +7 -1
  217. package/src/sap/m/TablePersoController.js +1 -1
  218. package/src/sap/m/TablePersoDialog.js +1 -1
  219. package/src/sap/m/TablePersoProvider.js +1 -1
  220. package/src/sap/m/TableRenderer.js +27 -0
  221. package/src/sap/m/TableSelectDialog.js +1 -1
  222. package/src/sap/m/Text.js +1 -1
  223. package/src/sap/m/TextArea.js +1 -1
  224. package/src/sap/m/Tile.js +1 -1
  225. package/src/sap/m/TileContainer.js +1 -1
  226. package/src/sap/m/TileContent.js +26 -16
  227. package/src/sap/m/TileContentRenderer.js +15 -5
  228. package/src/sap/m/TimePicker.js +14 -2
  229. package/src/sap/m/TimePickerClock.js +1 -1
  230. package/src/sap/m/TimePickerClocks.js +5 -3
  231. package/src/sap/m/TimePickerInputs.js +1 -1
  232. package/src/sap/m/TimePickerInternals.js +1 -1
  233. package/src/sap/m/TimePickerSlider.js +1 -1
  234. package/src/sap/m/TimePickerSliders.js +1 -1
  235. package/src/sap/m/Title.js +1 -1
  236. package/src/sap/m/TitlePropagationSupport.js +1 -1
  237. package/src/sap/m/ToggleButton.js +1 -1
  238. package/src/sap/m/Token.js +1 -1
  239. package/src/sap/m/Tokenizer.js +1 -1
  240. package/src/sap/m/Toolbar.js +1 -1
  241. package/src/sap/m/ToolbarLayoutData.js +1 -1
  242. package/src/sap/m/ToolbarSeparator.js +1 -1
  243. package/src/sap/m/ToolbarSpacer.js +1 -1
  244. package/src/sap/m/Tree.js +1 -1
  245. package/src/sap/m/TreeItemBase.js +1 -1
  246. package/src/sap/m/UploadCollection.js +1 -1
  247. package/src/sap/m/UploadCollectionItem.js +1 -1
  248. package/src/sap/m/UploadCollectionParameter.js +1 -1
  249. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  250. package/src/sap/m/VBox.js +1 -1
  251. package/src/sap/m/ValueStateHeader.js +1 -1
  252. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  253. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  254. package/src/sap/m/ViewSettingsDialog.js +1 -1
  255. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  256. package/src/sap/m/ViewSettingsItem.js +1 -1
  257. package/src/sap/m/VisibleItem.js +1 -1
  258. package/src/sap/m/WheelSlider.js +1 -1
  259. package/src/sap/m/WheelSliderContainer.js +1 -1
  260. package/src/sap/m/Wizard.js +1 -1
  261. package/src/sap/m/WizardProgressNavigator.js +1 -2
  262. package/src/sap/m/WizardStep.js +1 -1
  263. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  264. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  265. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  266. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  267. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  268. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  269. package/src/sap/m/library.js +69 -2
  270. package/src/sap/m/messagebundle.properties +11 -9
  271. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  272. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  273. package/src/sap/m/p13n/BasePanel.js +1 -1
  274. package/src/sap/m/p13n/Container.js +1 -1
  275. package/src/sap/m/p13n/GroupPanel.js +1 -1
  276. package/src/sap/m/p13n/Popup.js +1 -1
  277. package/src/sap/m/p13n/QueryPanel.js +1 -1
  278. package/src/sap/m/p13n/SelectionPanel.js +2 -2
  279. package/src/sap/m/p13n/SortPanel.js +1 -1
  280. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  281. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  282. package/src/sap/m/plugins/PasteProvider.js +1 -1
  283. package/src/sap/m/plugins/PluginBase.js +1 -1
  284. package/src/sap/m/semantic/AddAction.js +1 -1
  285. package/src/sap/m/semantic/CancelAction.js +1 -1
  286. package/src/sap/m/semantic/DeleteAction.js +1 -1
  287. package/src/sap/m/semantic/DetailPage.js +1 -1
  288. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  289. package/src/sap/m/semantic/EditAction.js +1 -1
  290. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  291. package/src/sap/m/semantic/FilterAction.js +1 -1
  292. package/src/sap/m/semantic/FilterSelect.js +1 -1
  293. package/src/sap/m/semantic/FlagAction.js +1 -1
  294. package/src/sap/m/semantic/ForwardAction.js +1 -1
  295. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  296. package/src/sap/m/semantic/GroupAction.js +1 -1
  297. package/src/sap/m/semantic/GroupSelect.js +1 -1
  298. package/src/sap/m/semantic/MainAction.js +1 -1
  299. package/src/sap/m/semantic/MasterPage.js +1 -1
  300. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  301. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  302. package/src/sap/m/semantic/NegativeAction.js +1 -1
  303. package/src/sap/m/semantic/OpenInAction.js +1 -1
  304. package/src/sap/m/semantic/PositiveAction.js +1 -1
  305. package/src/sap/m/semantic/PrintAction.js +1 -1
  306. package/src/sap/m/semantic/SaveAction.js +1 -1
  307. package/src/sap/m/semantic/Segment.js +1 -1
  308. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  309. package/src/sap/m/semantic/SemanticButton.js +1 -1
  310. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  311. package/src/sap/m/semantic/SemanticControl.js +1 -1
  312. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  313. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  314. package/src/sap/m/semantic/SemanticPage.js +1 -1
  315. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  316. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  317. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  318. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  319. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  320. package/src/sap/m/semantic/ShareMenu.js +1 -1
  321. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  322. package/src/sap/m/semantic/SortAction.js +1 -1
  323. package/src/sap/m/semantic/SortSelect.js +1 -1
  324. package/src/sap/m/table/Util.js +7 -7
  325. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  326. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  327. package/src/sap/m/table/columnmenu/Item.js +1 -1
  328. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  329. package/src/sap/m/table/columnmenu/Menu.js +1 -1
  330. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  331. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  332. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  333. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  334. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  335. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  336. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  337. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  338. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  339. package/src/sap/m/themes/base/GenericTile.less +143 -27
  340. package/src/sap/m/themes/base/SlideTile.less +16 -0
  341. package/src/sap/m/themes/base/Table.less +11 -1
  342. package/src/sap/m/themes/base/TileContent.less +17 -0
  343. package/src/sap/m/upload/UploadSet.js +93 -15
  344. package/src/sap/m/upload/UploadSetItem.js +15 -2
  345. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.m.InputBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.102.0
62
+ * @version 1.102.4
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -123,8 +123,18 @@ sap.ui.define([
123
123
  this.setLastValue(sValue);
124
124
  }
125
125
 
126
- // set the property in any case but check validity on output
127
- this.setProperty("value", sValue);
126
+ // convert to date object and check validity on output
127
+ var oDate = this._parseAndValidateValue(sValue);
128
+ this.setProperty("dateValue", oDate, this._bPreferUserInteraction);
129
+
130
+ // do not call InputBase.setValue because the displayed value and the output value might have different pattern
131
+ this._formatValueAndUpdateOutput(oDate, sValue);
132
+ this.setProperty("value", sValue, this._bPreferUserInteraction);
133
+
134
+ return this;
135
+ };
136
+
137
+ DateTimeField.prototype._parseAndValidateValue = function(sValue) {
128
138
  this._bValid = true;
129
139
 
130
140
  // convert to date object
@@ -146,25 +156,26 @@ sap.ui.define([
146
156
  }
147
157
  }
148
158
 
149
- this.setProperty("dateValue", oDate);
150
-
151
- // do not call InputBase.setValue because the displayed value and the output value might have different pattern
152
- if (this.getDomRef()) {
153
- // convert to output
154
- var sOutputValue;
155
- if (oDate) {
156
- sOutputValue = this._formatValue(oDate);
157
- } else {
158
- sOutputValue = sValue;
159
- }
159
+ return oDate;
160
+ };
160
161
 
161
- if (this._$input.val() !== sOutputValue) {
162
- this._$input.val(sOutputValue);
163
- this._curpos = this._$input.cursorPos();
164
- }
162
+ DateTimeField.prototype._formatValueAndUpdateOutput = function(oDate, sValue) {
163
+ if (!this.getDomRef()) {
164
+ return;
165
+ }
166
+ // convert to output
167
+ var sOutputValue = oDate ? this._formatValue(oDate) : sValue;
168
+
169
+ if (this._bPreferUserInteraction) {
170
+ // Handle the value concurrency before setting the value property of the control,
171
+ // in order to distinguish whether the user only focused the input field or typed in it
172
+ this.handleInputValueConcurrency(sOutputValue);
173
+ } else if (this._$input.val() !== sOutputValue) {
174
+ // update the DOM value when necessary
175
+ // otherwise cursor can go to the end of text unnecessarily
176
+ this._$input.val(sOutputValue);
177
+ this._curpos = this._$input.cursorPos();
165
178
  }
166
-
167
- return this;
168
179
  };
169
180
 
170
181
  DateTimeField.prototype.setDateValue = function (oDate) {
@@ -301,6 +312,14 @@ sap.ui.define([
301
312
  ).getDatePattern(sPlaceholder);
302
313
  };
303
314
 
315
+ DateTimeField.prototype._getTimezoneFormatter = function() {
316
+ if (!this._timezoneFormatter) {
317
+ this._timezoneFormatter = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
318
+ }
319
+
320
+ return this._timezoneFormatter;
321
+ };
322
+
304
323
  DateTimeField.prototype._parseValue = function (sValue, bDisplayFormat) {
305
324
  var oBinding = this.getBinding("value"),
306
325
  oBindingType = oBinding && oBinding.getType && oBinding.getType(),
@@ -309,7 +328,8 @@ sap.ui.define([
309
328
  oFormatter = this._getFormatter(bDisplayFormat),
310
329
  oFormatOptions,
311
330
  oDateLocal,
312
- oDate;
331
+ oDate,
332
+ sFormatted;
313
333
 
314
334
  if (this._isSupportedBindingType(oBindingType)) {
315
335
  try {
@@ -332,10 +352,10 @@ sap.ui.define([
332
352
 
333
353
  if (oDate && ((oBindingType.oFormatOptions && this._isFormatOptionsUTC(oBindingType.oFormatOptions)) || (oBindingType.oConstraints && oBindingType.oConstraints.isDateOnly))) {
334
354
  // convert to local date because it was parsed as UTC date
335
- oDateLocal = new Date(oDate.getUTCFullYear(), oDate.getUTCMonth(), oDate.getUTCDate(),
336
- oDate.getUTCHours(), oDate.getUTCMinutes(), oDate.getUTCSeconds(), oDate.getUTCMilliseconds());
355
+ sFormatted = this._getTimezoneFormatter().format(oDate, "UTC");
356
+ oDateLocal = this._getTimezoneFormatter().parse(sFormatted,
357
+ sap.ui.getCore().getConfiguration().getTimezone())[0];
337
358
 
338
- oDateLocal.setFullYear(oDate.getUTCFullYear());
339
359
  oDate = oDateLocal;
340
360
  }
341
361
  return oDate;
@@ -353,15 +373,15 @@ sap.ui.define([
353
373
  var oBinding = this.getBinding("value"),
354
374
  oBindingType = oBinding && oBinding.getType && oBinding.getType(),
355
375
  oFormatOptions,
356
- oDateUTC;
376
+ oDateUTC,
377
+ sFormatted;
357
378
 
358
379
  if (this._isSupportedBindingType(oBindingType)) {
359
380
  if ((oBindingType.oFormatOptions && oBindingType.oFormatOptions.UTC) || (oBindingType.oConstraints && oBindingType.oConstraints.isDateOnly)) {
360
381
  // convert to UTC date because it will be formatted as UTC date
361
- oDateUTC = new Date(Date.UTC(oDate.getFullYear(), oDate.getMonth(), oDate.getDate(),
362
- oDate.getHours(), oDate.getMinutes(), oDate.getSeconds(), oDate.getMilliseconds()));
382
+ sFormatted = this._getTimezoneFormatter().format(oDate, sap.ui.getCore().getConfiguration().getTimezone());
383
+ oDateUTC = this._getTimezoneFormatter().parse(sFormatted, "UTC")[ 0 ];
363
384
 
364
- oDateUTC.setUTCFullYear(oDate.getFullYear());
365
385
  oDate = oDateUTC;
366
386
  }
367
387
 
@@ -62,7 +62,7 @@ function(
62
62
  * @extends sap.ui.core.Control
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.102.0
65
+ * @version 1.102.4
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  * mobile devices, it opens in full screen.
146
146
  *
147
147
  * @extends sap.m.DatePicker
148
- * @version 1.102.0
148
+ * @version 1.102.4
149
149
  *
150
150
  * @constructor
151
151
  * @public
@@ -377,29 +377,34 @@ sap.ui.define([
377
377
  this._bOnlyCalendar = false;
378
378
  };
379
379
 
380
- DateTimePicker.prototype.setValue = function(sValue) {
381
- var sFallbackValue;
382
-
383
- DatePicker.prototype.setValue.apply(this, arguments);
384
-
380
+ DateTimePicker.prototype._formatValueAndUpdateOutput = function(oDate, sValue) {
385
381
  delete this._prefferedValue;
386
382
 
387
- if (!this.getDateValue()) {
388
- sFallbackValue = this._fallbackParse(sValue);
383
+ if (!this.getDomRef()) {
384
+ return;
385
+ }
389
386
 
387
+ // convert to output
388
+ var sOutputValue = oDate ? this._formatValue(oDate) : sValue;
389
+ if (!oDate) {
390
+ var sFallbackValue = this._fallbackParse(sValue);
390
391
  if (typeof sFallbackValue === "string") {
391
392
  this._bValid = true;
392
393
  this._prefferedValue = sFallbackValue;
393
-
394
- // there is a re-render comming, but this updates the dom immediately to avoid flickering
395
- if (this.getDomRef() && this._$input.val() !== sFallbackValue) {
396
- this._$input.val(sFallbackValue);
397
- this._curpos = this._$input.cursorPos();
398
- }
394
+ sOutputValue = sFallbackValue;
399
395
  }
400
396
  }
401
397
 
402
- return this;
398
+ if (this._bPreferUserInteraction) {
399
+ // Handle the value concurrency before setting the value property of the control,
400
+ // in order to distinguish whether the user only focused the input field or typed in it
401
+ this.handleInputValueConcurrency(sOutputValue);
402
+ } else if (this._$input.val() !== sOutputValue) {
403
+ // update the DOM value when necessary
404
+ // otherwise cursor can go to the end of text unnecessarily
405
+ this._$input.val(sOutputValue);
406
+ this._curpos = this._$input.cursorPos();
407
+ }
403
408
  };
404
409
 
405
410
  DateTimePicker.prototype.setTimezone = function(sTimezone) {
@@ -445,6 +450,8 @@ sap.ui.define([
445
450
  };
446
451
 
447
452
  DateTimePicker.prototype.onAfterRendering = function() {
453
+ DatePicker.prototype.onAfterRendering.apply(this, arguments);
454
+
448
455
  if (this._getShowTimezone()) {
449
456
  waitForThemeApplied().then(function() {
450
457
  var oDummyContentDomRef = this.$().find(".sapMDummyContent"),
@@ -976,14 +983,13 @@ sap.ui.define([
976
983
 
977
984
  DateTimePicker.prototype._getSelectedDate = function(){
978
985
  var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
979
- sFormattedDate;
986
+ oDateTime,
987
+ sPattern;
980
988
 
981
989
  if (oDate) {
982
- sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
983
- oDate = this._getPickerParser().parse(sFormattedDate, this._getTimezone(true))[0];
990
+ oDateTime = this._oClocks.getTimeValues();
991
+ sPattern = this._oClocks._getDisplayFormatPattern();
984
992
 
985
- var oDateTime = this._oClocks.getTimeValues();
986
- var sPattern = this._oClocks._getDisplayFormatPattern();
987
993
  if (sPattern.search("h") >= 0 || sPattern.search("H") >= 0) {
988
994
  oDate.setHours(oDateTime.getHours());
989
995
  }
@@ -175,7 +175,7 @@ function(
175
175
  *
176
176
  * @implements sap.ui.core.PopupInterface
177
177
  * @author SAP SE
178
- * @version 1.102.0
178
+ * @version 1.102.4
179
179
  *
180
180
  * @constructor
181
181
  * @public
@@ -1244,7 +1244,7 @@ function(
1244
1244
  $this = this.$(),
1245
1245
  iHeaderHeight = $this.find(".sapMDialogTitle").height() || 0,
1246
1246
  iSubHeaderHeight = $this.find(".sapMDialogSubHeader").height() || 0,
1247
- iFooterHeight = $this.find("footer").height() || 0,
1247
+ iFooterHeight = $this.find("> footer").height() || 0,
1248
1248
  iHeightAsPadding = iHeaderHeight + iSubHeaderHeight + iFooterHeight,
1249
1249
  iMaxHeight,
1250
1250
  iMaxWidth;
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.102.0
33
+ * @version 1.102.4
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @abstract
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.102.0
30
+ * @version 1.102.4
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.model.SimpleType
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.102.0
39
+ * @version 1.102.4
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -14,9 +14,10 @@ sap.ui.define([
14
14
  "sap/base/util/deepExtend",
15
15
  "sap/base/util/isEmptyObject",
16
16
  "sap/ui/core/date/UniversalDateUtils",
17
+ "sap/ui/unified/calendar/CalendarUtils",
17
18
  "./library"
18
19
  ],
19
- function(DateFormat, NumberFormat, Locale, LocaleData, Log, deepExtend, isEmptyObject, UniversalDateUtils, library) {
20
+ function(DateFormat, NumberFormat, Locale, LocaleData, Log, deepExtend, isEmptyObject, UniversalDateUtils, CalendarUtils, library) {
20
21
  "use strict";
21
22
 
22
23
  /**
@@ -279,6 +280,15 @@ sap.ui.define([
279
280
  break;
280
281
  }
281
282
 
283
+ if (oVal && (sType === "date" || sType === "datetime")) {
284
+ // for date/datetime types, if year is outside the allowed range [1-9999], return null as invalid result
285
+ try {
286
+ CalendarUtils._checkYearInValidRange(oVal.getFullYear());
287
+ } catch (e) {
288
+ oVal = null;
289
+ }
290
+ }
291
+
282
292
  if (!oVal && oVal !== 0) {
283
293
  aResult = null;
284
294
  break;
@@ -294,5 +304,30 @@ sap.ui.define([
294
304
  }
295
305
  };
296
306
 
307
+ /**
308
+ * Checks if a UTC flag is set to a specific formatter.
309
+ *
310
+ * @param {string} sOption The key of specific option
311
+ * @return {boolean} If the format for this option has UTC flag set to true
312
+ * @private
313
+ */
314
+ DynamicDateFormat.prototype._checkFormatterUTCTimezone = function(sOption) {
315
+ var sType = "";
316
+ if (aParameterTypesByStandardOptionKey[sOption]) {
317
+ sType = aParameterTypesByStandardOptionKey[sOption][0];
318
+ }
319
+
320
+ // ensure that in options like last/next days or +/- days we still use correct timezone when formatting the dates.
321
+ if (sType === "" || sType[0] === "int") {
322
+ sType = "date";
323
+ }
324
+
325
+ if (this.oOriginalFormatOptions[sType]) {
326
+ return this.oOriginalFormatOptions[sType].UTC;
327
+ }
328
+
329
+ return false;
330
+ };
331
+
297
332
  return DynamicDateFormat;
298
333
  });
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.core.Element
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.102.0
39
+ * @version 1.102.4
40
40
  *
41
41
  * @public
42
42
  * @since 1.92
@@ -131,7 +131,12 @@ sap.ui.define([
131
131
  );
132
132
  }
133
133
 
134
- oInputControl = this._createControl(i, aParams[i].getType(), oValue, fnControlsUpdated, valueHelpUiTypesCount);
134
+ var bUTC = false;
135
+ if (oControl && oValue) {
136
+ bUTC = oControl._checkFormatterUTCTimezone(oValue.operator);
137
+ }
138
+
139
+ oInputControl = this._createControl(i, aParams[i].getType(), oValue, fnControlsUpdated, valueHelpUiTypesCount, bUTC);
135
140
 
136
141
  aControls.push(oInputControl);
137
142
  oControl.aControlsByParameters[this.getKey()].push(oInputControl);
@@ -318,7 +323,7 @@ sap.ui.define([
318
323
 
319
324
  // PRIVATE
320
325
 
321
- DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated, valueHelpUiTypesCount) {
326
+ DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated, valueHelpUiTypesCount, bUTC) {
322
327
  var oInputControl;
323
328
 
324
329
  switch (sUIType) {
@@ -326,18 +331,18 @@ sap.ui.define([
326
331
  oInputControl = this._createIntegerControl(oValue, iIndex, fnControlsUpdated);
327
332
  break;
328
333
  case "date":
329
- oInputControl = this._createDateControl(oValue, iIndex, fnControlsUpdated);
334
+ oInputControl = this._createDateControl(oValue, iIndex, fnControlsUpdated, bUTC);
330
335
  break;
331
336
  case "datetime":
332
337
  if (valueHelpUiTypesCount === 1) {
333
338
  // Returns DateTimePicker PopupContent control (single "datetime" option)
334
- oInputControl = this._createDateTimeInnerControl(oValue, iIndex, fnControlsUpdated);
339
+ oInputControl = this._createDateTimeInnerControl(oValue, iIndex, fnControlsUpdated, bUTC);
335
340
  } else if (valueHelpUiTypesCount === 2) {
336
- oInputControl = this._createDateTimeControl(oValue, iIndex, fnControlsUpdated);
341
+ oInputControl = this._createDateTimeControl(oValue, iIndex, fnControlsUpdated, bUTC);
337
342
  }
338
343
  break;
339
344
  case "daterange":
340
- oInputControl = this._createDateRangeControl(oValue, iIndex, fnControlsUpdated);
345
+ oInputControl = this._createDateRangeControl(oValue, iIndex, fnControlsUpdated, bUTC);
341
346
  break;
342
347
  case "month":
343
348
  oInputControl = this._createMonthControl(oValue, iIndex, fnControlsUpdated);
@@ -386,14 +391,21 @@ sap.ui.define([
386
391
  return oControl;
387
392
  };
388
393
 
389
- DynamicDateOption.prototype._createDateControl = function(oValue, iIndex, fnControlsUpdated) {
394
+ DynamicDateOption.prototype._createDateControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
390
395
  var oControl = new Calendar({
391
396
  width: "100%"
392
397
  });
398
+ var oInputControlValue;
393
399
 
394
400
  if (oValue && this.getKey() === oValue.operator) {
401
+ oInputControlValue = new Date(oValue.values[iIndex].getTime());
402
+
403
+ if (bUTC) {
404
+ oInputControlValue.setMinutes(oInputControlValue.getMinutes() + new Date().getTimezoneOffset());
405
+ }
406
+
395
407
  oControl.addSelectedDate(new DateRange({
396
- startDate: oValue.values[iIndex]
408
+ startDate: oInputControlValue
397
409
  }));
398
410
  }
399
411
 
@@ -409,7 +421,7 @@ sap.ui.define([
409
421
  /**
410
422
  * Returns DateTimePicker PopupContent control (single "datetime" option)
411
423
  */
412
- DynamicDateOption.prototype._createDateTimeInnerControl = function(oValue, iIndex, fnControlsUpdated) {
424
+ DynamicDateOption.prototype._createDateTimeInnerControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
413
425
  var oControl = new DateTimePicker({
414
426
  width: "100%"
415
427
  }),
@@ -424,6 +436,11 @@ sap.ui.define([
424
436
 
425
437
  if (oValue && this.getKey() === oValue.operator) {
426
438
  var oValueCopy = new Date(oValue.values[iIndex]); // a copy is used to prevent time setting on pressing Cancel button
439
+
440
+ if (bUTC) {
441
+ oValueCopy.setMinutes(oValueCopy.getMinutes() + new Date().getTimezoneOffset());
442
+ }
443
+
427
444
  oPopupContent.getCalendar().addSelectedDate(new DateRange({
428
445
  startDate: oValueCopy
429
446
  }));
@@ -453,7 +470,7 @@ sap.ui.define([
453
470
  return oPopupContent;
454
471
  };
455
472
 
456
- DynamicDateOption.prototype._createDateRangeControl = function(oValue, iIndex, fnControlsUpdated) {
473
+ DynamicDateOption.prototype._createDateRangeControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
457
474
  var oControl = new Calendar({
458
475
  intervalSelection: true,
459
476
  width: "100%"
@@ -461,9 +478,17 @@ sap.ui.define([
461
478
  if (oValue && this.getKey() === oValue.operator) {
462
479
  // a date range UI type maps to 2 consecutive date parameters from the value
463
480
  // they also should be the last 2 parameters
481
+ var oInputControlStartValue = new Date(oValue.values[iIndex].getTime());
482
+ var oInputControlEndValue = new Date(oValue.values[iIndex + 1].getTime());
483
+
484
+ if (bUTC) {
485
+ oInputControlStartValue.setMinutes(oInputControlStartValue.getMinutes() + new Date().getTimezoneOffset());
486
+ oInputControlEndValue.setMinutes(oInputControlEndValue.getMinutes() + new Date().getTimezoneOffset());
487
+ }
488
+
464
489
  oControl.addSelectedDate(new DateRange({
465
- startDate: oValue.values[iIndex],
466
- endDate: oValue.values[iIndex + 1]
490
+ startDate: oInputControlStartValue,
491
+ endDate: oInputControlEndValue
467
492
  }));
468
493
  }
469
494
 
@@ -121,7 +121,7 @@ sap.ui.define([
121
121
  * is opened. The dialog is closed via a date time period value selection or by pressing the "Cancel" button.
122
122
  *
123
123
  * @author SAP SE
124
- * @version 1.102.0
124
+ * @version 1.102.4
125
125
  *
126
126
  * @constructor
127
127
  * @public
@@ -631,9 +631,12 @@ sap.ui.define([
631
631
  * @private
632
632
  */
633
633
  DynamicDateRange.prototype._addSuggestionItem = function(oSuggestValue) {
634
- var aResultingDates = DynamicDateUtil.toDates(oSuggestValue).map(function(oDate) {
635
- return this._convertDate(oDate);
636
- }, this);
634
+ var bTimezone = this._checkFormatterUTCTimezone(oSuggestValue);
635
+ var aValueDates = DynamicDateUtil.toDates(oSuggestValue);
636
+ var aResultingDates = [];
637
+ for (var i = 0; i < aValueDates.length; i++) {
638
+ aResultingDates[i] = this._convertDate(aValueDates[i], bTimezone);
639
+ }
637
640
 
638
641
  var oItem = new ListItem({
639
642
  text: DynamicDateUtil.getOption(oSuggestValue.operator).format(oSuggestValue, this._getFormatter()),
@@ -702,18 +705,22 @@ sap.ui.define([
702
705
  };
703
706
 
704
707
  DynamicDateRange.prototype._toDatesString = function(oValue) {
705
- var aDates = DynamicDateUtil.toDates(oValue).map(function(oDate) {
706
- return this._convertDate(oDate);
707
- }, this);
708
+ var bTimezone = this._checkFormatterUTCTimezone(oValue);
709
+ var aValueDates = DynamicDateUtil.toDates(oValue);
710
+ var aDates = [];
711
+ for (var i = 0; i < aValueDates.length; i++) {
712
+ aDates[i] = this._convertDate(aValueDates[i], bTimezone);
713
+ }
708
714
 
709
715
  return this._getDatesLabelFormatter().format(aDates);
710
716
  };
711
717
 
712
- DynamicDateRange.prototype._convertDate = function(oDate) {
718
+ DynamicDateRange.prototype._convertDate = function(oDate, bUTCTimezone) {
713
719
  var sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
720
+ var sFormatTimezone = bUTCTimezone ? "UTC" : sap.ui.getCore().getConfiguration().getTimezone();
714
721
  var oParts = this._getPickerParser().parse(
715
722
  sFormattedDate,
716
- sap.ui.getCore().getConfiguration().getTimezone()
723
+ sFormatTimezone
717
724
  );
718
725
  var oNewDate = oParts ? new Date(oParts[0].getTime()) : oParts;
719
726
 
@@ -954,16 +961,19 @@ sap.ui.define([
954
961
 
955
962
  DynamicDateRange.prototype._updateDatesLabel = function() {
956
963
  var oOutputValue = this._oSelectedOption.getValueHelpOutput(this),
957
- aResultDates,
964
+ bTimezone = this._checkFormatterUTCTimezone(oOutputValue),
965
+ aResultDates = [],
958
966
  sFormattedDates;
959
967
 
968
+ var aValueDates = DynamicDateUtil.toDates(oOutputValue);
969
+
960
970
  if (!oOutputValue || !oOutputValue.operator || !DynamicDateUtil.getOption(oOutputValue.operator)) {
961
971
  return;
962
972
  }
963
973
 
964
- aResultDates = DynamicDateUtil.toDates(oOutputValue).map(function(oDate) {
965
- return this._convertDate(oDate);
966
- }, this);
974
+ for (var i = 0; i < aValueDates.length; i++) {
975
+ aResultDates[i] = this._convertDate(aValueDates[i], bTimezone);
976
+ }
967
977
 
968
978
  if (aResultDates) {
969
979
  if (this._oSelectedOption.getKey() === "FROMDATETIME" || this._oSelectedOption.getKey() === "TODATETIME"
@@ -1177,14 +1187,13 @@ sap.ui.define([
1177
1187
 
1178
1188
  DynamicDateRange.prototype._applyValue = function() {
1179
1189
  this._oOutput = this._oSelectedOption.getValueHelpOutput(this);
1180
-
1181
- this._oOutput.values = this._oOutput.values.map(function(val) {
1182
- if (val instanceof Date) {
1183
- return this._convertDate(val);
1190
+ var sTimezone = this._checkFormatterUTCTimezone(this._oOutput);
1191
+ var aValueDates = DynamicDateUtil.toDates(this._oOutput);
1192
+ for (var i = 0; i < aValueDates.length; i++) {
1193
+ if (this._oOutput.values[i] instanceof Date) {
1194
+ this._oOutput.values[i] = this._convertDate(aValueDates[i], sTimezone);
1184
1195
  }
1185
-
1186
- return val;
1187
- }, this);
1196
+ }
1188
1197
 
1189
1198
  var prevValue = this.getValue();
1190
1199
  this.setValue(this._oOutput);
@@ -1320,6 +1329,10 @@ sap.ui.define([
1320
1329
  return oNewValue;
1321
1330
  };
1322
1331
 
1332
+ DynamicDateRange.prototype._checkFormatterUTCTimezone = function(oValue) {
1333
+ return this._getFormatter()._checkFormatterUTCTimezone(oValue.operator);
1334
+ };
1335
+
1323
1336
  var DynamicDateRangeInputRenderer = Renderer.extend(InputRenderer);
1324
1337
 
1325
1338
  DynamicDateRangeInputRenderer.apiVersion = 2;
@@ -8,9 +8,11 @@
8
8
  sap.ui.define([
9
9
  "./StandardDynamicDateOption",
10
10
  "sap/base/Log",
11
- "./library"
11
+ "./library",
12
+ 'sap/ui/core/format/TimezoneUtil',
13
+ 'sap/ui/core/Core'
12
14
  ], function(
13
- StandardDynamicDateOption, Log, library) {
15
+ StandardDynamicDateOption, Log, library, TimezoneUtil, Core) {
14
16
  "use strict";
15
17
 
16
18
  var STANDARD_KEYS_ARRAY = [
@@ -242,6 +244,25 @@ sap.ui.define([
242
244
  return DynamicDateUtil._options[sKey].toDates(oValue);
243
245
  };
244
246
 
247
+
248
+ /**
249
+ * Returns a date in machine timezone setting, removing the offset added by the application configuration.
250
+ *
251
+ * @param {Object} oDate A local JS date with added offset
252
+ * @returns {Object} A local JS date with removed offset
253
+ * @static
254
+ * @public
255
+ */
256
+ DynamicDateUtil.removeTimezoneOffset = function(oDate) {
257
+ var oNewDate = new Date(oDate);
258
+ var sTimezone = Core.getConfiguration().getTimezone();
259
+ var iOffsetInSeconds = TimezoneUtil.calculateOffset(oNewDate, sTimezone) - oNewDate.getTimezoneOffset() * 60;
260
+
261
+ oNewDate.setSeconds(oNewDate.getSeconds() - iOffsetInSeconds);
262
+
263
+ return oNewDate;
264
+ };
265
+
245
266
  return DynamicDateUtil;
246
267
 
247
268
  }, true);
@@ -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.102.0
23
+ * @version 1.102.4
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.102.0
103
+ * @version 1.102.4
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.102.0
173
+ * @version 1.102.4
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.102.0
23
+ * @version 1.102.4
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * be closed.
53
53
  *
54
54
  * @extends sap.m.List
55
- * @version 1.102.0
55
+ * @version 1.102.4
56
56
  *
57
57
  * @constructor
58
58
  * @public
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Control
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.102.0
31
+ * @version 1.102.4
32
32
  * @since 1.34
33
33
  *
34
34
  * @public