@openui5/sap.m 1.100.0 → 1.102.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) 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 +2 -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 +12 -21
  13. package/src/sap/m/Breadcrumbs.js +3 -3
  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 +13 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +10 -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 +22 -2
  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 +53 -7
  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 +5 -2
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +40 -53
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +21 -8
  48. package/src/sap/m/DialogRenderer.js +1 -1
  49. package/src/sap/m/DisplayListItem.js +1 -1
  50. package/src/sap/m/DraftIndicator.js +1 -1
  51. package/src/sap/m/DynamicDate.js +1 -1
  52. package/src/sap/m/DynamicDateFormat.js +5 -4
  53. package/src/sap/m/DynamicDateOption.js +12 -2
  54. package/src/sap/m/DynamicDateRange.js +107 -16
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  56. package/src/sap/m/ExpandableText.js +1 -1
  57. package/src/sap/m/FacetFilter.js +8 -1
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +1 -1
  60. package/src/sap/m/FeedContent.js +1 -1
  61. package/src/sap/m/FeedInput.js +2 -2
  62. package/src/sap/m/FeedListItem.js +1 -1
  63. package/src/sap/m/FeedListItemAction.js +1 -1
  64. package/src/sap/m/Fiori20Adapter.js +2 -2
  65. package/src/sap/m/FlexBox.js +1 -1
  66. package/src/sap/m/FlexItemData.js +1 -1
  67. package/src/sap/m/FormattedText.js +10 -10
  68. package/src/sap/m/GenericTag.js +1 -1
  69. package/src/sap/m/GenericTagRenderer.js +10 -2
  70. package/src/sap/m/GenericTile.js +132 -16
  71. package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
  72. package/src/sap/m/GenericTileRenderer.js +174 -87
  73. package/src/sap/m/GroupHeaderListItem.js +1 -1
  74. package/src/sap/m/GrowingEnablement.js +127 -93
  75. package/src/sap/m/GrowingList.js +1 -1
  76. package/src/sap/m/HBox.js +1 -1
  77. package/src/sap/m/HeaderContainer.js +41 -21
  78. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  79. package/src/sap/m/IconTabBar.js +3 -3
  80. package/src/sap/m/IconTabBarSelectList.js +1 -1
  81. package/src/sap/m/IconTabFilter.js +1 -1
  82. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  83. package/src/sap/m/IconTabHeader.js +1 -1
  84. package/src/sap/m/IconTabSeparator.js +1 -1
  85. package/src/sap/m/IllustratedMessage.js +19 -1
  86. package/src/sap/m/Illustration.js +1 -1
  87. package/src/sap/m/Image.js +1 -1
  88. package/src/sap/m/ImageContent.js +1 -1
  89. package/src/sap/m/Input.js +4 -10
  90. package/src/sap/m/InputBase.js +5 -5
  91. package/src/sap/m/InputListItem.js +1 -1
  92. package/src/sap/m/Label.js +1 -1
  93. package/src/sap/m/LightBox.js +1 -1
  94. package/src/sap/m/LightBoxItem.js +1 -1
  95. package/src/sap/m/Link.js +1 -1
  96. package/src/sap/m/List.js +1 -1
  97. package/src/sap/m/ListBase.js +52 -20
  98. package/src/sap/m/ListBaseRenderer.js +19 -3
  99. package/src/sap/m/ListItemBase.js +7 -5
  100. package/src/sap/m/MaskEnabler.js +1 -1
  101. package/src/sap/m/MaskInput.js +1 -1
  102. package/src/sap/m/MaskInputRule.js +1 -1
  103. package/src/sap/m/Menu.js +1 -1
  104. package/src/sap/m/MenuButton.js +5 -1
  105. package/src/sap/m/MenuItem.js +1 -1
  106. package/src/sap/m/MenuListItem.js +1 -1
  107. package/src/sap/m/MessageBox.js +1 -1
  108. package/src/sap/m/MessageItem.js +1 -1
  109. package/src/sap/m/MessageListItem.js +1 -1
  110. package/src/sap/m/MessagePage.js +1 -1
  111. package/src/sap/m/MessagePopover.js +18 -36
  112. package/src/sap/m/MessagePopoverItem.js +1 -1
  113. package/src/sap/m/MessageStrip.js +1 -1
  114. package/src/sap/m/MessageToast.js +1 -1
  115. package/src/sap/m/MessageView.js +1 -1
  116. package/src/sap/m/MultiComboBox.js +3 -2
  117. package/src/sap/m/MultiEditField.js +1 -1
  118. package/src/sap/m/MultiInput.js +8 -3
  119. package/src/sap/m/NavContainer.js +40 -40
  120. package/src/sap/m/NewsContent.js +1 -1
  121. package/src/sap/m/NotificationList.js +1 -1
  122. package/src/sap/m/NotificationListBase.js +175 -79
  123. package/src/sap/m/NotificationListGroup.js +1 -2
  124. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  125. package/src/sap/m/NotificationListItem.js +5 -16
  126. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  127. package/src/sap/m/NumericContent.js +1 -1
  128. package/src/sap/m/NumericInput.js +3 -2
  129. package/src/sap/m/NumericInputRenderer.js +13 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  132. package/src/sap/m/ObjectHeader.js +1 -1
  133. package/src/sap/m/ObjectIdentifier.js +1 -1
  134. package/src/sap/m/ObjectListItem.js +1 -1
  135. package/src/sap/m/ObjectMarker.js +34 -10
  136. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  137. package/src/sap/m/ObjectNumber.js +1 -1
  138. package/src/sap/m/ObjectStatus.js +1 -1
  139. package/src/sap/m/OverflowToolbar.js +17 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  144. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  145. package/src/sap/m/P13nColumnsItem.js +1 -1
  146. package/src/sap/m/P13nColumnsPanel.js +1 -1
  147. package/src/sap/m/P13nConditionPanel.js +9 -12
  148. package/src/sap/m/P13nDialog.js +1 -1
  149. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  150. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  151. package/src/sap/m/P13nFilterItem.js +1 -1
  152. package/src/sap/m/P13nFilterPanel.js +1 -1
  153. package/src/sap/m/P13nGroupItem.js +1 -1
  154. package/src/sap/m/P13nGroupPanel.js +1 -1
  155. package/src/sap/m/P13nItem.js +1 -1
  156. package/src/sap/m/P13nPanel.js +1 -1
  157. package/src/sap/m/P13nSelectionItem.js +1 -1
  158. package/src/sap/m/P13nSelectionPanel.js +1 -1
  159. package/src/sap/m/P13nSortItem.js +1 -1
  160. package/src/sap/m/P13nSortPanel.js +1 -1
  161. package/src/sap/m/PDFViewer.js +3 -3
  162. package/src/sap/m/PDFViewerRenderer.js +15 -7
  163. package/src/sap/m/Page.js +4 -4
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +14 -14
  168. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +15 -10
  173. package/src/sap/m/ProgressIndicator.js +1 -1
  174. package/src/sap/m/PullToRefresh.js +1 -1
  175. package/src/sap/m/QuickView.js +1 -1
  176. package/src/sap/m/QuickViewBase.js +1 -1
  177. package/src/sap/m/QuickViewCard.js +1 -1
  178. package/src/sap/m/QuickViewGroup.js +1 -1
  179. package/src/sap/m/QuickViewGroupElement.js +1 -1
  180. package/src/sap/m/QuickViewPage.js +1 -1
  181. package/src/sap/m/RadioButton.js +2 -2
  182. package/src/sap/m/RadioButtonGroup.js +3 -2
  183. package/src/sap/m/RangeSlider.js +19 -4
  184. package/src/sap/m/RatingIndicator.js +1 -1
  185. package/src/sap/m/ResponsivePopover.js +1 -1
  186. package/src/sap/m/ResponsiveScale.js +1 -1
  187. package/src/sap/m/ScrollBar.js +1 -1
  188. package/src/sap/m/ScrollContainer.js +1 -1
  189. package/src/sap/m/SearchField.js +1 -1
  190. package/src/sap/m/SegmentedButton.js +5 -3
  191. package/src/sap/m/SegmentedButtonItem.js +1 -1
  192. package/src/sap/m/Select.js +24 -3
  193. package/src/sap/m/SelectDialog.js +14 -18
  194. package/src/sap/m/SelectDialogBase.js +1 -1
  195. package/src/sap/m/SelectList.js +1 -1
  196. package/src/sap/m/SelectionDetails.js +1 -1
  197. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  198. package/src/sap/m/SelectionDetailsItem.js +1 -1
  199. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  200. package/src/sap/m/Shell.js +1 -1
  201. package/src/sap/m/SimpleFixFlex.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
  205. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  206. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  207. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  211. package/src/sap/m/SlideTile.js +1 -1
  212. package/src/sap/m/Slider.js +1 -1
  213. package/src/sap/m/SliderTooltip.js +1 -1
  214. package/src/sap/m/SliderTooltipBase.js +1 -1
  215. package/src/sap/m/SliderTooltipContainer.js +5 -1
  216. package/src/sap/m/SplitApp.js +1 -1
  217. package/src/sap/m/SplitButton.js +1 -1
  218. package/src/sap/m/SplitContainer.js +1 -1
  219. package/src/sap/m/StandardDynamicDateOption.js +36 -13
  220. package/src/sap/m/StandardListItem.js +3 -3
  221. package/src/sap/m/StandardListItemRenderer.js +1 -1
  222. package/src/sap/m/StandardTile.js +1 -1
  223. package/src/sap/m/StandardTreeItem.js +1 -1
  224. package/src/sap/m/StepInput.js +3 -3
  225. package/src/sap/m/SuggestionItem.js +1 -1
  226. package/src/sap/m/SuggestionsPopover.js +5 -13
  227. package/src/sap/m/Switch.js +1 -1
  228. package/src/sap/m/TabContainer.js +1 -1
  229. package/src/sap/m/TabContainerItem.js +1 -1
  230. package/src/sap/m/TabStrip.js +5 -3
  231. package/src/sap/m/TabStripItem.js +1 -1
  232. package/src/sap/m/Table.js +34 -3
  233. package/src/sap/m/TablePersoController.js +1 -1
  234. package/src/sap/m/TablePersoDialog.js +1 -1
  235. package/src/sap/m/TablePersoProvider.js +1 -1
  236. package/src/sap/m/TableRenderer.js +9 -4
  237. package/src/sap/m/TableSelectDialog.js +13 -9
  238. package/src/sap/m/Text.js +1 -1
  239. package/src/sap/m/TextArea.js +1 -1
  240. package/src/sap/m/Tile.js +1 -1
  241. package/src/sap/m/TileContainer.js +1 -1
  242. package/src/sap/m/TileContent.js +8 -14
  243. package/src/sap/m/TileContentRenderer.js +16 -7
  244. package/src/sap/m/TimePicker.js +52 -60
  245. package/src/sap/m/TimePickerClock.js +1 -1
  246. package/src/sap/m/TimePickerClocks.js +1 -1
  247. package/src/sap/m/TimePickerInputs.js +1 -1
  248. package/src/sap/m/TimePickerInternals.js +1 -1
  249. package/src/sap/m/TimePickerRenderer.js +0 -1
  250. package/src/sap/m/TimePickerSlider.js +1 -1
  251. package/src/sap/m/TimePickerSliders.js +1 -1
  252. package/src/sap/m/Title.js +1 -1
  253. package/src/sap/m/TitlePropagationSupport.js +1 -1
  254. package/src/sap/m/ToggleButton.js +1 -1
  255. package/src/sap/m/Token.js +1 -1
  256. package/src/sap/m/Tokenizer.js +15 -3
  257. package/src/sap/m/Toolbar.js +7 -1
  258. package/src/sap/m/ToolbarLayoutData.js +1 -1
  259. package/src/sap/m/ToolbarSeparator.js +1 -1
  260. package/src/sap/m/ToolbarSpacer.js +1 -1
  261. package/src/sap/m/Tree.js +1 -1
  262. package/src/sap/m/TreeItemBase.js +1 -1
  263. package/src/sap/m/UploadCollection.js +1 -1
  264. package/src/sap/m/UploadCollectionItem.js +2 -1
  265. package/src/sap/m/UploadCollectionParameter.js +2 -1
  266. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  267. package/src/sap/m/VBox.js +1 -1
  268. package/src/sap/m/ValueStateHeader.js +1 -1
  269. package/src/sap/m/VariantManagement.js +2492 -0
  270. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  271. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  272. package/src/sap/m/ViewSettingsDialog.js +8 -9
  273. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  274. package/src/sap/m/ViewSettingsItem.js +1 -1
  275. package/src/sap/m/VisibleItem.js +2 -2
  276. package/src/sap/m/WheelSlider.js +1 -1
  277. package/src/sap/m/WheelSliderContainer.js +1 -1
  278. package/src/sap/m/Wizard.js +22 -4
  279. package/src/sap/m/WizardProgressNavigator.js +10 -3
  280. package/src/sap/m/WizardStep.js +1 -1
  281. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  282. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  283. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  284. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  285. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  286. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  287. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  288. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  289. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  290. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  291. package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
  292. package/src/sap/m/library.js +55 -19
  293. package/src/sap/m/messagebundle.properties +168 -27
  294. package/src/sap/m/messagebundle_ar.properties +104 -14
  295. package/src/sap/m/messagebundle_bg.properties +104 -14
  296. package/src/sap/m/messagebundle_ca.properties +104 -14
  297. package/src/sap/m/messagebundle_cs.properties +104 -14
  298. package/src/sap/m/messagebundle_cy.properties +104 -14
  299. package/src/sap/m/messagebundle_da.properties +104 -14
  300. package/src/sap/m/messagebundle_de.properties +104 -14
  301. package/src/sap/m/messagebundle_el.properties +104 -14
  302. package/src/sap/m/messagebundle_en.properties +103 -13
  303. package/src/sap/m/messagebundle_en_GB.properties +103 -13
  304. package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -12
  305. package/src/sap/m/messagebundle_en_US_saprigi.properties +102 -12
  306. package/src/sap/m/messagebundle_en_US_saptrc.properties +102 -12
  307. package/src/sap/m/messagebundle_es.properties +104 -14
  308. package/src/sap/m/messagebundle_es_MX.properties +104 -14
  309. package/src/sap/m/messagebundle_et.properties +104 -14
  310. package/src/sap/m/messagebundle_fi.properties +103 -13
  311. package/src/sap/m/messagebundle_fr.properties +105 -15
  312. package/src/sap/m/messagebundle_fr_CA.properties +104 -14
  313. package/src/sap/m/messagebundle_hi.properties +104 -14
  314. package/src/sap/m/messagebundle_hr.properties +104 -14
  315. package/src/sap/m/messagebundle_hu.properties +104 -14
  316. package/src/sap/m/messagebundle_id.properties +104 -14
  317. package/src/sap/m/messagebundle_it.properties +112 -22
  318. package/src/sap/m/messagebundle_iw.properties +104 -14
  319. package/src/sap/m/messagebundle_ja.properties +104 -14
  320. package/src/sap/m/messagebundle_kk.properties +104 -14
  321. package/src/sap/m/messagebundle_ko.properties +105 -15
  322. package/src/sap/m/messagebundle_lt.properties +104 -14
  323. package/src/sap/m/messagebundle_lv.properties +103 -13
  324. package/src/sap/m/messagebundle_ms.properties +104 -14
  325. package/src/sap/m/messagebundle_nl.properties +103 -13
  326. package/src/sap/m/messagebundle_no.properties +104 -14
  327. package/src/sap/m/messagebundle_pl.properties +104 -14
  328. package/src/sap/m/messagebundle_pt.properties +112 -22
  329. package/src/sap/m/messagebundle_pt_PT.properties +104 -14
  330. package/src/sap/m/messagebundle_ro.properties +104 -14
  331. package/src/sap/m/messagebundle_ru.properties +104 -14
  332. package/src/sap/m/messagebundle_sh.properties +104 -14
  333. package/src/sap/m/messagebundle_sk.properties +104 -14
  334. package/src/sap/m/messagebundle_sl.properties +104 -14
  335. package/src/sap/m/messagebundle_sv.properties +105 -15
  336. package/src/sap/m/messagebundle_th.properties +104 -14
  337. package/src/sap/m/messagebundle_tr.properties +104 -14
  338. package/src/sap/m/messagebundle_uk.properties +104 -14
  339. package/src/sap/m/messagebundle_vi.properties +104 -14
  340. package/src/sap/m/messagebundle_zh_CN.properties +104 -14
  341. package/src/sap/m/messagebundle_zh_TW.properties +104 -14
  342. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  343. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  344. package/src/sap/m/p13n/BasePanel.js +9 -3
  345. package/src/sap/m/p13n/Container.js +11 -4
  346. package/src/sap/m/p13n/GroupPanel.js +17 -5
  347. package/src/sap/m/p13n/Popup.js +9 -2
  348. package/src/sap/m/p13n/QueryPanel.js +89 -37
  349. package/src/sap/m/p13n/SelectionPanel.js +30 -5
  350. package/src/sap/m/p13n/SortPanel.js +27 -13
  351. package/src/sap/m/plugins/ColumnResizer.js +41 -6
  352. package/src/sap/m/plugins/DataStateIndicator.js +3 -2
  353. package/src/sap/m/plugins/PasteProvider.js +1 -1
  354. package/src/sap/m/plugins/PluginBase.js +1 -1
  355. package/src/sap/m/rules/CheckBox.support.js +1 -1
  356. package/src/sap/m/rules/Image.support.js +1 -1
  357. package/src/sap/m/rules/Link.support.js +1 -1
  358. package/src/sap/m/rules/MessagePage.support.js +1 -1
  359. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  360. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  361. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  362. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  363. package/src/sap/m/rules/Select.support.js +1 -1
  364. package/src/sap/m/rules/Table.support.js +3 -3
  365. package/src/sap/m/semantic/AddAction.js +1 -1
  366. package/src/sap/m/semantic/CancelAction.js +1 -1
  367. package/src/sap/m/semantic/DeleteAction.js +1 -1
  368. package/src/sap/m/semantic/DetailPage.js +1 -1
  369. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  370. package/src/sap/m/semantic/EditAction.js +1 -1
  371. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  372. package/src/sap/m/semantic/FilterAction.js +1 -1
  373. package/src/sap/m/semantic/FilterSelect.js +1 -1
  374. package/src/sap/m/semantic/FlagAction.js +1 -1
  375. package/src/sap/m/semantic/ForwardAction.js +1 -1
  376. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  377. package/src/sap/m/semantic/GroupAction.js +1 -1
  378. package/src/sap/m/semantic/GroupSelect.js +1 -1
  379. package/src/sap/m/semantic/MainAction.js +1 -1
  380. package/src/sap/m/semantic/MasterPage.js +1 -1
  381. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  382. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  383. package/src/sap/m/semantic/NegativeAction.js +1 -1
  384. package/src/sap/m/semantic/OpenInAction.js +1 -1
  385. package/src/sap/m/semantic/PositiveAction.js +1 -1
  386. package/src/sap/m/semantic/PrintAction.js +1 -1
  387. package/src/sap/m/semantic/SaveAction.js +1 -1
  388. package/src/sap/m/semantic/Segment.js +1 -1
  389. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  390. package/src/sap/m/semantic/SemanticButton.js +1 -1
  391. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  392. package/src/sap/m/semantic/SemanticControl.js +1 -1
  393. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  394. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  395. package/src/sap/m/semantic/SemanticPage.js +1 -1
  396. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  397. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  398. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  399. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  400. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  401. package/src/sap/m/semantic/ShareMenu.js +1 -1
  402. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  403. package/src/sap/m/semantic/SortAction.js +1 -1
  404. package/src/sap/m/semantic/SortSelect.js +1 -1
  405. package/src/sap/m/table/Util.js +98 -16
  406. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  408. package/src/sap/m/table/columnmenu/Item.js +1 -1
  409. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  410. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  411. package/src/sap/m/table/columnmenu/Menu.js +222 -34
  412. package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
  413. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  414. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  415. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  416. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  417. package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
  418. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  420. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  421. package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
  422. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  423. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  424. package/src/sap/m/themes/base/Avatar.less +11 -5
  425. package/src/sap/m/themes/base/Button.less +1 -6
  426. package/src/sap/m/themes/base/Carousel.less +72 -87
  427. package/src/sap/m/themes/base/CheckBox.less +0 -1
  428. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  429. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  430. package/src/sap/m/themes/base/Dialog.less +10 -6
  431. package/src/sap/m/themes/base/GenericTile.less +758 -179
  432. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  433. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  434. package/src/sap/m/themes/base/Input.less +1 -1
  435. package/src/sap/m/themes/base/InputBase.less +114 -11
  436. package/src/sap/m/themes/base/Label.less +3 -0
  437. package/src/sap/m/themes/base/LightBox.less +9 -7
  438. package/src/sap/m/themes/base/Link.less +12 -4
  439. package/src/sap/m/themes/base/ListBase.less +4 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  441. package/src/sap/m/themes/base/MenuButton.less +16 -0
  442. package/src/sap/m/themes/base/MessageBox.less +5 -5
  443. package/src/sap/m/themes/base/MultiInput.less +1 -1
  444. package/src/sap/m/themes/base/NewsContent.less +0 -9
  445. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  446. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  447. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  448. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  449. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  450. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  451. package/src/sap/m/themes/base/ObjectStatus.less +8 -0
  452. package/src/sap/m/themes/base/Panel.less +1 -1
  453. package/src/sap/m/themes/base/Popover.less +10 -7
  454. package/src/sap/m/themes/base/QuickView.less +14 -2
  455. package/src/sap/m/themes/base/RadioButton.less +21 -3
  456. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  457. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  458. package/src/sap/m/themes/base/SlideTile.less +18 -0
  459. package/src/sap/m/themes/base/Slider.less +18 -18
  460. package/src/sap/m/themes/base/StandardListItem.less +5 -9
  461. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  462. package/src/sap/m/themes/base/Table.less +18 -21
  463. package/src/sap/m/themes/base/TextArea.less +32 -0
  464. package/src/sap/m/themes/base/Token.less +17 -15
  465. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  466. package/src/sap/m/themes/base/Toolbar.less +1 -1
  467. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  468. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  469. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  470. package/src/sap/m/themes/base/Wizard.less +5 -4
  471. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  497. package/src/sap/m/themes/base/library.source.less +1 -0
  498. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  499. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  500. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  501. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  502. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  503. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  504. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  505. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  506. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  507. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  508. package/src/sap/m/upload/UploadSet.js +162 -17
  509. package/src/sap/m/upload/UploadSetItem.js +24 -1
  510. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
