@openui5/sap.m 1.119.0 → 1.120.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/THIRDPARTY.txt +6 -6
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +8 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  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 +10 -6
  14. package/src/sap/m/AvatarRenderer.js +10 -3
  15. package/src/sap/m/Bar.js +1 -1
  16. package/src/sap/m/Breadcrumbs.js +1 -1
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +1 -1
  20. package/src/sap/m/Carousel.js +1 -1
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +1 -1
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnHeaderPopover.js +7 -8
  27. package/src/sap/m/ColumnListItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +1 -1
  34. package/src/sap/m/ComboBoxBase.js +20 -3
  35. package/src/sap/m/ComboBoxTextField.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 +1 -1
  40. package/src/sap/m/DateRangeSelection.js +22 -12
  41. package/src/sap/m/DateTimeField.js +1 -1
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +1 -1
  44. package/src/sap/m/Dialog.js +1 -1
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +1 -1
  48. package/src/sap/m/DynamicDateOption.js +1 -1
  49. package/src/sap/m/DynamicDateRange.js +10 -2
  50. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  51. package/src/sap/m/ExpandableText.js +1 -1
  52. package/src/sap/m/FacetFilter.js +2 -1
  53. package/src/sap/m/FacetFilterItem.js +1 -1
  54. package/src/sap/m/FacetFilterList.js +1 -1
  55. package/src/sap/m/FeedContent.js +1 -1
  56. package/src/sap/m/FeedInput.js +5 -4
  57. package/src/sap/m/FeedInputRenderer.js +3 -3
  58. package/src/sap/m/FeedListItem.js +6 -4
  59. package/src/sap/m/FeedListItemAction.js +1 -1
  60. package/src/sap/m/Fiori20Adapter.js +2 -2
  61. package/src/sap/m/FlexBox.js +1 -1
  62. package/src/sap/m/FlexItemData.js +1 -1
  63. package/src/sap/m/FormattedText.js +1 -1
  64. package/src/sap/m/GenericTag.js +1 -1
  65. package/src/sap/m/GenericTile.js +58 -23
  66. package/src/sap/m/GenericTileRenderer.js +11 -0
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingEnablement.js +2 -3
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +6 -4
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +1 -1
  75. package/src/sap/m/IconTabFilter.js +1 -1
  76. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  77. package/src/sap/m/IconTabHeader.js +1 -1
  78. package/src/sap/m/IconTabSeparator.js +1 -1
  79. package/src/sap/m/IllustratedMessage.js +1 -1
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/Image.js +1 -1
  82. package/src/sap/m/ImageContent.js +1 -1
  83. package/src/sap/m/Input.js +79 -14
  84. package/src/sap/m/InputBase.js +3 -1
  85. package/src/sap/m/InputListItem.js +1 -1
  86. package/src/sap/m/InputRenderer.js +7 -3
  87. package/src/sap/m/Label.js +1 -1
  88. package/src/sap/m/LightBox.js +1 -1
  89. package/src/sap/m/LightBoxItem.js +1 -1
  90. package/src/sap/m/Link.js +1 -1
  91. package/src/sap/m/LinkTileContent.js +143 -0
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +32 -14
  94. package/src/sap/m/ListItemBase.js +1 -1
  95. package/src/sap/m/MaskEnabler.js +1 -1
  96. package/src/sap/m/MaskInput.js +1 -1
  97. package/src/sap/m/MaskInputRule.js +1 -1
  98. package/src/sap/m/Menu.js +1 -1
  99. package/src/sap/m/MenuButton.js +3 -3
  100. package/src/sap/m/MenuItem.js +1 -1
  101. package/src/sap/m/MenuListItem.js +1 -1
  102. package/src/sap/m/MessageItem.js +1 -1
  103. package/src/sap/m/MessageListItem.js +1 -1
  104. package/src/sap/m/MessagePage.js +1 -1
  105. package/src/sap/m/MessagePopover.js +2 -3
  106. package/src/sap/m/MessagePopoverItem.js +1 -1
  107. package/src/sap/m/MessageStrip.js +1 -1
  108. package/src/sap/m/MessageToast.js +5 -19
  109. package/src/sap/m/MessageView.js +1 -1
  110. package/src/sap/m/MessageViewRenderer.js +2 -3
  111. package/src/sap/m/MultiComboBox.js +1 -1
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +4 -2
  114. package/src/sap/m/NavContainer.js +4 -3
  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 +9 -10
  121. package/src/sap/m/NumericContentRenderer.js +5 -4
  122. package/src/sap/m/NumericInput.js +1 -1
  123. package/src/sap/m/ObjectAttribute.js +1 -1
  124. package/src/sap/m/ObjectHeader.js +1 -1
  125. package/src/sap/m/ObjectIdentifier.js +1 -1
  126. package/src/sap/m/ObjectListItem.js +1 -1
  127. package/src/sap/m/ObjectMarker.js +1 -1
  128. package/src/sap/m/ObjectNumber.js +1 -1
  129. package/src/sap/m/ObjectStatus.js +4 -6
  130. package/src/sap/m/ObjectStatusRenderer.js +3 -1
  131. package/src/sap/m/OverflowToolbar.js +1 -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 +8 -1
  137. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  138. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  139. package/src/sap/m/P13nColumnsItem.js +2 -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 +2 -1
  144. package/src/sap/m/P13nDimMeasurePanel.js +2 -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 +2 -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 +2 -1
  154. package/src/sap/m/P13nSortPanel.js +1 -1
  155. package/src/sap/m/PDFViewer.js +20 -8
  156. package/src/sap/m/PDFViewerRenderManager.js +18 -18
  157. package/src/sap/m/PDFViewerRenderer.js +1 -1
  158. package/src/sap/m/Page.js +1 -1
  159. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  160. package/src/sap/m/PagingButton.js +1 -1
  161. package/src/sap/m/Panel.js +1 -1
  162. package/src/sap/m/PlanningCalendar.js +37 -12
  163. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  164. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  165. package/src/sap/m/PlanningCalendarRow.js +1 -1
  166. package/src/sap/m/PlanningCalendarView.js +1 -1
  167. package/src/sap/m/Popover.js +5 -4
  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 +3 -3
  177. package/src/sap/m/RadioButtonGroup.js +1 -1
  178. package/src/sap/m/RangeSlider.js +1 -1
  179. package/src/sap/m/RangeSliderRenderer.js +15 -8
  180. package/src/sap/m/RatingIndicator.js +4 -3
  181. package/src/sap/m/ResponsivePopover.js +13 -7
  182. package/src/sap/m/ResponsiveScale.js +1 -1
  183. package/src/sap/m/ScrollBar.js +1 -1
  184. package/src/sap/m/ScrollContainer.js +1 -1
  185. package/src/sap/m/SearchField.js +1 -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 +1 -1
  189. package/src/sap/m/SelectDialog.js +5 -7
  190. package/src/sap/m/SelectDialogBase.js +1 -1
  191. package/src/sap/m/SelectList.js +1 -1
  192. package/src/sap/m/SelectionDetails.js +1 -1
  193. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  194. package/src/sap/m/SelectionDetailsItem.js +1 -1
  195. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  196. package/src/sap/m/Shell.js +1 -1
  197. package/src/sap/m/SimpleFixFlex.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarGrid.js +2 -2
  201. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +3 -2
  202. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  205. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  206. package/src/sap/m/SlideTile.js +7 -9
  207. package/src/sap/m/Slider.js +1 -1
  208. package/src/sap/m/SliderTooltip.js +1 -1
  209. package/src/sap/m/SliderTooltipBase.js +1 -1
  210. package/src/sap/m/SliderTooltipContainer.js +1 -1
  211. package/src/sap/m/SplitApp.js +1 -1
  212. package/src/sap/m/SplitButton.js +1 -1
  213. package/src/sap/m/SplitContainer.js +4 -2
  214. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  215. package/src/sap/m/StandardListItem.js +1 -1
  216. package/src/sap/m/StandardTile.js +1 -1
  217. package/src/sap/m/StandardTreeItem.js +1 -1
  218. package/src/sap/m/StepInput.js +1 -1
  219. package/src/sap/m/SuggestionItem.js +1 -1
  220. package/src/sap/m/SuggestionsPopover.js +5 -5
  221. package/src/sap/m/Switch.js +1 -1
  222. package/src/sap/m/TabContainer.js +10 -4
  223. package/src/sap/m/TabContainerItem.js +1 -1
  224. package/src/sap/m/TabStrip.js +2 -2
  225. package/src/sap/m/TabStripItem.js +1 -1
  226. package/src/sap/m/Table.js +35 -4
  227. package/src/sap/m/TablePersoController.js +1 -1
  228. package/src/sap/m/TablePersoDialog.js +1 -1
  229. package/src/sap/m/TablePersoProvider.js +1 -1
  230. package/src/sap/m/TableSelectDialog.js +5 -7
  231. package/src/sap/m/Text.js +1 -1
  232. package/src/sap/m/TextArea.js +1 -1
  233. package/src/sap/m/Tile.js +1 -1
  234. package/src/sap/m/TileContainer.js +1 -1
  235. package/src/sap/m/TileContent.js +4 -4
  236. package/src/sap/m/TimePicker.js +1 -1
  237. package/src/sap/m/TimePickerClock.js +1 -1
  238. package/src/sap/m/TimePickerClocks.js +1 -1
  239. package/src/sap/m/TimePickerInputs.js +1 -1
  240. package/src/sap/m/TimePickerInternals.js +1 -1
  241. package/src/sap/m/TimePickerSlider.js +1 -1
  242. package/src/sap/m/TimePickerSliders.js +1 -1
  243. package/src/sap/m/Title.js +1 -1
  244. package/src/sap/m/TitlePropagationSupport.js +1 -1
  245. package/src/sap/m/ToggleButton.js +1 -1
  246. package/src/sap/m/Token.js +1 -1
  247. package/src/sap/m/Tokenizer.js +1 -1
  248. package/src/sap/m/Toolbar.js +1 -1
  249. package/src/sap/m/ToolbarLayoutData.js +1 -1
  250. package/src/sap/m/ToolbarRenderer.js +8 -0
  251. package/src/sap/m/ToolbarSeparator.js +1 -1
  252. package/src/sap/m/ToolbarSpacer.js +1 -1
  253. package/src/sap/m/Tree.js +17 -1
  254. package/src/sap/m/TreeItemBase.js +1 -1
  255. package/src/sap/m/UploadCollection.js +1 -1
  256. package/src/sap/m/UploadCollectionItem.js +1 -1
  257. package/src/sap/m/UploadCollectionParameter.js +1 -1
  258. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  259. package/src/sap/m/VBox.js +1 -1
  260. package/src/sap/m/ValueStateHeader.js +9 -4
  261. package/src/sap/m/VariantItem.js +99 -27
  262. package/src/sap/m/VariantManagement.js +196 -90
  263. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  264. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  265. package/src/sap/m/ViewSettingsDialog.js +44 -44
  266. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  267. package/src/sap/m/ViewSettingsItem.js +1 -1
  268. package/src/sap/m/VisibleItem.js +1 -1
  269. package/src/sap/m/WheelSlider.js +1 -1
  270. package/src/sap/m/WheelSliderContainer.js +1 -1
  271. package/src/sap/m/Wizard.js +6 -6
  272. package/src/sap/m/WizardProgressNavigator.js +1 -1
  273. package/src/sap/m/WizardStep.js +1 -1
  274. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  275. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  276. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  277. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  278. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  279. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  280. package/src/sap/m/designtime/IconTabFilter.designtime.js +1 -1
  281. package/src/sap/m/designtime/VariantManagement.designtime.js +0 -6
  282. package/src/sap/m/designtime/messagebundle_mk.properties +182 -0
  283. package/src/sap/m/designtime/messagebundle_sh.properties +3 -3
  284. package/src/sap/m/flexibility/EngineFlex.js +5 -0
  285. package/src/sap/m/inputUtils/highlightItemsWithContains.js +82 -0
  286. package/src/sap/m/library.js +76 -136
  287. package/src/sap/m/messagebundle.properties +37 -6
  288. package/src/sap/m/messagebundle_ar.properties +46 -2
  289. package/src/sap/m/messagebundle_bg.properties +49 -5
  290. package/src/sap/m/messagebundle_ca.properties +47 -3
  291. package/src/sap/m/messagebundle_cs.properties +46 -2
  292. package/src/sap/m/messagebundle_cy.properties +46 -2
  293. package/src/sap/m/messagebundle_da.properties +46 -2
  294. package/src/sap/m/messagebundle_de.properties +46 -2
  295. package/src/sap/m/messagebundle_el.properties +48 -4
  296. package/src/sap/m/messagebundle_en.properties +23 -6
  297. package/src/sap/m/messagebundle_en_GB.properties +46 -2
  298. package/src/sap/m/messagebundle_es.properties +46 -2
  299. package/src/sap/m/messagebundle_es_MX.properties +46 -2
  300. package/src/sap/m/messagebundle_et.properties +44 -0
  301. package/src/sap/m/messagebundle_fi.properties +46 -2
  302. package/src/sap/m/messagebundle_fr.properties +46 -2
  303. package/src/sap/m/messagebundle_fr_CA.properties +46 -2
  304. package/src/sap/m/messagebundle_hi.properties +48 -4
  305. package/src/sap/m/messagebundle_hr.properties +46 -2
  306. package/src/sap/m/messagebundle_hu.properties +51 -7
  307. package/src/sap/m/messagebundle_id.properties +48 -4
  308. package/src/sap/m/messagebundle_it.properties +44 -0
  309. package/src/sap/m/messagebundle_iw.properties +46 -2
  310. package/src/sap/m/messagebundle_ja.properties +44 -0
  311. package/src/sap/m/messagebundle_kk.properties +60 -16
  312. package/src/sap/m/messagebundle_ko.properties +44 -0
  313. package/src/sap/m/messagebundle_lt.properties +46 -2
  314. package/src/sap/m/messagebundle_lv.properties +57 -13
  315. package/src/sap/m/messagebundle_mk.properties +1869 -0
  316. package/src/sap/m/messagebundle_ms.properties +46 -2
  317. package/src/sap/m/messagebundle_nl.properties +44 -0
  318. package/src/sap/m/messagebundle_no.properties +47 -3
  319. package/src/sap/m/messagebundle_pl.properties +46 -2
  320. package/src/sap/m/messagebundle_pt.properties +44 -0
  321. package/src/sap/m/messagebundle_pt_PT.properties +44 -0
  322. package/src/sap/m/messagebundle_ro.properties +46 -2
  323. package/src/sap/m/messagebundle_ru.properties +48 -4
  324. package/src/sap/m/messagebundle_sh.properties +149 -105
  325. package/src/sap/m/messagebundle_sk.properties +46 -2
  326. package/src/sap/m/messagebundle_sl.properties +62 -18
  327. package/src/sap/m/messagebundle_sv.properties +50 -6
  328. package/src/sap/m/messagebundle_th.properties +44 -0
  329. package/src/sap/m/messagebundle_tr.properties +49 -5
  330. package/src/sap/m/messagebundle_uk.properties +59 -15
  331. package/src/sap/m/messagebundle_vi.properties +46 -2
  332. package/src/sap/m/messagebundle_zh_CN.properties +44 -0
  333. package/src/sap/m/messagebundle_zh_TW.properties +46 -2
  334. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  335. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  336. package/src/sap/m/p13n/BasePanel.js +13 -3
  337. package/src/sap/m/p13n/Container.js +1 -1
  338. package/src/sap/m/p13n/Engine.js +1 -1
  339. package/src/sap/m/p13n/FlexUtil.js +0 -41
  340. package/src/sap/m/p13n/GroupController.js +1 -1
  341. package/src/sap/m/p13n/GroupPanel.js +1 -1
  342. package/src/sap/m/p13n/Popup.js +16 -1
  343. package/src/sap/m/p13n/QueryPanel.js +1 -1
  344. package/src/sap/m/p13n/SelectionController.js +457 -423
  345. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  346. package/src/sap/m/p13n/SortController.js +1 -1
  347. package/src/sap/m/p13n/SortPanel.js +4 -3
  348. package/src/sap/m/p13n/handler/xConfigHandler.js +18 -5
  349. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  350. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  351. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  352. package/src/sap/m/p13n/modules/xConfigAPI.js +1 -1
  353. package/src/sap/m/plugins/CellSelector.js +172 -153
  354. package/src/sap/m/plugins/ColumnResizer.js +9 -2
  355. package/src/sap/m/plugins/CopyProvider.js +21 -10
  356. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  357. package/src/sap/m/plugins/PasteProvider.js +1 -1
  358. package/src/sap/m/plugins/PluginBase.js +1 -1
  359. package/src/sap/m/routing/Target.js +3 -3
  360. package/src/sap/m/routing/Targets.js +3 -3
  361. package/src/sap/m/semantic/AddAction.js +1 -1
  362. package/src/sap/m/semantic/CancelAction.js +1 -1
  363. package/src/sap/m/semantic/DeleteAction.js +1 -1
  364. package/src/sap/m/semantic/DetailPage.js +1 -1
  365. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  366. package/src/sap/m/semantic/EditAction.js +1 -1
  367. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  368. package/src/sap/m/semantic/FilterAction.js +1 -1
  369. package/src/sap/m/semantic/FilterSelect.js +1 -1
  370. package/src/sap/m/semantic/FlagAction.js +1 -1
  371. package/src/sap/m/semantic/ForwardAction.js +1 -1
  372. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  373. package/src/sap/m/semantic/GroupAction.js +1 -1
  374. package/src/sap/m/semantic/GroupSelect.js +1 -1
  375. package/src/sap/m/semantic/MainAction.js +1 -1
  376. package/src/sap/m/semantic/MasterPage.js +1 -1
  377. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  378. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  379. package/src/sap/m/semantic/NegativeAction.js +1 -1
  380. package/src/sap/m/semantic/OpenInAction.js +1 -1
  381. package/src/sap/m/semantic/PositiveAction.js +1 -1
  382. package/src/sap/m/semantic/PrintAction.js +1 -1
  383. package/src/sap/m/semantic/SaveAction.js +1 -1
  384. package/src/sap/m/semantic/Segment.js +1 -1
  385. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  386. package/src/sap/m/semantic/SemanticButton.js +1 -1
  387. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  388. package/src/sap/m/semantic/SemanticControl.js +1 -1
  389. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  390. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  391. package/src/sap/m/semantic/SemanticPage.js +1 -1
  392. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  393. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  394. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  395. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  396. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  397. package/src/sap/m/semantic/ShareMenu.js +1 -1
  398. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  399. package/src/sap/m/semantic/SortAction.js +1 -1
  400. package/src/sap/m/semantic/SortSelect.js +1 -1
  401. package/src/sap/m/table/ColumnWidthController.js +177 -0
  402. package/src/sap/m/table/Util.js +1 -1
  403. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  404. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  405. package/src/sap/m/table/columnmenu/Item.js +1 -1
  406. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  407. package/src/sap/m/table/columnmenu/Menu.js +17 -13
  408. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  409. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  410. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  411. package/src/sap/m/table/columnmenu/QuickGroup.js +5 -1
  412. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  413. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  414. package/src/sap/m/table/columnmenu/QuickSortItem.js +2 -2
  415. package/src/sap/m/table/columnmenu/QuickTotal.js +5 -1
  416. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  417. package/src/sap/m/themes/base/Avatar.less +0 -1
  418. package/src/sap/m/themes/base/BarBase.less +1 -1
  419. package/src/sap/m/themes/base/BusyIndicator.less +0 -10
  420. package/src/sap/m/themes/base/ExpandableText.less +6 -0
  421. package/src/sap/m/themes/base/GenericTile.less +36 -0
  422. package/src/sap/m/themes/base/LinkTileContent.less +17 -0
  423. package/src/sap/m/themes/base/MenuButton.less +1 -1
  424. package/src/sap/m/themes/base/NotificationListBase.less +3 -3
  425. package/src/sap/m/themes/base/ObjectStatus.less +241 -1
  426. package/src/sap/m/themes/base/RadioButton.less +1 -1
  427. package/src/sap/m/themes/base/SearchField.less +2 -1
  428. package/src/sap/m/themes/base/SplitButton.less +0 -1
  429. package/src/sap/m/themes/base/Text.less +4 -1
  430. package/src/sap/m/themes/base/Toolbar.less +7 -14
  431. package/src/sap/m/themes/base/ValueStateHeader.less +4 -0
  432. package/src/sap/m/themes/base/library.source.less +1 -0
  433. package/src/sap/m/upload/ActionsPlaceholder.js +49 -0
  434. package/src/sap/m/upload/Column.js +58 -0
  435. package/src/sap/m/upload/FilePreviewDialog.js +22 -3
  436. package/src/sap/m/upload/FilterPanel.js +280 -0
  437. package/src/sap/m/upload/UploadSet.js +11 -6
  438. package/src/sap/m/upload/UploadSetItem.js +6 -5
  439. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  440. package/src/sap/m/upload/UploadSetwithTable.js +487 -93
  441. package/src/sap/m/upload/UploadSetwithTableItem.js +26 -11
  442. package/src/sap/m/upload/Uploader.js +3 -0
  443. package/src/sap/m/upload/UploaderTableItem.js +4 -1
  444. package/src/sap/m/upload/p13n/PersManager.js +251 -0
  445. package/src/sap/m/upload/p13n/flexibility/UploadSetwithTable.flexibility.js +32 -0
  446. package/src/sap/m/upload/p13n/handlers/BaseConfigHandler.js +44 -0
  447. package/src/sap/m/upload/p13n/handlers/ChangeHandler.js +98 -0
  448. package/src/sap/m/upload/p13n/handlers/ColumnConfigHandler.js +57 -0
  449. package/src/sap/m/upload/p13n/handlers/ColumnsStateChangeHandler.js +43 -0
  450. package/src/sap/m/upload/p13n/handlers/FilterConfigHandler.js +71 -0
  451. package/src/sap/m/upload/p13n/handlers/FilterStateChangeHandler.js +65 -0
  452. package/src/sap/m/upload/p13n/handlers/GroupConfigHandler.js +57 -0
  453. package/src/sap/m/upload/p13n/handlers/GroupStateChangeHandler.js +46 -0
  454. package/src/sap/m/upload/p13n/handlers/SortConfigHandler.js +57 -0
  455. package/src/sap/m/upload/p13n/handlers/SortStateChangeHandler.js +48 -0
  456. package/src/sap/m/upload/p13n/mediator/BaseMediator.js +183 -0
  457. package/src/sap/m/upload/p13n/mediator/ColumnsMediator.js +210 -0
  458. package/src/sap/m/upload/p13n/mediator/FilterMediator.js +196 -0
  459. package/src/sap/m/upload/p13n/mediator/GroupMediator.js +192 -0
  460. package/src/sap/m/upload/p13n/mediator/SortMediator.js +200 -0
  461. package/src/sap/m/upload/p13n/modules/CustomDataConfig.js +100 -0
  462. package/src/sap/m/upload/p13n/modules/PersPopupManager.js +76 -0
