@openui5/sap.m 1.100.0 → 1.101.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 (456) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +10 -3
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +6 -5
  13. package/src/sap/m/Breadcrumbs.js +1 -1
  14. package/src/sap/m/BreadcrumbsRenderer.js +0 -5
  15. package/src/sap/m/BusyDialog.js +1 -1
  16. package/src/sap/m/BusyIndicator.js +1 -1
  17. package/src/sap/m/Button.js +1 -1
  18. package/src/sap/m/Carousel.js +4 -1
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CarouselRenderer.js +2 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +1 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnListItemRenderer.js +1 -0
  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 +1 -1
  34. package/src/sap/m/ComboBoxBase.js +4 -2
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +33 -5
  41. package/src/sap/m/DatePickerRenderer.js +0 -1
  42. package/src/sap/m/DateRangeSelection.js +42 -4
  43. package/src/sap/m/DateTimeField.js +1 -1
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +35 -49
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +20 -7
  48. package/src/sap/m/DisplayListItem.js +1 -1
  49. package/src/sap/m/DraftIndicator.js +1 -1
  50. package/src/sap/m/DynamicDate.js +1 -1
  51. package/src/sap/m/DynamicDateOption.js +12 -2
  52. package/src/sap/m/DynamicDateRange.js +56 -15
  53. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  54. package/src/sap/m/ExpandableText.js +1 -1
  55. package/src/sap/m/FacetFilter.js +1 -1
  56. package/src/sap/m/FacetFilterItem.js +1 -1
  57. package/src/sap/m/FacetFilterList.js +1 -1
  58. package/src/sap/m/FeedContent.js +1 -1
  59. package/src/sap/m/FeedInput.js +2 -2
  60. package/src/sap/m/FeedListItem.js +1 -1
  61. package/src/sap/m/FeedListItemAction.js +1 -1
  62. package/src/sap/m/Fiori20Adapter.js +2 -2
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +1 -1
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +1 -1
  67. package/src/sap/m/GenericTagRenderer.js +10 -2
  68. package/src/sap/m/GenericTile.js +44 -4
  69. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  70. package/src/sap/m/GenericTileRenderer.js +79 -28
  71. package/src/sap/m/GroupHeaderListItem.js +1 -1
  72. package/src/sap/m/GrowingList.js +1 -1
  73. package/src/sap/m/HBox.js +1 -1
  74. package/src/sap/m/HeaderContainer.js +29 -13
  75. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  76. package/src/sap/m/IconTabBar.js +2 -2
  77. package/src/sap/m/IconTabBarSelectList.js +1 -1
  78. package/src/sap/m/IconTabFilter.js +1 -1
  79. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  80. package/src/sap/m/IconTabHeader.js +1 -1
  81. package/src/sap/m/IconTabSeparator.js +1 -1
  82. package/src/sap/m/IllustratedMessage.js +19 -1
  83. package/src/sap/m/Illustration.js +1 -1
  84. package/src/sap/m/Image.js +1 -1
  85. package/src/sap/m/ImageContent.js +1 -1
  86. package/src/sap/m/Input.js +4 -10
  87. package/src/sap/m/InputBase.js +1 -1
  88. package/src/sap/m/InputListItem.js +1 -1
  89. package/src/sap/m/Label.js +1 -1
  90. package/src/sap/m/LightBox.js +1 -1
  91. package/src/sap/m/LightBoxItem.js +1 -1
  92. package/src/sap/m/Link.js +1 -1
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +36 -5
  95. package/src/sap/m/ListBaseRenderer.js +19 -3
  96. package/src/sap/m/ListItemBase.js +3 -2
  97. package/src/sap/m/MaskEnabler.js +1 -1
  98. package/src/sap/m/MaskInput.js +1 -1
  99. package/src/sap/m/MaskInputRule.js +1 -1
  100. package/src/sap/m/Menu.js +1 -1
  101. package/src/sap/m/MenuButton.js +5 -1
  102. package/src/sap/m/MenuItem.js +1 -1
  103. package/src/sap/m/MenuListItem.js +1 -1
  104. package/src/sap/m/MessageBox.js +1 -1
  105. package/src/sap/m/MessageItem.js +1 -1
  106. package/src/sap/m/MessageListItem.js +1 -1
  107. package/src/sap/m/MessagePage.js +1 -1
  108. package/src/sap/m/MessagePopover.js +18 -36
  109. package/src/sap/m/MessagePopoverItem.js +1 -1
  110. package/src/sap/m/MessageStrip.js +1 -1
  111. package/src/sap/m/MessageToast.js +1 -1
  112. package/src/sap/m/MessageView.js +1 -1
  113. package/src/sap/m/MultiComboBox.js +3 -2
  114. package/src/sap/m/MultiEditField.js +1 -1
  115. package/src/sap/m/MultiInput.js +1 -1
  116. package/src/sap/m/NavContainer.js +40 -40
  117. package/src/sap/m/NewsContent.js +1 -1
  118. package/src/sap/m/NotificationList.js +1 -1
  119. package/src/sap/m/NotificationListBase.js +1 -1
  120. package/src/sap/m/NotificationListGroup.js +1 -1
  121. package/src/sap/m/NotificationListItem.js +1 -1
  122. package/src/sap/m/NumericContent.js +1 -1
  123. package/src/sap/m/NumericInput.js +3 -2
  124. package/src/sap/m/NumericInputRenderer.js +13 -1
  125. package/src/sap/m/ObjectAttribute.js +1 -1
  126. package/src/sap/m/ObjectHeader.js +1 -1
  127. package/src/sap/m/ObjectIdentifier.js +1 -1
  128. package/src/sap/m/ObjectListItem.js +1 -1
  129. package/src/sap/m/ObjectMarker.js +34 -10
  130. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  131. package/src/sap/m/ObjectNumber.js +1 -1
  132. package/src/sap/m/ObjectStatus.js +1 -1
  133. package/src/sap/m/OverflowToolbar.js +1 -1
  134. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  135. package/src/sap/m/OverflowToolbarButton.js +1 -1
  136. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  137. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  138. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  139. package/src/sap/m/P13nColumnsItem.js +1 -1
  140. package/src/sap/m/P13nColumnsPanel.js +1 -1
  141. package/src/sap/m/P13nConditionPanel.js +1 -1
  142. package/src/sap/m/P13nDialog.js +1 -1
  143. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  144. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  145. package/src/sap/m/P13nFilterItem.js +1 -1
  146. package/src/sap/m/P13nFilterPanel.js +1 -1
  147. package/src/sap/m/P13nGroupItem.js +1 -1
  148. package/src/sap/m/P13nGroupPanel.js +1 -1
  149. package/src/sap/m/P13nItem.js +1 -1
  150. package/src/sap/m/P13nPanel.js +1 -1
  151. package/src/sap/m/P13nSelectionItem.js +1 -1
  152. package/src/sap/m/P13nSelectionPanel.js +1 -1
  153. package/src/sap/m/P13nSortItem.js +1 -1
  154. package/src/sap/m/P13nSortPanel.js +1 -1
  155. package/src/sap/m/PDFViewer.js +3 -3
  156. package/src/sap/m/PDFViewerRenderer.js +15 -7
  157. package/src/sap/m/Page.js +1 -1
  158. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  159. package/src/sap/m/PagingButton.js +1 -1
  160. package/src/sap/m/Panel.js +1 -1
  161. package/src/sap/m/PlanningCalendar.js +14 -14
  162. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  163. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  164. package/src/sap/m/PlanningCalendarRow.js +1 -1
  165. package/src/sap/m/PlanningCalendarView.js +1 -1
  166. package/src/sap/m/Popover.js +14 -9
  167. package/src/sap/m/ProgressIndicator.js +1 -1
  168. package/src/sap/m/PullToRefresh.js +1 -1
  169. package/src/sap/m/QuickView.js +1 -1
  170. package/src/sap/m/QuickViewBase.js +1 -1
  171. package/src/sap/m/QuickViewCard.js +1 -1
  172. package/src/sap/m/QuickViewGroup.js +1 -1
  173. package/src/sap/m/QuickViewGroupElement.js +1 -1
  174. package/src/sap/m/QuickViewPage.js +1 -1
  175. package/src/sap/m/RadioButton.js +1 -1
  176. package/src/sap/m/RadioButtonGroup.js +3 -2
  177. package/src/sap/m/RangeSlider.js +14 -2
  178. package/src/sap/m/RatingIndicator.js +1 -1
  179. package/src/sap/m/ResponsivePopover.js +1 -1
  180. package/src/sap/m/ResponsiveScale.js +1 -1
  181. package/src/sap/m/ScrollBar.js +1 -1
  182. package/src/sap/m/ScrollContainer.js +1 -1
  183. package/src/sap/m/SearchField.js +1 -1
  184. package/src/sap/m/SegmentedButton.js +1 -1
  185. package/src/sap/m/SegmentedButtonItem.js +1 -1
  186. package/src/sap/m/Select.js +5 -2
  187. package/src/sap/m/SelectDialog.js +2 -2
  188. package/src/sap/m/SelectDialogBase.js +1 -1
  189. package/src/sap/m/SelectList.js +1 -1
  190. package/src/sap/m/SelectionDetails.js +1 -1
  191. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  192. package/src/sap/m/SelectionDetailsItem.js +1 -1
  193. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  194. package/src/sap/m/Shell.js +1 -1
  195. package/src/sap/m/SimpleFixFlex.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarGrid.js +90 -48
  199. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  200. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  201. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  205. package/src/sap/m/SlideTile.js +1 -1
  206. package/src/sap/m/Slider.js +1 -1
  207. package/src/sap/m/SliderTooltip.js +1 -1
  208. package/src/sap/m/SliderTooltipBase.js +1 -1
  209. package/src/sap/m/SliderTooltipContainer.js +5 -1
  210. package/src/sap/m/SplitApp.js +1 -1
  211. package/src/sap/m/SplitButton.js +1 -1
  212. package/src/sap/m/SplitContainer.js +1 -1
  213. package/src/sap/m/StandardDynamicDateOption.js +25 -4
  214. package/src/sap/m/StandardListItem.js +1 -1
  215. package/src/sap/m/StandardTile.js +1 -1
  216. package/src/sap/m/StandardTreeItem.js +1 -1
  217. package/src/sap/m/StepInput.js +3 -3
  218. package/src/sap/m/SuggestionItem.js +1 -1
  219. package/src/sap/m/SuggestionsPopover.js +5 -13
  220. package/src/sap/m/Switch.js +1 -1
  221. package/src/sap/m/TabContainer.js +1 -1
  222. package/src/sap/m/TabContainerItem.js +1 -1
  223. package/src/sap/m/TabStrip.js +1 -1
  224. package/src/sap/m/TabStripItem.js +1 -1
  225. package/src/sap/m/Table.js +34 -3
  226. package/src/sap/m/TablePersoController.js +1 -1
  227. package/src/sap/m/TablePersoDialog.js +1 -1
  228. package/src/sap/m/TablePersoProvider.js +1 -1
  229. package/src/sap/m/TableRenderer.js +9 -4
  230. package/src/sap/m/TableSelectDialog.js +2 -2
  231. package/src/sap/m/Text.js +1 -1
  232. package/src/sap/m/TextArea.js +1 -1
  233. package/src/sap/m/Tile.js +1 -1
  234. package/src/sap/m/TileContainer.js +1 -1
  235. package/src/sap/m/TileContent.js +1 -1
  236. package/src/sap/m/TimePicker.js +2 -54
  237. package/src/sap/m/TimePickerClock.js +1 -1
  238. package/src/sap/m/TimePickerClocks.js +1 -1
  239. package/src/sap/m/TimePickerInputs.js +1 -1
  240. package/src/sap/m/TimePickerInternals.js +1 -1
  241. package/src/sap/m/TimePickerRenderer.js +0 -1
  242. package/src/sap/m/TimePickerSlider.js +1 -1
  243. package/src/sap/m/TimePickerSliders.js +1 -1
  244. package/src/sap/m/Title.js +1 -1
  245. package/src/sap/m/TitlePropagationSupport.js +1 -1
  246. package/src/sap/m/ToggleButton.js +1 -1
  247. package/src/sap/m/Token.js +1 -1
  248. package/src/sap/m/Tokenizer.js +2 -1
  249. package/src/sap/m/Toolbar.js +1 -1
  250. package/src/sap/m/ToolbarLayoutData.js +1 -1
  251. package/src/sap/m/ToolbarSeparator.js +1 -1
  252. package/src/sap/m/ToolbarSpacer.js +1 -1
  253. package/src/sap/m/Tree.js +1 -1
  254. package/src/sap/m/TreeItemBase.js +1 -1
  255. package/src/sap/m/UploadCollection.js +1 -1
  256. package/src/sap/m/UploadCollectionItem.js +1 -1
  257. package/src/sap/m/UploadCollectionParameter.js +1 -1
  258. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  259. package/src/sap/m/VBox.js +1 -1
  260. package/src/sap/m/ValueStateHeader.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  262. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  263. package/src/sap/m/ViewSettingsDialog.js +7 -8
  264. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  265. package/src/sap/m/ViewSettingsItem.js +1 -1
  266. package/src/sap/m/VisibleItem.js +2 -2
  267. package/src/sap/m/WheelSlider.js +1 -1
  268. package/src/sap/m/WheelSliderContainer.js +1 -1
  269. package/src/sap/m/Wizard.js +22 -4
  270. package/src/sap/m/WizardProgressNavigator.js +10 -3
  271. package/src/sap/m/WizardStep.js +1 -1
  272. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  273. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  274. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  275. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  276. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  277. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  278. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  279. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  280. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  281. package/src/sap/m/library.js +12 -19
  282. package/src/sap/m/messagebundle.properties +25 -16
  283. package/src/sap/m/messagebundle_ar.properties +11 -13
  284. package/src/sap/m/messagebundle_bg.properties +11 -13
  285. package/src/sap/m/messagebundle_ca.properties +11 -13
  286. package/src/sap/m/messagebundle_cs.properties +11 -13
  287. package/src/sap/m/messagebundle_cy.properties +11 -13
  288. package/src/sap/m/messagebundle_da.properties +11 -13
  289. package/src/sap/m/messagebundle_de.properties +11 -13
  290. package/src/sap/m/messagebundle_el.properties +11 -13
  291. package/src/sap/m/messagebundle_en.properties +10 -12
  292. package/src/sap/m/messagebundle_en_GB.properties +10 -12
  293. package/src/sap/m/messagebundle_en_US_sappsd.properties +9 -11
  294. package/src/sap/m/messagebundle_en_US_saprigi.properties +9 -11
  295. package/src/sap/m/messagebundle_en_US_saptrc.properties +9 -11
  296. package/src/sap/m/messagebundle_es.properties +11 -13
  297. package/src/sap/m/messagebundle_es_MX.properties +11 -13
  298. package/src/sap/m/messagebundle_et.properties +11 -13
  299. package/src/sap/m/messagebundle_fi.properties +10 -12
  300. package/src/sap/m/messagebundle_fr.properties +11 -13
  301. package/src/sap/m/messagebundle_fr_CA.properties +11 -13
  302. package/src/sap/m/messagebundle_hi.properties +11 -13
  303. package/src/sap/m/messagebundle_hr.properties +11 -13
  304. package/src/sap/m/messagebundle_hu.properties +11 -13
  305. package/src/sap/m/messagebundle_id.properties +11 -13
  306. package/src/sap/m/messagebundle_it.properties +18 -20
  307. package/src/sap/m/messagebundle_iw.properties +11 -13
  308. package/src/sap/m/messagebundle_ja.properties +11 -13
  309. package/src/sap/m/messagebundle_kk.properties +11 -13
  310. package/src/sap/m/messagebundle_ko.properties +12 -14
  311. package/src/sap/m/messagebundle_lt.properties +11 -13
  312. package/src/sap/m/messagebundle_lv.properties +10 -12
  313. package/src/sap/m/messagebundle_ms.properties +11 -13
  314. package/src/sap/m/messagebundle_nl.properties +10 -12
  315. package/src/sap/m/messagebundle_no.properties +11 -13
  316. package/src/sap/m/messagebundle_pl.properties +11 -13
  317. package/src/sap/m/messagebundle_pt.properties +11 -13
  318. package/src/sap/m/messagebundle_pt_PT.properties +11 -13
  319. package/src/sap/m/messagebundle_ro.properties +11 -13
  320. package/src/sap/m/messagebundle_ru.properties +11 -13
  321. package/src/sap/m/messagebundle_sh.properties +11 -13
  322. package/src/sap/m/messagebundle_sk.properties +11 -13
  323. package/src/sap/m/messagebundle_sl.properties +11 -13
  324. package/src/sap/m/messagebundle_sv.properties +12 -14
  325. package/src/sap/m/messagebundle_th.properties +11 -13
  326. package/src/sap/m/messagebundle_tr.properties +11 -13
  327. package/src/sap/m/messagebundle_uk.properties +11 -13
  328. package/src/sap/m/messagebundle_vi.properties +11 -13
  329. package/src/sap/m/messagebundle_zh_CN.properties +11 -13
  330. package/src/sap/m/messagebundle_zh_TW.properties +11 -13
  331. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  332. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  333. package/src/sap/m/p13n/BasePanel.js +9 -3
  334. package/src/sap/m/p13n/Container.js +11 -4
  335. package/src/sap/m/p13n/GroupPanel.js +2 -1
  336. package/src/sap/m/p13n/Popup.js +9 -2
  337. package/src/sap/m/p13n/QueryPanel.js +38 -8
  338. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  339. package/src/sap/m/p13n/SortPanel.js +4 -1
  340. package/src/sap/m/plugins/ColumnResizer.js +31 -2
  341. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  342. package/src/sap/m/plugins/PasteProvider.js +1 -1
  343. package/src/sap/m/plugins/PluginBase.js +1 -1
  344. package/src/sap/m/semantic/AddAction.js +1 -1
  345. package/src/sap/m/semantic/CancelAction.js +1 -1
  346. package/src/sap/m/semantic/DeleteAction.js +1 -1
  347. package/src/sap/m/semantic/DetailPage.js +1 -1
  348. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  349. package/src/sap/m/semantic/EditAction.js +1 -1
  350. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  351. package/src/sap/m/semantic/FilterAction.js +1 -1
  352. package/src/sap/m/semantic/FilterSelect.js +1 -1
  353. package/src/sap/m/semantic/FlagAction.js +1 -1
  354. package/src/sap/m/semantic/ForwardAction.js +1 -1
  355. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  356. package/src/sap/m/semantic/GroupAction.js +1 -1
  357. package/src/sap/m/semantic/GroupSelect.js +1 -1
  358. package/src/sap/m/semantic/MainAction.js +1 -1
  359. package/src/sap/m/semantic/MasterPage.js +1 -1
  360. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  361. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  362. package/src/sap/m/semantic/NegativeAction.js +1 -1
  363. package/src/sap/m/semantic/OpenInAction.js +1 -1
  364. package/src/sap/m/semantic/PositiveAction.js +1 -1
  365. package/src/sap/m/semantic/PrintAction.js +1 -1
  366. package/src/sap/m/semantic/SaveAction.js +1 -1
  367. package/src/sap/m/semantic/Segment.js +1 -1
  368. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  369. package/src/sap/m/semantic/SemanticButton.js +1 -1
  370. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  371. package/src/sap/m/semantic/SemanticControl.js +1 -1
  372. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  373. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  374. package/src/sap/m/semantic/SemanticPage.js +1 -1
  375. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  376. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  377. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  378. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  379. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  380. package/src/sap/m/semantic/ShareMenu.js +1 -1
  381. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  382. package/src/sap/m/semantic/SortAction.js +1 -1
  383. package/src/sap/m/semantic/SortSelect.js +1 -1
  384. package/src/sap/m/table/Util.js +84 -6
  385. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  386. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  387. package/src/sap/m/table/columnmenu/Item.js +1 -1
  388. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  389. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  390. package/src/sap/m/table/columnmenu/Menu.js +197 -23
  391. package/src/sap/m/table/columnmenu/MenuRenderer.js +1 -25
  392. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  393. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  394. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  395. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  396. package/src/sap/m/table/columnmenu/QuickGroup.js +29 -16
  397. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  398. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  399. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  400. package/src/sap/m/table/columnmenu/QuickTotal.js +32 -17
  401. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  402. package/src/sap/m/themes/base/Avatar.less +11 -5
  403. package/src/sap/m/themes/base/CheckBox.less +0 -1
  404. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  405. package/src/sap/m/themes/base/Dialog.less +4 -6
  406. package/src/sap/m/themes/base/GenericTile.less +370 -55
  407. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  408. package/src/sap/m/themes/base/Input.less +1 -1
  409. package/src/sap/m/themes/base/InputBase.less +112 -10
  410. package/src/sap/m/themes/base/Label.less +3 -0
  411. package/src/sap/m/themes/base/Link.less +12 -4
  412. package/src/sap/m/themes/base/ListBase.less +4 -0
  413. package/src/sap/m/themes/base/MultiInput.less +1 -1
  414. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  415. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  416. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  417. package/src/sap/m/themes/base/Popover.less +10 -7
  418. package/src/sap/m/themes/base/RadioButton.less +21 -3
  419. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  420. package/src/sap/m/themes/base/TextArea.less +27 -0
  421. package/src/sap/m/themes/base/Token.less +14 -13
  422. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  423. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  424. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  439. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  440. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  441. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  442. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  443. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  444. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  445. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  446. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  447. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  448. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  449. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  450. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  451. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  452. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  453. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  454. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  455. package/src/sap/m/upload/UploadSet.js +91 -21
  456. package/src/sap/m/upload/UploadSetItem.js +11 -1