@@ -4,11 +4,13 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/layout/Grid", "./BasePanel", "sap/ui/core/ListItem", "sap/m/CustomListItem", "sap/m/Select", "sap/m/List", "sap/m/HBox", "sap/m/library", "sap/m/Button", "sap/base/util/merge"
8
- ], function (Grid, BasePanel, Item, CustomListItem, Select, List, HBox, mLibrary, Button, merge) {
7
+ "sap/ui/layout/Grid", "./BasePanel", "sap/ui/core/ListItem", "sap/m/CustomListItem", "sap/m/ComboBox", "sap/m/List", "sap/m/HBox", "sap/m/library", "sap/m/Button", "sap/base/util/merge", 'sap/ui/core/library'
8
+ ], function (Grid, BasePanel, Item, CustomListItem, ComboBox, List, HBox, mLibrary, Button, merge, coreLibrary) {
9
9
  "use strict";
10
10
 
11
11
 
12
+ var ValueState = coreLibrary.ValueState;
13
+
12
14
  /**
13
15
  * Constructor for a new <code>QueryPanel</code>.
14
16
  *
@@ -22,7 +24,7 @@ sap.ui.define([
22
24
  * @extends sap.m.p13n.BasePanel
23
25
  *
24
26
  * @author SAP SE
25
- * @version 1.100.0
27
+ * @version 1.102.1
26
28
  *
27
29
  * @private
28
30
  * @ui5-restricted
@@ -54,8 +56,6 @@ sap.ui.define([
54
56
  // shortcut for sap.m.ButtonType
55
57
  var ButtonType = mLibrary.ButtonType;
56
58
 
57
- QueryPanel.prototype.NONE_KEY = "$_none";
58
-
59
59
  QueryPanel.prototype.init = function () {
60
60
  BasePanel.prototype.init.apply(this, arguments);
61
61
  this._bFocusOnRearrange = false;
@@ -110,15 +110,22 @@ sap.ui.define([
110
110
  };
111
111
 
112
112
  QueryPanel.prototype._moveTableItem = function (oItem, iNewIndex) {
113
- // Rules for the movement for the $_none row:
114
- // 1) disable the $_none row for reordering
115
- // 2) in case all entries are used there is no $_none row and the movement is allowed
116
- if (this._oListControl.getItems().indexOf(oItem) !== (this._oListControl.getItems().length - 1) || this._allEntriesUsed()) {
113
+ var iCurrentIndex = this._oListControl.getItems().indexOf(oItem);
114
+ var iMaxListLength = this._oListControl.getItems().length - 1;
115
+ var iQueryLimit = this.getQueryLimit();
116
+
117
+ // Rules for the movement:
118
+ // 1) The row is not the template row
119
+ // 2) in case all entries are used, allow reordering for all rows
120
+ // 3) in case a query limit is provided, limit the movement to the allowed limit
121
+ if ((iCurrentIndex !== iMaxListLength || this._allEntriesUsed()) && (iQueryLimit === -1 || iNewIndex < iQueryLimit)) {
117
122
  this._oListControl.removeItem(oItem);
118
123
  this._oListControl.insertItem(oItem, iNewIndex);
119
124
 
120
125
  this._updateEnableOfMoveButtons(oItem, false);
121
126
 
127
+ this._getP13nModel().checkUpdate(true);
128
+
122
129
  this.fireChange({
123
130
  reason: this.CHANGE_REASON_MOVE,
124
131
  item: this._getModelEntry(oItem)
@@ -155,11 +162,7 @@ sap.ui.define([
155
162
  QueryPanel.prototype._getAvailableItems = function (sKey) {
156
163
  var aItems = this._getP13nModel().getProperty("/items");
157
164
 
158
- var aAvailableItems = [new Item({
159
- key: this.NONE_KEY,
160
- text: this._getResourceText("p13n.QUERY_NONE"),
161
- enabled: !sKey
162
- })];
165
+ var aAvailableItems = [];
163
166
 
164
167
  aItems.forEach(function (oNonPresent, iIndex) {
165
168
  aAvailableItems.push(new Item({
@@ -168,7 +171,14 @@ sap.ui.define([
168
171
  enabled: {
169
172
  path: this.P13N_MODEL + ">/items/" + iIndex + "/" + this.PRESENCE_ATTRIBUTE,
170
173
  formatter: function(bQueried) {
171
- return !bQueried; //Only enable the selection in case there is not yet a query present
174
+ var oComboBox = this.getParent();
175
+ var selItem = oComboBox.getSelectedItem();
176
+ var selItemIndex = selItem && oComboBox.getItems().indexOf(selItem);
177
+
178
+ var sPath = this.getBindingPath("enabled");
179
+ var pathIndex = parseInt(sPath.split("/")[2]);
180
+
181
+ return !bQueried || selItemIndex === pathIndex; //Only enable the selection in case there is not yet a query present or the item is the selected item
172
182
  }
173
183
  }
174
184
  }));
@@ -180,9 +190,9 @@ sap.ui.define([
180
190
  QueryPanel.prototype._addQueryRow = function (oItem) {
181
191
 
182
192
  var bLimitedQueries = this.getQueryLimit() > -1;
183
- var bQueryLimitReached = this.getQueryLimit() === this._oListControl.getItems().length;
193
+ var bQueryLimitReached = this.getQueryLimit() <= this._oListControl.getItems().length;
184
194
 
185
- if ((bLimitedQueries && bQueryLimitReached) || this._allEntriesUsed()) {
195
+ if ((bLimitedQueries && bQueryLimitReached && !oItem) || this._allEntriesUsed()) {
186
196
  return;
187
197
  }
188
198
 
@@ -200,7 +210,11 @@ sap.ui.define([
200
210
  //We only need 'move' buttons if:
201
211
  // 1) Reordering is enabled
202
212
  // 2) At least 2 queries can be made
203
- if (this.getEnableReorder() && (this.getQueryLimit() === -1 || this.getQueryLimit() > 1)){
213
+ // 3) The row is not exeeding the query limit
214
+ if (
215
+ this.getEnableReorder() &&
216
+ (this.getQueryLimit() === -1 || (this.getQueryLimit() > 1 && this._oListControl.getItems().length < this.getQueryLimit()))
217
+ ){
204
218
  this._addHover(oRow);
205
219
  }
206
220
 
@@ -241,48 +255,80 @@ sap.ui.define([
241
255
  }
242
256
  };
243
257
 
258
+ QueryPanel.prototype._getPlaceholderText = function () {
259
+ return "";
260
+ };
261
+
262
+ QueryPanel.prototype._getRemoveButtonTooltipText = function () {
263
+ return "";
264
+ };
265
+
244
266
  QueryPanel.prototype._createKeySelect = function (sKey) {
245
- var oKeySelect = new Select({
267
+ var that = this;
268
+ var oKeySelect = new ComboBox({
246
269
  width: "14rem",
270
+ enabled: {
271
+ path: this.P13N_MODEL + ">/items/",
272
+ formatter: function(aItems) {
273
+
274
+ if (that.getQueryLimit() < 0) {
275
+ return true;
276
+ }
277
+
278
+ var aPresentKeys = that.getP13nData(true).map(function(oItem){
279
+ return oItem.name;
280
+ });
281
+ var sKey = this._key; //'this' is the select control passed by the formatter
282
+ var iPositon = aPresentKeys.indexOf(sKey) + 1;
283
+ return iPositon <= that.getQueryLimit();
284
+ }
285
+ },
247
286
  items: this._getAvailableItems(sKey),
248
287
  selectedKey: sKey,
249
- change: this._selectKey.bind(this)
288
+ placeholder: this._getPlaceholderText(),
289
+ selectionChange: function(oEvt) {
290
+ var oComboBox = oEvt.getSource();
291
+ var oSelItem = oComboBox.getSelectedItem();
292
+ // var sNewKey = oComboBox.getSelectedKey();
293
+ if (!oSelItem) {
294
+ this._selectKey(oComboBox);
295
+ }
296
+ }.bind(this),
297
+ change: function(oEvt) {
298
+ var oComboBox = oEvt.getSource();
299
+ var newValue = oEvt.getParameter("newValue");
300
+ this._selectKey(oComboBox);
301
+ oComboBox.setValueState( newValue && !oComboBox.getSelectedItem() ? ValueState.Error : ValueState.None);
302
+ }.bind(this)
250
303
  });
251
304
 
252
305
  return oKeySelect;
253
306
  };
254
307
 
255
- QueryPanel.prototype._selectKey = function(oEvt) {
256
-
257
- var oListItem = oEvt.getSource().getParent().getParent();
258
-
308
+ QueryPanel.prototype._selectKey = function(oComboBox) {
309
+ var sNewKey = oComboBox.getSelectedKey();
310
+ var sOldKey = oComboBox._key;
311
+ var oListItem = oComboBox.getParent().getParent();
259
312
  var bIsLastRow = this._oListControl.getItems().length - 1 == this._oListControl.getItems().indexOf(oListItem);
260
- var sNewKey = oEvt.getParameter("selectedItem").getKey();
261
- var sOldKey = oEvt.getSource()._key;
262
-
263
- var oBtnContainer = oListItem.getContent()[0].getContent()[oListItem.getContent()[0].getContent().length - 1];
264
- //var oRemoveBtn = oBtnContainer.getItems()[oBtnContainer.getItems().length - 1];
265
313
 
266
- oBtnContainer.setVisible(sNewKey !== this.NONE_KEY);
314
+ var aContent = oListItem.getContent()[0].getContent();
315
+ var oBtnContainer = aContent[aContent.length - 1];
316
+ oBtnContainer.setVisible(!(bIsLastRow && sNewKey == ""));
267
317
 
268
318
  //Remove previous
269
319
  if (sOldKey) {
270
320
  this._updatePresence(sOldKey, false, undefined);
271
321
  }
322
+
272
323
  //store old key
273
- oEvt.getSource()._key = sNewKey;
324
+ oComboBox._key = sNewKey;
274
325
 
275
326
  //add new
276
327
  this._updatePresence(sNewKey, true, this._oListControl.getItems().indexOf(oListItem));
277
328
 
278
329
  //Add a new row in case the last "empty" row has been configured
279
- if (sNewKey !== this.NONE_KEY && bIsLastRow) {
330
+ if (sNewKey !== "" && bIsLastRow) {
280
331
  this._addQueryRow();
281
- var oSelect = oEvt.getSource();
282
- var oNoneItem = oSelect.getItemByKey(this.NONE_KEY);
283
- if (oNoneItem) {
284
- oNoneItem.setEnabled(false);
285
- }
286
332
  }
287
333
  };
288
334
 
@@ -312,11 +358,17 @@ sap.ui.define([
312
358
  var iLastIndex = this._oListControl.getItems().length - 1;
313
359
  this._oListControl.getItems()[iLastIndex].getContent()[0].getContent()[0].focus();
314
360
  }
361
+
362
+ this._getP13nModel().checkUpdate(true);
315
363
  }.bind(this)
316
364
  })
317
365
  ]
318
366
  });
319
367
 
368
+ if (this._getRemoveButtonTooltipText()) {
369
+ oRemoveBox.getItems()[0].setTooltip(this._getRemoveButtonTooltipText());
370
+ }
371
+
320
372
  return oRemoveBox;
321
373
  };
322
374
 
@@ -19,8 +19,9 @@ sap.ui.define([
19
19
  "sap/m/Button",
20
20
  "sap/m/OverflowToolbar",
21
21
  "sap/ui/model/Filter",
22
- "sap/base/util/merge"
23
- ], function(BasePanel, Label, ColumnListItem, HBox, VBox, coreLibrary, Icon, Text, Column, Table, mLibrary, ToolbarSpacer, Button, OverflowToolbar, Filter, merge) {
22
+ "sap/base/util/merge",
23
+ "sap/ui/core/InvisibleText"
24
+ ], function(BasePanel, Label, ColumnListItem, HBox, VBox, coreLibrary, Icon, Text, Column, Table, mLibrary, ToolbarSpacer, Button, OverflowToolbar, Filter, merge, InvisibleText) {
24
25
  "use strict";
25
26
 
26
27
  // shortcut for sap.ui.core.IconColor
@@ -47,7 +48,7 @@ sap.ui.define([
47
48
  * @extends sap.m.p13n.BasePanel
48
49
  *
49
50
  * @author SAP SE
50
- * @version 1.100.0
51
+ * @version 1.102.1
51
52
  *
52
53
  * @public
53
54
  * @experimental Since 1.96.
@@ -151,6 +152,17 @@ sap.ui.define([
151
152
  }
152
153
  }
153
154
  }
155
+ }),
156
+ // The active status is visiually represented as dot icon in the tabular view, for the screen reader it needs to be ensured
157
+ // that a similar information is available without the UI. This InvisibleText will provide a text in the screen reader as:
158
+ // "Active Field is active" & "Active Field is inactive"
159
+ new InvisibleText({
160
+ text: {
161
+ path: this.P13N_MODEL + ">active",
162
+ formatter: function(bactive) {
163
+ return bactive ? this._getResourceText("p13n.ACTIVESTATE_ACTIVE") : this._getResourceText("p13n.ACTIVESTATE_INACTIVE");
164
+ }.bind(this)
165
+ }
154
166
  })
155
167
  ]
156
168
  })
@@ -280,6 +292,12 @@ sap.ui.define([
280
292
  }
281
293
  BasePanel.prototype.setP13nData.call(this, aP13nData);
282
294
  this._updateCount();
295
+
296
+ //After explicitly updating the data (e.g. outer influences by the p13n.Popup such as reset, open & update)
297
+ //Ensure that the remove buttons and currently selected item will be reset, as it's not clear anymore
298
+ //remove the reorder buttons from their current location and hence reset the hover logic
299
+ this._removeMoveButtons();
300
+ this._oSelectedItem = null;
283
301
  };
284
302
 
285
303
  SelectionPanel.prototype._updateCount = function() {
@@ -359,8 +377,15 @@ sap.ui.define([
359
377
  this._oListControl.getItems().forEach(function(oItem){
360
378
  var oContext = oItem.getBindingContext(this.P13N_MODEL);
361
379
  var oField = this.getItemFactory().call(this, oContext);
362
- var oCell = oItem.getCells()[0];
363
- oCell.addItem(oField);
380
+
381
+ //set 'labelFor'
382
+ var oFirstCell = oItem.getCells()[0];
383
+ var oLabel = oFirstCell.getItems()[0];
384
+ if (oLabel) {
385
+ oLabel.setLabelFor(oField);
386
+ }
387
+
388
+ oFirstCell.addItem(oField);
364
389
  }.bind(this));
365
390
  this.addStyleClass("sapUiMDCAFLabelMarkingList");
366
391
  };
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.100.0
24
+ * @version 1.102.1
25
25
  *
26
26
  * @public
27
27
  * @experimental Since 1.96.
@@ -30,6 +30,9 @@ sap.ui.define([
30
30
  */
31
31
 
32
32
  var SortPanel = QueryPanel.extend("sap.m.p13n.SortPanel", {
33
+ metadata: {
34
+ library: "sap.m"
35
+ },
33
36
  renderer: {
34
37
  apiVersion: 2
35
38
  }
@@ -103,7 +106,7 @@ sap.ui.define([
103
106
  return oSortOrderSwitch;
104
107
  };
105
108
 
106
- SortPanel.prototype._createSortOrderText = function (bDesc) {
109
+ SortPanel.prototype._createSortOrderText = function (sKey, bDesc) {
107
110
  return new Text({
108
111
  layoutData: new GridData({
109
112
  span: "XL3 L3 M3 S3",
@@ -117,7 +120,7 @@ sap.ui.define([
117
120
  //Enhance row with sort specific controls (Segmented Button + sort order text)
118
121
  var oSelect = this._createKeySelect(oItem.name);
119
122
  var oSortOrderSwitch = this._createOrderSwitch(oItem.name, oItem.descending);
120
- var oSortOrderText = this._createSortOrderText(oItem.descending);
123
+ var oSortOrderText = this._createSortOrderText(oItem.name, oItem.descending);
121
124
 
122
125
  return new Grid({
123
126
  containerQuery: true,
@@ -130,16 +133,25 @@ sap.ui.define([
130
133
  }).addStyleClass("sapUiTinyMargin");
131
134
  };
132
135
 
133
- SortPanel.prototype._selectKey = function(oEvt) {
136
+ SortPanel.prototype._getPlaceholderText = function () {
137
+ return this._getResourceText("p13n.SORT_PLACEHOLDER");
138
+ };
139
+
140
+ SortPanel.prototype._getRemoveButtonTooltipText = function () {
141
+ return this._getResourceText("p13n.SORT_REMOVEICONTOOLTIP");
142
+ };
143
+
144
+ SortPanel.prototype._selectKey = function(oComboBox) {
134
145
  QueryPanel.prototype._selectKey.apply(this, arguments);
135
146
 
136
147
  //Enable SegmentedButton
137
- var oListItem = oEvt.getSource().getParent().getParent();
138
- var sNewKey = oEvt.getParameter("selectedItem").getKey();
139
- oListItem.getContent()[0].getContent()[1].setEnabled(sNewKey !== this.NONE_KEY);
148
+ var oListItem = oComboBox.getParent().getParent();
149
+ var sNewKey = oComboBox.getSelectedKey();
150
+ var aContent = oListItem.getContent()[0].getContent();
151
+ aContent[1].setEnabled(!!sNewKey);
140
152
 
141
153
  //keep existing 'sortorder' selection
142
- var bDescending = oListItem.getContent()[0].getContent()[1].getSelectedKey() === "desc";
154
+ var bDescending = aContent[1].getSelectedKey() === "desc";
143
155
  this._changeOrder(sNewKey, bDescending);
144
156
  };
145
157
 
@@ -152,12 +164,14 @@ sap.ui.define([
152
164
  return oItem.name === sKey;
153
165
  });
154
166
 
155
- aItems[0].descending = bDesc;
167
+ if (aItems.length > 0) {
168
+ aItems[0].descending = bDesc;
156
169
 
157
- this.fireChange({
158
- reason: this.CHANGE_REASON_SORTORDER,
159
- item: aItems[0]
160
- });
170
+ this.fireChange({
171
+ reason: this.CHANGE_REASON_SORTORDER,
172
+ item: aItems[0]
173
+ });
174
+ }
161
175
  };
162
176
 
163
177
  return SortPanel;
@@ -10,6 +10,8 @@ sap.ui.define([
10
10
  "sap/ui/core/InvisibleText",
11
11
  "sap/ui/Device",
12
12
  "sap/m/ColumnPopoverActionItem",
13
+ "sap/m/table/columnmenu/QuickAction",
14
+ "sap/m/Button",
13
15
  "sap/ui/thirdparty/jquery",
14
16
  "sap/ui/dom/jquery/control", // jQuery Plugin "control"
15
17
  "sap/ui/dom/jquery/Aria" // jQuery Plugin "aria"
@@ -18,6 +20,8 @@ sap.ui.define([
18
20
  InvisibleText,
19
21
  Device,
20
22
  ColumnPopoverActionItem,
23
+ QuickAction,
24
+ Button,
21
25
  jQuery
22
26
  ) {
23
27
  "use strict";
@@ -35,7 +39,7 @@ sap.ui.define([
35
39
  *
36
40
  * @extends sap.ui.core.Element
37
41
  * @author SAP SE
38
- * @version 1.100.0
42
+ * @version 1.102.1
39
43
  *
40
44
  * @public
41
45
  * @since 1.91
@@ -176,6 +180,7 @@ sap.ui.define([
176
180
 
177
181
  ColumnResizer.prototype._onmouseleave = function() {
178
182
  this._invalidatePositions();
183
+ this.onsapescape();
179
184
  };
180
185
 
181
186
  ColumnResizer.prototype._ontouchend = function() {
@@ -219,7 +224,7 @@ sap.ui.define([
219
224
  */
220
225
  ColumnResizer.prototype._getHoveredColumnIndex = function(iClientX) {
221
226
  return this._aPositions.findIndex(function(fPosition) {
222
- return Math.abs(fPosition - iClientX) <= (this._oAlternateHandle || window.matchMedia("(hover:none)").matches ? 20 : 3);
227
+ return Math.abs(fPosition - iClientX) <= (this._oAlternateHandle || ColumnResizer._isInTouchMode() ? 20 : 3);
223
228
  }, this);
224
229
  };
225
230
 
@@ -266,8 +271,9 @@ sap.ui.define([
266
271
  if (!this._oHandle) {
267
272
  this._oHandle = document.createElement("div");
268
273
  this._oHandle.className = CSS_CLASS + "Handle";
274
+ this._oHandle.onmouseleave = function() { this.style[sBeginDirection] = ""; };
269
275
 
270
- if (bMobileHandle || window.matchMedia("(hover:none)").matches) {
276
+ if (bMobileHandle || ColumnResizer._isInTouchMode()) {
271
277
  var oCircle = document.createElement("div");
272
278
  oCircle.className = CSS_CLASS + "HandleCircle";
273
279
  oCircle.style.top = this._aResizables[iColumnIndex].offsetHeight - 8 + "px";
@@ -486,15 +492,40 @@ sap.ui.define([
486
492
  this._displayHandle(iColumnIndex, true);
487
493
  };
488
494
 
495
+ /**
496
+ * Returns resizer quick action instance which on press calls the <code>startResizing</code> method.
497
+ * @param {sap.m.Column} oColumn Column instance
498
+ * @param {sap.m.table.columnmenu.Menu} oColumnMenu The column menu instance
499
+ * @returns {sap.m.table.columnmenu.QuickAction | undefined} column resize quick action
500
+ * @ui5-restricted
501
+ * @private
502
+ */
503
+ ColumnResizer.prototype.getColumnResizeQuickAction = function(oColumn, oColumnMenu) {
504
+ if (!oColumn || !ColumnResizer._isInTouchMode()) {
505
+ return;
506
+ }
507
+
508
+ return new QuickAction({
509
+ label: Core.getLibraryResourceBundle("sap.m").getText("table.COLUMN_MENU_RESIZE"),
510
+ content: new Button({
511
+ icon: "sap-icon://resize-horizontal",
512
+ press: function() {
513
+ oColumnMenu.close();
514
+ this.startResizing(oColumn.getDomRef());
515
+ }.bind(this)
516
+ })
517
+ });
518
+ };
519
+
489
520
  /**
490
521
  * Returns resizer button instance which on press calls the <code>startResizing</code> method.
491
522
  * @param {sap.m.Column} oColumn Column instance
492
- * @returns {sap.m.ColumnPopoverActionItem} column resize action item
523
+ * @returns {sap.m.ColumnPopoverActionItem | undefined} column resize action item
493
524
  * @ui5-restricted
494
525
  * @private
495
526
  */
496
527
  ColumnResizer.prototype.getColumnResizeButton = function(oColumn) {
497
- if (!oColumn || !window.matchMedia("(hover:none)").matches) {
528
+ if (!oColumn || !ColumnResizer._isInTouchMode()) {
498
529
  return;
499
530
  }
500
531
 
@@ -505,6 +536,10 @@ sap.ui.define([
505
536
  });
506
537
  };
507
538
 
539
+ ColumnResizer._isInTouchMode = function() {
540
+ return window.matchMedia("(hover:none)").matches;
541
+ };
542
+
508
543
  /**
509
544
  * Plugin-specific control configurations.
510
545
  */
@@ -520,7 +555,7 @@ sap.ui.define([
520
555
 
521
556
  if (!oTable.bActiveHeaders) {
522
557
  oTable.bFocusableHeaders = true;
523
- this.allowTouchResizing = window.matchMedia("(hover:none)").matches;
558
+ this.allowTouchResizing = ColumnResizer._isInTouchMode();
524
559
  }
525
560
 
526
561
  oTable.setFixedLayout("Strict");
@@ -19,7 +19,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/base/ManagedObjectObs
19
19
  *
20
20
  * @extends sap.ui.core.Element
21
21
  * @author SAP SE
22
- * @version 1.100.0
22
+ * @version 1.102.1
23
23
  *
24
24
  * @public
25
25
  * @since 1.73
@@ -342,9 +342,10 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/base/ManagedObjectObs
342
342
  DataStateIndicator.prototype._applyFilter = function() {
343
343
  var fnFilter = this.getFilter();
344
344
  var oControl = this.getControl();
345
+ var oParent = this.getParent();
345
346
  var oBinding = oControl.getBinding(this._getBindingName());
346
347
  var fnMessageFilter = fnFilter && function(oMessage) {
347
- return fnFilter(oMessage, oControl);
348
+ return fnFilter(oMessage, oParent);
348
349
  };
349
350
 
350
351
  oBinding.requestFilterForMessages(fnMessageFilter).then(function(oFilter) {
@@ -28,7 +28,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/core/util/PasteHelper
28
28
  *
29
29
  * @extends sap.ui.core.Element
30
30
  * @author SAP SE
31
- * @version 1.100.0
31
+ * @version 1.102.1
32
32
  *
33
33
  * @public
34
34
  * @since 1.91
@@ -20,7 +20,7 @@ sap.ui.define(["sap/ui/core/Element"], function(Element) {
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.100.0
23
+ * @version 1.102.1
24
24
  *
25
25
  * @private
26
26
  * @experimental Since 1.73. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -32,7 +32,7 @@ sap.ui.define(["sap/ui/support/library"],
32
32
  resolution: "Either set enabled to true ot set editable to false",
33
33
  resolutionurls: [{
34
34
  text: "API Reference: sap.m.CheckBox",
35
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.CheckBox"
35
+ href: "https://openui5.hana.ondemand.com/api/sap.m.CheckBox"
36
36
  }],
37
37
  check: function (oIssueManager, oCoreFacade, oScope) {
38
38
  oScope.getElementsByClassName("sap.m.CheckBox")
@@ -91,7 +91,7 @@ sap.ui.define(["sap/ui/support/library"],
91
91
  resolution: "Enable the \"densityAware\" property of this image control",
92
92
  resolutionurls: [{
93
93
  text: "API Refrence for sap.m.Image",
94
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.Image"
94
+ href: "https://openui5.hana.ondemand.com/api/sap.m.Image"
95
95
  }],
96
96
  check: function (oIssueManager, oCoreFacade, oScope, fnResolve) {
97
97
 
@@ -33,7 +33,7 @@ sap.ui.define(["sap/ui/support/library"],
33
33
  resolution: "Remove the href property of the link",
34
34
  resolutionurls: [{
35
35
  text: "API Reference: sap.m.Link",
36
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.Link"
36
+ href: "https://openui5.hana.ondemand.com/api/sap.m.Link"
37
37
  }],
38
38
  check: function (oIssueManager, oCoreFacade, oScope) {
39
39
  oScope.getElementsByClassName("sap.m.Link")
@@ -42,7 +42,7 @@ function(SupportLib) {
42
42
  resolution: "Use Message Page in a container with set height, such as sap.m.App",
43
43
  resolutionurls: [{
44
44
  text: "sap.m.MessagePage API Reference",
45
- href: "https://openui5.hana.ondemand.com/#/api/sap.m.MessagePage"
45
+ href: "https://openui5.hana.ondemand.com/api/sap.m.MessagePage"
46
46
  }],
47
47
  check: function (oIssueManager, oCoreFacade, oScope) {
48
48
  oScope.getElementsByClassName("sap.m.MessagePage").forEach(function(oMPage) {
@@ -33,7 +33,7 @@ sap.ui.define(["sap/ui/support/library"],
33
33
  resolution: "Use markers aggregation",
34
34
  resolutionurls: [{
35
35
  text: "API Reference: sap.m.ObjectHeader",
36
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
36
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
37
37
  }],
38
38
  check: function (oIssueManager, oCoreFacade, oScope) {
39
39
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -70,7 +70,7 @@ sap.ui.define(["sap/ui/support/library"],
70
70
  resolution: "Use statuses aggregation",
71
71
  resolutionurls: [{
72
72
  text: "API Reference: sap.m.ObjectHeader",
73
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
73
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
74
74
  }],
75
75
  check: function (oIssueManager, oCoreFacade, oScope) {
76
76
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -106,7 +106,7 @@ sap.ui.define(["sap/ui/support/library"],
106
106
  resolution: "Change the responsive property to false",
107
107
  resolutionurls: [{
108
108
  text: "API Reference: sap.m.ObjectHeader",
109
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
109
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
110
110
  }],
111
111
  check: function (oIssueManager, oCoreFacade, oScope) {
112
112
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -142,7 +142,7 @@ sap.ui.define(["sap/ui/support/library"],
142
142
  resolution: "Change the responsive property to true",
143
143
  resolutionurls: [{
144
144
  text: "API Reference: sap.m.ObjectHeader",
145
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
145
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
146
146
  }],
147
147
  check: function (oIssueManager, oCoreFacade, oScope) {
148
148
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -178,7 +178,7 @@ sap.ui.define(["sap/ui/support/library"],
178
178
  resolution: "Change the responsive property to false",
179
179
  resolutionurls: [{
180
180
  text: "API Reference: sap.m.ObjectHeader",
181
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
181
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
182
182
  }],
183
183
  check: function (oIssueManager, oCoreFacade, oScope) {
184
184
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -214,7 +214,7 @@ sap.ui.define(["sap/ui/support/library"],
214
214
  resolution: "Change the responsive property to true",
215
215
  resolutionurls: [{
216
216
  text: "API Reference: sap.m.ObjectHeader",
217
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectHeader"
217
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectHeader"
218
218
  }],
219
219
  check: function (oIssueManager, oCoreFacade, oScope) {
220
220
  oScope.getElementsByClassName("sap.m.ObjectHeader")
@@ -33,7 +33,7 @@ sap.ui.define(["sap/ui/support/library"],
33
33
  resolution: "Use markers aggregation",
34
34
  resolutionurls: [{
35
35
  text: "API Reference: sap.m.ObjectListItem",
36
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectListItem"
36
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectListItem"
37
37
  }],
38
38
  check: function (oIssueManager, oCoreFacade, oScope) {
39
39
  oScope.getElementsByClassName("sap.m.ObjectListItem")
@@ -33,7 +33,7 @@ sap.ui.define(["sap/ui/support/library"],
33
33
  resolution: "Set type of the ObjectMarker",
34
34
  resolutionurls: [{
35
35
  text: "API Reference: sap.m.ObjectMarker",
36
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectMarker"
36
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectMarker"
37
37
  }],
38
38
  check: function (oIssueManager, oCoreFacade, oScope) {
39
39
  oScope.getElementsByClassName("sap.m.ObjectMarker")
@@ -33,7 +33,7 @@ sap.ui.define(["sap/ui/support/library"],
33
33
  resolution: "Set text or icon when active property is true",
34
34
  resolutionurls: [{
35
35
  text: "API Reference: sap.m.ObjectStatus",
36
- href: "https://sapui5.hana.ondemand.com/#/api/sap.m.ObjectStatus"
36
+ href: "https://openui5.hana.ondemand.com/api/sap.m.ObjectStatus"
37
37
  }],
38
38
  check: function (oIssueManager, oCoreFacade, oScope) {
39
39
  oScope.getElementsByClassName("sap.m.ObjectStatus")