@@ -17,17 +17,19 @@ sap.ui.define([
17
17
  /**
18
18
  * Constructor for a new UploadSetwithTableItem.
19
19
  *
20
- * @param {string} [sId] ID for the new control, will be generated automatically if no ID is provided.
20
+ * @param {string} [sId] Id for the new control, it is generated automatically if no ID is provided.
21
21
  * @param {object} [mSettings] Initial settings for the new control.
22
22
  * @class
23
23
  * <code>sap.m.UploadSetwithTableItem</code> represents one item to be uploaded using the {@link sap.m.upload.UploadSetwithTable UploadSetwithTable} control. This control can be used with the cells aggregation to create rows for the {@link sap.m.upload.UploadSetwithTable UploadSetwithTable} control. The columns aggregation of the sap.m.upload.UploadSetwithTable should match with the cells aggregation.
24
- * Note: This control should only be used within the {@link sap.m.upload.UploadSetwithTable UploadSetwithTable} control. The inherited counter property of sap.m.ListItemBase is not supported.
24
+ *
25
+ * <b>Note:</b> This control should only be used within the {@link sap.m.upload.UploadSetwithTable UploadSetwithTable} control. The inherited counter property of sap.m.ListItemBase is not supported.
25
26
  * @extends sap.m.ColumnListItem
26
27
  * @author SAP SE
27
28
  * @constructor
28
- * @private
29
- * @experimental
30
- * @internal
29
+ * @public
30
+ * @experimental since 1.120
31
+ * @since 1.120
32
+ * @version 1.120.0
31
33
  * @alias sap.m.upload.UploadSetwithTableItem
32
34
  */
33
35
  var UploadSetwithTableItem = ColumnListItem.extend("sap.m.upload.UploadSetwithTableItem", {
@@ -87,6 +89,7 @@ sap.ui.define([
87
89
  this._bSizeRestricted = false;
88
90
  this._bMediaTypeRestricted = false;
89
91
  this._oRb = Core.getLibraryResourceBundle("sap.m");
92
+ this._oCloudFileInfo = null;
90
93
  };
91
94
 
92
95
  UploadSetwithTableItem.prototype.onBeforeRendering = function () {
@@ -168,19 +171,23 @@ sap.ui.define([
168
171
  return this._isRestricted();
169
172
  };
170
173
 
174
+ /**
175
+ * Returns the details of the file selected from the CloudFilePicker control.
176
+ * @returns {sap.suite.ui.commons.CloudFileInfo} oCloudFileInfo Specifies the details of the file selected from the cloudFilePicker control.
177
+ * @public
178
+ */
179
+ UploadSetwithTableItem.prototype.getCloudFileInfo = function() {
180
+ return this._oCloudFileInfo;
181
+ };
182
+
171
183
  /* =============== */
172
184
  /* Private methods */
173
185
  /* =============== */
174
186
 
175
187
  UploadSetwithTableItem._getIconByMimeType = function(sMimeType, fileName) {
176
188
 
177
- var mimeTypeForImages = ["image/png", "image/tiff", "image/bmp", "image/jpeg", "image/gif"];
178
-
179
189
  if (sMimeType) {
180
- if (mimeTypeForImages.indexOf(sMimeType) === -1) {
181
- return IconPool.getIconForMimeType(sMimeType);
182
- }
183
- return UploadSetwithTableItem._getIconByFileType(fileName);
190
+ return IconPool.getIconForMimeType(sMimeType);
184
191
  } else {
185
192
  return UploadSetwithTableItem._getIconByFileType(fileName);
186
193
  }
@@ -323,6 +330,14 @@ sap.ui.define([
323
330
  return this._bFileTypeRestricted || this._bNameLengthRestricted || this._bSizeRestricted || this._bMediaTypeRestricted;
324
331
  };
325
332
 
333
+ /**
334
+ * @param {suite.ui.commons.CloudFileInfo} oCloudFileInfo info the file selected from the CloudFilePicker control.
335
+ * @private
336
+ */
337
+ UploadSetwithTableItem.prototype._setCloudFileInfo = function(oCloudFileInfo) {
338
+ this._oCloudFileInfo = oCloudFileInfo;
339
+ };
340
+
326
341
  UploadSetwithTableItem.IMAGE_FILE_ICON = "sap-icon://card";
327
342
  UploadSetwithTableItem.MEGABYTE = 1048576;
328
343
 
@@ -18,6 +18,9 @@ sap.ui.define([
18
18
  /**
19
19
  * Constructor for a new Uploader.
20
20
  *
21
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
22
+ * @param {object} [mSettings] Initial settings for the new control
23
+ *
21
24
  * @class
22
25
  * A basic implementation for uploading and downloading one or multiple files.
23
26
  *
@@ -24,7 +24,10 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @constructor
27
- * @private
27
+ * @public
28
+ * @experimental since 1.120
29
+ * @since 1.120
30
+ * @version 1.120.0
28
31
  * @alias sap.m.upload.UploaderTableItem
29
32
  */
30
33
  var Uploader = Element.extend("sap.m.upload.UploaderTableItem", {
@@ -0,0 +1,251 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define(
8
+ [
9
+ "sap/ui/base/Object",
10
+ "sap/base/Log",
11
+ "sap/m/upload/p13n/modules/PersPopupManager",
12
+ "sap/ui/fl/write/api/ControlPersonalizationWriteAPI",
13
+ "sap/m/upload/p13n/mediator/SortMediator",
14
+ "sap/m/upload/p13n/mediator/GroupMediator",
15
+ "sap/ui/fl/apply/api/ControlVariantApplyAPI",
16
+ "sap/ui/fl/Utils"
17
+ ],
18
+ function (
19
+ BaseObject,
20
+ Log,
21
+ PersPopupManager,
22
+ ControlPersonalizationWriteAPI,
23
+ SortMediator,
24
+ GroupMediator,
25
+ ControlVariantApplyAPI,
26
+ Utils
27
+ ) {
28
+ "use strict";
29
+ // Storage for mediators
30
+ const _mRegistry = new WeakMap();
31
+
32
+ //Singleton storage
33
+ let oPersManager;
34
+ let pRuntimeAPI;
35
+
36
+ const _requireFlexRuntimeAPI = function () {
37
+ if (!pRuntimeAPI) {
38
+ pRuntimeAPI = new Promise(function (resolve, reject) {
39
+ sap.ui.require(
40
+ ["sap/ui/fl/apply/api/FlexRuntimeInfoAPI"],
41
+ function (FlexRuntimeInfoAPI) {
42
+ resolve(FlexRuntimeInfoAPI);
43
+ },
44
+ reject
45
+ );
46
+ });
47
+ }
48
+ return pRuntimeAPI;
49
+ };
50
+
51
+ /**
52
+ * @class
53
+ * The <code>PersonalizationManager</code> entity provides robust personalization capabilities for controlling instances, including:
54
+ *
55
+ * <ul>
56
+ * <li>Initialization of <code>sap.m.p13n.Popup</code> for user interaction</li>
57
+ * <li>Storage of personalization states, with the flexibility to choose the preferred persistence layer</li>
58
+ * <li>Application of states, taking into consideration the chosen persistence layer</li>
59
+ * </ul>
60
+ *
61
+ * PersonalizationManager is essential when enabling personalization for uploadSetTable
62
+ * Various mediators implementations can be employed for the registration process, such as:
63
+ *
64
+ * <ul>
65
+ * <li>{@link sap.m.upload.p13n.mediator.ColumnsMediator ColumnsMediator}: To manage a list of selectable,visible and ordering of entries</li>
66
+ * <li>{@link sap.m.upload.p13n.mediator.SortMediator SortMediator}: To organize a list of sortable properties</li>
67
+ * <li>{@link sap.m.upload.p13n.mediator.GroupMediator GroupMediator}: To define groupable properties</li>
68
+ * </ul>
69
+ *
70
+ * Additionally, it can be effectively used in conjunction with <code>sap.ui.fl.variants.VariantManagement</code> to persist a state within variants, utilizing <code>sap.ui.fl</code> capabilities.
71
+ *
72
+ * @alias sap.m.upload.p13n.PersManager
73
+ * @extends sap.ui.base.Object
74
+ * @author SAP SE
75
+ * @version 1.120.0
76
+ * @experimental
77
+ * @internal
78
+ * @private
79
+ *
80
+ */
81
+ const PersManager = BaseObject.extend("sap.m.upload.p13n.PersManager", {
82
+ constructor: function () {
83
+ BaseObject.call(this);
84
+ this.oPersPopupManager = PersPopupManager.getInstance();
85
+ }
86
+ });
87
+
88
+ /**
89
+ * Registers upload set table inside perso manager registry
90
+ * @param {sap.m.upload.UploadSetwithTable} oControl upload set table that needs to be registered
91
+ * @param {object} oConfig metadata and mediators that will control the panel.
92
+ */
93
+ PersManager.prototype.register = function (oControl, oConfig) {
94
+ if (!oControl) {
95
+ throw Error("Please provide control for which will be performed adaptation");
96
+ }
97
+ if (!oConfig?.mediators || oConfig.mediators.length === 0) {
98
+ throw Error(
99
+ "Please provide at least a configuration 'mediator' containing a map of key-value pairs (key + Mediator class) in order to register adaptation."
100
+ );
101
+ }
102
+ const oRegisteredEntry = this._getRegisterEntry(oControl);
103
+ if (oRegisteredEntry) {
104
+ this.deregister(oRegisteredEntry);
105
+ }
106
+ const oEntry = this._registerControl(oControl);
107
+ Object.entries(oConfig.mediators).forEach(([sKey, oValue]) => {
108
+ oEntry.mediators[sKey] = oValue;
109
+ });
110
+ if (oControl.getEnableVariantManagement() && Utils.getAppComponentForControl(oControl)) {
111
+ //In case when control is just initialized and initial changes are not available to it register the control
112
+ ControlVariantApplyAPI.attachVariantApplied({
113
+ selector: oControl,
114
+ vmControlId: oControl._getVariantManagementControl().getId(),
115
+ callAfterInitialVariant: true,
116
+ callback: () => {
117
+ PersManager.getInstance().applyStateChange(oControl);
118
+ ControlVariantApplyAPI.detachVariantApplied({
119
+ selector: oControl,
120
+ vmControlId: oControl._getVariantManagementControl().getId()
121
+ });
122
+ }
123
+ });
124
+ }
125
+ };
126
+ /**
127
+ * Upload set table that needs to be deregistered
128
+ * @param {sap.m.upload.UploadSetwithTable} oControl upload set table that needs to be deregistered
129
+ *
130
+ */
131
+ PersManager.prototype.deregister = function (oControl) {
132
+ const oRegisteredEntry = this._getRegisterEntry(oControl);
133
+ if (!oRegisteredEntry) {
134
+ return;
135
+ }
136
+ Object.keys(oRegisteredEntry.mediators).forEach((sKey) => {
137
+ const oMediator = oRegisteredEntry.mediators[sKey];
138
+ oMediator.destroy();
139
+ delete oRegisteredEntry.mediators[sKey];
140
+ });
141
+
142
+ _mRegistry.delete(oControl);
143
+ };
144
+
145
+ PersManager.prototype._registerControl = function (oControl) {
146
+ const oEntry = {
147
+ mediators: {},
148
+ activeP13n: null
149
+ };
150
+ _mRegistry.set(oControl, oEntry);
151
+ return oEntry;
152
+ };
153
+
154
+ PersManager.prototype._getRegisterEntry = function (oControl) {
155
+ return _mRegistry.get(oControl);
156
+ };
157
+
158
+ PersManager.prototype.destroy = function () {
159
+ oPersManager = null;
160
+ _mRegistry.delete(this);
161
+ };
162
+
163
+
164
+ /**
165
+ * Returns the singleton instance of PersManager
166
+ * @internal
167
+ * @private
168
+ * @returns {object} returns object of PersManager
169
+ */
170
+
171
+ PersManager.getInstance = function () {
172
+ if (!oPersManager) {
173
+ oPersManager = new PersManager();
174
+ }
175
+ return oPersManager;
176
+ };
177
+
178
+ PersManager.prototype.show = function (oControl, vPanels) {
179
+ const aPanels = vPanels instanceof Array ? vPanels : [vPanels];
180
+ if (!this.verifyMediators(oControl, aPanels)) {
181
+ return;
182
+ }
183
+ const oEntry = this._getRegisterEntry(oControl);
184
+ if (oEntry.activeP13n) {
185
+ return;
186
+ }
187
+ oEntry.activeP13n = true;
188
+ this.oPersPopupManager.openP13nPopup(
189
+ oControl,
190
+ oEntry.mediators,
191
+ aPanels,
192
+ function (bIsOk) {
193
+ let aChanges = [];
194
+ if (bIsOk) {
195
+ aPanels.forEach((sPanelKey) => {
196
+ aChanges = aChanges.concat(oEntry.mediators[sPanelKey].getChanges());
197
+ });
198
+ }
199
+ if (aChanges.length) {
200
+ this.addChangesToFlex(aChanges);
201
+ }
202
+ oEntry.activeP13n = false;
203
+ }.bind(this)
204
+ );
205
+ };
206
+
207
+ PersManager.prototype.verifyMediators = function (oControl, aPanels) {
208
+ const oEntry = this._getRegisterEntry(oControl);
209
+ if (!oEntry || !aPanels || !(aPanels instanceof Array) || !aPanels?.length) {
210
+ return false;
211
+ }
212
+ return aPanels.every((sKey) => {
213
+ if (!oEntry.mediators[sKey]) {
214
+ Log.error(`No mediator registered yet for ${oControl.getId()} and key: ${sKey}`);
215
+ return false;
216
+ }
217
+ return true;
218
+ });
219
+ };
220
+
221
+ PersManager.prototype.addChangesToFlex = function (aChanges) {
222
+ ControlPersonalizationWriteAPI.add({
223
+ changes: aChanges
224
+ });
225
+ };
226
+
227
+ PersManager.prototype.waitForChanges = function (oControl) {
228
+ return _requireFlexRuntimeAPI().then((FlexRuntimeInfoAPI) => {
229
+ return FlexRuntimeInfoAPI.waitForChanges({ element: oControl });
230
+ });
231
+ };
232
+
233
+ PersManager.prototype.applyStateChange = function (oControl) {
234
+ const oRegistryEntry = this._getRegisterEntry(oControl);
235
+ if (!oRegistryEntry?.mediators) {
236
+ return;
237
+ }
238
+ const oSorters = [];
239
+ Object.entries(oRegistryEntry.mediators).forEach(([sKey, oMediator]) => {
240
+ if (oMediator instanceof SortMediator || oMediator instanceof GroupMediator) {
241
+ oMediator.applyStateToTable(oSorters);
242
+ } else {
243
+ oMediator.applyStateToTable();
244
+ }
245
+ });
246
+ const aSorters = Object.values(oSorters);
247
+ oControl.getBinding("items").sort(aSorters.length ? aSorters : null);
248
+ };
249
+ return PersManager;
250
+ }
251
+ );
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define(
8
+ [
9
+ "sap/m/upload/p13n/handlers/ChangeHandler",
10
+ "sap/m/upload/p13n/handlers/ColumnsStateChangeHandler",
11
+ "sap/m/upload/p13n/handlers/SortStateChangeHandler",
12
+ "sap/m/upload/p13n/handlers/GroupStateChangeHandler",
13
+ "sap/m/upload/p13n/handlers/FilterStateChangeHandler"
14
+ ],
15
+ function (
16
+ ChangeHandler,
17
+ ColumnsStateChangeHandler,
18
+ SortStateChangeHandler,
19
+ GroupStateChangeHandler,
20
+ FilterStateChangeHandler
21
+ ) {
22
+ "use strict";
23
+
24
+ return {
25
+ uploadSetTableColumnsStateChange: ChangeHandler.create(ColumnsStateChangeHandler),
26
+ uploadSetTableSortStateChange: ChangeHandler.create(SortStateChangeHandler),
27
+ uploadSetTableGroupStateChange: ChangeHandler.create(GroupStateChangeHandler),
28
+ uploadSetTableFilterStateChange: ChangeHandler.create(FilterStateChangeHandler)
29
+ };
30
+ },
31
+ /* bExport= */ true
32
+ );
@@ -0,0 +1,44 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ /**
7
+ *
8
+ * @private
9
+ */
10
+ sap.ui.define(["sap/ui/base/Object"], function (BaseObject) {
11
+ "use strict";
12
+ /**
13
+ *
14
+ *
15
+ * Provides a base configuration handler
16
+ * @private
17
+ * @internal
18
+ *
19
+ *
20
+ */
21
+ const BaseConfigHandler = BaseObject.extend("sap.m.upload.p13n.handlers.BaseConfigHandler", {});
22
+
23
+ /**
24
+ *
25
+ *
26
+ * Provides the name of the event and needs to be implemented by the child clas
27
+ *
28
+ * @name sap.m.upload.p13n.handlers.BaseConfigHandler.prototype.getEventName
29
+ * @function
30
+ * @protected
31
+ */
32
+
33
+ /**
34
+ *
35
+ *
36
+ * Modifies the state based on config and payload
37
+ *
38
+ * @name sap.m.upload.p13n.handlers.BaseConfigHandler.prototype.modifyState
39
+ * @function
40
+ * @protected
41
+ */
42
+
43
+ return BaseConfigHandler;
44
+ });
@@ -0,0 +1,98 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ /**
8
+ *
9
+ * Change Handler for upload set table personalization for several sceneraios
10
+ * Columns,Grouping,Sorting
11
+ *
12
+ * @internal
13
+ * @private
14
+ *
15
+ */
16
+
17
+ sap.ui.define(["sap/m/upload/p13n/PersManager", "sap/m/upload/p13n/modules/CustomDataConfig","sap/ui/fl/changeHandler/condenser/Classification"], function (PersManager, CustomDataConfig, CondenserClassification) {
18
+ "use strict";
19
+
20
+ const ChangeHandler = {};
21
+
22
+ ChangeHandler.chainPromise = function (oControl, fTask) {
23
+ const fnCleanPromise = function (oPromise) {
24
+ if (oControl._p13nQueue === oPromise) {
25
+ delete oControl._p13nQueue;
26
+ }
27
+ };
28
+ oControl._p13nQueue = oControl._p13nQueue instanceof Promise ? oControl._p13nQueue.then(fTask) : fTask();
29
+ oControl._p13nQueue.then(fnCleanPromise.bind(null, oControl._p13nQueue));
30
+ };
31
+
32
+ ChangeHandler.applyModifiedConfig = function (oControl) {
33
+ if (!oControl.isA) {
34
+ return;
35
+ }
36
+ if (oControl._p13nChangeApplyPromise) {
37
+ return;
38
+ }
39
+ oControl._p13nChangeApplyPromise = PersManager.getInstance()
40
+ .waitForChanges(oControl)
41
+ .then(() => {
42
+ //This event will be fired when all the changes are ready for the control
43
+ PersManager.getInstance().applyStateChange(oControl);
44
+ delete oControl._p13nChangeApplyPromise;
45
+ });
46
+ };
47
+
48
+ ChangeHandler.create = function (revertDataProvider) {
49
+ return {
50
+ changeHandler: {
51
+ applyChange: function (oChange, oControl, mPropertyBag) {
52
+ return ChangeHandler.chainPromise(oControl, function () {
53
+ const sChangeType = oChange.getChangeType(),
54
+ oContent = oChange.getContent();
55
+
56
+ const revertData = revertDataProvider.createRevertData(oContent);
57
+ oChange.setRevertData(revertData);
58
+
59
+ return CustomDataConfig.update(oControl, {
60
+ changeType: sChangeType,
61
+ content: oContent,
62
+ propertyBag: mPropertyBag
63
+ }).then(() => ChangeHandler.applyModifiedConfig(oControl));
64
+ });
65
+ },
66
+ completeChangeContent: function (oChange, mChangeSpecificInfo, mPropertyBag) {
67
+ // Not used, but needs to be there
68
+ },
69
+ getCondenserInfo: function(oChange) {
70
+ return {
71
+ classification: CondenserClassification.LastOneWins,
72
+ affectedControl: oChange.getSelector(),
73
+ uniqueKey: oChange.getContent().targetAggregation
74
+ };
75
+ },
76
+ revertChange: function (oChange, oControl, mPropertyBag) {
77
+ return ChangeHandler.chainPromise(oControl, function () {
78
+ const sChangeType = oChange.getChangeType(),
79
+ oContent = oChange.getRevertData();
80
+
81
+ return CustomDataConfig.update(oControl, {
82
+ changeType: sChangeType,
83
+ content: oContent,
84
+ propertyBag: mPropertyBag
85
+ })
86
+ .then(() => oChange.resetRevertData())
87
+ .then(() => ChangeHandler.applyModifiedConfig(oControl));
88
+ });
89
+ }
90
+ },
91
+ layers: {
92
+ USER: true
93
+ }
94
+ };
95
+ };
96
+
97
+ return ChangeHandler;
98
+ });
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+
8
+ /**
9
+ *
10
+ *
11
+ * Configuration handler for columns state
12
+ *
13
+ * @internal
14
+ * @private
15
+ *
16
+ */
17
+
18
+ sap.ui.define(["sap/m/upload/p13n/handlers/BaseConfigHandler"], function (BaseConfigHandler) {
19
+ "use strict";
20
+
21
+ const ColumnConfigHandler = BaseConfigHandler.extend("sap.m.upload.p13n.handlers.ColumnConfigHandler", {});
22
+
23
+ const EVENT_NAME = "uploadSetTableColumnsStateChange";
24
+
25
+ ColumnConfigHandler.getEventName = function () {
26
+ return EVENT_NAME;
27
+ };
28
+
29
+ ColumnConfigHandler.prototype.modifyState = function (oPayload, oExistingConfig) {
30
+ const oContent = oPayload.content,
31
+ sAggregation = oContent.targetAggregation,
32
+ oConfig = oExistingConfig || {};
33
+
34
+ oConfig.aggregations ??= {};
35
+ oConfig.aggregations[sAggregation] ??= {};
36
+
37
+ if (oContent.deleted) {
38
+ oContent.deleted.forEach((oEntry) => {
39
+ oConfig.aggregations[sAggregation][oEntry.key] = { prevIndex: oEntry.prevIndex, visible: false };
40
+ });
41
+ }
42
+ if (oContent.moved) {
43
+ oContent.moved.forEach((oEntry) => {
44
+ oConfig.aggregations[sAggregation][oEntry.key] = { index: oEntry.index, visible: true };
45
+ });
46
+ }
47
+ if (oContent.inserted) {
48
+ oContent.inserted.forEach((oEntry) => {
49
+ oConfig.aggregations[sAggregation][oEntry.key] = { index: oEntry.index, visible: true };
50
+ });
51
+ }
52
+
53
+ return oConfig;
54
+ };
55
+
56
+ return ColumnConfigHandler;
57
+ });
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ /**
8
+ *
9
+ *
10
+ * State Change Handler for the columns related data
11
+ *
12
+ * @internal
13
+ * @private
14
+ *
15
+ */
16
+
17
+ sap.ui.define([], function () {
18
+ "use strict";
19
+
20
+ const ColumnsStateChangeHandler = {};
21
+
22
+ ColumnsStateChangeHandler.createRevertData = function (oContent) {
23
+ const oRevertData = { targetAggregation: oContent.targetAggregation };
24
+ if (oContent.deleted) {
25
+ oRevertData.inserted = oContent.deleted.map((oEntry) => {
26
+ return { key: oEntry.key, index: oEntry.prevIndex };
27
+ });
28
+ }
29
+ if (oContent.moved) {
30
+ oRevertData.moved = oContent.moved.map((oEntry) => {
31
+ return { key: oEntry.key, index: oEntry.prevIndex, prevIndex: oEntry.index };
32
+ });
33
+ }
34
+ if (oContent.inserted) {
35
+ oRevertData.deleted = oContent.inserted.map((oEntry) => {
36
+ return { key: oEntry.key, prevIndex: oEntry.index };
37
+ });
38
+ }
39
+ return oRevertData;
40
+ };
41
+
42
+ return ColumnsStateChangeHandler;
43
+ });
@@ -0,0 +1,71 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ /**
8
+ *
9
+ *
10
+ * Configuration handler for Filter state
11
+ *
12
+ * @internal
13
+ * @private
14
+ *
15
+ */
16
+
17
+
18
+ sap.ui.define(["sap/m/upload/p13n/handlers/BaseConfigHandler"], function (BaseConfigHandler) {
19
+ "use strict";
20
+
21
+ const FilterConfigHandler = BaseConfigHandler.extend("sap.m.upload.p13n.handlers.FilterConfigHandler", {});
22
+
23
+ const EVENT_NAME = "uploadSetTableFilterStateChange";
24
+
25
+ FilterConfigHandler.getEventName = function () {
26
+ return EVENT_NAME;
27
+ };
28
+
29
+ FilterConfigHandler.prototype.modifyState = function (oPayload, oExistingConfig) {
30
+ const oContent = oPayload.content,
31
+ sAggregation = oContent.targetAggregation,
32
+ oConfig = oExistingConfig || {};
33
+
34
+ oConfig.properties ??= {};
35
+ oConfig.properties[sAggregation] ??= {};
36
+
37
+ if (oContent.deleted) {
38
+ oContent.deleted.forEach((oEntry) => {
39
+ if (oConfig.properties[sAggregation][oEntry.key]) {
40
+ delete oConfig.properties[sAggregation][oEntry.key];
41
+ }
42
+ });
43
+ }
44
+ if (oContent.moved) {
45
+ oContent.moved.forEach((oEntry) => {
46
+ oConfig.properties[sAggregation][oEntry.key] = {
47
+ key: oEntry.key,
48
+ index: oEntry.index,
49
+ path: oEntry.path,
50
+ operator: oEntry.operator,
51
+ value: oEntry.value
52
+ };
53
+ });
54
+ }
55
+ if (oContent.inserted) {
56
+ oContent.inserted.forEach((oEntry) => {
57
+ oConfig.properties[sAggregation][oEntry.key] = {
58
+ key: oEntry.key,
59
+ index: oEntry.index,
60
+ path: oEntry.path,
61
+ operator: oEntry.operator,
62
+ value: oEntry.value
63
+ };
64
+ });
65
+ }
66
+
67
+ return oConfig;
68
+ };
69
+
70
+ return FilterConfigHandler;
71
+ });