@@ -100,7 +100,7 @@ function(
100
100
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
101
101
  *
102
102
  * @author SAP SE
103
- * @version 1.100.0
103
+ * @version 1.101.0
104
104
  *
105
105
  * @constructor
106
106
  * @public
@@ -197,6 +197,8 @@ function(
197
197
  * <li> Invalid or missing <code>selectedKey</code> leads to severe functional
198
198
  * issues in <code>sap.ui.table.Table</code>, when the <code>sap.m.Select</code> is used inside a
199
199
  * <code>sap.ui.table.Table</code> column.</li>
200
+ * <li> If an item with the default key exists and we try to select it, it happens only if the
201
+ * <code>forceSelection</code> property is set to <code>true</code>.</li>
200
202
  * </ul>
201
203
  *
202
204
  * @since 1.11
@@ -2828,7 +2830,8 @@ function(
2828
2830
  * an empty string <code>""</code> or <code>undefined</code>, the value of <code>sKey</code> is changed to match
2829
2831
  * the <code>key</code> of the first enabled item and the first enabled item is selected (if any items exist).
2830
2832
  *
2831
- * In the case that an item has the default key value and <code>forceSelection</code> property is set to <code>true</code>, it is selected instead.
2833
+ * If an item with the default key exists and we try to select it, it happens only if the
2834
+ * <code>forceSelection</code> property is set to <code>true</code>.
2832
2835
  * If duplicate keys exist, the first item matching the key is selected.
2833
2836
  *
2834
2837
  * @returns {this} <code>this</code> to allow method chaining.
@@ -108,11 +108,11 @@ function(
108
108
  * <li> On phones, the select dialog takes up the whole screen. </li>
109
109
  * <li> On desktop and tablet devices, the select dialog appears as a popover. </li>
110
110
  * </ul>
111
- * When using the <code>sap.m.SelectDialog</code> in SAP Quartz themes, the breakpoints and layout paddings could be determined by the dialog's width. To enable this concept and add responsive paddings to an element of the control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
111
+ * When using the <code>sap.m.SelectDialog</code> in SAP Quartz and Horizon themes, the breakpoints and layout paddings could be determined by the dialog's width. To enable this concept and add responsive paddings to an element of the control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
112
112
  * @extends sap.m.SelectDialogBase
113
113
  *
114
114
  * @author SAP SE
115
- * @version 1.100.0
115
+ * @version 1.101.0
116
116
  *
117
117
  * @constructor
118
118
  * @public
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.100.0
30
+ * @version 1.101.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.100.0
40
+ * @version 1.101.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -37,7 +37,7 @@ function(
37
37
  * <b><i>Note:</i></b>It is protected and should only be used within the framework itself.
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.100.0
40
+ * @version 1.101.0
41
41
  *
42
42
  * @extends sap.ui.core.Control
43
43
  * @constructor
@@ -10,7 +10,7 @@
10
10
  * @since 1.48.0
11
11
  * @public
12
12
  * @author SAP SE
13
- * @version 1.100.0
13
+ * @version 1.101.0
14
14
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
15
15
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
16
16
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -45,7 +45,7 @@
45
45
  * @since 1.48.0
46
46
  * @public
47
47
  * @author SAP SE
48
- * @version 1.100.0
48
+ * @version 1.101.0
49
49
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
50
50
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
51
51
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Element
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.100.0
61
+ * @version 1.101.0
62
62
  *
63
63
  * @constructor
64
64
  * @protected
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/Element", "sap/base/Log", "sap/base/util/isPlainObje
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.100.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @constructor
29
29
  * @protected
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * The Shell control can be used as root element of applications. It can contain an App or a <code>SplitApp</code> control.
36
36
  * The Shell provides some overarching functionality for the overall application and takes care of visual adaptation, such as a frame around the App, on desktop browser platforms.
37
37
  * @extends sap.ui.core.Control
38
- * @version 1.100.0
38
+ * @version 1.101.0
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -31,7 +31,7 @@ function (Control, ResizeHandler, Log /**, SimpleFixFlexRenderer */) {
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.100.0
34
+ * @version 1.101.0
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -104,7 +104,7 @@ function(
104
104
  * @extends sap.ui.core.Control
105
105
  *
106
106
  * @author SAP SE
107
- * @version 1.100.0
107
+ * @version 1.101.0
108
108
  *
109
109
  * @constructor
110
110
  * @public
@@ -25,7 +25,7 @@ function (library, SinglePlanningCalendarView) {
25
25
  * @extends sap.m.SinglePlanningCalendarView
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.100.0
28
+ * @version 1.101.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -12,6 +12,8 @@ sap.ui.define([
12
12
  'sap/ui/core/Locale',
13
13
  'sap/ui/core/InvisibleText',
14
14
  'sap/ui/core/format/DateFormat',
15
+ 'sap/ui/core/format/TimezoneUtil',
16
+ 'sap/ui/core/Core',
15
17
  'sap/ui/core/date/UniversalDate',
16
18
  'sap/ui/core/dnd/DragInfo',
17
19
  'sap/ui/core/dnd/DropInfo',
@@ -26,7 +28,9 @@ sap.ui.define([
26
28
  './SinglePlanningCalendarGridRenderer',
27
29
  'sap/ui/core/delegate/ItemNavigation',
28
30
  "sap/ui/thirdparty/jquery",
29
- './PlanningCalendarLegend'
31
+ './PlanningCalendarLegend',
32
+ 'sap/ui/core/InvisibleMessage',
33
+ 'sap/ui/core/library'
30
34
  ],
31
35
  function (
32
36
  SinglePlanningCalendarUtilities,
@@ -35,6 +39,8 @@ sap.ui.define([
35
39
  Locale,
36
40
  InvisibleText,
37
41
  DateFormat,
42
+ TimezoneUtil,
43
+ Core,
38
44
  UniversalDate,
39
45
  DragInfo,
40
46
  DropInfo,
@@ -49,7 +55,9 @@ sap.ui.define([
49
55
  SinglePlanningCalendarGridRenderer,
50
56
  ItemNavigation,
51
57
  jQuery,
52
- PlanningCalendarLegend
58
+ PlanningCalendarLegend,
59
+ InvisibleMessage,
60
+ coreLibrary
53
61
  ) {
54
62
  "use strict";
55
63
 
@@ -63,7 +71,9 @@ sap.ui.define([
63
71
  // 3px height the marker itself + 2x2px on its top and bottom both on cozy & compact
64
72
  DAY_MARKER_HEIGHT = 0.4375, // Unit in rem, equals 7px with default font size
65
73
  FIRST_HOUR_OF_DAY = 0,
66
- LAST_HOUR_OF_DAY = 24;
74
+ LAST_HOUR_OF_DAY = 24,
75
+ InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
76
+
67
77
 
68
78
  /**
69
79
  * Constructor for a new SinglePlanningCalendarGrid.
@@ -96,7 +106,7 @@ sap.ui.define([
96
106
  * @extends sap.ui.core.Control
97
107
  *
98
108
  * @author SAP SE
99
- * @version 1.100.0
109
+ * @version 1.101.0
100
110
  *
101
111
  * @constructor
102
112
  * @private
@@ -392,6 +402,7 @@ sap.ui.define([
392
402
  this._createAppointmentsDndPlaceholders(oStartDate, iColumns);
393
403
  }
394
404
 
405
+ this._oInvisibleMessage = InvisibleMessage.getInstance();
395
406
  };
396
407
 
397
408
  SinglePlanningCalendarGrid.prototype.onmousedown = function(oEvent) {
@@ -433,7 +444,7 @@ sap.ui.define([
433
444
  var oDragSession = oEvent.getParameter("dragSession"),
434
445
  oAppointment = oDragSession.getDragControl(),
435
446
  oDropTarget = oDragSession.getDropControl(),
436
- bIsFullDay = this.isAllDayAppointment(oAppointment.getStartDate(), oAppointment.getEndDate()),
447
+ bIsFullDay = this.isAllDayAppointment(oAppointment._getStartDateWithTimezoneAdaptation(), oAppointment._getEndDateWithTimezoneAdaptation()),
437
448
  fnAlignIndicator = function () {
438
449
  var $Indicator = jQuery(oDragSession.getIndicator()),
439
450
  iAppHeight = oAppointment.$().outerHeight(),
@@ -466,17 +477,17 @@ sap.ui.define([
466
477
  oEndDate,
467
478
  oBrowserEvent = oEvent.getParameter("browserEvent"),
468
479
  bCopy = (oBrowserEvent.metaKey || oBrowserEvent.ctrlKey),
469
- bIsFullDay = this.isAllDayAppointment(oAppointment.getStartDate(), oAppointment.getEndDate());
480
+ bIsFullDay = this.isAllDayAppointment(oAppointment._getStartDateWithTimezoneAdaptation(), oAppointment._getEndDateWithTimezoneAdaptation());
470
481
 
471
482
  oEndDate = new Date(oStartDate);
472
483
 
473
484
  if (bIsFullDay) {
474
- oEndDate.setMilliseconds(oAppointment.getEndDate().getTime() - oAppointment.getStartDate().getTime());
485
+ oEndDate.setMilliseconds(oAppointment._getEndDateWithTimezoneAdaptation().getTime() - oAppointment._getStartDateWithTimezoneAdaptation().getTime());
475
486
  }
476
487
 
477
488
  this.$().find(".sapMSinglePCOverlay").removeClass("sapMSinglePCOverlayDragging");
478
489
 
479
- if (bIsFullDay && oAppointment.getStartDate().getTime() === oStartDate.getTime()) {
490
+ if (bIsFullDay && oAppointment._getStartDateWithTimezoneAdaptation().getTime() === oStartDate.getTime()) {
480
491
  return;
481
492
  }
482
493
 
@@ -519,7 +530,7 @@ sap.ui.define([
519
530
  var oDragSession = oEvent.getParameter("dragSession"),
520
531
  oAppointment = oDragSession.getDragControl(),
521
532
  oDropTarget = oDragSession.getDropControl(),
522
- bIsFullDay = this.isAllDayAppointment(oAppointment.getStartDate(), oAppointment.getEndDate()),
533
+ bIsFullDay = this.isAllDayAppointment(oAppointment._getStartDateWithTimezoneAdaptation(), oAppointment._getEndDateWithTimezoneAdaptation()),
523
534
  fnAlignIndicator = function () {
524
535
  var $Indicator = jQuery(oDragSession.getIndicator()),
525
536
  iAppHeight = oAppointment.$().outerHeight(),
@@ -549,19 +560,19 @@ sap.ui.define([
549
560
  oEndDate,
550
561
  oBrowserEvent = oEvent.getParameter("browserEvent"),
551
562
  bCopy = (oBrowserEvent.metaKey || oBrowserEvent.ctrlKey),
552
- bIsFullDay = this.isAllDayAppointment(oAppointment.getStartDate(), oAppointment.getEndDate());
563
+ bIsFullDay = this.isAllDayAppointment(oAppointment._getStartDateWithTimezoneAdaptation(), oAppointment._getEndDateWithTimezoneAdaptation());
553
564
 
554
565
  oEndDate = new Date(oStartDate);
555
566
 
556
567
  if (bIsFullDay) {
557
568
  oEndDate.setHours(oEndDate.getHours() + 1);
558
569
  } else {
559
- oEndDate.setMilliseconds(oAppointment.getEndDate().getTime() - oAppointment.getStartDate().getTime());
570
+ oEndDate.setMilliseconds(oAppointment._getEndDateWithTimezoneAdaptation().getTime() - oAppointment._getStartDateWithTimezoneAdaptation().getTime());
560
571
  }
561
572
 
562
573
  this.$().find(".sapMSinglePCOverlay").removeClass("sapMSinglePCOverlayDragging");
563
574
 
564
- if (!bIsFullDay && oAppointment.getStartDate().getTime() === oStartDate.getTime()) {
575
+ if (!bIsFullDay && oAppointment._getStartDateWithTimezoneAdaptation().getTime() === oStartDate.getTime()) {
565
576
  return;
566
577
  }
567
578
 
@@ -689,8 +700,8 @@ sap.ui.define([
689
700
  newPos;
690
701
 
691
702
  newPos = this._calcResizeNewHoursAppPos(
692
- oAppointment.getStartDate(),
693
- oAppointment.getEndDate(),
703
+ oAppointment._getStartDateWithTimezoneAdaptation(),
704
+ oAppointment._getEndDateWithTimezoneAdaptation(),
694
705
  iIndex,
695
706
  oDragSession.getComplexData("bottomHandle")
696
707
  );
@@ -705,8 +716,8 @@ sap.ui.define([
705
716
  opacity: 1
706
717
  });
707
718
 
708
- if (oAppointment.getEndDate().getTime() === newPos.endDate.getTime() &&
709
- oAppointment.getStartDate().getTime() === newPos.startDate.getTime()) {
719
+ if (oAppointment._getEndDateWithTimezoneAdaptation().getTime() === newPos.endDate.getTime() &&
720
+ oAppointment._getStartDateWithTimezoneAdaptation().getTime() === newPos.startDate.getTime()) {
710
721
  return;
711
722
  }
712
723
 
@@ -829,11 +840,11 @@ sap.ui.define([
829
840
  drop: function (oEvent) {
830
841
  var oDragSession = oEvent.getParameter("dragSession"),
831
842
  oDropControl = oDragSession.getDropControl(),
832
- THIRTY_MINUTES = 30 * 60 * 1000,
843
+ iМillisecondsStep = (60 / (this.getScaleFactor() * 2)) * 60 * 1000, // calculating the duration of the appointment in milliseconds relative to the current scaleFactor
833
844
  oStartDate = oDragSession.getComplexData("startingDropDate").getTime(),
834
845
  oEndDate = oDropControl.getDate().getJSDate().getTime(),
835
846
  iStartTime = Math.min(oStartDate, oEndDate),
836
- iEndTime = Math.max(oStartDate, oEndDate) + THIRTY_MINUTES;
847
+ iEndTime = Math.max(oStartDate, oEndDate) + iМillisecondsStep;
837
848
 
838
849
  this.fireAppointmentCreate({
839
850
  startDate: new Date(iStartTime),
@@ -847,7 +858,7 @@ sap.ui.define([
847
858
  };
848
859
 
849
860
  SinglePlanningCalendarGrid.prototype._calcResizeNewHoursAppPos = function(oAppStartDate, oAppEndDate, iIndex, bBottomHandle) {
850
- var iMinutesStep = 30 * 60 * 1000, // 30 min
861
+ var iMinutesStep = (60 / (this.getScaleFactor() * 2)) * 60 * 1000, // calculating the duration of the appointment in milliseconds relative to the current scaleFactor
851
862
  iPlaceholderStartTime = this.getAggregation("_intervalPlaceholders")[iIndex].getDate().getTime(),
852
863
  iPlaceholderEndTime = iPlaceholderStartTime + iMinutesStep,
853
864
  iVariableBoundaryTime = bBottomHandle ? oAppStartDate.getTime() : oAppEndDate.getTime(),
@@ -876,8 +887,8 @@ sap.ui.define([
876
887
  this._oAppointmentsToRender[sDate].oAppointmentsList.getIterator().forEach(function(oAppNode) {
877
888
  oAppointment = oAppNode.getData();
878
889
  oAppDomRef = this.getDomRef().querySelector("#" + oAppointment.getId() + "-" + iColumn + "_" + iRow);
879
- oAppStartDate = oAppointment.getStartDate();
880
- oAppEndDate = oAppointment.getEndDate();
890
+ oAppStartDate = oAppointment._getStartDateWithTimezoneAdaptation();
891
+ oAppEndDate = oAppointment._getEndDateWithTimezoneAdaptation();
881
892
  bAppStartIsOutsideVisibleStartHour = oColumnStartDateAndHour.getTime() > oAppStartDate.getTime();
882
893
  bAppEndIsOutsideVisibleEndHour = oColumnEndDateAndHour.getTime() < oAppEndDate.getTime();
883
894
 
@@ -1142,9 +1153,9 @@ sap.ui.define([
1142
1153
  * @private
1143
1154
  */
1144
1155
  SinglePlanningCalendarGrid.prototype._focusCellWithKeyboard = function (oAppointment, iDirection) {
1145
- var bFullDayApp = this.isAllDayAppointment(oAppointment.getStartDate(), oAppointment.getEndDate()),
1156
+ var bFullDayApp = this.isAllDayAppointment(oAppointment._getStartDateWithTimezoneAdaptation(), oAppointment._getEndDateWithTimezoneAdaptation()),
1146
1157
  oFormat = this._getDateFormatter(),
1147
- oAppStartDate = new Date(oAppointment.getStartDate().getFullYear(), oAppointment.getStartDate().getMonth(), oAppointment.getStartDate().getDate(), oAppointment.getStartDate().getHours()),
1158
+ oAppStartDate = new Date(oAppointment._getStartDateWithTimezoneAdaptation().getFullYear(), oAppointment._getStartDateWithTimezoneAdaptation().getMonth(), oAppointment._getStartDateWithTimezoneAdaptation().getDate(), oAppointment._getStartDateWithTimezoneAdaptation().getHours()),
1148
1159
  oGridStartDate = new Date(this.getStartDate().getFullYear(), this.getStartDate().getMonth(), this.getStartDate().getDate(), this.getStartDate().getHours());
1149
1160
 
1150
1161
  // If an appointment start hour is before the visible grid start date
@@ -1207,6 +1218,12 @@ sap.ui.define([
1207
1218
  if (oEvent.which === KeyCodes.SPACE || oEvent.which === KeyCodes.ENTER) {
1208
1219
  this._fireSelectionEvent(oEvent);
1209
1220
 
1221
+ var oControl = this._findSrcControl(oEvent);
1222
+ if (oControl && oControl.isA("sap.ui.unified.CalendarAppointment")) {
1223
+ var sBundleKey = oControl.getSelected() ? "APPOINTMENT_SELECTED" : "APPOINTMENT_UNSELECTED";
1224
+ this._oInvisibleMessage.announce(this._oUnifiedRB.getText(sBundleKey), InvisibleMessageMode.Polite);
1225
+ }
1226
+
1210
1227
  // Prevent scrolling
1211
1228
  oEvent.preventDefault();
1212
1229
  }
@@ -1368,7 +1385,7 @@ sap.ui.define([
1368
1385
  */
1369
1386
  SinglePlanningCalendarGrid.prototype._formatTimeAsString = function (oDate) {
1370
1387
  var sPattern = this._getHoursPattern() + ":mm",
1371
- oFormat = DateFormat.getDateTimeInstance({pattern: sPattern }, new Locale(this._getCoreLocaleId()));
1388
+ oFormat = DateFormat.getTimeInstance({pattern: sPattern }, new Locale(this._getCoreLocaleId()));
1372
1389
 
1373
1390
  return oFormat.format(oDate);
1374
1391
  };
@@ -1440,15 +1457,35 @@ sap.ui.define([
1440
1457
  var $nowMarker = this.$("nowMarker"),
1441
1458
  $nowMarkerText = this.$("nowMarkerText"),
1442
1459
  $nowMarkerAMPM = this.$("nowMarkerAMPM"),
1443
- bCurrentHourNotVisible = !this._isVisibleHour(oDate.getHours());
1460
+ bCurrentHourNotVisible = !this._isVisibleHour(oDate.getHours()),
1461
+ oMarkerDate = new Date(oDate.getTime());
1462
+
1463
+ oMarkerDate = this._convertToTimezone(oMarkerDate);
1444
1464
 
1445
1465
  $nowMarker.toggleClass("sapMSinglePCNowMarkerHidden", bCurrentHourNotVisible);
1446
- $nowMarker.css("top", this._calculateTopPosition(oDate) + "rem");
1466
+ $nowMarker.css("top", this._calculateTopPosition(oMarkerDate) + "rem");
1447
1467
  $nowMarkerText.text(this._formatTimeAsString(oDate));
1448
1468
  $nowMarkerAMPM.text(this._addAMPM(oDate));
1449
1469
  $nowMarkerText.append($nowMarkerAMPM);
1450
1470
  };
1451
1471
 
1472
+ /**
1473
+ * Aligns a date to the timezone from the configuration.
1474
+ *
1475
+ * @returns {Object} <code>oNewDate</code> aligned to the configured timezone.
1476
+ * @private
1477
+ */
1478
+ SinglePlanningCalendarGrid.prototype._convertToTimezone = function(oDate) {
1479
+ var sTimezone = Core.getConfiguration().getTimezone();
1480
+ var oNewDate = CalendarUtils._createUniversalUTCDate(oDate, undefined, true);
1481
+
1482
+ oNewDate = new Date(oDate.getUTCFullYear(), oDate.getUTCMonth(), oDate.getUTCDate(), oDate.getUTCHours(), oDate.getUTCMinutes(), oDate.getUTCSeconds());
1483
+ oNewDate.setUTCFullYear(oDate.getUTCFullYear());
1484
+ oNewDate = TimezoneUtil.convertToTimezone(oNewDate, sTimezone);
1485
+
1486
+ return oNewDate;
1487
+ };
1488
+
1452
1489
  /**
1453
1490
  * Updates the row headers assuming that there is a DOM representation.
1454
1491
  *
@@ -1480,8 +1517,8 @@ sap.ui.define([
1480
1517
  var that = this;
1481
1518
 
1482
1519
  return aAppointments.reduce(function (oMap, oAppointment) {
1483
- var oAppStartDate = oAppointment.getStartDate(),
1484
- oAppEndDate = oAppointment.getEndDate(),
1520
+ var oAppStartDate = oAppointment._getStartDateWithTimezoneAdaptation(),
1521
+ oAppEndDate = oAppointment._getEndDateWithTimezoneAdaptation(),
1485
1522
  oCurrentAppCalStartDate,
1486
1523
  oCurrentAppCalEndDate,
1487
1524
  sDay;
@@ -1552,8 +1589,8 @@ sap.ui.define([
1552
1589
  */
1553
1590
  SinglePlanningCalendarGrid.prototype._isAppointmentFitInVisibleHours = function (oColumnCalDate) {
1554
1591
  return function (oAppointment) {
1555
- var iAppStartTime = oAppointment.getStartDate().getTime(),
1556
- iAppEndTime = oAppointment.getEndDate().getTime(),
1592
+ var iAppStartTime = oAppointment._getStartDateWithTimezoneAdaptation().getTime(),
1593
+ iAppEndTime = oAppointment._getEndDateWithTimezoneAdaptation().getTime(),
1557
1594
  iColumnStartTime = (new UniversalDate(oColumnCalDate.getYear(), oColumnCalDate.getMonth(), oColumnCalDate.getDate(), this._getVisibleStartHour())).getTime(),
1558
1595
  iColumnEndTime = (new UniversalDate(oColumnCalDate.getYear(), oColumnCalDate.getMonth(), oColumnCalDate.getDate(), this._getVisibleEndHour(), 59, 59)).getTime();
1559
1596
 
@@ -1583,7 +1620,7 @@ sap.ui.define([
1583
1620
 
1584
1621
  aAppointments.forEach(function (oCurrentAppointment) {
1585
1622
  var oCurrentAppointmentNode = new SinglePlanningCalendarUtilities.node(oCurrentAppointment),
1586
- iCurrentAppointmentStart = oCurrentAppointment.getStartDate().getTime();
1623
+ iCurrentAppointmentStart = oCurrentAppointment._getStartDateWithTimezoneAdaptation().getTime();
1587
1624
 
1588
1625
  if (oAppointmentsList.getSize() === 0) {
1589
1626
  oAppointmentsList.add(oCurrentAppointmentNode);
@@ -1593,8 +1630,8 @@ sap.ui.define([
1593
1630
  oAppointmentsList.getIterator().forEach(function (oAppointmentNode) {
1594
1631
  var bShouldBreak = true,
1595
1632
  oAppointment = oAppointmentNode.getData(),
1596
- iAppointmentStart = oAppointment.getStartDate().getTime(),
1597
- iAppointmentEnd = oAppointment.getEndDate().getTime(),
1633
+ iAppointmentStart = oAppointment._getStartDateWithTimezoneAdaptation().getTime(),
1634
+ iAppointmentEnd = oAppointment._getEndDateWithTimezoneAdaptation().getTime(),
1598
1635
  iAppointmentDuration = iAppointmentEnd - iAppointmentStart;
1599
1636
 
1600
1637
  if (iAppointmentDuration < iDuration) {
@@ -1639,8 +1676,8 @@ sap.ui.define([
1639
1676
  var oCurrentAppointment = oCurrentAppointmentNode.getData(),
1640
1677
  iLevelFoundSpace = oCurrentAppointmentNode.level,
1641
1678
  iCurrentAppointmentLevel = oCurrentAppointmentNode.level,
1642
- iCurrentAppointmentStart = oCurrentAppointment.getStartDate().getTime(),
1643
- iCurrentAppointmentEnd = oCurrentAppointment.getEndDate().getTime(),
1679
+ iCurrentAppointmentStart = oCurrentAppointment._getStartDateWithTimezoneAdaptation().getTime(),
1680
+ iCurrentAppointmentEnd = oCurrentAppointment._getEndDateWithTimezoneAdaptation().getTime(),
1644
1681
  iCurrentAppointmentDuration = iCurrentAppointmentEnd - iCurrentAppointmentStart;
1645
1682
 
1646
1683
  if (iCurrentAppointmentDuration < HALF_HOUR_MS) {
@@ -1652,8 +1689,8 @@ sap.ui.define([
1652
1689
  new SinglePlanningCalendarUtilities.iterator(oAppointmentsList).forEach(function (oAppointmentNode) {
1653
1690
  var oAppointment = oAppointmentNode.getData(),
1654
1691
  iAppointmentLevel = oAppointmentNode.level,
1655
- iAppointmentStart = oAppointment.getStartDate().getTime(),
1656
- iAppointmentEnd = oAppointment.getEndDate().getTime(),
1692
+ iAppointmentStart = oAppointment._getStartDateWithTimezoneAdaptation().getTime(),
1693
+ iAppointmentEnd = oAppointment._getEndDateWithTimezoneAdaptation().getTime(),
1657
1694
  iAppointmentDuration = iAppointmentEnd - iAppointmentStart;
1658
1695
 
1659
1696
  if (iAppointmentDuration < HALF_HOUR_MS) {
@@ -1713,8 +1750,8 @@ sap.ui.define([
1713
1750
  */
1714
1751
  SinglePlanningCalendarGrid.prototype._isBlockerVisible = function (oViewStart, oViewEnd) {
1715
1752
  return function (oAppointment) {
1716
- var oAppStart = CalendarDate.fromLocalJSDate(oAppointment.getStartDate()),
1717
- oAppEnd = CalendarDate.fromLocalJSDate(oAppointment.getEndDate());
1753
+ var oAppStart = CalendarDate.fromLocalJSDate(oAppointment._getStartDateWithTimezoneAdaptation()),
1754
+ oAppEnd = CalendarDate.fromLocalJSDate(oAppointment._getEndDateWithTimezoneAdaptation());
1718
1755
 
1719
1756
  var bIsBiggerThanView = oAppStart.isBefore(oViewStart) && oAppEnd.isAfter(oViewEnd),
1720
1757
  bStartDateBetweenViewStartAndEnd = CalendarUtils._isBetween(oAppStart, oViewStart, oViewEnd, true),
@@ -1737,8 +1774,8 @@ sap.ui.define([
1737
1774
 
1738
1775
  aVisibleBlockers.forEach(function (oCurrentBlocker) {
1739
1776
  var oCurrentBlockerNode = new SinglePlanningCalendarUtilities.node(oCurrentBlocker),
1740
- oCurrentBlockerStart = CalendarDate.fromLocalJSDate(oCurrentBlocker.getStartDate()),
1741
- oCurrentBlockerEnd = CalendarDate.fromLocalJSDate(oCurrentBlocker.getEndDate());
1777
+ oCurrentBlockerStart = CalendarDate.fromLocalJSDate(oCurrentBlocker._getStartDateWithTimezoneAdaptation()),
1778
+ oCurrentBlockerEnd = CalendarDate.fromLocalJSDate(oCurrentBlocker._getEndDateWithTimezoneAdaptation());
1742
1779
 
1743
1780
  oCurrentBlockerNode.width = CalendarUtils._daysBetween(oCurrentBlockerEnd, oCurrentBlockerStart);
1744
1781
 
@@ -1750,8 +1787,8 @@ sap.ui.define([
1750
1787
  oBlockersList.getIterator().forEach(function (oBlockerNode) {
1751
1788
  var bShouldBreak = true,
1752
1789
  oBlocker = oBlockerNode.getData(),
1753
- oBlockerStart = CalendarDate.fromLocalJSDate(oBlocker.getStartDate()),
1754
- oBlockerEnd = CalendarDate.fromLocalJSDate(oBlocker.getEndDate());
1790
+ oBlockerStart = CalendarDate.fromLocalJSDate(oBlocker._getStartDateWithTimezoneAdaptation()),
1791
+ oBlockerEnd = CalendarDate.fromLocalJSDate(oBlocker._getEndDateWithTimezoneAdaptation());
1755
1792
 
1756
1793
  if (oCurrentBlockerStart.isSameOrAfter(oBlockerStart) && oCurrentBlockerStart.isSameOrBefore(oBlockerEnd)) {
1757
1794
  oCurrentBlockerNode.level++;
@@ -1988,8 +2025,8 @@ sap.ui.define([
1988
2025
  SinglePlanningCalendarGrid.prototype._getAppointmentAnnouncementInfo = function (oAppointment) {
1989
2026
  var sStartTime = this._oUnifiedRB.getText("CALENDAR_START_TIME"),
1990
2027
  sEndTime = this._oUnifiedRB.getText("CALENDAR_END_TIME"),
1991
- sFormattedStartDate = this._oFormatStartEndInfoAria.format(oAppointment.getStartDate()),
1992
- sFormattedEndDate = this._oFormatStartEndInfoAria.format(oAppointment.getEndDate()),
2028
+ sFormattedStartDate = this._oFormatStartEndInfoAria.format(oAppointment._getStartDateWithTimezoneAdaptation()),
2029
+ sFormattedEndDate = this._oFormatStartEndInfoAria.format(oAppointment._getEndDateWithTimezoneAdaptation()),
1993
2030
  sAppInfo = sStartTime + ": " + sFormattedStartDate + "; " + sEndTime + ": " + sFormattedEndDate;
1994
2031
 
1995
2032
  return sAppInfo + "; " + PlanningCalendarLegend.findLegendItemForItem(sap.ui.getCore().byId(this._sLegendId), oAppointment);
@@ -2073,9 +2110,14 @@ sap.ui.define([
2073
2110
  var aDndForTheDay = this._dndPlaceholdersMap[oColumnCalDate],
2074
2111
  iYear = oColumnCalDate.getYear(),
2075
2112
  iMonth = oColumnCalDate.getMonth(),
2076
- iDate = oColumnCalDate.getDate();
2077
- aDndForTheDay.push(this._createAppointmentsDndPlaceHolder(new UniversalDate(iYear, iMonth, iDate, j)));
2078
- aDndForTheDay.push(this._createAppointmentsDndPlaceHolder(new UniversalDate(iYear, iMonth, iDate, j, 30)));
2113
+ iDate = oColumnCalDate.getDate(),
2114
+ iCurrentScale = this.getScaleFactor() * 2,
2115
+ iTimeSlot = 60 / iCurrentScale * 60;
2116
+
2117
+ for (var y = 0; y < iCurrentScale; y++) {
2118
+ aDndForTheDay.push(this._createAppointmentsDndPlaceHolder(new UniversalDate(iYear, iMonth, iDate, j, 0, iTimeSlot * y)));
2119
+ }
2120
+
2079
2121
  }
2080
2122
  }
2081
2123
  };
@@ -159,8 +159,8 @@ sap.ui.define([
159
159
  SinglePlanningCalendarGridRenderer.renderBlockerAppointment = function(oRm, oControl, oBlockerNode) {
160
160
  var oGridCalStart = CalendarDate.fromLocalJSDate(oControl.getStartDate()),
161
161
  oBlocker = oBlockerNode.getData(),
162
- oBlockerCalStart = CalendarDate.fromLocalJSDate(oBlocker.getStartDate()),
163
- oBlockerCalEnd = CalendarDate.fromLocalJSDate(oBlocker.getEndDate()),
162
+ oBlockerCalStart = CalendarDate.fromLocalJSDate(oBlocker._getStartDateWithTimezoneAdaptation()),
163
+ oBlockerCalEnd = CalendarDate.fromLocalJSDate(oBlocker._getEndDateWithTimezoneAdaptation()),
164
164
  iStartDayDiff = CalendarUtils._daysBetween(oBlockerCalStart, oGridCalStart),
165
165
  iEndDayDiff = CalendarUtils._daysBetween(oBlockerCalEnd, oGridCalStart),
166
166
  iColumns = oControl._getColumns(),
@@ -319,7 +319,7 @@ sap.ui.define([
319
319
  oRm.openEnd();
320
320
 
321
321
  for (var i = iStartHour; i <= iEndHour; i++) {
322
- oStartDate.setHours(i);
322
+ oStartDate.setUTCHours(i);
323
323
  oRm.openStart("span");
324
324
  oRm.class("sapMSinglePCRowHeader");
325
325
  oRm.class("sapMSinglePCRowHeader" + i);
@@ -329,13 +329,14 @@ sap.ui.define([
329
329
  }
330
330
 
331
331
  oRm.openEnd();
332
- oRm.text(oHoursFormat.format(oStartDate));
332
+
333
+ oRm.text(oHoursFormat.format(oStartDate, true));
333
334
 
334
335
  if (oControl._hasAMPM()) {
335
336
  oRm.openStart("span");
336
337
  oRm.class("sapMSinglePCRowHeaderAMPM");
337
338
  oRm.openEnd();
338
- oRm.text(" " + oAMPMFormat.format(oStartDate));
339
+ oRm.text(" " + oAMPMFormat.format(oStartDate, true));
339
340
  oRm.close("span");
340
341
  }
341
342
 
@@ -460,8 +461,8 @@ sap.ui.define([
460
461
  iRowHeight = oControl._getRowHeight(),
461
462
  oColumnStartDateAndHour = new UniversalDate(oColumnDate.getYear(), oColumnDate.getMonth(), oColumnDate.getDate(), oControl._getVisibleStartHour()),
462
463
  oColumnEndDateAndHour = new UniversalDate(oColumnDate.getYear(), oColumnDate.getMonth(), oColumnDate.getDate(), oControl._getVisibleEndHour(), 59, 59),
463
- oAppStartDate = oAppointment.getStartDate(),
464
- oAppEndDate = oAppointment.getEndDate(),
464
+ oAppStartDate = oAppointment._getStartDateWithTimezoneAdaptation(),
465
+ oAppEndDate = oAppointment._getEndDateWithTimezoneAdaptation(),
465
466
  oAppCalStart = CalendarDate.fromLocalJSDate(oAppStartDate),
466
467
  oAppCalEnd = CalendarDate.fromLocalJSDate(oAppEndDate),
467
468
  sTooltip = oAppointment.getTooltip_AsString(),
@@ -649,8 +650,8 @@ sap.ui.define([
649
650
  }
650
651
 
651
652
  // ARIA information about start and end
652
- // var sAriaText = oRow._oRb.getText("CALENDAR_START_TIME") + ": " + oRow._oFormatAria.format(oAppointment.getStartDate());
653
- // sAriaText = sAriaText + "; " + oRow._oRb.getText("CALENDAR_END_TIME") + ": " + oRow._oFormatAria.format(oAppointment.getEndDate());
653
+ // var sAriaText = oRow._oRb.getText("CALENDAR_START_TIME") + ": " + oRow._oFormatAria.format(oAppointment._getStartDateWithTimezoneAdaptation());
654
+ // sAriaText = sAriaText + "; " + oRow._oRb.getText("CALENDAR_END_TIME") + ": " + oRow._oFormatAria.format(oAppointment._getEndDateWithTimezoneAdaptation());
654
655
  // if (sTooltip) {
655
656
  // sAriaText = sAriaText + "; " + sTooltip;
656
657
  // }