@openui5/sap.m 1.103.1 → 1.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +35 -15
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +64 -21
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +17 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CarouselRenderer.js +3 -3
  24. package/src/sap/m/CheckBox.js +46 -6
  25. package/src/sap/m/CheckBoxRenderer.js +1 -0
  26. package/src/sap/m/ColorPalette.js +1 -1
  27. package/src/sap/m/ColorPalettePopover.js +1 -1
  28. package/src/sap/m/Column.js +5 -5
  29. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  30. package/src/sap/m/ColumnListItem.js +1 -4
  31. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  32. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverItem.js +3 -3
  35. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  36. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  37. package/src/sap/m/ComboBox.js +6 -5
  38. package/src/sap/m/ComboBoxBase.js +3 -7
  39. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  40. package/src/sap/m/ComboBoxTextField.js +1 -7
  41. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  42. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  43. package/src/sap/m/CustomListItem.js +1 -1
  44. package/src/sap/m/CustomTile.js +1 -1
  45. package/src/sap/m/CustomTreeItem.js +3 -3
  46. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  47. package/src/sap/m/DatePicker.js +16 -26
  48. package/src/sap/m/DateRangeSelection.js +45 -38
  49. package/src/sap/m/DateTimeField.js +87 -20
  50. package/src/sap/m/DateTimeInput.js +1 -1
  51. package/src/sap/m/DateTimePicker.js +58 -32
  52. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  53. package/src/sap/m/Dialog.js +44 -2
  54. package/src/sap/m/DisplayListItem.js +1 -1
  55. package/src/sap/m/DraftIndicator.js +1 -1
  56. package/src/sap/m/DynamicDate.js +1 -1
  57. package/src/sap/m/DynamicDateFormat.js +2 -5
  58. package/src/sap/m/DynamicDateOption.js +43 -16
  59. package/src/sap/m/DynamicDateRange.js +49 -7
  60. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  61. package/src/sap/m/DynamicDateUtil.js +23 -2
  62. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  63. package/src/sap/m/ExpandableText.js +1 -1
  64. package/src/sap/m/FacetFilter.js +2 -2
  65. package/src/sap/m/FacetFilterItem.js +1 -1
  66. package/src/sap/m/FacetFilterList.js +4 -4
  67. package/src/sap/m/FeedContent.js +1 -1
  68. package/src/sap/m/FeedInput.js +1 -1
  69. package/src/sap/m/FeedListItem.js +1 -1
  70. package/src/sap/m/FeedListItemAction.js +1 -1
  71. package/src/sap/m/Fiori20Adapter.js +2 -2
  72. package/src/sap/m/FlexBox.js +1 -1
  73. package/src/sap/m/FlexItemData.js +1 -1
  74. package/src/sap/m/FormattedText.js +1 -1
  75. package/src/sap/m/GenericTag.js +1 -1
  76. package/src/sap/m/GenericTile.js +116 -23
  77. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  78. package/src/sap/m/GenericTileRenderer.js +23 -10
  79. package/src/sap/m/GroupHeaderListItem.js +1 -1
  80. package/src/sap/m/GrowingEnablement.js +60 -36
  81. package/src/sap/m/GrowingList.js +1 -1
  82. package/src/sap/m/HBox.js +1 -1
  83. package/src/sap/m/HeaderContainer.js +34 -32
  84. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  85. package/src/sap/m/IconTabBar.js +54 -22
  86. package/src/sap/m/IconTabBarSelectList.js +1 -1
  87. package/src/sap/m/IconTabFilter.js +1 -1
  88. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  89. package/src/sap/m/IconTabHeader.js +6 -19
  90. package/src/sap/m/IconTabSeparator.js +1 -1
  91. package/src/sap/m/IllustratedMessage.js +98 -25
  92. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  93. package/src/sap/m/Illustration.js +8 -1
  94. package/src/sap/m/IllustrationPool.js +1 -0
  95. package/src/sap/m/IllustrationRenderer.js +2 -1
  96. package/src/sap/m/Image.js +73 -3
  97. package/src/sap/m/ImageContent.js +1 -1
  98. package/src/sap/m/ImageRenderer.js +66 -2
  99. package/src/sap/m/Input.js +62 -7
  100. package/src/sap/m/InputBase.js +1 -1
  101. package/src/sap/m/InputBaseRenderer.js +2 -2
  102. package/src/sap/m/InputListItem.js +1 -1
  103. package/src/sap/m/InputRenderer.js +4 -0
  104. package/src/sap/m/InstanceManager.js +6 -6
  105. package/src/sap/m/Label.js +34 -4
  106. package/src/sap/m/LabelRenderer.js +7 -2
  107. package/src/sap/m/LightBox.js +2 -2
  108. package/src/sap/m/LightBoxItem.js +1 -1
  109. package/src/sap/m/Link.js +74 -10
  110. package/src/sap/m/LinkRenderer.js +26 -12
  111. package/src/sap/m/List.js +38 -1
  112. package/src/sap/m/ListBase.js +109 -44
  113. package/src/sap/m/ListBaseRenderer.js +7 -15
  114. package/src/sap/m/ListItemBase.js +40 -11
  115. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  116. package/src/sap/m/ListRenderer.js +2 -2
  117. package/src/sap/m/MaskEnabler.js +52 -2
  118. package/src/sap/m/MaskInput.js +23 -1
  119. package/src/sap/m/MaskInputRule.js +1 -1
  120. package/src/sap/m/Menu.js +1 -1
  121. package/src/sap/m/MenuButton.js +1 -1
  122. package/src/sap/m/MenuItem.js +1 -1
  123. package/src/sap/m/MenuListItem.js +1 -1
  124. package/src/sap/m/MessageBox.js +1 -1
  125. package/src/sap/m/MessageItem.js +3 -4
  126. package/src/sap/m/MessageListItem.js +10 -6
  127. package/src/sap/m/MessagePage.js +1 -1
  128. package/src/sap/m/MessagePopover.js +4 -1
  129. package/src/sap/m/MessagePopoverItem.js +1 -1
  130. package/src/sap/m/MessageStrip.js +1 -1
  131. package/src/sap/m/MessageToast.js +1 -1
  132. package/src/sap/m/MessageView.js +1 -1
  133. package/src/sap/m/MultiComboBox.js +5 -16
  134. package/src/sap/m/MultiEditField.js +1 -1
  135. package/src/sap/m/MultiInput.js +1 -15
  136. package/src/sap/m/NavContainer.js +21 -19
  137. package/src/sap/m/NewsContent.js +2 -3
  138. package/src/sap/m/NotificationList.js +1 -1
  139. package/src/sap/m/NotificationListBase.js +1 -1
  140. package/src/sap/m/NotificationListGroup.js +3 -7
  141. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  142. package/src/sap/m/NotificationListItem.js +1 -1
  143. package/src/sap/m/NumericContent.js +1 -1
  144. package/src/sap/m/NumericInput.js +1 -1
  145. package/src/sap/m/ObjectAttribute.js +1 -1
  146. package/src/sap/m/ObjectHeader.js +3 -3
  147. package/src/sap/m/ObjectIdentifier.js +8 -5
  148. package/src/sap/m/ObjectListItem.js +7 -1
  149. package/src/sap/m/ObjectMarker.js +1 -1
  150. package/src/sap/m/ObjectNumber.js +2 -3
  151. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  152. package/src/sap/m/ObjectStatus.js +2 -3
  153. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbar.js +3 -8
  155. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  156. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -8
  157. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  158. package/src/sap/m/OverflowToolbarButton.js +2 -2
  159. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  160. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  161. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  162. package/src/sap/m/P13nColumnsItem.js +3 -3
  163. package/src/sap/m/P13nColumnsPanel.js +3 -3
  164. package/src/sap/m/P13nConditionPanel.js +10 -3
  165. package/src/sap/m/P13nDialog.js +3 -3
  166. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  167. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  168. package/src/sap/m/P13nFilterItem.js +3 -3
  169. package/src/sap/m/P13nFilterPanel.js +3 -3
  170. package/src/sap/m/P13nGroupItem.js +3 -3
  171. package/src/sap/m/P13nGroupPanel.js +3 -3
  172. package/src/sap/m/P13nItem.js +3 -3
  173. package/src/sap/m/P13nOperationsHelper.js +2 -2
  174. package/src/sap/m/P13nPanel.js +3 -3
  175. package/src/sap/m/P13nSelectionItem.js +3 -3
  176. package/src/sap/m/P13nSelectionPanel.js +3 -3
  177. package/src/sap/m/P13nSortItem.js +3 -3
  178. package/src/sap/m/P13nSortPanel.js +3 -3
  179. package/src/sap/m/PDFViewer.js +2 -2
  180. package/src/sap/m/PDFViewerRenderer.js +1 -0
  181. package/src/sap/m/Page.js +1 -3
  182. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  183. package/src/sap/m/PagingButton.js +1 -1
  184. package/src/sap/m/Panel.js +1 -1
  185. package/src/sap/m/PlanningCalendar.js +4 -16
  186. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  187. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  188. package/src/sap/m/PlanningCalendarRow.js +1 -1
  189. package/src/sap/m/PlanningCalendarView.js +1 -1
  190. package/src/sap/m/Popover.js +11 -4
  191. package/src/sap/m/ProgressIndicator.js +1 -1
  192. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  193. package/src/sap/m/PullToRefresh.js +1 -1
  194. package/src/sap/m/QuickView.js +3 -3
  195. package/src/sap/m/QuickViewBase.js +3 -3
  196. package/src/sap/m/QuickViewCard.js +3 -3
  197. package/src/sap/m/QuickViewGroup.js +1 -1
  198. package/src/sap/m/QuickViewGroupElement.js +3 -3
  199. package/src/sap/m/QuickViewPage.js +3 -3
  200. package/src/sap/m/RadioButton.js +47 -20
  201. package/src/sap/m/RadioButtonGroup.js +29 -26
  202. package/src/sap/m/RangeSlider.js +1 -3
  203. package/src/sap/m/RatingIndicator.js +8 -1
  204. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  205. package/src/sap/m/ResponsivePopover.js +3 -3
  206. package/src/sap/m/ResponsiveScale.js +1 -1
  207. package/src/sap/m/ScrollBar.js +1 -1
  208. package/src/sap/m/ScrollContainer.js +1 -1
  209. package/src/sap/m/SearchField.js +1 -1
  210. package/src/sap/m/SearchFieldRenderer.js +1 -0
  211. package/src/sap/m/SegmentedButton.js +1 -1
  212. package/src/sap/m/SegmentedButtonItem.js +1 -1
  213. package/src/sap/m/Select.js +8 -14
  214. package/src/sap/m/SelectDialog.js +2 -1
  215. package/src/sap/m/SelectDialogBase.js +1 -1
  216. package/src/sap/m/SelectList.js +1 -1
  217. package/src/sap/m/SelectListRenderer.js +2 -2
  218. package/src/sap/m/SelectionDetails.js +2 -2
  219. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  220. package/src/sap/m/SelectionDetailsItem.js +1 -1
  221. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  222. package/src/sap/m/Shell.js +1 -1
  223. package/src/sap/m/SimpleFixFlex.js +1 -1
  224. package/src/sap/m/SinglePlanningCalendar.js +7 -9
  225. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  227. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  228. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  229. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  230. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  231. package/src/sap/m/SinglePlanningCalendarWeekView.js +12 -13
  232. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  233. package/src/sap/m/SlideTile.js +30 -5
  234. package/src/sap/m/Slider.js +1 -1
  235. package/src/sap/m/SliderTooltip.js +1 -3
  236. package/src/sap/m/SliderTooltipBase.js +1 -1
  237. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  238. package/src/sap/m/SliderTooltipContainer.js +1 -1
  239. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  240. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  241. package/src/sap/m/SplitApp.js +1 -1
  242. package/src/sap/m/SplitButton.js +1 -3
  243. package/src/sap/m/SplitContainer.js +3 -7
  244. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  245. package/src/sap/m/StandardListItem.js +1 -1
  246. package/src/sap/m/StandardListItemRenderer.js +2 -2
  247. package/src/sap/m/StandardTile.js +1 -1
  248. package/src/sap/m/StandardTreeItem.js +1 -1
  249. package/src/sap/m/StepInput.js +1 -1
  250. package/src/sap/m/SuggestionItem.js +1 -1
  251. package/src/sap/m/SuggestionsPopover.js +4 -2
  252. package/src/sap/m/Switch.js +1 -1
  253. package/src/sap/m/TabContainer.js +1 -1
  254. package/src/sap/m/TabContainerItem.js +1 -1
  255. package/src/sap/m/TabStrip.js +1 -1
  256. package/src/sap/m/TabStripItem.js +1 -1
  257. package/src/sap/m/Table.js +11 -9
  258. package/src/sap/m/TablePersoController.js +1 -1
  259. package/src/sap/m/TablePersoDialog.js +6 -15
  260. package/src/sap/m/TablePersoProvider.js +1 -1
  261. package/src/sap/m/TableRenderer.js +2 -9
  262. package/src/sap/m/TableSelectDialog.js +1 -1
  263. package/src/sap/m/Text.js +1 -1
  264. package/src/sap/m/TextArea.js +1 -1
  265. package/src/sap/m/TextAreaRenderer.js +1 -2
  266. package/src/sap/m/Tile.js +1 -1
  267. package/src/sap/m/TileContainer.js +1 -1
  268. package/src/sap/m/TileContent.js +8 -9
  269. package/src/sap/m/TileContentRenderer.js +3 -3
  270. package/src/sap/m/TimePicker.js +45 -8
  271. package/src/sap/m/TimePickerClock.js +2 -3
  272. package/src/sap/m/TimePickerClocks.js +5 -3
  273. package/src/sap/m/TimePickerClocksRenderer.js +4 -2
  274. package/src/sap/m/TimePickerInputs.js +1 -1
  275. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  276. package/src/sap/m/TimePickerInternals.js +1 -1
  277. package/src/sap/m/TimePickerSlider.js +1 -1
  278. package/src/sap/m/TimePickerSliders.js +3 -5
  279. package/src/sap/m/Title.js +1 -1
  280. package/src/sap/m/TitlePropagationSupport.js +1 -1
  281. package/src/sap/m/ToggleButton.js +2 -2
  282. package/src/sap/m/Token.js +1 -3
  283. package/src/sap/m/Tokenizer.js +1 -1
  284. package/src/sap/m/Toolbar.js +1 -1
  285. package/src/sap/m/ToolbarLayoutData.js +1 -1
  286. package/src/sap/m/ToolbarSeparator.js +1 -1
  287. package/src/sap/m/ToolbarSpacer.js +1 -1
  288. package/src/sap/m/Tree.js +8 -1
  289. package/src/sap/m/TreeItemBase.js +1 -1
  290. package/src/sap/m/TreeRenderer.js +0 -10
  291. package/src/sap/m/UploadCollection.js +2 -2
  292. package/src/sap/m/UploadCollectionItem.js +1 -1
  293. package/src/sap/m/UploadCollectionParameter.js +1 -1
  294. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  295. package/src/sap/m/VBox.js +1 -1
  296. package/src/sap/m/ValueStateHeader.js +1 -1
  297. package/src/sap/m/VariantItem.js +160 -0
  298. package/src/sap/m/VariantManagement.js +717 -571
  299. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  300. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  301. package/src/sap/m/ViewSettingsDialog.js +1 -1
  302. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  303. package/src/sap/m/ViewSettingsItem.js +1 -1
  304. package/src/sap/m/VisibleItem.js +1 -1
  305. package/src/sap/m/WheelSlider.js +1 -1
  306. package/src/sap/m/WheelSliderContainer.js +1 -1
  307. package/src/sap/m/Wizard.js +10 -3
  308. package/src/sap/m/WizardProgressNavigator.js +1 -1
  309. package/src/sap/m/WizardStep.js +3 -1
  310. package/src/sap/m/_thirdparty/purify.js +1622 -0
  311. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  312. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  313. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  314. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  315. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  316. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  317. package/src/sap/m/delegate/DateNavigation.js +0 -4
  318. package/src/sap/m/designtime/Link.designtime.js +19 -11
  319. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  320. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  321. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  322. package/src/sap/m/library.js +60 -7
  323. package/src/sap/m/messagebundle.properties +57 -6
  324. package/src/sap/m/messagebundle_ar.properties +39 -9
  325. package/src/sap/m/messagebundle_bg.properties +33 -3
  326. package/src/sap/m/messagebundle_ca.properties +32 -2
  327. package/src/sap/m/messagebundle_cs.properties +32 -2
  328. package/src/sap/m/messagebundle_cy.properties +34 -4
  329. package/src/sap/m/messagebundle_da.properties +32 -2
  330. package/src/sap/m/messagebundle_de.properties +32 -2
  331. package/src/sap/m/messagebundle_el.properties +35 -5
  332. package/src/sap/m/messagebundle_en.properties +34 -4
  333. package/src/sap/m/messagebundle_en_GB.properties +34 -4
  334. package/src/sap/m/messagebundle_en_US_sappsd.properties +33 -3
  335. package/src/sap/m/messagebundle_en_US_saprigi.properties +31 -3
  336. package/src/sap/m/messagebundle_en_US_saptrc.properties +33 -3
  337. package/src/sap/m/messagebundle_es.properties +33 -3
  338. package/src/sap/m/messagebundle_es_MX.properties +32 -2
  339. package/src/sap/m/messagebundle_et.properties +32 -2
  340. package/src/sap/m/messagebundle_fi.properties +36 -6
  341. package/src/sap/m/messagebundle_fr.properties +33 -3
  342. package/src/sap/m/messagebundle_fr_CA.properties +34 -4
  343. package/src/sap/m/messagebundle_hi.properties +34 -4
  344. package/src/sap/m/messagebundle_hr.properties +36 -6
  345. package/src/sap/m/messagebundle_hu.properties +34 -4
  346. package/src/sap/m/messagebundle_id.properties +34 -4
  347. package/src/sap/m/messagebundle_it.properties +33 -3
  348. package/src/sap/m/messagebundle_iw.properties +34 -4
  349. package/src/sap/m/messagebundle_ja.properties +33 -3
  350. package/src/sap/m/messagebundle_kk.properties +32 -2
  351. package/src/sap/m/messagebundle_ko.properties +40 -10
  352. package/src/sap/m/messagebundle_lt.properties +32 -2
  353. package/src/sap/m/messagebundle_lv.properties +32 -2
  354. package/src/sap/m/messagebundle_ms.properties +33 -3
  355. package/src/sap/m/messagebundle_nl.properties +46 -16
  356. package/src/sap/m/messagebundle_no.properties +34 -4
  357. package/src/sap/m/messagebundle_pl.properties +33 -3
  358. package/src/sap/m/messagebundle_pt.properties +37 -7
  359. package/src/sap/m/messagebundle_pt_PT.properties +32 -2
  360. package/src/sap/m/messagebundle_ro.properties +33 -3
  361. package/src/sap/m/messagebundle_ru.properties +33 -3
  362. package/src/sap/m/messagebundle_sh.properties +33 -3
  363. package/src/sap/m/messagebundle_sk.properties +32 -2
  364. package/src/sap/m/messagebundle_sl.properties +33 -3
  365. package/src/sap/m/messagebundle_sv.properties +32 -2
  366. package/src/sap/m/messagebundle_th.properties +65 -35
  367. package/src/sap/m/messagebundle_tr.properties +36 -6
  368. package/src/sap/m/messagebundle_uk.properties +33 -3
  369. package/src/sap/m/messagebundle_vi.properties +33 -3
  370. package/src/sap/m/messagebundle_zh_CN.properties +33 -3
  371. package/src/sap/m/messagebundle_zh_TW.properties +32 -2
  372. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  373. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  374. package/src/sap/m/p13n/BasePanel.js +24 -13
  375. package/src/sap/m/p13n/Container.js +3 -3
  376. package/src/sap/m/p13n/Engine.js +1254 -0
  377. package/src/sap/m/p13n/FlexUtil.js +161 -0
  378. package/src/sap/m/p13n/GroupController.js +145 -0
  379. package/src/sap/m/p13n/GroupPanel.js +12 -5
  380. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  381. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  382. package/src/sap/m/p13n/Popup.js +49 -12
  383. package/src/sap/m/p13n/QueryPanel.js +3 -3
  384. package/src/sap/m/p13n/SelectionController.js +548 -0
  385. package/src/sap/m/p13n/SelectionPanel.js +23 -5
  386. package/src/sap/m/p13n/SortController.js +153 -0
  387. package/src/sap/m/p13n/SortPanel.js +15 -5
  388. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  389. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  390. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  391. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  392. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  393. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  394. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  395. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  396. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  397. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  398. package/src/sap/m/plugins/CellSelector.js +741 -0
  399. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  400. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  401. package/src/sap/m/plugins/PasteProvider.js +1 -1
  402. package/src/sap/m/plugins/PluginBase.js +4 -3
  403. package/src/sap/m/rules/CheckBox.support.js +1 -1
  404. package/src/sap/m/rules/Image.support.js +1 -1
  405. package/src/sap/m/rules/Link.support.js +1 -1
  406. package/src/sap/m/rules/MessagePage.support.js +1 -1
  407. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  408. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  409. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  410. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  411. package/src/sap/m/rules/Panel.support.js +1 -1
  412. package/src/sap/m/rules/Select.support.js +1 -1
  413. package/src/sap/m/rules/Table.support.js +3 -3
  414. package/src/sap/m/semantic/AddAction.js +1 -1
  415. package/src/sap/m/semantic/CancelAction.js +1 -1
  416. package/src/sap/m/semantic/DeleteAction.js +1 -1
  417. package/src/sap/m/semantic/DetailPage.js +1 -1
  418. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  419. package/src/sap/m/semantic/EditAction.js +1 -1
  420. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  421. package/src/sap/m/semantic/FilterAction.js +1 -1
  422. package/src/sap/m/semantic/FilterSelect.js +1 -1
  423. package/src/sap/m/semantic/FlagAction.js +1 -1
  424. package/src/sap/m/semantic/ForwardAction.js +1 -1
  425. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  426. package/src/sap/m/semantic/GroupAction.js +1 -1
  427. package/src/sap/m/semantic/GroupSelect.js +1 -1
  428. package/src/sap/m/semantic/MainAction.js +1 -1
  429. package/src/sap/m/semantic/MasterPage.js +1 -1
  430. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  431. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  432. package/src/sap/m/semantic/NegativeAction.js +1 -1
  433. package/src/sap/m/semantic/OpenInAction.js +1 -1
  434. package/src/sap/m/semantic/PositiveAction.js +1 -1
  435. package/src/sap/m/semantic/PrintAction.js +1 -1
  436. package/src/sap/m/semantic/SaveAction.js +1 -1
  437. package/src/sap/m/semantic/Segment.js +1 -1
  438. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  439. package/src/sap/m/semantic/SemanticButton.js +1 -1
  440. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  441. package/src/sap/m/semantic/SemanticControl.js +1 -1
  442. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  443. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  444. package/src/sap/m/semantic/SemanticPage.js +1 -1
  445. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  446. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  447. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  448. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  449. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  450. package/src/sap/m/semantic/ShareMenu.js +1 -1
  451. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  452. package/src/sap/m/semantic/SortAction.js +1 -1
  453. package/src/sap/m/semantic/SortSelect.js +1 -1
  454. package/src/sap/m/table/Util.js +30 -11
  455. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  456. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  457. package/src/sap/m/table/columnmenu/Item.js +1 -1
  458. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  459. package/src/sap/m/table/columnmenu/Menu.js +50 -13
  460. package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
  461. package/src/sap/m/table/columnmenu/QuickActionBase.js +18 -3
  462. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
  463. package/src/sap/m/table/columnmenu/QuickGroup.js +29 -5
  464. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  465. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  466. package/src/sap/m/table/columnmenu/QuickSortItem.js +8 -7
  467. package/src/sap/m/table/columnmenu/QuickTotal.js +29 -5
  468. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  469. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  470. package/src/sap/m/themes/base/Button.less +0 -1
  471. package/src/sap/m/themes/base/Carousel.less +8 -8
  472. package/src/sap/m/themes/base/CellSelector.less +9 -0
  473. package/src/sap/m/themes/base/CheckBox.less +1 -0
  474. package/src/sap/m/themes/base/Dialog.less +1 -0
  475. package/src/sap/m/themes/base/DisplayListItem.less +3 -3
  476. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  477. package/src/sap/m/themes/base/FeedContent.less +13 -5
  478. package/src/sap/m/themes/base/GenericTile.less +56 -9
  479. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  480. package/src/sap/m/themes/base/NewsContent.less +6 -0
  481. package/src/sap/m/themes/base/NumericContent.less +1 -1
  482. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  483. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  484. package/src/sap/m/themes/base/SelectList.less +0 -5
  485. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  486. package/src/sap/m/themes/base/SlideTile.less +35 -4
  487. package/src/sap/m/themes/base/Table.less +11 -2
  488. package/src/sap/m/themes/base/TileContent.less +17 -0
  489. package/src/sap/m/themes/base/library.source.less +1 -0
  490. package/src/sap/m/upload/UploadSet.js +300 -23
  491. package/src/sap/m/upload/UploadSetItem.js +18 -7
  492. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  493. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  494. package/src/sap/m/upload/Uploader.js +1 -2
