@openui5/sap.m 1.111.6 → 1.112.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 (433) hide show
  1. package/package.json +4 -4
  2. package/src/sap/m/.library +1 -1
  3. package/src/sap/m/AccButton.js +1 -1
  4. package/src/sap/m/ActionListItem.js +1 -1
  5. package/src/sap/m/ActionSelect.js +1 -1
  6. package/src/sap/m/ActionSheet.js +1 -1
  7. package/src/sap/m/ActionTile.js +1 -1
  8. package/src/sap/m/ActionTileContent.js +2 -3
  9. package/src/sap/m/ActionTileContentRenderer.js +2 -3
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +3 -3
  19. package/src/sap/m/Carousel.js +1 -1
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +2 -2
  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/ColumnPopoverActionItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  32. package/src/sap/m/ComboBox.js +1 -2
  33. package/src/sap/m/ComboBoxBase.js +1 -2
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +4 -2
  40. package/src/sap/m/DatePickerRenderer.js +5 -5
  41. package/src/sap/m/DateRangeSelection.js +5 -5
  42. package/src/sap/m/DateTimeField.js +1 -1
  43. package/src/sap/m/DateTimeFieldRenderer.js +13 -0
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +1 -1
  46. package/src/sap/m/DateTimePickerRenderer.js +4 -4
  47. package/src/sap/m/Dialog.js +44 -3
  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 +4 -2
  51. package/src/sap/m/DynamicDateFormat.js +6 -30
  52. package/src/sap/m/DynamicDateOption.js +18 -38
  53. package/src/sap/m/DynamicDateRange.js +9 -43
  54. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  55. package/src/sap/m/ExpandableText.js +1 -1
  56. package/src/sap/m/FacetFilter.js +1 -1
  57. package/src/sap/m/FacetFilterItem.js +1 -1
  58. package/src/sap/m/FacetFilterList.js +1 -1
  59. package/src/sap/m/FeedContent.js +1 -1
  60. package/src/sap/m/FeedInput.js +1 -1
  61. package/src/sap/m/FeedListItem.js +1 -1
  62. package/src/sap/m/FeedListItemAction.js +1 -1
  63. package/src/sap/m/Fiori20Adapter.js +2 -2
  64. package/src/sap/m/FlexBox.js +1 -1
  65. package/src/sap/m/FlexItemData.js +1 -1
  66. package/src/sap/m/FormattedText.js +4 -49
  67. package/src/sap/m/GenericTag.js +1 -1
  68. package/src/sap/m/GenericTile.js +1 -1
  69. package/src/sap/m/GroupHeaderListItem.js +1 -1
  70. package/src/sap/m/GrowingList.js +1 -1
  71. package/src/sap/m/HBox.js +1 -1
  72. package/src/sap/m/HeaderContainer.js +1 -1
  73. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  74. package/src/sap/m/IconTabBar.js +1 -1
  75. package/src/sap/m/IconTabBarSelectList.js +1 -1
  76. package/src/sap/m/IconTabFilter.js +1 -1
  77. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  78. package/src/sap/m/IconTabHeader.js +1 -1
  79. package/src/sap/m/IconTabSeparator.js +1 -1
  80. package/src/sap/m/IllustratedMessage.js +21 -2
  81. package/src/sap/m/Illustration.js +1 -1
  82. package/src/sap/m/Image.js +1 -1
  83. package/src/sap/m/ImageContent.js +1 -1
  84. package/src/sap/m/Input.js +4 -28
  85. package/src/sap/m/InputBase.js +1 -1
  86. package/src/sap/m/InputListItem.js +1 -1
  87. package/src/sap/m/Label.js +2 -2
  88. package/src/sap/m/LabelRenderer.js +0 -2
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +1 -1
  92. package/src/sap/m/LinkRenderer.js +1 -1
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +1 -1
  95. package/src/sap/m/ListItemBase.js +1 -1
  96. package/src/sap/m/MaskEnabler.js +1 -1
  97. package/src/sap/m/MaskInput.js +1 -1
  98. package/src/sap/m/MaskInputRule.js +1 -1
  99. package/src/sap/m/Menu.js +1 -1
  100. package/src/sap/m/MenuButton.js +1 -1
  101. package/src/sap/m/MenuItem.js +1 -1
  102. package/src/sap/m/MenuListItem.js +1 -1
  103. package/src/sap/m/MessageItem.js +1 -1
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +2 -1
  106. package/src/sap/m/MessagePopover.js +32 -2
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +1 -1
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +3 -1
  111. package/src/sap/m/MultiComboBox.js +2 -3
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +1 -1
  114. package/src/sap/m/NavContainer.js +1 -1
  115. package/src/sap/m/NewsContent.js +1 -1
  116. package/src/sap/m/NotificationList.js +1 -1
  117. package/src/sap/m/NotificationListBase.js +1 -1
  118. package/src/sap/m/NotificationListGroup.js +1 -1
  119. package/src/sap/m/NotificationListItem.js +1 -1
  120. package/src/sap/m/NumericContent.js +1 -1
  121. package/src/sap/m/NumericInput.js +1 -1
  122. package/src/sap/m/ObjectAttribute.js +23 -2
  123. package/src/sap/m/ObjectHeader.js +1 -1
  124. package/src/sap/m/ObjectIdentifier.js +1 -1
  125. package/src/sap/m/ObjectListItem.js +1 -1
  126. package/src/sap/m/ObjectMarker.js +2 -2
  127. package/src/sap/m/ObjectNumber.js +1 -1
  128. package/src/sap/m/ObjectNumberRenderer.js +1 -1
  129. package/src/sap/m/ObjectStatus.js +1 -1
  130. package/src/sap/m/ObjectStatusRenderer.js +1 -1
  131. package/src/sap/m/OverflowToolbar.js +10 -1
  132. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  133. package/src/sap/m/OverflowToolbarButton.js +1 -1
  134. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  135. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  136. package/src/sap/m/OverflowToolbarRenderer.js +3 -0
  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 +1 -1
  156. package/src/sap/m/Page.js +62 -5
  157. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  158. package/src/sap/m/PagingButton.js +1 -1
  159. package/src/sap/m/Panel.js +1 -1
  160. package/src/sap/m/PanelRenderer.js +17 -6
  161. package/src/sap/m/PlanningCalendar.js +121 -119
  162. package/src/sap/m/PlanningCalendarHeader.js +7 -5
  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 +1 -1
  167. package/src/sap/m/PopoverRenderer.js +5 -1
  168. package/src/sap/m/ProgressIndicator.js +1 -1
  169. package/src/sap/m/PullToRefresh.js +1 -1
  170. package/src/sap/m/QuickView.js +1 -1
  171. package/src/sap/m/QuickViewBase.js +1 -1
  172. package/src/sap/m/QuickViewCard.js +1 -1
  173. package/src/sap/m/QuickViewGroup.js +1 -1
  174. package/src/sap/m/QuickViewGroupElement.js +1 -1
  175. package/src/sap/m/QuickViewPage.js +1 -1
  176. package/src/sap/m/RadioButton.js +1 -1
  177. package/src/sap/m/RadioButtonGroup.js +1 -1
  178. package/src/sap/m/RangeSlider.js +1 -1
  179. package/src/sap/m/RatingIndicator.js +1 -1
  180. package/src/sap/m/ResponsivePopover.js +1 -1
  181. package/src/sap/m/ResponsiveScale.js +1 -1
  182. package/src/sap/m/ScrollBar.js +1 -1
  183. package/src/sap/m/ScrollContainer.js +1 -1
  184. package/src/sap/m/SearchField.js +1 -1
  185. package/src/sap/m/SearchFieldRenderer.js +6 -1
  186. package/src/sap/m/SegmentedButton.js +1 -1
  187. package/src/sap/m/SegmentedButtonItem.js +1 -1
  188. package/src/sap/m/Select.js +10 -3
  189. package/src/sap/m/SelectDialog.js +1 -1
  190. package/src/sap/m/SelectDialogBase.js +1 -1
  191. package/src/sap/m/SelectList.js +1 -1
  192. package/src/sap/m/SelectRenderer.js +5 -2
  193. package/src/sap/m/SelectionDetails.js +1 -1
  194. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  195. package/src/sap/m/SelectionDetailsItem.js +1 -1
  196. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  197. package/src/sap/m/Shell.js +1 -1
  198. package/src/sap/m/SimpleFixFlex.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendar.js +17 -15
  200. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarGrid.js +51 -68
  202. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +15 -12
  203. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +18 -16
  204. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +6 -4
  205. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  207. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  209. package/src/sap/m/SlideTile.js +1 -1
  210. package/src/sap/m/Slider.js +1 -1
  211. package/src/sap/m/SliderTooltip.js +1 -1
  212. package/src/sap/m/SliderTooltipBase.js +1 -1
  213. package/src/sap/m/SliderTooltipContainer.js +1 -1
  214. package/src/sap/m/SplitApp.js +1 -1
  215. package/src/sap/m/SplitButton.js +1 -1
  216. package/src/sap/m/SplitContainer.js +1 -1
  217. package/src/sap/m/StandardDynamicDateOption.js +5 -13
  218. package/src/sap/m/StandardListItem.js +1 -1
  219. package/src/sap/m/StandardTile.js +1 -1
  220. package/src/sap/m/StandardTreeItem.js +1 -1
  221. package/src/sap/m/StepInput.js +2 -2
  222. package/src/sap/m/SuggestionItem.js +1 -1
  223. package/src/sap/m/SuggestionsPopover.js +1 -1
  224. package/src/sap/m/Switch.js +1 -1
  225. package/src/sap/m/TabContainer.js +1 -1
  226. package/src/sap/m/TabContainerItem.js +1 -1
  227. package/src/sap/m/TabContainerRenderer.js +1 -1
  228. package/src/sap/m/TabStrip.js +1 -1
  229. package/src/sap/m/TabStripItem.js +1 -1
  230. package/src/sap/m/Table.js +6 -8
  231. package/src/sap/m/TablePersoController.js +1 -1
  232. package/src/sap/m/TablePersoDialog.js +1 -1
  233. package/src/sap/m/TablePersoProvider.js +1 -1
  234. package/src/sap/m/TableSelectDialog.js +1 -1
  235. package/src/sap/m/Text.js +1 -1
  236. package/src/sap/m/TextArea.js +1 -1
  237. package/src/sap/m/Tile.js +1 -1
  238. package/src/sap/m/TileContainer.js +1 -1
  239. package/src/sap/m/TileContent.js +2 -3
  240. package/src/sap/m/TimePicker.js +2 -2
  241. package/src/sap/m/TimePickerClock.js +5 -6
  242. package/src/sap/m/TimePickerClocks.js +1 -1
  243. package/src/sap/m/TimePickerInputs.js +1 -1
  244. package/src/sap/m/TimePickerInternals.js +1 -1
  245. package/src/sap/m/TimePickerRenderer.js +9 -10
  246. package/src/sap/m/TimePickerSlider.js +1 -1
  247. package/src/sap/m/TimePickerSliders.js +1 -1
  248. package/src/sap/m/Title.js +1 -1
  249. package/src/sap/m/TitlePropagationSupport.js +1 -1
  250. package/src/sap/m/TitleRenderer.js +1 -5
  251. package/src/sap/m/ToggleButton.js +1 -1
  252. package/src/sap/m/Token.js +1 -1
  253. package/src/sap/m/Tokenizer.js +4 -4
  254. package/src/sap/m/Toolbar.js +89 -5
  255. package/src/sap/m/ToolbarLayoutData.js +1 -1
  256. package/src/sap/m/ToolbarRenderer.js +26 -26
  257. package/src/sap/m/ToolbarSeparator.js +1 -1
  258. package/src/sap/m/ToolbarSpacer.js +1 -1
  259. package/src/sap/m/Tree.js +1 -1
  260. package/src/sap/m/TreeItemBase.js +1 -1
  261. package/src/sap/m/UploadCollection.js +1 -1
  262. package/src/sap/m/UploadCollectionItem.js +1 -1
  263. package/src/sap/m/UploadCollectionParameter.js +1 -1
  264. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  265. package/src/sap/m/VBox.js +1 -1
  266. package/src/sap/m/ValueStateHeader.js +1 -1
  267. package/src/sap/m/VariantManagement.js +149 -39
  268. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  269. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  270. package/src/sap/m/ViewSettingsDialog.js +1 -1
  271. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  272. package/src/sap/m/ViewSettingsItem.js +1 -1
  273. package/src/sap/m/VisibleItem.js +1 -1
  274. package/src/sap/m/WheelSlider.js +1 -1
  275. package/src/sap/m/WheelSliderContainer.js +1 -1
  276. package/src/sap/m/Wizard.js +1 -1
  277. package/src/sap/m/WizardProgressNavigator.js +1 -1
  278. package/src/sap/m/WizardStep.js +1 -1
  279. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  280. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  281. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  282. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  283. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  284. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  285. package/src/sap/m/delegate/DateNavigation.js +3 -1
  286. package/src/sap/m/designtime/Panel.designtime.js +1 -1
  287. package/src/sap/m/library.js +3 -3
  288. package/src/sap/m/messagebundle.properties +12 -0
  289. package/src/sap/m/messagebundle_ar.properties +16 -4
  290. package/src/sap/m/messagebundle_bg.properties +21 -9
  291. package/src/sap/m/messagebundle_ca.properties +16 -4
  292. package/src/sap/m/messagebundle_cs.properties +16 -4
  293. package/src/sap/m/messagebundle_cy.properties +16 -4
  294. package/src/sap/m/messagebundle_da.properties +16 -4
  295. package/src/sap/m/messagebundle_de.properties +16 -4
  296. package/src/sap/m/messagebundle_el.properties +16 -4
  297. package/src/sap/m/messagebundle_en.properties +13 -1
  298. package/src/sap/m/messagebundle_en_GB.properties +13 -1
  299. package/src/sap/m/messagebundle_en_US_sappsd.properties +8 -0
  300. package/src/sap/m/messagebundle_en_US_saprigi.properties +12 -0
  301. package/src/sap/m/messagebundle_en_US_saptrc.properties +12 -0
  302. package/src/sap/m/messagebundle_es.properties +16 -4
  303. package/src/sap/m/messagebundle_es_MX.properties +16 -4
  304. package/src/sap/m/messagebundle_et.properties +16 -4
  305. package/src/sap/m/messagebundle_fi.properties +16 -4
  306. package/src/sap/m/messagebundle_fr.properties +16 -4
  307. package/src/sap/m/messagebundle_fr_CA.properties +16 -4
  308. package/src/sap/m/messagebundle_hi.properties +16 -4
  309. package/src/sap/m/messagebundle_hr.properties +16 -4
  310. package/src/sap/m/messagebundle_hu.properties +17 -5
  311. package/src/sap/m/messagebundle_id.properties +17 -5
  312. package/src/sap/m/messagebundle_it.properties +16 -4
  313. package/src/sap/m/messagebundle_iw.properties +16 -4
  314. package/src/sap/m/messagebundle_ja.properties +16 -4
  315. package/src/sap/m/messagebundle_kk.properties +16 -4
  316. package/src/sap/m/messagebundle_ko.properties +17 -5
  317. package/src/sap/m/messagebundle_lt.properties +16 -4
  318. package/src/sap/m/messagebundle_lv.properties +16 -4
  319. package/src/sap/m/messagebundle_ms.properties +16 -4
  320. package/src/sap/m/messagebundle_nl.properties +16 -4
  321. package/src/sap/m/messagebundle_no.properties +16 -4
  322. package/src/sap/m/messagebundle_pl.properties +16 -4
  323. package/src/sap/m/messagebundle_pt.properties +16 -4
  324. package/src/sap/m/messagebundle_pt_PT.properties +16 -4
  325. package/src/sap/m/messagebundle_ro.properties +16 -4
  326. package/src/sap/m/messagebundle_ru.properties +16 -4
  327. package/src/sap/m/messagebundle_sh.properties +16 -4
  328. package/src/sap/m/messagebundle_sk.properties +16 -4
  329. package/src/sap/m/messagebundle_sl.properties +16 -4
  330. package/src/sap/m/messagebundle_sv.properties +16 -4
  331. package/src/sap/m/messagebundle_th.properties +16 -4
  332. package/src/sap/m/messagebundle_tr.properties +16 -4
  333. package/src/sap/m/messagebundle_uk.properties +16 -4
  334. package/src/sap/m/messagebundle_vi.properties +16 -4
  335. package/src/sap/m/messagebundle_zh_CN.properties +22 -10
  336. package/src/sap/m/messagebundle_zh_TW.properties +19 -7
  337. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  338. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  339. package/src/sap/m/p13n/BasePanel.js +28 -1
  340. package/src/sap/m/p13n/Container.js +1 -1
  341. package/src/sap/m/p13n/Engine.js +3 -21
  342. package/src/sap/m/p13n/FlexUtil.js +27 -34
  343. package/src/sap/m/p13n/GroupController.js +1 -1
  344. package/src/sap/m/p13n/GroupPanel.js +1 -1
  345. package/src/sap/m/p13n/PersistenceProvider.js +2 -1
  346. package/src/sap/m/p13n/Popup.js +9 -4
  347. package/src/sap/m/p13n/QueryPanel.js +1 -1
  348. package/src/sap/m/p13n/SelectionController.js +150 -76
  349. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  350. package/src/sap/m/p13n/SortController.js +1 -1
  351. package/src/sap/m/p13n/SortPanel.js +1 -1
  352. package/src/sap/m/p13n/handler/xConfigHandler.js +5 -5
  353. package/src/sap/m/p13n/modification/FlexModificationHandler.js +4 -3
  354. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +7 -6
  355. package/src/sap/m/p13n/modification/ModificationHandler.js +10 -57
  356. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +2 -2
  357. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +2 -2
  358. package/src/sap/m/p13n/modules/UIManager.js +2 -2
  359. package/src/sap/m/plugins/CellSelector.js +1 -1
  360. package/src/sap/m/plugins/ColumnResizer.js +2 -2
  361. package/src/sap/m/plugins/CopyProvider.js +1 -1
  362. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  363. package/src/sap/m/plugins/PasteProvider.js +1 -1
  364. package/src/sap/m/plugins/PluginBase.js +1 -1
  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 +1 -1
  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 +67 -5
  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 +1 -1
  406. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  408. package/src/sap/m/table/columnmenu/Item.js +1 -1
  409. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  410. package/src/sap/m/table/columnmenu/Menu.js +22 -20
  411. package/src/sap/m/table/columnmenu/MenuRenderer.js +7 -0
  412. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  413. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  414. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  415. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  416. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  417. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  418. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  420. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  421. package/src/sap/m/themes/base/Button.less +15 -0
  422. package/src/sap/m/themes/base/IconTabBar.less +1 -2
  423. package/src/sap/m/themes/base/ObjectAttribute.less +1 -0
  424. package/src/sap/m/themes/base/ObjectNumber.less +6 -0
  425. package/src/sap/m/themes/base/ObjectStatus.less +7 -26
  426. package/src/sap/m/themes/base/Title.less +1 -1
  427. package/src/sap/m/themes/base/Toolbar.less +6 -3
  428. package/src/sap/m/themes/sap_hcb/ObjectStatus.less +0 -26
  429. package/src/sap/m/upload/UploadSet.js +4 -7
  430. package/src/sap/m/upload/UploadSetItem.js +1 -1
  431. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  432. package/src/sap/m/themes/sap_horizon/Label.less +0 -10
  433. package/src/sap/m/themes/sap_horizon/Text.less +0 -10
