@openui5/sap.m 1.95.0 → 1.96.3

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 (466) hide show
  1. package/.reuse/dep5 +10 -5
  2. package/THIRDPARTY.txt +17 -8
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +1 -1
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +1 -1
  13. package/src/sap/m/Breadcrumbs.js +1 -1
  14. package/src/sap/m/BusyDialog.js +1 -1
  15. package/src/sap/m/BusyIndicator.js +1 -1
  16. package/src/sap/m/Button.js +1 -1
  17. package/src/sap/m/Carousel.js +1 -1
  18. package/src/sap/m/CarouselLayout.js +1 -1
  19. package/src/sap/m/CheckBox.js +1 -1
  20. package/src/sap/m/ColorPalette.js +7 -11
  21. package/src/sap/m/ColorPalettePopover.js +1 -6
  22. package/src/sap/m/Column.js +5 -1
  23. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  24. package/src/sap/m/ColumnListItem.js +1 -1
  25. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  30. package/src/sap/m/ComboBox.js +1 -1
  31. package/src/sap/m/ComboBoxBase.js +1 -1
  32. package/src/sap/m/ComboBoxTextField.js +1 -1
  33. package/src/sap/m/CustomDynamicDateOption.js +9 -1
  34. package/src/sap/m/CustomListItem.js +1 -1
  35. package/src/sap/m/CustomTile.js +1 -1
  36. package/src/sap/m/CustomTreeItem.js +1 -1
  37. package/src/sap/m/DatePicker.js +12 -10
  38. package/src/sap/m/DateRangeSelection.js +6 -9
  39. package/src/sap/m/DateTimeField.js +1 -1
  40. package/src/sap/m/DateTimeInput.js +1 -1
  41. package/src/sap/m/DateTimePicker.js +6 -9
  42. package/src/sap/m/Dialog.js +16 -37
  43. package/src/sap/m/DisplayListItem.js +1 -1
  44. package/src/sap/m/DraftIndicator.js +1 -1
  45. package/src/sap/m/DynamicDate.js +1 -1
  46. package/src/sap/m/DynamicDateOption.js +3 -2
  47. package/src/sap/m/DynamicDateRange.js +7 -4
  48. package/src/sap/m/DynamicDateUtil.js +6 -3
  49. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  50. package/src/sap/m/ExpandableText.js +1 -1
  51. package/src/sap/m/FacetFilter.js +1 -1
  52. package/src/sap/m/FacetFilterItem.js +1 -1
  53. package/src/sap/m/FacetFilterList.js +1 -1
  54. package/src/sap/m/FeedContent.js +1 -1
  55. package/src/sap/m/FeedInput.js +1 -1
  56. package/src/sap/m/FeedListItem.js +1 -1
  57. package/src/sap/m/FeedListItemAction.js +1 -1
  58. package/src/sap/m/Fiori20Adapter.js +2 -2
  59. package/src/sap/m/FlexBox.js +1 -1
  60. package/src/sap/m/FlexItemData.js +1 -1
  61. package/src/sap/m/FormattedText.js +1 -1
  62. package/src/sap/m/GenericTag.js +1 -1
  63. package/src/sap/m/GenericTile.js +264 -57
  64. package/src/sap/m/GenericTileRenderer.js +228 -84
  65. package/src/sap/m/GroupHeaderListItem.js +1 -1
  66. package/src/sap/m/GrowingList.js +1 -1
  67. package/src/sap/m/HBox.js +1 -1
  68. package/src/sap/m/HeaderContainer.js +1 -1
  69. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  70. package/src/sap/m/IconTabBar.js +7 -1
  71. package/src/sap/m/IconTabBarSelectList.js +1 -1
  72. package/src/sap/m/IconTabFilter.js +1 -1
  73. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  74. package/src/sap/m/IconTabHeader.js +13 -4
  75. package/src/sap/m/IconTabSeparator.js +1 -1
  76. package/src/sap/m/Image.js +1 -1
  77. package/src/sap/m/ImageContent.js +1 -1
  78. package/src/sap/m/Input.js +18 -7
  79. package/src/sap/m/InputBase.js +95 -13
  80. package/src/sap/m/InputBaseRenderer.js +8 -20
  81. package/src/sap/m/InputListItem.js +1 -1
  82. package/src/sap/m/Label.js +1 -1
  83. package/src/sap/m/LightBox.js +1 -1
  84. package/src/sap/m/LightBoxItem.js +1 -1
  85. package/src/sap/m/Link.js +1 -1
  86. package/src/sap/m/List.js +1 -1
  87. package/src/sap/m/ListBase.js +1 -1
  88. package/src/sap/m/ListItemBase.js +2 -2
  89. package/src/sap/m/MaskEnabler.js +106 -4
  90. package/src/sap/m/MaskInput.js +19 -4
  91. package/src/sap/m/MaskInputRule.js +1 -1
  92. package/src/sap/m/Menu.js +8 -6
  93. package/src/sap/m/MenuButton.js +1 -1
  94. package/src/sap/m/MenuItem.js +1 -1
  95. package/src/sap/m/MenuListItem.js +1 -1
  96. package/src/sap/m/MessageItem.js +1 -16
  97. package/src/sap/m/MessageListItem.js +1 -1
  98. package/src/sap/m/MessagePage.js +1 -1
  99. package/src/sap/m/MessagePopover.js +1 -1
  100. package/src/sap/m/MessagePopoverItem.js +1 -1
  101. package/src/sap/m/MessageStrip.js +7 -3
  102. package/src/sap/m/MessageStripRenderer.js +2 -2
  103. package/src/sap/m/MessageToast.js +1 -1
  104. package/src/sap/m/MessageView.js +12 -23
  105. package/src/sap/m/MultiComboBox.js +348 -115
  106. package/src/sap/m/MultiEditField.js +1 -1
  107. package/src/sap/m/MultiInput.js +30 -4
  108. package/src/sap/m/NavContainer.js +13 -5
  109. package/src/sap/m/NewsContent.js +19 -10
  110. package/src/sap/m/NewsContentRenderer.js +1 -2
  111. package/src/sap/m/NotificationList.js +1 -1
  112. package/src/sap/m/NotificationListBase.js +1 -1
  113. package/src/sap/m/NotificationListGroup.js +1 -1
  114. package/src/sap/m/NotificationListItem.js +1 -1
  115. package/src/sap/m/NumericContent.js +1 -1
  116. package/src/sap/m/NumericContentRenderer.js +34 -17
  117. package/src/sap/m/NumericInput.js +138 -0
  118. package/src/sap/m/NumericInputRenderer.js +120 -0
  119. package/src/sap/m/ObjectAttribute.js +46 -5
  120. package/src/sap/m/ObjectHeader.js +3 -3
  121. package/src/sap/m/ObjectIdentifier.js +1 -1
  122. package/src/sap/m/ObjectListItem.js +1 -1
  123. package/src/sap/m/ObjectMarker.js +1 -1
  124. package/src/sap/m/ObjectNumber.js +1 -1
  125. package/src/sap/m/ObjectStatus.js +1 -1
  126. package/src/sap/m/ObjectStatusRenderer.js +4 -1
  127. package/src/sap/m/OverflowToolbar.js +3 -5
  128. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  129. package/src/sap/m/OverflowToolbarButton.js +4 -2
  130. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  131. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  132. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  133. package/src/sap/m/P13nColumnsItem.js +1 -1
  134. package/src/sap/m/P13nColumnsPanel.js +3 -3
  135. package/src/sap/m/P13nConditionPanel.js +22 -52
  136. package/src/sap/m/P13nDialog.js +1 -1
  137. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  138. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  139. package/src/sap/m/P13nFilterItem.js +1 -1
  140. package/src/sap/m/P13nFilterPanel.js +1 -3
  141. package/src/sap/m/P13nGroupItem.js +1 -1
  142. package/src/sap/m/P13nGroupPanel.js +1 -3
  143. package/src/sap/m/P13nItem.js +1 -1
  144. package/src/sap/m/P13nPanel.js +1 -1
  145. package/src/sap/m/P13nSelectionItem.js +1 -1
  146. package/src/sap/m/P13nSelectionPanel.js +1 -1
  147. package/src/sap/m/P13nSortItem.js +1 -1
  148. package/src/sap/m/P13nSortPanel.js +1 -3
  149. package/src/sap/m/PDFViewer.js +1 -1
  150. package/src/sap/m/Page.js +1 -1
  151. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  152. package/src/sap/m/PagingButton.js +1 -1
  153. package/src/sap/m/Panel.js +1 -1
  154. package/src/sap/m/PlanningCalendar.js +46 -31
  155. package/src/sap/m/PlanningCalendarHeader.js +5 -8
  156. package/src/sap/m/PlanningCalendarLegend.js +1 -6
  157. package/src/sap/m/PlanningCalendarLegendRenderer.js +0 -5
  158. package/src/sap/m/PlanningCalendarRow.js +1 -1
  159. package/src/sap/m/PlanningCalendarView.js +1 -6
  160. package/src/sap/m/Popover.js +3 -3
  161. package/src/sap/m/PopoverRenderer.js +3 -2
  162. package/src/sap/m/ProgressIndicator.js +13 -1
  163. package/src/sap/m/PullToRefresh.js +1 -1
  164. package/src/sap/m/QuickView.js +1 -1
  165. package/src/sap/m/QuickViewBase.js +1 -1
  166. package/src/sap/m/QuickViewCard.js +1 -1
  167. package/src/sap/m/QuickViewGroup.js +1 -1
  168. package/src/sap/m/QuickViewGroupElement.js +1 -1
  169. package/src/sap/m/QuickViewPage.js +1 -1
  170. package/src/sap/m/RadioButton.js +1 -1
  171. package/src/sap/m/RadioButtonGroup.js +1 -1
  172. package/src/sap/m/RangeSlider.js +1 -1
  173. package/src/sap/m/RatingIndicator.js +1 -1
  174. package/src/sap/m/ResponsivePopover.js +1 -1
  175. package/src/sap/m/ResponsiveScale.js +1 -1
  176. package/src/sap/m/ScrollBar.js +1 -1
  177. package/src/sap/m/ScrollContainer.js +1 -1
  178. package/src/sap/m/SearchField.js +2 -33
  179. package/src/sap/m/SegmentedButton.js +1 -1
  180. package/src/sap/m/SegmentedButtonItem.js +1 -1
  181. package/src/sap/m/SegmentedButtonRenderer.js +6 -0
  182. package/src/sap/m/Select.js +3 -4
  183. package/src/sap/m/SelectDialog.js +1 -1
  184. package/src/sap/m/SelectDialogBase.js +1 -1
  185. package/src/sap/m/SelectList.js +1 -1
  186. package/src/sap/m/SelectRenderer.js +10 -1
  187. package/src/sap/m/SelectionDetails.js +7 -9
  188. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  189. package/src/sap/m/SelectionDetailsItem.js +8 -4
  190. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  191. package/src/sap/m/Shell.js +1 -1
  192. package/src/sap/m/SimpleFixFlex.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendar.js +7 -10
  194. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -6
  196. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
  197. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
  198. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
  199. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
  200. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
  202. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
  203. package/src/sap/m/SlideTile.js +46 -3
  204. package/src/sap/m/SlideTileRenderer.js +13 -2
  205. package/src/sap/m/Slider.js +1 -1
  206. package/src/sap/m/SliderTooltip.js +1 -1
  207. package/src/sap/m/SliderTooltipBase.js +1 -1
  208. package/src/sap/m/SliderTooltipContainer.js +1 -1
  209. package/src/sap/m/SplitApp.js +1 -1
  210. package/src/sap/m/SplitButton.js +1 -1
  211. package/src/sap/m/SplitButtonRenderer.js +5 -1
  212. package/src/sap/m/SplitContainer.js +10 -4
  213. package/src/sap/m/StandardDynamicDateOption.js +6 -3
  214. package/src/sap/m/StandardListItem.js +11 -18
  215. package/src/sap/m/StandardTile.js +1 -1
  216. package/src/sap/m/StandardTreeItem.js +1 -1
  217. package/src/sap/m/StepInput.js +67 -166
  218. package/src/sap/m/SuggestionItem.js +1 -7
  219. package/src/sap/m/SuggestionsPopover.js +44 -1
  220. package/src/sap/m/Switch.js +9 -1
  221. package/src/sap/m/TabContainer.js +1 -1
  222. package/src/sap/m/TabContainerItem.js +1 -1
  223. package/src/sap/m/TabStrip.js +1 -1
  224. package/src/sap/m/TabStripItem.js +1 -1
  225. package/src/sap/m/Table.js +1 -1
  226. package/src/sap/m/TablePersoController.js +1 -1
  227. package/src/sap/m/TablePersoDialog.js +1 -1
  228. package/src/sap/m/TablePersoProvider.js +1 -1
  229. package/src/sap/m/TableSelectDialog.js +1 -1
  230. package/src/sap/m/Text.js +1 -1
  231. package/src/sap/m/TextArea.js +1 -1
  232. package/src/sap/m/Tile.js +1 -1
  233. package/src/sap/m/TileContainer.js +1 -1
  234. package/src/sap/m/TileContent.js +22 -4
  235. package/src/sap/m/TileContentRenderer.js +73 -5
  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 +2 -1
  248. package/src/sap/m/Toolbar.js +1 -1
  249. package/src/sap/m/ToolbarLayoutData.js +1 -1
  250. package/src/sap/m/ToolbarSeparator.js +1 -1
  251. package/src/sap/m/ToolbarSpacer.js +1 -1
  252. package/src/sap/m/Tree.js +1 -1
  253. package/src/sap/m/TreeItemBase.js +1 -1
  254. package/src/sap/m/UploadCollection.js +1 -6
  255. package/src/sap/m/UploadCollectionItem.js +1 -1
  256. package/src/sap/m/UploadCollectionParameter.js +1 -1
  257. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  258. package/src/sap/m/VBox.js +1 -1
  259. package/src/sap/m/ValueStateHeader.js +1 -1
  260. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  262. package/src/sap/m/ViewSettingsDialog.js +1 -1
  263. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  264. package/src/sap/m/ViewSettingsItem.js +1 -1
  265. package/src/sap/m/VisibleItem.js +1 -1
  266. package/src/sap/m/WheelSlider.js +1 -1
  267. package/src/sap/m/WheelSliderContainer.js +1 -1
  268. package/src/sap/m/Wizard.js +40 -12
  269. package/src/sap/m/WizardProgressNavigator.js +1 -1
  270. package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
  271. package/src/sap/m/WizardStep.js +1 -1
  272. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  273. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  274. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  275. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  276. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +24 -15
  277. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  278. package/src/sap/m/delegate/DateNavigation.js +4 -5
  279. package/src/sap/m/delegate/ValueStateMessage.js +4 -7
  280. package/src/sap/m/designtime/IconTabBar.designtime.js +4 -1
  281. package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
  282. package/src/sap/m/designtime/messagebundle_ar.properties +3 -3
  283. package/src/sap/m/designtime/messagebundle_bg.properties +3 -3
  284. package/src/sap/m/designtime/messagebundle_ca.properties +3 -3
  285. package/src/sap/m/designtime/messagebundle_cs.properties +3 -3
  286. package/src/sap/m/designtime/messagebundle_cy.properties +3 -3
  287. package/src/sap/m/designtime/messagebundle_da.properties +3 -3
  288. package/src/sap/m/designtime/messagebundle_de.properties +5 -5
  289. package/src/sap/m/designtime/messagebundle_el.properties +3 -3
  290. package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
  291. package/src/sap/m/designtime/messagebundle_es.properties +3 -3
  292. package/src/sap/m/designtime/messagebundle_es_MX.properties +3 -3
  293. package/src/sap/m/designtime/messagebundle_et.properties +3 -3
  294. package/src/sap/m/designtime/messagebundle_fi.properties +3 -3
  295. package/src/sap/m/designtime/messagebundle_fr.properties +3 -3
  296. package/src/sap/m/designtime/messagebundle_fr_CA.properties +3 -3
  297. package/src/sap/m/designtime/messagebundle_hi.properties +3 -3
  298. package/src/sap/m/designtime/messagebundle_hr.properties +3 -3
  299. package/src/sap/m/designtime/messagebundle_hu.properties +3 -3
  300. package/src/sap/m/designtime/messagebundle_id.properties +3 -3
  301. package/src/sap/m/designtime/messagebundle_it.properties +3 -3
  302. package/src/sap/m/designtime/messagebundle_iw.properties +3 -3
  303. package/src/sap/m/designtime/messagebundle_ja.properties +3 -3
  304. package/src/sap/m/designtime/messagebundle_kk.properties +3 -3
  305. package/src/sap/m/designtime/messagebundle_ko.properties +3 -3
  306. package/src/sap/m/designtime/messagebundle_lt.properties +3 -3
  307. package/src/sap/m/designtime/messagebundle_lv.properties +3 -3
  308. package/src/sap/m/designtime/messagebundle_ms.properties +3 -3
  309. package/src/sap/m/designtime/messagebundle_nl.properties +3 -3
  310. package/src/sap/m/designtime/messagebundle_no.properties +3 -3
  311. package/src/sap/m/designtime/messagebundle_pl.properties +3 -3
  312. package/src/sap/m/designtime/messagebundle_pt.properties +3 -3
  313. package/src/sap/m/designtime/messagebundle_pt_PT.properties +3 -3
  314. package/src/sap/m/designtime/messagebundle_ro.properties +3 -3
  315. package/src/sap/m/designtime/messagebundle_ru.properties +3 -3
  316. package/src/sap/m/designtime/messagebundle_sh.properties +3 -3
  317. package/src/sap/m/designtime/messagebundle_sk.properties +3 -3
  318. package/src/sap/m/designtime/messagebundle_sl.properties +3 -3
  319. package/src/sap/m/designtime/messagebundle_sv.properties +3 -3
  320. package/src/sap/m/designtime/messagebundle_th.properties +3 -3
  321. package/src/sap/m/designtime/messagebundle_tr.properties +3 -3
  322. package/src/sap/m/designtime/messagebundle_uk.properties +3 -3
  323. package/src/sap/m/designtime/messagebundle_vi.properties +3 -3
  324. package/src/sap/m/designtime/messagebundle_zh_CN.properties +3 -3
  325. package/src/sap/m/designtime/messagebundle_zh_TW.properties +3 -3
  326. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
  327. package/src/sap/m/inputUtils/ListHelpers.js +16 -3
  328. package/src/sap/m/library.js +58 -31
  329. package/src/sap/m/messagebundle.properties +50 -3
  330. package/src/sap/m/messagebundle_ar.properties +29 -6
  331. package/src/sap/m/messagebundle_bg.properties +29 -6
  332. package/src/sap/m/messagebundle_ca.properties +33 -10
  333. package/src/sap/m/messagebundle_cs.properties +31 -8
  334. package/src/sap/m/messagebundle_cy.properties +31 -8
  335. package/src/sap/m/messagebundle_da.properties +31 -8
  336. package/src/sap/m/messagebundle_de.properties +30 -7
  337. package/src/sap/m/messagebundle_el.properties +30 -7
  338. package/src/sap/m/messagebundle_en.properties +30 -7
  339. package/src/sap/m/messagebundle_en_GB.properties +30 -7
  340. package/src/sap/m/messagebundle_en_US_sappsd.properties +17 -1
  341. package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
  342. package/src/sap/m/messagebundle_en_US_saptrc.properties +3 -1
  343. package/src/sap/m/messagebundle_es.properties +29 -6
  344. package/src/sap/m/messagebundle_es_MX.properties +31 -8
  345. package/src/sap/m/messagebundle_et.properties +30 -7
  346. package/src/sap/m/messagebundle_fi.properties +31 -8
  347. package/src/sap/m/messagebundle_fr.properties +37 -14
  348. package/src/sap/m/messagebundle_fr_CA.properties +31 -8
  349. package/src/sap/m/messagebundle_hi.properties +31 -8
  350. package/src/sap/m/messagebundle_hr.properties +30 -7
  351. package/src/sap/m/messagebundle_hu.properties +30 -7
  352. package/src/sap/m/messagebundle_id.properties +31 -8
  353. package/src/sap/m/messagebundle_it.properties +29 -6
  354. package/src/sap/m/messagebundle_iw.properties +29 -6
  355. package/src/sap/m/messagebundle_ja.properties +30 -7
  356. package/src/sap/m/messagebundle_kk.properties +31 -8
  357. package/src/sap/m/messagebundle_ko.properties +31 -8
  358. package/src/sap/m/messagebundle_lt.properties +31 -8
  359. package/src/sap/m/messagebundle_lv.properties +31 -8
  360. package/src/sap/m/messagebundle_ms.properties +29 -6
  361. package/src/sap/m/messagebundle_nl.properties +29 -6
  362. package/src/sap/m/messagebundle_no.properties +29 -6
  363. package/src/sap/m/messagebundle_pl.properties +31 -8
  364. package/src/sap/m/messagebundle_pt.properties +31 -8
  365. package/src/sap/m/messagebundle_pt_PT.properties +29 -6
  366. package/src/sap/m/messagebundle_ro.properties +31 -8
  367. package/src/sap/m/messagebundle_ru.properties +31 -8
  368. package/src/sap/m/messagebundle_sh.properties +30 -7
  369. package/src/sap/m/messagebundle_sk.properties +30 -7
  370. package/src/sap/m/messagebundle_sl.properties +30 -7
  371. package/src/sap/m/messagebundle_sv.properties +30 -7
  372. package/src/sap/m/messagebundle_th.properties +31 -8
  373. package/src/sap/m/messagebundle_tr.properties +27 -4
  374. package/src/sap/m/messagebundle_uk.properties +35 -12
  375. package/src/sap/m/messagebundle_vi.properties +31 -8
  376. package/src/sap/m/messagebundle_zh_CN.properties +29 -6
  377. package/src/sap/m/messagebundle_zh_TW.properties +31 -8
  378. package/src/sap/m/p13n/AbstractContainer.js +243 -0
  379. package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
  380. package/src/sap/m/p13n/BasePanel.js +643 -0
  381. package/src/sap/m/p13n/Container.js +239 -0
  382. package/src/sap/m/p13n/GroupPanel.js +119 -0
  383. package/src/sap/m/p13n/QueryPanel.js +312 -0
  384. package/src/sap/m/p13n/SelectionPanel.js +403 -0
  385. package/src/sap/m/p13n/SortPanel.js +139 -0
  386. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  387. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  388. package/src/sap/m/plugins/PasteProvider.js +1 -1
  389. package/src/sap/m/plugins/PluginBase.js +1 -1
  390. package/src/sap/m/routing/TargetHandler.js +9 -4
  391. package/src/sap/m/semantic/AddAction.js +1 -1
  392. package/src/sap/m/semantic/CancelAction.js +1 -1
  393. package/src/sap/m/semantic/DeleteAction.js +1 -1
  394. package/src/sap/m/semantic/DetailPage.js +1 -1
  395. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  396. package/src/sap/m/semantic/EditAction.js +1 -1
  397. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  398. package/src/sap/m/semantic/FilterAction.js +1 -1
  399. package/src/sap/m/semantic/FilterSelect.js +1 -1
  400. package/src/sap/m/semantic/FlagAction.js +1 -1
  401. package/src/sap/m/semantic/ForwardAction.js +1 -1
  402. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  403. package/src/sap/m/semantic/GroupAction.js +1 -1
  404. package/src/sap/m/semantic/GroupSelect.js +1 -1
  405. package/src/sap/m/semantic/MainAction.js +1 -1
  406. package/src/sap/m/semantic/MasterPage.js +1 -1
  407. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  408. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  409. package/src/sap/m/semantic/NegativeAction.js +1 -1
  410. package/src/sap/m/semantic/OpenInAction.js +1 -1
  411. package/src/sap/m/semantic/PositiveAction.js +1 -1
  412. package/src/sap/m/semantic/PrintAction.js +1 -1
  413. package/src/sap/m/semantic/SaveAction.js +1 -1
  414. package/src/sap/m/semantic/Segment.js +1 -1
  415. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  416. package/src/sap/m/semantic/SemanticButton.js +1 -1
  417. package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
  418. package/src/sap/m/semantic/SemanticControl.js +1 -1
  419. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  420. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  421. package/src/sap/m/semantic/SemanticPage.js +1 -1
  422. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  423. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  424. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  425. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  426. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  427. package/src/sap/m/semantic/ShareMenu.js +1 -1
  428. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  429. package/src/sap/m/semantic/SortAction.js +1 -1
  430. package/src/sap/m/semantic/SortSelect.js +1 -1
  431. package/src/sap/m/table/Util.js +192 -0
  432. package/src/sap/m/themes/base/AbstractContainer.less +17 -0
  433. package/src/sap/m/themes/base/Carousel.less +37 -2
  434. package/src/sap/m/themes/base/Dialog.less +11 -5
  435. package/src/sap/m/themes/base/GenericTile.less +441 -18
  436. package/src/sap/m/themes/base/IconTabBar.less +13 -7
  437. package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
  438. package/src/sap/m/themes/base/InputBase.less +0 -24
  439. package/src/sap/m/themes/base/Label.less +6 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +4 -2
  441. package/src/sap/m/themes/base/MultiComboBox.less +17 -0
  442. package/src/sap/m/themes/base/NewsContent.less +48 -1
  443. package/src/sap/m/themes/base/NotificationListBase.less +1 -1
  444. package/src/sap/m/themes/base/NumericContent.less +87 -0
  445. package/src/sap/m/themes/base/ObjectNumber.less +10 -2
  446. package/src/sap/m/themes/base/ObjectStatus.less +5 -1
  447. package/src/sap/m/themes/base/P13nContainer.less +17 -0
  448. package/src/sap/m/themes/base/P13nDialog.less +4 -0
  449. package/src/sap/m/themes/base/SearchField.less +21 -14
  450. package/src/sap/m/themes/base/SegmentedButton.less +1 -1
  451. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
  452. package/src/sap/m/themes/base/SlideTile.less +15 -0
  453. package/src/sap/m/themes/base/StandardListItem.less +1 -1
  454. package/src/sap/m/themes/base/Table.less +9 -8
  455. package/src/sap/m/themes/base/Text.less +6 -0
  456. package/src/sap/m/themes/base/TileContent.less +20 -0
  457. package/src/sap/m/themes/base/Token.less +0 -3
  458. package/src/sap/m/themes/base/library.source.less +4 -0
  459. package/src/sap/m/themes/base/p13n.Container.less +17 -0
  460. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
  461. package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
  462. package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
  463. package/src/sap/m/upload/UploadSet.js +14 -18
  464. package/src/sap/m/upload/UploadSetItem.js +7 -2
  465. package/ui5.yaml +4 -1
  466. package/src/sap/m/ios7.js +0 -199