@@ -19,8 +19,6 @@ sap.ui.define([
19
19
  "sap/ui/dom/containsOrEquals",
20
20
  "sap/ui/events/KeyCodes",
21
21
  "sap/ui/thirdparty/jquery",
22
- "sap/base/security/encodeXML",
23
- "sap/base/strings/escapeRegExp",
24
22
  "sap/m/inputUtils/forwardItemProperties",
25
23
  "sap/m/inputUtils/highlightDOMElements",
26
24
  "sap/m/inputUtils/ListHelpers",
@@ -42,8 +40,6 @@ sap.ui.define([
42
40
  containsOrEquals,
43
41
  KeyCodes,
44
42
  jQuery,
45
- encodeXML,
46
- escapeRegExp,
47
43
  forwardItemProperties,
48
44
  highlightDOMElements,
49
45
  ListHelpers,
@@ -70,7 +66,7 @@ sap.ui.define([
70
66
  * @abstract
71
67
  *
72
68
  * @author SAP SE
73
- * @version 1.103.1
69
+ * @version 1.106.0
74
70
  *
75
71
  * @constructor
76
72
  * @public
@@ -874,7 +870,7 @@ sap.ui.define([
874
870
  /**
875
871
  * Gets the <code>list</code>.
876
872
  *
877
- * @returns {sap.m.List} The list instance object or <code>null</code>.
873
+ * @returns {sap.m.List|null} The list instance object or <code>null</code>.
878
874
  * @protected
879
875
  * @deprecated As of version 1.62. The list structure should not be used as per SAP note: 2746748.
880
876
  */
@@ -891,7 +887,7 @@ sap.ui.define([
891
887
  /**
892
888
  * Gets the <code>list</code>.
893
889
  *
894
- * @returns {sap.m.List} The list instance object or <code>null</code>.
890
+ * @returns {sap.m.List|null} The list instance object or <code>null</code>.
895
891
  * @private
896
892
  */
897
893
  ComboBoxBase.prototype._getList = function() {
@@ -3,8 +3,8 @@
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define(['./ComboBoxTextFieldRenderer', 'sap/ui/core/Renderer', 'sap/ui/core/Core'],
7
- function (ComboBoxTextFieldRenderer, Renderer, Core) {
6
+ sap.ui.define(['./ComboBoxTextFieldRenderer', 'sap/ui/core/Renderer'],
7
+ function (ComboBoxTextFieldRenderer, Renderer) {
8
8
  "use strict";
9
9
 
10
10
  /**
@@ -7,18 +7,12 @@
7
7
  sap.ui.define([
8
8
  './InputBase',
9
9
  './library',
10
- 'sap/ui/core/InvisibleText',
11
- 'sap/ui/core/library',
12
- 'sap/ui/Device',
13
10
  'sap/ui/core/LabelEnablement',
14
11
  "./ComboBoxTextFieldRenderer"
15
12
  ],
16
13
  function(
17
14
  InputBase,
18
15
  library,
19
- InvisibleText,
20
- coreLibrary,
21
- Device,
22
16
  LabelEnablement,
23
17
  ComboBoxTextFieldRenderer
24
18
  ) {
@@ -35,7 +29,7 @@ sap.ui.define([
35
29
  * @extends sap.m.InputBase
36
30
  *
37
31
  * @author SAP SE
38
- * @version 1.103.1
32
+ * @version 1.106.0
39
33
  *
40
34
  * @constructor
41
35
  * @public
@@ -5,11 +5,9 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  './InputBaseRenderer',
8
- 'sap/ui/core/Renderer',
9
- 'sap/ui/core/LabelEnablement',
10
- 'sap/ui/Device'
8
+ 'sap/ui/core/Renderer'
11
9
  ],
12
- function(InputBaseRenderer, Renderer, LabelEnablement, Device) {
10
+ function(InputBaseRenderer, Renderer) {
13
11
  "use strict";
14
12
 
15
13
  /**
@@ -61,5 +59,22 @@ sap.ui.define([
61
59
  oRm.style("max-width", oControl.getMaxWidth());
62
60
  };
63
61
 
62
+ /**
63
+ * Renders dropdown icon from the icon aggregations.
64
+ *
65
+ * @protected
66
+ * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
67
+ * @param {sap.ui.core.Icon[]} aIcons List of icons to render
68
+ */
69
+ ComboBoxTextFieldRenderer.writeIcons = function (oRm, aIcons) {
70
+ oRm.openStart("div")
71
+ .attr("tabindex", "-1")
72
+ .attr("aria-hidden", "true")
73
+ .class("sapMInputBaseIconContainer")
74
+ .openEnd();
75
+ aIcons.forEach(oRm.renderControl, oRm);
76
+ oRm.close("div");
77
+ };
78
+
64
79
  return ComboBoxTextFieldRenderer;
65
80
  }, true);
@@ -20,7 +20,7 @@ sap.ui.define(['sap/m/DynamicDateOption'],
20
20
  * @extends sap.m.DynamicDateOption
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.103.1
23
+ * @version 1.106.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.92
@@ -24,7 +24,7 @@ sap.ui.define(['./ListItemBase', './library', './CustomListItemRenderer'],
24
24
  * @extends sap.m.ListItemBase
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.1
27
+ * @version 1.106.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -21,7 +21,7 @@ sap.ui.define(['./Tile', './library', './CustomTileRenderer'],
21
21
  * Use the CustomTile control to display application specific content in the Tile control.
22
22
  * The tile width is 8.5em and height is 10em.
23
23
  * @extends sap.m.Tile
24
- * @version 1.103.1
24
+ * @version 1.106.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * <code>Table, Form</code> etc, should not be aggregated as content.
24
24
  * @extends sap.m.TreeItemBase
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  * @constructor
28
28
  * @public
29
29
  * @since 1.48.0
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -15,7 +15,6 @@ sap.ui.define([
15
15
  './DateTimeField',
16
16
  './Button',
17
17
  './ResponsivePopover',
18
- "./ValueStateHeader",
19
18
  'sap/ui/core/date/UniversalDate',
20
19
  './library',
21
20
  'sap/ui/core/Control',
@@ -46,7 +45,6 @@ sap.ui.define([
46
45
  DateTimeField,
47
46
  Button,
48
47
  ResponsivePopover,
49
- ValueStateHeader,
50
48
  UniversalDate,
51
49
  library,
52
50
  Control,
@@ -152,7 +150,7 @@ sap.ui.define([
152
150
  * the close event), or select Cancel.
153
151
  *
154
152
  * @extends sap.m.DateTimeField
155
- * @version 1.103.1
153
+ * @version 1.106.0
156
154
  *
157
155
  * @constructor
158
156
  * @public
@@ -919,8 +917,8 @@ sap.ui.define([
919
917
  * Removes a <code>specialDate</code> from the aggregation <code>specialDates</code>.
920
918
  *
921
919
  * @since 1.38.5
922
- * @param {sap.ui.unified.DateTypeRange} oSpecialDate The <code>specialDate</code> to remove or its index or id
923
- * @return {sap.ui.unified.DateTypeRange} The removed <code>specialDate</code> or null
920
+ * @param {sap.ui.unified.DateTypeRange} oSpecialDate The <code>specialDate</code> to remove or its index or ID
921
+ * @returns {sap.ui.unified.DateTypeRange|null} The removed <code>specialDate</code> or <code>null</code>
924
922
  * @public
925
923
  */
926
924
  DatePicker.prototype.removeSpecialDate = function(oSpecialDate){
@@ -1060,22 +1058,9 @@ sap.ui.define([
1060
1058
 
1061
1059
  };
1062
1060
 
1063
- // overwrite _getInputValue to do the conversion there
1064
- DatePicker.prototype._getInputValue = function(sValue) {
1065
-
1066
- sValue = (typeof sValue == "undefined") ? this._$input.val() : sValue.toString();
1067
-
1068
- var oDate = this._parseValue(sValue, true);
1069
- sValue = this._formatValue(oDate, true);
1070
-
1071
- return sValue;
1072
-
1073
- };
1074
-
1075
- // overwrite _getInputValue to do the output conversion
1076
1061
  DatePicker.prototype.updateDomValue = function(sValue) {
1077
1062
 
1078
- if (this.isActive() && (this._$input.val() !== sValue)) {
1063
+ if (this.isActive() && this._$input.val() !== sValue) {
1079
1064
  // dom value updated other than value property
1080
1065
  this._bCheckDomValue = true;
1081
1066
 
@@ -1085,11 +1070,18 @@ sap.ui.define([
1085
1070
  var oDate = this._parseValue(sValue, true);
1086
1071
  sValue = this._formatValue(oDate);
1087
1072
 
1088
- // update the DOM value when necessary
1089
- // otherwise cursor can goto end of text unnecessarily
1090
- this._$input.val(sValue);
1091
- if (document.activeElement === this._$input[0]) {
1092
- this._$input.cursorPos(this._curpos);
1073
+ // if set to true, handle the user input and data
1074
+ // model updates concurrency in order to not overwrite
1075
+ // values coming from the user
1076
+ if (this._bPreferUserInteraction) {
1077
+ this.handleInputValueConcurrency(sValue);
1078
+ } else {
1079
+ // update the DOM value when necessary
1080
+ // otherwise cursor can goto end of text unnecessarily
1081
+ this._$input.val(sValue);
1082
+ if (document.activeElement === this._$input[0]) {
1083
+ this._$input.cursorPos(this._curpos);
1084
+ }
1093
1085
  }
1094
1086
  }
1095
1087
 
@@ -1608,8 +1600,6 @@ sap.ui.define([
1608
1600
  this.addStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
1609
1601
  this._renderedDays = this._getCalendar().$("-Month0-days").find(".sapUiCalItem").length;
1610
1602
 
1611
- this.$("inner").attr("aria-owns", this.getId() + "-cal");
1612
-
1613
1603
  InstanceManager.addPopoverInstance(this._oPopup);
1614
1604
 
1615
1605
  this._oCalendar.focus();
@@ -128,8 +128,8 @@ sap.ui.define([
128
128
  * compact mode and provides a touch-friendly size in cozy mode.
129
129
  *
130
130
  * @extends sap.m.DatePicker
131
- * @version 1.103.1
132
- * @version 1.103.1
131
+ * @version 1.106.0
132
+ * @version 1.106.0
133
133
  *
134
134
  * @constructor
135
135
  * @public
@@ -297,14 +297,26 @@ sap.ui.define([
297
297
  * @public
298
298
  */
299
299
  DateRangeSelection.prototype.setValue = function(sValue) {
300
+ sValue = this.validateProperty("value", sValue);
300
301
 
301
302
  if (sValue !== this.getValue()) {
302
303
  this.setLastValue(sValue);
303
304
  } else {
304
305
  return this;
305
306
  }
306
- // Set the property in any case but check validity on output
307
- this.setProperty("value", sValue);
307
+
308
+ var aDates = this._parseAndValidateValue(sValue);
309
+ this.setProperty("dateValue", _normalizeDateValue(aDates[0]), this._bPreferUserInteraction);
310
+ this.setProperty("secondDateValue", _normalizeDateValue(aDates[1]), this._bPreferUserInteraction);
311
+
312
+ this._formatValueAndUpdateOutput(aDates);
313
+ this.setProperty("value", sValue, this._bPreferUserInteraction);
314
+
315
+ return this;
316
+
317
+ };
318
+
319
+ DateRangeSelection.prototype._parseAndValidateValue = function(sValue) {
308
320
  this._bValid = true;
309
321
 
310
322
  // Convert to date object(s)
@@ -318,22 +330,27 @@ sap.ui.define([
318
330
  }
319
331
  }
320
332
 
321
- this.setProperty("dateValue", _normalizeDateValue(aDates[0]));
322
- this.setProperty("secondDateValue", _normalizeDateValue(aDates[1]));
323
-
324
- // Do not call InputBase.setValue because the displayed value and the output value might have different pattern
325
- if (this.getDomRef()) {
326
- // Convert to output
327
- var sOutputValue = this._formatValue(aDates[0], aDates[1]);
333
+ return aDates;
334
+ };
328
335
 
329
- if (this._$input.val() !== sOutputValue) {
330
- this._$input.val(sOutputValue);
331
- this._curpos = this._$input.cursorPos();
332
- }
336
+ DateRangeSelection.prototype._formatValueAndUpdateOutput = function(aDates) {
337
+ if (!this.getDomRef()) {
338
+ return;
333
339
  }
334
340
 
335
- return this;
341
+ // Convert to output
342
+ var sOutputValue = this._formatValue(aDates[0], aDates[1]);
336
343
 
344
+ if (this._bPreferUserInteraction) {
345
+ // Handle the value concurrency before setting the value property of the control,
346
+ // in order to distinguish whether the user only focused the input field or typed in it
347
+ this.handleInputValueConcurrency(sOutputValue);
348
+ } else if (this._$input.val() !== sOutputValue) {
349
+ // update the DOM value when necessary
350
+ // otherwise cursor can go to the end of text unnecessarily
351
+ this._$input.val(sOutputValue);
352
+ this._curpos = this._$input.cursorPos();
353
+ }
337
354
  };
338
355
 
339
356
  /**
@@ -766,23 +783,6 @@ sap.ui.define([
766
783
 
767
784
  };
768
785
 
769
- // Overwrite DatePicker's _getInputValue to support two date range processing
770
- DateRangeSelection.prototype._getInputValue = function(sValue) {
771
-
772
- sValue = (typeof sValue == "undefined") ? this._$input.val() : sValue.toString();
773
-
774
- if (!sValue) {
775
- return "";
776
- }
777
-
778
- var aDates = this._parseValue(sValue);
779
- sValue = this._formatValue( aDates[0], aDates[1]);
780
-
781
- return sValue;
782
-
783
- };
784
-
785
- // overwrite _getInputValue to do the output conversion
786
786
  DateRangeSelection.prototype.updateDomValue = function(sValue) {
787
787
 
788
788
  // dom value updated other than value property
@@ -794,11 +794,18 @@ sap.ui.define([
794
794
  var aDates = this._parseValue(sValue);
795
795
  sValue = this._formatValue( aDates[0], aDates[1]);
796
796
 
797
- // update the DOM value when necessary
798
- // otherwise cursor can goto end of text unnecessarily
799
- if (this.isActive() && (this._$input.val() !== sValue)) {
800
- this._$input.val(sValue);
801
- this._$input.cursorPos(this._curpos);
797
+ // if set to true, handle the user input and data
798
+ // model updates concurrency in order to not overwrite
799
+ // values coming from the user
800
+ if (this._bPreferUserInteraction) {
801
+ this.handleInputValueConcurrency(sValue);
802
+ } else {
803
+ // update the DOM value when necessary
804
+ // otherwise cursor can goto end of text unnecessarily
805
+ if (this.isActive() && (this._$input.val() !== sValue)) {
806
+ this._$input.val(sValue);
807
+ this._$input.cursorPos(this._curpos);
808
+ }
802
809
  }
803
810
 
804
811
  return this;
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.m.InputBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.103.1
62
+ * @version 1.106.0
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -108,6 +108,28 @@ sap.ui.define([
108
108
  * @since 1.54
109
109
  */
110
110
  initialFocusedDateValue: {type: "object", group: "Data", defaultValue: null}
111
+ },
112
+ events : {
113
+
114
+ /**
115
+ * Fired when the value of the <code>DateTimeField</code> is changed by user interaction - each keystroke, delete, paste, etc.
116
+ *
117
+ * <b>Note:</b> Browsing autocomplete suggestions doesn't fire the event.
118
+ * @since 1.104.0
119
+ */
120
+ liveChange: {
121
+ parameters : {
122
+ /**
123
+ * The current value of the input, after a live change event.
124
+ */
125
+ value: {type : "string"},
126
+
127
+ /**
128
+ * The previous value of the input, before the last user interaction.
129
+ */
130
+ previousValue: {type : "string"}
131
+ }
132
+ }
111
133
  }
112
134
  }
113
135
  });
@@ -123,8 +145,18 @@ sap.ui.define([
123
145
  this.setLastValue(sValue);
124
146
  }
125
147
 
126
- // set the property in any case but check validity on output
127
- this.setProperty("value", sValue);
148
+ // convert to date object and check validity on output
149
+ var oDate = this._parseAndValidateValue(sValue);
150
+ this.setProperty("dateValue", oDate, this._bPreferUserInteraction);
151
+
152
+ // do not call InputBase.setValue because the displayed value and the output value might have different pattern
153
+ this._formatValueAndUpdateOutput(oDate, sValue);
154
+ this.setProperty("value", sValue, this._bPreferUserInteraction);
155
+
156
+ return this;
157
+ };
158
+
159
+ DateTimeField.prototype._parseAndValidateValue = function(sValue) {
128
160
  this._bValid = true;
129
161
 
130
162
  // convert to date object
@@ -146,25 +178,26 @@ sap.ui.define([
146
178
  }
147
179
  }
148
180
 
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
- }
181
+ return oDate;
182
+ };
160
183
 
161
- if (this._$input.val() !== sOutputValue) {
162
- this._$input.val(sOutputValue);
163
- this._curpos = this._$input.cursorPos();
164
- }
184
+ DateTimeField.prototype._formatValueAndUpdateOutput = function(oDate, sValue) {
185
+ if (!this.getDomRef()) {
186
+ return;
187
+ }
188
+ // convert to output
189
+ var sOutputValue = oDate ? this._formatValue(oDate) : sValue;
190
+
191
+ if (this._bPreferUserInteraction) {
192
+ // Handle the value concurrency before setting the value property of the control,
193
+ // in order to distinguish whether the user only focused the input field or typed in it
194
+ this.handleInputValueConcurrency(sOutputValue);
195
+ } else if (this._$input.val() !== sOutputValue) {
196
+ // update the DOM value when necessary
197
+ // otherwise cursor can go to the end of text unnecessarily
198
+ this._$input.val(sOutputValue);
199
+ this._curpos = this._$input.cursorPos();
165
200
  }
166
-
167
- return this;
168
201
  };
169
202
 
170
203
  DateTimeField.prototype.setDateValue = function (oDate) {
@@ -245,6 +278,40 @@ sap.ui.define([
245
278
  .setVisible(this.getValueState() !== ValueState.None);
246
279
  }
247
280
 
281
+ this._sPreviousValue = this.getDOMValue();
282
+ };
283
+
284
+ /**
285
+ * Event handler for user input.
286
+ *
287
+ * @public
288
+ * @param {jQuery.Event} oEvent User input.
289
+ */
290
+ DateTimeField.prototype.oninput = function(oEvent) {
291
+ InputBase.prototype.oninput.call(this, oEvent);
292
+ if (oEvent.isMarked("invalid")) {
293
+ return;
294
+ }
295
+
296
+ var sValue = this.getDOMValue();
297
+
298
+ if (sValue !== this._sPreviousValue) {
299
+ this.fireLiveChange({
300
+ value: sValue,
301
+ previousValue : this._sPreviousValue
302
+ });
303
+ this._sPreviousValue = sValue;
304
+ }
305
+ };
306
+
307
+ /**
308
+ * Gets the inner input DOM value.
309
+ *
310
+ * @protected
311
+ * @returns {any} The value of the input.
312
+ */
313
+ DateTimeField.prototype.getDOMValue = function() {
314
+ return this._$input.val();
248
315
  };
249
316
 
250
317
  DateTimeField.prototype._getValueStateHeader = function () {
@@ -62,7 +62,7 @@ function(
62
62
  * @extends sap.ui.core.Control
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.103.1
65
+ * @version 1.106.0
66
66
  *
67
67
  * @constructor
68
68
  * @public