@@ -14,6 +14,7 @@ sap.ui.define([
14
14
  'sap/ui/core/EnabledPropagator',
15
15
  "sap/ui/events/KeyCodes",
16
16
  './ToolbarRenderer',
17
+ "sap/m/Button",
17
18
  "sap/ui/core/library"
18
19
  ],
19
20
  function(
@@ -25,6 +26,7 @@ function(
25
26
  EnabledPropagator,
26
27
  KeyCodes,
27
28
  ToolbarRenderer,
29
+ Button,
28
30
  coreLibrary
29
31
  ) {
30
32
  "use strict";
@@ -74,7 +76,7 @@ function(
74
76
  * @implements sap.ui.core.Toolbar,sap.m.IBar
75
77
  *
76
78
  * @author SAP SE
77
- * @version 1.111.6
79
+ * @version 1.112.1
78
80
  *
79
81
  * @constructor
80
82
  * @public
@@ -157,7 +159,13 @@ function(
157
159
  /**
158
160
  * The content of the toolbar.
159
161
  */
160
- content : {type : "sap.ui.core.Control", multiple : true, singularName : "content"}
162
+ content : {type : "sap.ui.core.Control", multiple : true, singularName : "content"},
163
+
164
+ /**
165
+ * Hidden button that provides focus dom reference for active toolbar.
166
+ * @private
167
+ */
168
+ _activeButton : {type : "sap.m.Button", multiple: false, visibility: "hidden"}
161
169
  },
162
170
  associations : {
163
171
 
@@ -289,6 +297,33 @@ function(
289
297
  return this;
290
298
  };
291
299
 
300
+ Toolbar.prototype.enhanceAccessibilityState = function (oElement, mAriaProps) {
301
+ if (oElement === this.getAggregation("_activeButton")) {
302
+ return this.assignAccessibilityState(mAriaProps);
303
+ }
304
+ };
305
+
306
+ Toolbar.prototype.getAccessibilityState = function () {
307
+ var aAriaLabelledBy = this.getAriaLabelledBy(),
308
+ bActive = this.getActive();
309
+
310
+ return {
311
+ role: !bActive ? this._getAccessibilityRole() : undefined, // active toolbar is rendered with sap.m.Button as native button
312
+ haspopup: bActive ? this.getAriaHasPopup() : undefined,
313
+ labelledby: aAriaLabelledBy.length ? this.getAriaLabelledBy() : this.getTitleId(),
314
+ roledescription: this._sAriaRoleDescription
315
+ };
316
+ };
317
+
318
+ Toolbar.prototype.assignAccessibilityState = function (mAriaProps) {
319
+ if (!this._getAccessibilityRole() && !this.getActive()) {
320
+ // no role and not active -> no aria properties
321
+ return {};
322
+ }
323
+
324
+ return Object.assign(mAriaProps, this.getAccessibilityState(mAriaProps));
325
+ };
326
+
292
327
  Toolbar.prototype.init = function() {
293
328
  // define group for F6 handling
294
329
  this.data("sap-ui-fastnavgroup", "true", true);
@@ -333,17 +368,18 @@ function(
333
368
 
334
369
  // handle tap for active toolbar, do nothing if already handled
335
370
  Toolbar.prototype.ontap = function(oEvent) {
336
- if (this.getActive() && !oEvent.isMarked()) {
371
+ if (this.getActive() && !oEvent.isMarked() || oEvent.srcControl === this._getActiveButton()) {
337
372
  oEvent.setMarked();
338
373
  this.firePress({
339
374
  srcControl : oEvent.srcControl
340
375
  });
376
+ this.focus();
341
377
  }
342
378
  };
343
379
 
344
380
  // fire press event when enter is hit on the active toolbar
345
381
  Toolbar.prototype.onsapenter = function(oEvent) {
346
- if (this.getActive() && oEvent.srcControl === this && !oEvent.isMarked()) {
382
+ if (this.getActive() && !oEvent.isMarked() || oEvent.srcControl === this._getActiveButton()) {
347
383
  oEvent.setMarked();
348
384
  this.firePress({
349
385
  srcControl : this
@@ -353,7 +389,7 @@ function(
353
389
 
354
390
  Toolbar.prototype.onsapspace = function(oEvent) {
355
391
  // Prevent browser scrolling in case of SPACE key
356
- if (oEvent.srcControl === this) {
392
+ if (oEvent.srcControl === this._getActiveButton()) {
357
393
  oEvent.preventDefault();
358
394
  }
359
395
  };
@@ -393,6 +429,31 @@ function(
393
429
  }
394
430
  };
395
431
 
432
+ Toolbar.prototype.onfocusin = function(oEvent) {
433
+ if (this.getActive()) {
434
+ if (oEvent.target === this.getDomRef()) {
435
+ this._getActiveButton().focus();
436
+ }
437
+ }
438
+ };
439
+
440
+ Toolbar.prototype.getFocusDomRef = function() {
441
+ return this.getActive() ? this._getActiveButton().getFocusDomRef() : this.getDomRef();
442
+ };
443
+
444
+ Toolbar.prototype.getFocusInfo = function() {
445
+ return {
446
+ id: this._getActiveButton().getId()
447
+ };
448
+ };
449
+
450
+ Toolbar.prototype.applyFocusInfo = function(oFocusInfo) {
451
+ var oDomRef = this.getFocusDomRef();
452
+ if (oDomRef) {
453
+ this.focus();
454
+ }
455
+ };
456
+
396
457
  // gets called after content is (re)rendered
397
458
  // here "this" points to the control not to the toolbar
398
459
  Toolbar.prototype._onAfterContentRendering = function() {
@@ -448,6 +509,29 @@ function(
448
509
  }).length;
449
510
  };
450
511
 
512
+ Toolbar.prototype._getActiveButton = function() {
513
+ if (!this._activeButton) {
514
+ this._activeButton = new Button({text: "", id:"sapMTBActiveButton" + this.getId()}).addStyleClass("sapMTBActiveButton");
515
+ this._activeButton.onfocusin = function() {
516
+ this.addStyleClass("sapMTBFocused");
517
+ if (typeof Button.prototype.onfocusin === "function") {
518
+ Button.prototype.onfocusin.call(this._activeButton, arguments);
519
+ }
520
+ }.bind(this);
521
+
522
+ this._activeButton.onfocusout = function() {
523
+ this.removeStyleClass("sapMTBFocused");
524
+ if (typeof Button.prototype.onfocusout === "function") {
525
+ Button.prototype.onfocusout.call(this._activeButton, arguments);
526
+ }
527
+ }.bind(this);
528
+
529
+ this.setAggregation("_activeButton", this._activeButton);
530
+ }
531
+
532
+ return this._activeButton;
533
+ };
534
+
451
535
  Toolbar.prototype.getAccessibilityInfo = function () {
452
536
  return {
453
537
  children: this.getContent()
@@ -25,7 +25,7 @@ sap.ui.define(['./library', 'sap/ui/core/LayoutData'],
25
25
  * <code>layoutData</code> aggregation of {@link sap.m.ToolbarSpacer} and if set it's ignored.
26
26
  *
27
27
  * @extends sap.ui.core.LayoutData
28
- * @version 1.111.6
28
+ * @version 1.112.1
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -26,32 +26,30 @@ sap.ui.define(['./BarInPageEnabler'],
26
26
  ToolbarRenderer.render = BarInPageEnabler.prototype.render;
27
27
 
28
28
  /**
29
- * Writes the accessibility state.
29
+ * Writes the accessibility state of the given toolbar using the given renderer manager.
30
30
  * To be overwritten by subclasses.
31
31
  *
32
32
  * @private
33
- * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
34
- * @param {sap.m.Toolbar} oToolbar An object representation of the control that should be rendered.
33
+ * @param {sap.ui.core.RenderManager} oRm - The renderer manager to use for writing the accessibility state.
34
+ * @param {sap.m.Toolbar} oToolbar - The toolbar to write the accessibility state for.
35
+ * @returns {void}
36
+ *
37
+ * @description
38
+ * This function uses the `assignAccessibilityState` method of the toolbar to obtain a map of ARIA properties to set on
39
+ * the rendered toolbar element. If the map is empty, the accessibility state is set to `null` to ensure that no
40
+ * unnecessary ARIA attributes are present. Otherwise, the accessibility state is set to the toolbar.
41
+ * The purpose of this logic is to ensure that the rendered toolbar has appropriate ARIA attributes for accessibility
42
+ * purposes, while avoiding unnecessary attributes that could be confusing or misleading to users of assistive technology.
35
43
  */
36
44
  ToolbarRenderer.writeAccessibilityState = function(oRm, oToolbar) {
37
- var sRole = oToolbar._getAccessibilityRole(),
38
- oAccInfo = {
39
- role: sRole
40
- };
41
-
42
- if (!oToolbar.getAriaLabelledBy().length && sRole) {
43
- oAccInfo.labelledby = oToolbar.getTitleId();
44
- }
45
+ var oAccInfo = {},
46
+ mAriaProps = oToolbar.assignAccessibilityState(oAccInfo);
45
47
 
46
- if (oToolbar.getActive()) {
47
- oAccInfo.haspopup = oToolbar.getAriaHasPopup();
48
- }
49
-
50
- if (oToolbar._sAriaRoleDescription && sRole) {
51
- oAccInfo.roledescription = oToolbar._sAriaRoleDescription;
48
+ if (!Object.keys(mAriaProps).length) {
49
+ oRm.accessibilityState(null);
50
+ } else {
51
+ oRm.accessibilityState(oToolbar, mAriaProps);
52
52
  }
53
-
54
- oRm.accessibilityState(oToolbar, oAccInfo);
55
53
  };
56
54
 
57
55
  /**
@@ -61,18 +59,17 @@ sap.ui.define(['./BarInPageEnabler'],
61
59
  * @param {sap.m.Toolbar} oToolbar an object representation of the control that should be rendered
62
60
  */
63
61
  ToolbarRenderer.decorateRootElement = function (oRm, oToolbar) {
64
- this.writeAccessibilityState(oRm, oToolbar);
65
-
66
- oRm.class("sapMTB");
67
- oRm.class("sapMTBNewFlex");
68
-
69
- if (oToolbar.getActive()) {
62
+ var bToolbarActive = oToolbar.getActive();
63
+ if (bToolbarActive) {
70
64
  oRm.class("sapMTBActive");
71
- oRm.attr("tabindex", "0");
72
65
  } else {
66
+ this.writeAccessibilityState(oRm, oToolbar);
73
67
  oRm.class("sapMTBInactive");
74
68
  }
75
69
 
70
+ oRm.class("sapMTB");
71
+ oRm.class("sapMTBNewFlex");
72
+
76
73
  oRm.class("sapMTB" + oToolbar.getStyle());
77
74
  oRm.class("sapMTB-" + oToolbar.getActiveDesign() + "-CTX");
78
75
 
@@ -81,6 +78,9 @@ sap.ui.define(['./BarInPageEnabler'],
81
78
  };
82
79
 
83
80
  ToolbarRenderer.renderBarContent = function(rm, oToolbar) {
81
+ if (oToolbar.getActive()) {
82
+ rm.renderControl(oToolbar._getActiveButton());
83
+ }
84
84
  oToolbar.getContent().forEach(function(oControl) {
85
85
  BarInPageEnabler.addChildClassTo(oControl, oToolbar);
86
86
  rm.renderControl(oControl);
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Control', './ToolbarSeparatorRenderer']
23
23
  * @extends sap.ui.core.Control
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.111.6
26
+ * @version 1.112.1
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -29,7 +29,7 @@ function(library, Control, ToolbarSpacerRenderer, Log) {
29
29
  * @extends sap.ui.core.Control
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.111.6
32
+ * @version 1.112.1
33
33
  *
34
34
  * @constructor
35
35
  * @public
package/src/sap/m/Tree.js CHANGED
@@ -41,7 +41,7 @@ function(
41
41
  * @extends sap.m.ListBase
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.111.6
44
+ * @version 1.112.1
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.111.6
33
+ * @version 1.112.1
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -92,7 +92,7 @@ sap.ui.define([
92
92
  * @extends sap.ui.core.Control
93
93
  *
94
94
  * @author SAP SE
95
- * @version 1.111.6
95
+ * @version 1.112.1
96
96
  *
97
97
  * @constructor
98
98
  * @public
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Element
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.111.6
31
+ * @version 1.112.1
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.111.6
23
+ * @version 1.112.1
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.111.6
25
+ * @version 1.112.1
26
26
  *
27
27
  * @constructor
28
28
  * @public
package/src/sap/m/VBox.js CHANGED
@@ -26,7 +26,7 @@ sap.ui.define(['./FlexBox', './library', "./VBoxRenderer"],
26
26
  * @extends sap.m.FlexBox
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.111.6
29
+ * @version 1.112.1
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(
23
23
  *
24
24
  * @extends sap.ui.core.Control
25
25
  * @author SAP SE
26
- * @version 1.111.6
26
+ * @version 1.112.1
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -487,6 +487,7 @@ sap.ui.define([
487
487
  VariantManagement.MAX_NAME_LEN = 100;
488
488
  VariantManagement.COLUMN_FAV_IDX = 0;
489
489
  VariantManagement.COLUMN_NAME_IDX = 1;
490
+ VariantManagement.COLUMN_DEFAULT_IDX = 3;
490
491
 
491
492
  /*
492
493
  * Constructs and initializes the <code>VariantManagement</code> control.
@@ -628,7 +629,14 @@ sap.ui.define([
628
629
  this.oVariantPopoverTrigger = new ToggleButton(this.getId() + "-trigger", {
629
630
  icon: "sap-icon://slim-arrow-down",
630
631
  type: ButtonType.Transparent,
631
- tooltip: this._oRb.getText("VARIANT_MANAGEMENT_TRIGGER_TT")
632
+ tooltip: this._oRb.getText("VARIANT_MANAGEMENT_TRIGGER_TT"),
633
+ enabled: {
634
+ path: "/isDesignMode",
635
+ model: VariantManagement.INNER_MODEL_NAME,
636
+ formatter: function(bValue) {
637
+ return !bValue;
638
+ }
639
+ }
632
640
  });
633
641
 
634
642
  this.oVariantPopoverTrigger.addAriaLabelledBy(this.oVariantInvisibleText);
@@ -699,7 +707,8 @@ sap.ui.define([
699
707
  VariantManagement.prototype._createInnerModel = function() {
700
708
  var oModel = new JSONModel({
701
709
  showManualVariantKey: false,
702
- showCreateTile: false
710
+ showCreateTile: false,
711
+ isDesignMode: false
703
712
  });
704
713
  this.setModel(oModel, VariantManagement.INNER_MODEL_NAME);
705
714
  };
@@ -719,6 +728,13 @@ sap.ui.define([
719
728
  this._setInnerModelProperty("/showManualVariantKey", bValue);
720
729
  };
721
730
 
731
+ VariantManagement.prototype.getDesignMode = function() {
732
+ return this._getInnerModelProperty("/isDesignMode");
733
+ };
734
+ VariantManagement.prototype.setDesignMode = function(bValue) {
735
+ this._setInnerModelProperty("/isDesignMode", bValue);
736
+ };
737
+
722
738
  VariantManagement.prototype._setInnerModelProperty = function(sPropertyPath, vValue) {
723
739
  var oInnerModel = this.getModel(VariantManagement.INNER_MODEL_NAME);
724
740
  if (oInnerModel) {
@@ -852,6 +868,11 @@ sap.ui.define([
852
868
  };
853
869
 
854
870
  VariantManagement.prototype.onclick = function(oEvent) {
871
+
872
+ if (this.getDesignMode()) {
873
+ return;
874
+ }
875
+
855
876
  if (this.oVariantPopoverTrigger && !this.bPopoverOpen) {
856
877
  this.oVariantPopoverTrigger.focus();
857
878
  }
@@ -1207,6 +1228,24 @@ sap.ui.define([
1207
1228
  path: "/supportDefault",
1208
1229
  model: "$mVariants"
1209
1230
  },
1231
+ select: function(oEvent) {
1232
+ if (this._sStyleClass) {
1233
+ if (oEvent.getParameter("selected")) {
1234
+ var mContexts = this._getContextInfoChanges();
1235
+ if (this._isRestricted(mContexts)) {
1236
+ this.oDefault.setValueState(ValueState.Error);
1237
+ this.oDefault.setValueStateText(this._oRb.getText("VARIANT_MANAGEMENT_NO_DEFAULT_ON_RESTRICTED_VIEWS"));
1238
+ this.oDefault.focus();
1239
+ } else {
1240
+ this.oDefault.setValueState(ValueState.None);
1241
+ this.oDefault.setValueStateText("");
1242
+ }
1243
+ } else if (this.oDefault.getValueState() != ValueState.None){
1244
+ this.oDefault.setValueState(ValueState.None);
1245
+ this.oDefault.setValueStateText("");
1246
+ }
1247
+ }
1248
+ }.bind(this),
1210
1249
  width: "100%"
1211
1250
  });
1212
1251
 
@@ -1355,12 +1394,18 @@ sap.ui.define([
1355
1394
  return this._oRolesComponentContainer.getComponentInstance().hasErrorsAndShowErrorMessage();
1356
1395
  };
1357
1396
 
1358
- VariantManagement.prototype._determineRolesSpecificText = function(mContexts, oTextControl) {
1397
+ VariantManagement.prototype._isRestricted = function(mContexts) {
1359
1398
  if (!mContexts) {
1360
1399
  mContexts = { role: []};
1361
1400
  }
1362
- if (mContexts && oTextControl) {
1363
- oTextControl.setText(this._oRb.getText((mContexts.role && mContexts.role.length > 0) ? "VARIANT_MANAGEMENT_VISIBILITY_RESTRICTED" : "VARIANT_MANAGEMENT_VISIBILITY_NON_RESTRICTED"));
1401
+
1402
+ return (mContexts.role && mContexts.role.length > 0);
1403
+ };
1404
+
1405
+ VariantManagement.prototype._determineRolesSpecificText = function(oItem, oTextControl) {
1406
+
1407
+ if (oTextControl) {
1408
+ oTextControl.setText(this._oRb.getText((this._isRestricted(oItem.getContexts())) ? "VARIANT_MANAGEMENT_VISIBILITY_RESTRICTED" : "VARIANT_MANAGEMENT_VISIBILITY_NON_RESTRICTED"));
1364
1409
  }
1365
1410
  };
1366
1411
 
@@ -1442,7 +1487,10 @@ sap.ui.define([
1442
1487
  var oItem = this._getItemByKey(sKey);
1443
1488
  if (oItem) {
1444
1489
  oItem.setContexts(mContexts);
1445
- this._determineRolesSpecificText(mContexts, oTextControl);
1490
+ this._determineRolesSpecificText(oItem, oTextControl);
1491
+
1492
+ this._checkDefaultEnabled(oItem);
1493
+
1446
1494
  }
1447
1495
  } else {
1448
1496
  return false;
@@ -1514,7 +1562,13 @@ sap.ui.define([
1514
1562
  this.oInputName.setValueState(ValueState.None);
1515
1563
  this.oInputName.setValueStateText(null);
1516
1564
 
1565
+ this.oDefault.setEnabled(true);
1517
1566
  this.oDefault.setSelected(false);
1567
+ if (this.oDefault.getValueState() !== ValueState.None) {
1568
+ this.oDefault.setValueState(ValueState.None);
1569
+ this.oDefault.setValueStateText("");
1570
+ }
1571
+
1518
1572
  this.oPublic.setSelected(false);
1519
1573
  this.oExecuteOnSelect.setSelected(false);
1520
1574
  this.oCreateTile.setSelected(false);
@@ -1559,12 +1613,26 @@ sap.ui.define([
1559
1613
  sKey = sManualKey;
1560
1614
  }
1561
1615
 
1562
- if (this.oSaveAsDialog) {
1563
- this.oSaveAsDialog.close();
1616
+ var mContexts = this._getContextInfoChanges();
1617
+ var bIsRestricted = this._isRestricted(mContexts);
1618
+ if (bIsRestricted && this.oDefault.getSelected()) {
1619
+ this.oDefault.setValueState(ValueState.Error);
1620
+ this.oDefault.setValueStateText(this._oRb.getText("VARIANT_MANAGEMENT_NO_DEFAULT_ON_RESTRICTED_VIEWS"));
1621
+ this.oDefault.focus();
1622
+ return false;
1623
+ } else if (!bIsRestricted){
1624
+ var bWasInErrorState = this.oDefault.getValueState() !== ValueState.None;
1625
+
1626
+ this.oDefault.setValueState(ValueState.None);
1627
+ this.oDefault.setValueStateText("");
1628
+
1629
+ if (bWasInErrorState){
1630
+ return false; // otherwise the error state is still visible on the UI and the Save completes...
1631
+ }
1564
1632
  }
1565
1633
 
1566
- if (this.oDefault.getSelected()) {
1567
- this.setDefaultKey(this.oDefault.getSelected());
1634
+ if (this.oSaveAsDialog) {
1635
+ this.oSaveAsDialog.close();
1568
1636
  }
1569
1637
 
1570
1638
  var oObj = {
@@ -1574,7 +1642,7 @@ sap.ui.define([
1574
1642
  def: this.oDefault.getSelected(),
1575
1643
  execute: this.oExecuteOnSelect.getSelected(),
1576
1644
  "public": this.getSupportPublic() ? this.oPublic.getSelected() : undefined,
1577
- contexts: this._getContextInfoChanges()
1645
+ contexts: mContexts
1578
1646
  };
1579
1647
 
1580
1648
  if (this._getShowCreateTile() && this.oCreateTile) {
@@ -1727,6 +1795,9 @@ sap.ui.define([
1727
1795
  keyboardMode: ListKeyboardMode.Edit,
1728
1796
  columns: [
1729
1797
  new Column({
1798
+ header: new InvisibleText({
1799
+ text: this._oRb.getText("VARIANT_MANAGEMENT_FAVORITE_COLUMN")
1800
+ }),
1730
1801
  width: "3rem",
1731
1802
  visible: {
1732
1803
  path: "/supportFavorites",
@@ -1796,6 +1867,9 @@ sap.ui.define([
1796
1867
  popinDisplay: PopinDisplay.Block,
1797
1868
  minScreenWidth: ScreenSize.Tablet
1798
1869
  }), new Column({
1870
+ header: new InvisibleText({
1871
+ text: this._oRb.getText("VARIANT_MANAGEMENT_ACTION_COLUMN")
1872
+ }),
1799
1873
  hAlign: TextAlign.Center
1800
1874
  }), new Column({
1801
1875
  visible: false
@@ -1892,6 +1966,21 @@ sap.ui.define([
1892
1966
  }
1893
1967
  };
1894
1968
 
1969
+ VariantManagement.prototype._checkDefaultEnabled = function(oItem) {
1970
+ var bDefaultEnabled = true;
1971
+ if (this._isRestricted(oItem.getContexts())) {
1972
+ bDefaultEnabled = false;
1973
+ if (oItem.getKey() === this.getDefaultKey()) {
1974
+ this.setDefaultKey(this.getStandardVariantKey());
1975
+ }
1976
+ }
1977
+ var oRow = this._getRowForKey(oItem.getKey());
1978
+ if (oRow) {
1979
+ oRow.getCells()[VariantManagement.COLUMN_DEFAULT_IDX].setEnabled(bDefaultEnabled);
1980
+ this._toggleIconActivityState(oRow.getCells()[0], oItem, false);
1981
+ }
1982
+ };
1983
+
1895
1984
  VariantManagement.prototype._templateFactoryManagementDialog = function(sId, oContext) {
1896
1985
  var sTooltip = null;
1897
1986
  var oDeleteButton;
@@ -2016,9 +2105,10 @@ sap.ui.define([
2016
2105
  }
2017
2106
 
2018
2107
  // roles
2019
- if (this._sStyleClass && (oItem.getKey() !== this.getStandardVariantKey())) {
2020
- var oText = new Text({ wrapping: false });
2021
- this._determineRolesSpecificText(oItem.getContexts(), oText);
2108
+ var oText;
2109
+ if (this._sStyleClass && this.getSupportContexts() && (oItem.getKey() !== this.getStandardVariantKey())) {
2110
+ oText = new Text({ wrapping: false });
2111
+ this._determineRolesSpecificText(oItem, oText);
2022
2112
  var oIcon = new Icon({
2023
2113
  src: "sap-icon://edit",
2024
2114
  press: fRolesPressed
@@ -2028,14 +2118,35 @@ sap.ui.define([
2028
2118
  oRolesCell = new HBox(sIdPrefix + "-role-" + nPos, {
2029
2119
  items: [oText, oIcon]
2030
2120
  });
2121
+
2031
2122
  } else {
2032
2123
  oRolesCell = new Text();
2033
2124
  }
2034
2125
 
2126
+ var oDefaultRadioButton = new RadioButton(sIdPrefix + "-def-" + nPos, {
2127
+ groupName: this.getId(),
2128
+ select: fSelectRB,
2129
+ selected: {
2130
+ path: "/defaultKey",
2131
+ model: sModelName,
2132
+ formatter: function(sKey) {
2133
+ return oItem.getKey() === sKey;
2134
+ }
2135
+ }
2136
+ });
2137
+
2138
+ if (oText && this._isRestricted(oItem.getContexts())) {
2139
+ oDefaultRadioButton.setEnabled(false);
2140
+ if (this.getDefaultKey() === oItem.getKey()) {
2141
+ this.setDefaultKey(this.getStandardVariantKey());
2142
+ }
2143
+ }
2035
2144
 
2036
2145
  return new ColumnListItem({
2037
2146
  cells: [
2038
- oFavoriteIcon, oNameControl, new Text(sIdPrefix + "-type-" + nPos, {
2147
+ oFavoriteIcon,
2148
+ oNameControl,
2149
+ new Text(sIdPrefix + "-type-" + nPos, {
2039
2150
  text: {
2040
2151
  path: "sharing",
2041
2152
  model: sModelName,
@@ -2044,20 +2155,16 @@ sap.ui.define([
2044
2155
  }.bind(this)
2045
2156
  },
2046
2157
  textAlign: "Center"
2047
- }), new RadioButton(sIdPrefix + "-def-" + nPos, {
2048
- groupName: this.getId(),
2049
- select: fSelectRB,
2050
- selected: {
2051
- path: "/defaultKey",
2052
- model: sModelName,
2053
- formatter: function(sKey) {
2054
- return oItem.getKey() === sKey;
2055
- }
2056
- }
2057
- }), oExecuteOnSelectCtrl, oRolesCell, new Text(sIdPrefix + "-author-" + nPos, {
2158
+ }),
2159
+ oDefaultRadioButton,
2160
+ oExecuteOnSelectCtrl,
2161
+ oRolesCell,
2162
+ new Text(sIdPrefix + "-author-" + nPos, {
2058
2163
  text: '{' + sModelName + ">author}",
2059
2164
  textAlign: "Begin"
2060
- }), oDeleteButton, new Text({
2165
+ }),
2166
+ oDeleteButton,
2167
+ new Text({
2061
2168
  text: '{' + sModelName + ">key}"
2062
2169
  })
2063
2170
  ]
@@ -2335,22 +2442,25 @@ sap.ui.define([
2335
2442
  }
2336
2443
 
2337
2444
  this.oManagementDialog.close();
2445
+ if (this._getDeletedItems().length > 0) {
2446
+ this._bDeleteOccured = true;
2338
2447
 
2339
- this._getDeletedItems().some(function(sItemKey) {
2340
- if (sItemKey === this.getSelectedKey()) {
2341
- var sKey = this.getStandardVariantKey();
2448
+ this._getDeletedItems().some(function(sItemKey) {
2449
+ if (sItemKey === this.getSelectedKey()) {
2450
+ var sKey = this.getStandardVariantKey();
2342
2451
 
2343
- this.setModified(false);
2344
- this.setSelectedKey(sKey);
2452
+ this.setModified(false);
2453
+ this.setSelectedKey(sKey);
2345
2454
 
2346
- this.fireSelect({
2347
- key: sKey
2348
- });
2349
- return true;
2350
- }
2455
+ this.fireSelect({
2456
+ key: sKey
2457
+ });
2458
+ return true;
2459
+ }
2351
2460
 
2352
- return false;
2353
- }.bind(this));
2461
+ return false;
2462
+ }.bind(this));
2463
+ }
2354
2464
 
2355
2465
  if (this._getRenamedItems().indexOf(this.getSelectedKey()) >= 0) {
2356
2466
  var oBinding = this.oVariantText.getBinding("text");