@@ -0,0 +1,643 @@
1
+ /*
2
+ * ! OpenUI5
3
+ * (c) Copyright 2009-2021 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
+ 'sap/ui/model/json/JSONModel', 'sap/m/VBox', 'sap/ui/core/Control', 'sap/m/Column', 'sap/m/Text', 'sap/ui/model/Filter', "sap/m/Table", "sap/m/OverflowToolbar", "sap/m/SearchField", "sap/m/ToolbarSpacer", "sap/m/OverflowToolbarButton", "sap/m/OverflowToolbarLayoutData", "sap/base/util/merge", "sap/ui/core/dnd/DragDropInfo"
9
+ ], function(JSONModel, VBox, Control, Column, Text, Filter, Table, OverflowToolbar, SearchField, ToolbarSpacer, OverflowToolbarButton, OverflowToolbarLayoutData, merge, DragDropInfo) {
10
+ "use strict";
11
+
12
+ /**
13
+ * Constructor for a new <code>BasePanel</code>.
14
+ *
15
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
16
+ * @param {object} [mSettings] Initial settings for the new control
17
+ *
18
+ * @class
19
+ * This control serves as base class for personalization implementations.
20
+ * This base class is faceless and should be inherited to implement control specific personalization panels.
21
+ *
22
+ * @extends sap.ui.core.Control
23
+ *
24
+ * @author SAP SE
25
+ * @version 1.96.3
26
+ *
27
+ * @private
28
+ * @ui5-restricted
29
+ * @experimental
30
+ *
31
+ * @since 1.96
32
+ * @alias sap.m.p13n.BasePanel
33
+ */
34
+ var BasePanel = Control.extend("sap.m.p13n.BasePanel", {
35
+ metadata: {
36
+ library: "sap.m",
37
+ associations: {},
38
+ properties: {
39
+ /**
40
+ * Determines whether the reordering of personalization items should be enabled.
41
+ */
42
+ enableReorder: {
43
+ type: "boolean",
44
+ defaultValue: true
45
+ }
46
+ },
47
+ aggregations: {
48
+ /**
49
+ * Defines an optional message strip to be displayed in the content area
50
+ */
51
+ messageStrip: {
52
+ type: "sap.m.MessageStrip",
53
+ multiple: false
54
+ },
55
+ /**
56
+ * Content to be set for the <code>BasePanel</code>.
57
+ */
58
+ _content: {
59
+ type: "sap.ui.core.Control",
60
+ multiple: false,
61
+ visibility: "hidden"
62
+ },
63
+ /**
64
+ * This template is going to be set from the implementing panel using the <code>BasePanel</code> control, by setting the template
65
+ * for the columns of the inner <code>sap.m.Table</code>.
66
+ */
67
+ _template: {
68
+ type: "sap.ui.core.Control",
69
+ multiple: false,
70
+ visibility: "hidden"
71
+ }
72
+ },
73
+ events: {
74
+ /**
75
+ * This event is fired if there has been made any change within the <code>BasePanel</code> control.
76
+ */
77
+ change: {
78
+ /**
79
+ * The reason why the panel state has changed, e.g. "Add", "Remove" or "Move".
80
+ */
81
+ reason: {
82
+ type: "string"
83
+ },
84
+ /**
85
+ * An object containing information about the specific item that has been changed.
86
+ */
87
+ item: {
88
+ type: "object"
89
+ }
90
+ }
91
+ }
92
+ },
93
+ renderer: {
94
+ apiVersion: 2,
95
+ render: function(oRm, oControl) {
96
+ oRm.openStart("div", oControl);
97
+ oRm.style("height", "100%");
98
+ oRm.openEnd();
99
+ oRm.renderControl(oControl.getAggregation("_content"));
100
+ oRm.close("div");
101
+ }
102
+ }
103
+ });
104
+
105
+ //inner model name
106
+ BasePanel.prototype.P13N_MODEL = "$p13n";
107
+
108
+ //constants for change event reasoning
109
+ BasePanel.prototype.CHANGE_REASON_ADD = "Add";
110
+ BasePanel.prototype.CHANGE_REASON_REMOVE = "Remove";
111
+ BasePanel.prototype.CHANGE_REASON_MOVE = "Move";
112
+
113
+ //defines the name of the attribute describing the presence/active state
114
+ BasePanel.prototype.PRESENCE_ATTRIBUTE = "visible";
115
+
116
+ BasePanel.prototype.init = function() {
117
+ Control.prototype.init.apply(this, arguments);
118
+
119
+ this._oP13nModel = new JSONModel({});
120
+ this._oP13nModel.setSizeLimit(10000);
121
+ this.setModel(this._oP13nModel, this.P13N_MODEL);
122
+
123
+ // list is necessary to set the template + model on
124
+ this._oListControl = this._createInnerListControl();
125
+
126
+ this._setInnerLayout();
127
+
128
+ // disable 'select all'
129
+ this._oListControl.setMultiSelectMode("ClearAll");
130
+ };
131
+
132
+ /**
133
+ * Can be overwritten in case a different wrapping Control is required for the inner content
134
+ */
135
+ BasePanel.prototype._setInnerLayout = function() {
136
+ this.setAggregation("_content", new VBox({
137
+ items: [
138
+ this._oListControl
139
+ ]
140
+ }));
141
+ };
142
+
143
+ /**
144
+ * @param {Array} aP13nData An array containing the personalization state that should be represented by the <code>BasePanel</code>.
145
+ *
146
+ * @returns {sap.m.p13n.BasePanel} The BasePanel instance
147
+ */
148
+ BasePanel.prototype.setP13nData = function(aP13nData) {
149
+ this._getP13nModel().setProperty("/items", merge([], aP13nData));
150
+ return this;
151
+ };
152
+
153
+ /**
154
+ * @returns {Array} An array containing the personalization state that is currently displayed by the <code>BasePanel</code>.
155
+ */
156
+ BasePanel.prototype.getP13nData = function (bOnlyActive) {
157
+ var aItems = merge([], this._getP13nModel().getProperty("/items"));
158
+ if (bOnlyActive) {
159
+ aItems = aItems.filter(function(oItem){
160
+ return oItem[this.PRESENCE_ATTRIBUTE];
161
+ }.bind(this));
162
+ }
163
+ return aItems;
164
+ };
165
+
166
+ /**
167
+ * Displays a <code>sap.m.MessageStrip</code> instance in the content area of the <code>BasePanel</code>.
168
+ *
169
+ * @param {sap.m.MessageStrip} oStrip Instance of a sap.m.MessageStrip
170
+ *
171
+ * @returns {sap.m.p13n.BasePanel} The BasePanel instance
172
+ */
173
+ BasePanel.prototype.setMessageStrip = function(oStrip){
174
+ if (!oStrip) {
175
+ this.getAggregation("_content").removeItem(this._oMessageStrip);
176
+ this._oMessageStrip = null;
177
+ } else {
178
+ oStrip.addStyleClass("sapUiSmallMargin");
179
+ if (this._oMessageStrip) {
180
+ this._oMessageStrip.destroy();
181
+ }
182
+ this._oMessageStrip = oStrip;
183
+ this.getAggregation("_content").insertItem(oStrip, 0);
184
+ }
185
+
186
+ return this;
187
+ };
188
+
189
+ /**
190
+ * Getter for the <code>messageStrip</code> aggregation.
191
+ *
192
+ * @returns {sap.m.p13n.BasePanel} The BasePanel instance
193
+ */
194
+ BasePanel.prototype.getMessageStrip = function(){
195
+ return this._oMessageStrip;
196
+ };
197
+
198
+ /**
199
+ * The <code>enableReorder</code> property decides if additional move buttons should be shown on hovering over
200
+ * the inner list. In addition drag and drop will be enabled on the inner list control.
201
+ *
202
+ * @param {boolean} bEnableReorder Decies whether reordering should be enabled or disabled.
203
+ *
204
+ * @returns {sap.m.p13n.BasePanel} The BasePanel instance
205
+ */
206
+ BasePanel.prototype.setEnableReorder = function(bEnableReorder) {
207
+ var oTemplate = this.getAggregation("_template");
208
+ if (bEnableReorder) {
209
+ this._addHover(oTemplate);
210
+ } else if (oTemplate && oTemplate.aDelegates && oTemplate.aDelegates.length > 0) {
211
+ oTemplate.removeEventDelegate(oTemplate.aDelegates[0].oDelegate);
212
+ }
213
+ this._getDragDropConfig().setEnabled(bEnableReorder);
214
+ this._setMoveButtonVisibility(bEnableReorder);
215
+ this.setProperty("enableReorder", bEnableReorder);
216
+
217
+ return this;
218
+ };
219
+
220
+
221
+ BasePanel.prototype._getDragDropConfig = function() {
222
+ if (!this._oDragDropInfo){
223
+ this._oDragDropInfo = new DragDropInfo({
224
+ enabled: false,
225
+ sourceAggregation: "items",
226
+ targetAggregation: "items",
227
+ dropPosition: "Between",
228
+ drop: [this._onRearrange, this]
229
+ });
230
+ }
231
+ return this._oDragDropInfo;
232
+ };
233
+
234
+ BasePanel.prototype._getMoveTopButton = function() {
235
+ if (!this._oMoveTopBtn) {
236
+ this._oMoveTopBtn = new OverflowToolbarButton(this.getId() + "-moveTopBtn",{
237
+ type: "Transparent",
238
+ tooltip: this._getResourceText("p13n.MOVE_TO_TOP"),
239
+ icon: "sap-icon://collapse-group",
240
+ press: [this._onPressButtonMoveToTop, this],
241
+ visible: false,
242
+ layoutData: new OverflowToolbarLayoutData({
243
+ moveToOverflow: true,
244
+ priority: "Low",
245
+ group: 2
246
+ })
247
+ });
248
+ this.addDependent(this._oMoveTopBtn);
249
+ }
250
+
251
+ return this._oMoveTopBtn;
252
+ };
253
+
254
+ BasePanel.prototype._getMoveUpButton = function() {
255
+ if (!this._oMoveUpButton) {
256
+ this._oMoveUpButton = new OverflowToolbarButton(this.getId() + "-moveUpBtn",{
257
+ type: "Transparent",
258
+ tooltip: this._getResourceText("p13n.MOVE_UP"),
259
+ icon: "sap-icon://navigation-up-arrow",
260
+ press: [this._onPressButtonMoveUp, this],
261
+ visible: false,
262
+ layoutData: new OverflowToolbarLayoutData({
263
+ moveToOverflow: true,
264
+ priority: "High",
265
+ group: 1
266
+ })
267
+ });
268
+ this.addDependent(this._oMoveUpButton);
269
+ }
270
+
271
+ return this._oMoveUpButton;
272
+ };
273
+
274
+ BasePanel.prototype._getMoveDownButton = function() {
275
+ if (!this._oMoveDownButton) {
276
+ this._oMoveDownButton = new OverflowToolbarButton(this.getId() + "-moveDownpBtn",{
277
+ type: "Transparent",
278
+ tooltip: this._getResourceText("p13n.MOVE_DOWN"),
279
+ icon: "sap-icon://navigation-down-arrow",
280
+ press: [this._onPressButtonMoveDown, this],
281
+ visible: false,
282
+ layoutData: new OverflowToolbarLayoutData({
283
+ moveToOverflow: true,
284
+ priority: "High",
285
+ group: 1
286
+ })
287
+ });
288
+ this.addDependent(this._oMoveDownButton);
289
+ }
290
+
291
+ return this._oMoveDownButton;
292
+ };
293
+
294
+ BasePanel.prototype._getMoveBottomButton = function() {
295
+ if (!this._oMoveBottomButton) {
296
+ this._oMoveBottomButton = new OverflowToolbarButton(this.getId() + "-moveBottomBtn",{
297
+ type: "Transparent",
298
+ tooltip: this._getResourceText("p13n.MOVE_TO_BOTTOM"),
299
+ icon: "sap-icon://expand-group",
300
+ press: [this._onPressButtonMoveToBottom, this],
301
+ visible: false,
302
+ layoutData: new OverflowToolbarLayoutData({
303
+ moveToOverflow: true,
304
+ priority: "Low",
305
+ group: 2
306
+ })
307
+ });
308
+ this.addDependent(this._oMoveBottomButton);
309
+ }
310
+
311
+ return this._oMoveBottomButton;
312
+ };
313
+
314
+ BasePanel.prototype._createInnerListControl = function() {
315
+ return new Table(this.getId() + "-innerP13nList", Object.assign(this._getListControlConfig(), {
316
+ headerToolbar: new OverflowToolbar({
317
+ content: [
318
+ this._getSearchField(),
319
+ new ToolbarSpacer(),
320
+ this._getMoveTopButton(),
321
+ this._getMoveUpButton(),
322
+ this._getMoveDownButton(),
323
+ this._getMoveBottomButton()
324
+ ]
325
+ })
326
+ }));
327
+ };
328
+
329
+ BasePanel.prototype._addHover = function(oRow) {
330
+ if (oRow && oRow.aDelegates.length < 1) {
331
+ oRow.addEventDelegate({
332
+ onmouseover: this._hoverHandler.bind(this),
333
+ onfocusin: this._focusHandler.bind(this)
334
+ });
335
+ }
336
+ };
337
+
338
+ BasePanel.prototype._focusHandler = function(oEvt) {
339
+ if (!this.getEnableReorder()){
340
+ return;
341
+ }
342
+
343
+ //(new) hovered item
344
+ var oHoveredItem = sap.ui.getCore().byId(oEvt.currentTarget.id);
345
+ this._handleActivated(oHoveredItem);
346
+ };
347
+
348
+ BasePanel.prototype._hoverHandler = function(oEvt) {
349
+ //Only use hover if no item has been selected yet
350
+ if (this._oSelectedItem && !this._oSelectedItem.bIsDestroyed) {
351
+ return;
352
+ }
353
+
354
+ if (!this.getEnableReorder()){
355
+ return;
356
+ }
357
+
358
+ //(new) hovered item
359
+ var oHoveredItem = sap.ui.getCore().byId(oEvt.currentTarget.id);
360
+
361
+ this._handleActivated(oHoveredItem);
362
+ };
363
+
364
+ BasePanel.prototype._handleActivated = function(oHoveredItem) {
365
+ this._oHoveredItem = oHoveredItem;
366
+ //Implement custom hover handling in derivation here..
367
+ };
368
+
369
+ BasePanel.prototype._getListControlConfig = function() {
370
+ return {
371
+ mode:"MultiSelect",
372
+ rememberSelections: true,
373
+ itemPress: [this._onItemPressed, this],
374
+ selectionChange: [this._onSelectionChange, this],
375
+ sticky: ["HeaderToolbar", "ColumnHeaders", "InfoToolbar"],
376
+ dragDropConfig: this._getDragDropConfig()
377
+ };
378
+ };
379
+
380
+ BasePanel.prototype._getSearchField = function() {
381
+ if (!this._oSearchField) {
382
+ this._oSearchField = new SearchField(this.getId() + "-searchField",{
383
+ liveChange: [this._onSearchFieldLiveChange, this],
384
+ width: "100%",
385
+ layoutData: new OverflowToolbarLayoutData({
386
+ shrinkable: true,
387
+ moveToOverflow: true,
388
+ priority: "High",
389
+ maxWidth: "16rem"
390
+ })
391
+ });
392
+ }
393
+ return this._oSearchField;
394
+ };
395
+
396
+ BasePanel.prototype._setTemplate = function(oTemplate) {
397
+ oTemplate.setType("Active");
398
+ this.setAggregation("_template", oTemplate);
399
+ if (oTemplate) {
400
+ if (this.getEnableReorder()){
401
+ this._addHover(oTemplate);
402
+ }
403
+ this._oSelectionBindingInfo = oTemplate.getBindingInfo("selected");
404
+ // Extract the binding info parts
405
+ if (this._oSelectionBindingInfo && this._oSelectionBindingInfo.parts) {
406
+ this._oSelectionBindingInfo = {
407
+ parts: this._oSelectionBindingInfo.parts
408
+ };
409
+ }
410
+ }
411
+ this._bindListItems();
412
+ return this;
413
+ };
414
+
415
+ BasePanel.prototype._setPanelColumns = function(vColumns) {
416
+ var aColumns;
417
+ if (vColumns instanceof Array) {
418
+ aColumns = vColumns;
419
+ } else {
420
+ aColumns = [
421
+ vColumns
422
+ ];
423
+ }
424
+ this._addTableColumns(aColumns);
425
+ };
426
+
427
+ BasePanel.prototype._getP13nModel = function() {
428
+ return this.getModel(this.P13N_MODEL);
429
+ };
430
+
431
+ BasePanel.prototype._getResourceText = function(sText, vValue) {
432
+ this.oResourceBundle = this.oResourceBundle ? this.oResourceBundle : sap.ui.getCore().getLibraryResourceBundle("sap.m");
433
+ return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
434
+ };
435
+
436
+ BasePanel.prototype._addTableColumns = function(aColumns) {
437
+ var aRemovedColumns = this._oListControl.removeAllColumns();
438
+ aRemovedColumns.forEach(function(oRemovedColumn){
439
+ oRemovedColumn.destroy();
440
+ });
441
+ aColumns.forEach(function(vColumn) {
442
+ var oColumn;
443
+
444
+ if (typeof vColumn == "string") {
445
+ oColumn = new Column({
446
+ header: new Text({
447
+ text: vColumn
448
+ })
449
+ });
450
+ } else {
451
+ oColumn = vColumn;
452
+ }
453
+
454
+ this._oListControl.addColumn(oColumn);
455
+ }, this);
456
+ };
457
+
458
+ BasePanel.prototype._bindListItems = function(mBindingInfo) {
459
+ var oTemplate = this.getAggregation("_template");
460
+ if (oTemplate) {
461
+ this._oListControl.bindItems(Object.assign({
462
+ path: this.P13N_MODEL + ">/items",
463
+ key: "name",
464
+ templateShareable: false,
465
+ template: this.getAggregation("_template").clone()
466
+ }, mBindingInfo));
467
+ }
468
+ };
469
+
470
+ BasePanel.prototype._onSelectionChange = function(oEvent) {
471
+
472
+ var aListItems = oEvent.getParameter("listItems");
473
+ var bSelectAll = oEvent.getParameter("selectAll");
474
+ var bDeSelectAll = !bSelectAll && aListItems.length > 1;
475
+
476
+ aListItems.forEach(function(oTableItem) {
477
+ this._selectTableItem(oTableItem, bSelectAll || bDeSelectAll);
478
+ }, this);
479
+
480
+ if (bSelectAll || bDeSelectAll) {
481
+ this.fireChange();
482
+ }
483
+
484
+ // in case of 'deselect all', the move buttons for positioning are going to be disabled
485
+ if (bDeSelectAll) {
486
+ this._getMoveTopButton().setEnabled(false);
487
+ this._getMoveUpButton().setEnabled(false);
488
+ this._getMoveDownButton().setEnabled(false);
489
+ this._getMoveBottomButton().setEnabled(false);
490
+ }
491
+ };
492
+
493
+ BasePanel.prototype._onItemPressed = function(oEvent) {
494
+ var oTableItem = oEvent.getParameter('listItem');
495
+ this._oSelectedItem = oTableItem;
496
+
497
+ var oContext = oTableItem.getBindingContext(this.P13N_MODEL);
498
+ if (this.getEnableReorder() && oContext && oContext.getProperty(this.PRESENCE_ATTRIBUTE)){
499
+ this._handleActivated(oTableItem);
500
+ this._updateEnableOfMoveButtons(oTableItem, true);
501
+ }
502
+ };
503
+
504
+ BasePanel.prototype._onSearchFieldLiveChange = function(oEvent) {
505
+ this._oListControl.getBinding("items").filter(new Filter("label", "Contains", oEvent.getSource().getValue()));
506
+ };
507
+
508
+ BasePanel.prototype._onPressButtonMoveToTop = function() {
509
+ this._moveSelectedItem(0);
510
+ };
511
+
512
+ BasePanel.prototype._onPressButtonMoveUp = function() {
513
+ this._moveSelectedItem("Up");
514
+ };
515
+
516
+ BasePanel.prototype._onPressButtonMoveDown = function() {
517
+ this._moveSelectedItem("Down");
518
+ };
519
+
520
+ BasePanel.prototype._onPressButtonMoveToBottom = function() {
521
+ var iIndex = this._oListControl.getItems().length - 1;
522
+ this._moveSelectedItem(iIndex);
523
+ };
524
+
525
+ BasePanel.prototype._setMoveButtonVisibility = function(bVisible) {
526
+ this._getMoveTopButton().setVisible(bVisible);
527
+ this._getMoveUpButton().setVisible(bVisible);
528
+ this._getMoveDownButton().setVisible(bVisible);
529
+ this._getMoveBottomButton().setVisible(bVisible);
530
+ };
531
+
532
+ BasePanel.prototype._filterBySelected = function(bShowSelected, oList) {
533
+ oList.getBinding("items").filter(bShowSelected ? new Filter(this.PRESENCE_ATTRIBUTE, "EQ", true) : []);
534
+ };
535
+
536
+ BasePanel.prototype._selectTableItem = function(oTableItem, bSelectAll) {
537
+ this._updateEnableOfMoveButtons(oTableItem, bSelectAll ? false : true);
538
+ this._oSelectedItem = oTableItem;
539
+ if (!bSelectAll) {
540
+ var oItem = this._getP13nModel().getProperty(this._oSelectedItem.getBindingContext(this.P13N_MODEL).sPath);
541
+
542
+ this.fireChange({
543
+ reason: oItem[this.PRESENCE_ATTRIBUTE] ? this.CHANGE_REASON_ADD : this.CHANGE_REASON_REMOVE,
544
+ item: oItem
545
+ });
546
+ }
547
+ };
548
+
549
+ BasePanel.prototype._moveSelectedItem = function(vNewIndex) {
550
+ var oSelectedItem = this._oSelectedItem;
551
+ var iSelectedIndex = this._oListControl.indexOfItem(oSelectedItem);
552
+ if (iSelectedIndex < 0) {
553
+ return;
554
+ }
555
+
556
+ // determine the new index relative to selected index when "Up" or "Down" is passed as a parameter
557
+ var iNewIndex = (typeof vNewIndex == "number") ? vNewIndex : iSelectedIndex + (vNewIndex == "Up" ? -1 : 1);
558
+ this._moveTableItem(oSelectedItem, iNewIndex);
559
+
560
+ };
561
+
562
+ BasePanel.prototype._getModelEntry = function(oItem) {
563
+ return oItem.getBindingContext(this.P13N_MODEL).getObject();
564
+ };
565
+
566
+ BasePanel.prototype._moveTableItem = function(oItem, iNewIndex) {
567
+ var aItems = this._oListControl.getItems();
568
+ var aFields = this._getP13nModel().getProperty("/items");
569
+
570
+ // index of the item in the model not the index in the aggregation
571
+ var iOldIndex = aFields.indexOf(this._getModelEntry(oItem));
572
+
573
+ // limit the minumum and maximum index
574
+ iNewIndex = (iNewIndex <= 0) ? 0 : Math.min(iNewIndex, aItems.length - 1);
575
+
576
+ // new index of the item in the model
577
+ iNewIndex = aFields.indexOf(this._getModelEntry(aItems[iNewIndex]));
578
+ if (iNewIndex == iOldIndex) {
579
+ return;
580
+ }
581
+
582
+ // remove data from old position and insert it into new position
583
+ aFields.splice(iNewIndex, 0, aFields.splice(iOldIndex, 1)[0]);
584
+ this._getP13nModel().setProperty("/items", aFields);
585
+
586
+ // store the moved item again due to binding
587
+ this._oSelectedItem = this._oListControl.getItems()[iNewIndex];
588
+
589
+ this._updateEnableOfMoveButtons(this._oSelectedItem, true);
590
+
591
+ this._handleActivated(this._oSelectedItem);
592
+
593
+ this.fireChange({
594
+ reason: this.CHANGE_REASON_MOVE,
595
+ item: undefined
596
+ });
597
+ };
598
+
599
+ BasePanel.prototype._onRearrange = function(oEvent) {
600
+ var oDraggedItem = oEvent.getParameter("draggedControl");
601
+ var oDroppedItem = oEvent.getParameter("droppedControl");
602
+ var sDropPosition = oEvent.getParameter("dropPosition");
603
+ var iDraggedIndex = this._oListControl.indexOfItem(oDraggedItem);
604
+ var iDroppedIndex = this._oListControl.indexOfItem(oDroppedItem);
605
+ var iActualDroppedIndex = iDroppedIndex + (sDropPosition == "Before" ? 0 : 1) + (iDraggedIndex < iDroppedIndex ? -1 : 0);
606
+
607
+ this._moveTableItem(oDraggedItem, iActualDroppedIndex);
608
+ };
609
+
610
+ BasePanel.prototype._updateEnableOfMoveButtons = function(oTableItem, bFocus) {
611
+ var iTableItemPos = this._oListControl.getItems().indexOf(oTableItem);
612
+ var bUpEnabled = true, bDownEnabled = true;
613
+ if (iTableItemPos == 0) {
614
+ // disable move buttons upwards, if the item is at the top
615
+ bUpEnabled = false;
616
+ }
617
+ if (iTableItemPos == this._oListControl.getItems().length - 1) {
618
+ // disable move buttons downwards, if the item is at the bottom
619
+ bDownEnabled = false;
620
+ }
621
+ this._getMoveTopButton().setEnabled(bUpEnabled);
622
+ this._getMoveUpButton().setEnabled(bUpEnabled);
623
+ this._getMoveDownButton().setEnabled(bDownEnabled);
624
+ this._getMoveBottomButton().setEnabled(bDownEnabled);
625
+ if (bFocus) {
626
+ oTableItem.focus();
627
+ }
628
+ };
629
+
630
+ BasePanel.prototype.exit = function() {
631
+ Control.prototype.exit.apply(this, arguments);
632
+ this._oSelectionBindingInfo = null;
633
+ this._oSelectedItem = null;
634
+ this._oListControl = null;
635
+ this._oMoveTopBtn = null;
636
+ this._oMoveUpButton = null;
637
+ this._oMoveDownButton = null;
638
+ this._oMoveBottomButton = null;
639
+ this._oSearchField = null;
640
+ };
641
+
642
+ return BasePanel;
643
+ });