@openui5/sap.m 1.93.3 → 1.96.2

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 (485) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  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 +5 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -4
  12. package/src/sap/m/Bar.js +13 -7
  13. package/src/sap/m/Breadcrumbs.js +2 -2
  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 +34 -1
  17. package/src/sap/m/Carousel.js +11 -3
  18. package/src/sap/m/CarouselLayout.js +1 -1
  19. package/src/sap/m/CheckBox.js +1 -1
  20. package/src/sap/m/CheckBoxRenderer.js +12 -3
  21. package/src/sap/m/ColorPalette.js +7 -11
  22. package/src/sap/m/ColorPalettePopover.js +1 -6
  23. package/src/sap/m/Column.js +5 -1
  24. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  25. package/src/sap/m/ColumnListItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  31. package/src/sap/m/ComboBox.js +1 -1
  32. package/src/sap/m/ComboBoxBase.js +5 -2
  33. package/src/sap/m/ComboBoxRenderer.js +25 -9
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.js +14 -2
  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 +33 -11
  40. package/src/sap/m/DatePickerRenderer.js +1 -1
  41. package/src/sap/m/DateRangeSelection.js +6 -9
  42. package/src/sap/m/DateTimeField.js +1 -1
  43. package/src/sap/m/DateTimeInput.js +1 -1
  44. package/src/sap/m/DateTimePicker.js +6 -9
  45. package/src/sap/m/Dialog.js +44 -127
  46. package/src/sap/m/DialogRenderer.js +1 -1
  47. package/src/sap/m/DisplayListItem.js +1 -1
  48. package/src/sap/m/DraftIndicator.js +1 -1
  49. package/src/sap/m/DynamicDate.js +15 -6
  50. package/src/sap/m/DynamicDateOption.js +58 -17
  51. package/src/sap/m/DynamicDateRange.js +47 -10
  52. package/src/sap/m/DynamicDateUtil.js +6 -3
  53. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  54. package/src/sap/m/ExpandableText.js +1 -1
  55. package/src/sap/m/FacetFilter.js +47 -16
  56. package/src/sap/m/FacetFilterItem.js +1 -1
  57. package/src/sap/m/FacetFilterList.js +1 -1
  58. package/src/sap/m/FeedContent.js +1 -1
  59. package/src/sap/m/FeedInput.js +1 -1
  60. package/src/sap/m/FeedListItem.js +1 -1
  61. package/src/sap/m/FeedListItemAction.js +1 -1
  62. package/src/sap/m/Fiori20Adapter.js +2 -2
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +1 -1
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +1 -1
  67. package/src/sap/m/GenericTile.js +265 -53
  68. package/src/sap/m/GenericTileRenderer.js +228 -84
  69. package/src/sap/m/GroupHeaderListItem.js +1 -1
  70. package/src/sap/m/GrowingList.js +1 -1
  71. package/src/sap/m/HBox.js +1 -1
  72. package/src/sap/m/HeaderContainer.js +53 -1
  73. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  74. package/src/sap/m/IconTabBar.js +8 -1
  75. package/src/sap/m/IconTabBarSelectList.js +1 -1
  76. package/src/sap/m/IconTabFilter.js +8 -6
  77. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  78. package/src/sap/m/IconTabHeader.js +16 -4
  79. package/src/sap/m/IconTabSeparator.js +1 -1
  80. package/src/sap/m/Image.js +1 -1
  81. package/src/sap/m/ImageContent.js +1 -1
  82. package/src/sap/m/Input.js +125 -28
  83. package/src/sap/m/InputBase.js +104 -17
  84. package/src/sap/m/InputBaseRenderer.js +8 -20
  85. package/src/sap/m/InputListItem.js +1 -1
  86. package/src/sap/m/Label.js +1 -1
  87. package/src/sap/m/LightBox.js +2 -2
  88. package/src/sap/m/LightBoxItem.js +1 -1
  89. package/src/sap/m/Link.js +1 -1
  90. package/src/sap/m/List.js +1 -1
  91. package/src/sap/m/ListBase.js +12 -5
  92. package/src/sap/m/ListItemBase.js +16 -16
  93. package/src/sap/m/MaskEnabler.js +106 -4
  94. package/src/sap/m/MaskInput.js +19 -4
  95. package/src/sap/m/MaskInputRule.js +1 -1
  96. package/src/sap/m/Menu.js +8 -6
  97. package/src/sap/m/MenuButton.js +20 -3
  98. package/src/sap/m/MenuButtonRenderer.js +1 -0
  99. package/src/sap/m/MenuItem.js +1 -1
  100. package/src/sap/m/MenuListItem.js +1 -1
  101. package/src/sap/m/MessageBox.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 +1 -1
  106. package/src/sap/m/MessagePopoverItem.js +1 -1
  107. package/src/sap/m/MessageStrip.js +7 -3
  108. package/src/sap/m/MessageStripRenderer.js +2 -2
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +5 -5
  111. package/src/sap/m/MultiComboBox.js +343 -114
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +82 -7
  114. package/src/sap/m/NavContainer.js +24 -7
  115. package/src/sap/m/NewsContent.js +19 -10
  116. package/src/sap/m/NewsContentRenderer.js +1 -2
  117. package/src/sap/m/NotificationList.js +1 -1
  118. package/src/sap/m/NotificationListBase.js +1 -1
  119. package/src/sap/m/NotificationListGroup.js +1 -1
  120. package/src/sap/m/NotificationListItem.js +1 -1
  121. package/src/sap/m/NumericContent.js +1 -1
  122. package/src/sap/m/NumericContentRenderer.js +34 -17
  123. package/src/sap/m/ObjectAttribute.js +46 -5
  124. package/src/sap/m/ObjectHeader.js +3 -3
  125. package/src/sap/m/ObjectHeaderRenderer.js +6 -7
  126. package/src/sap/m/ObjectIdentifier.js +1 -1
  127. package/src/sap/m/ObjectListItem.js +1 -1
  128. package/src/sap/m/ObjectMarker.js +1 -1
  129. package/src/sap/m/ObjectNumber.js +13 -1
  130. package/src/sap/m/ObjectStatus.js +1 -1
  131. package/src/sap/m/ObjectStatusRenderer.js +4 -1
  132. package/src/sap/m/OverflowToolbar.js +1 -1
  133. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  134. package/src/sap/m/OverflowToolbarButton.js +4 -2
  135. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  136. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  137. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  138. package/src/sap/m/P13nColumnsItem.js +1 -1
  139. package/src/sap/m/P13nColumnsPanel.js +3 -3
  140. package/src/sap/m/P13nConditionPanel.js +23 -53
  141. package/src/sap/m/P13nDialog.js +1 -1
  142. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  143. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  144. package/src/sap/m/P13nFilterItem.js +1 -1
  145. package/src/sap/m/P13nFilterPanel.js +1 -3
  146. package/src/sap/m/P13nGroupItem.js +1 -1
  147. package/src/sap/m/P13nGroupPanel.js +1 -3
  148. package/src/sap/m/P13nItem.js +1 -1
  149. package/src/sap/m/P13nPanel.js +1 -1
  150. package/src/sap/m/P13nSelectionItem.js +1 -1
  151. package/src/sap/m/P13nSelectionPanel.js +1 -1
  152. package/src/sap/m/P13nSortItem.js +1 -1
  153. package/src/sap/m/P13nSortPanel.js +1 -3
  154. package/src/sap/m/PDFViewer.js +14 -5
  155. package/src/sap/m/Page.js +1 -1
  156. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  157. package/src/sap/m/PagingButton.js +1 -1
  158. package/src/sap/m/Panel.js +1 -1
  159. package/src/sap/m/PlanningCalendar.js +139 -41
  160. package/src/sap/m/PlanningCalendarHeader.js +5 -8
  161. package/src/sap/m/PlanningCalendarLegend.js +1 -6
  162. package/src/sap/m/PlanningCalendarLegendRenderer.js +2 -5
  163. package/src/sap/m/PlanningCalendarRow.js +1 -1
  164. package/src/sap/m/PlanningCalendarView.js +1 -6
  165. package/src/sap/m/Popover.js +7 -7
  166. package/src/sap/m/PopoverRenderer.js +3 -2
  167. package/src/sap/m/ProgressIndicator.js +1 -1
  168. package/src/sap/m/PullToRefresh.js +1 -1
  169. package/src/sap/m/QuickView.js +1 -1
  170. package/src/sap/m/QuickViewBase.js +1 -1
  171. package/src/sap/m/QuickViewCard.js +1 -1
  172. package/src/sap/m/QuickViewGroup.js +1 -1
  173. package/src/sap/m/QuickViewGroupElement.js +1 -1
  174. package/src/sap/m/QuickViewPage.js +1 -1
  175. package/src/sap/m/RadioButton.js +1 -1
  176. package/src/sap/m/RadioButtonGroup.js +1 -1
  177. package/src/sap/m/RangeSlider.js +1 -1
  178. package/src/sap/m/RatingIndicator.js +10 -8
  179. package/src/sap/m/ResponsivePopover.js +1 -1
  180. package/src/sap/m/ResponsiveScale.js +1 -1
  181. package/src/sap/m/ScrollBar.js +1 -1
  182. package/src/sap/m/ScrollContainer.js +1 -1
  183. package/src/sap/m/SearchField.js +6 -34
  184. package/src/sap/m/SearchFieldRenderer.js +16 -12
  185. package/src/sap/m/SegmentedButton.js +12 -17
  186. package/src/sap/m/SegmentedButtonItem.js +1 -1
  187. package/src/sap/m/Select.js +18 -8
  188. package/src/sap/m/SelectDialog.js +1 -1
  189. package/src/sap/m/SelectDialogBase.js +1 -1
  190. package/src/sap/m/SelectList.js +1 -1
  191. package/src/sap/m/SelectRenderer.js +6 -1
  192. package/src/sap/m/SelectionDetails.js +7 -9
  193. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  194. package/src/sap/m/SelectionDetailsItem.js +8 -4
  195. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  196. package/src/sap/m/Shell.js +9 -17
  197. package/src/sap/m/SimpleFixFlex.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendar.js +7 -10
  199. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarGrid.js +15 -13
  201. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
  202. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
  203. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
  204. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
  205. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
  207. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
  208. package/src/sap/m/SlideTile.js +31 -3
  209. package/src/sap/m/SlideTileRenderer.js +9 -0
  210. package/src/sap/m/Slider.js +1 -1
  211. package/src/sap/m/SliderTooltip.js +1 -1
  212. package/src/sap/m/SliderTooltipBase.js +1 -1
  213. package/src/sap/m/SliderTooltipContainer.js +1 -1
  214. package/src/sap/m/SplitApp.js +1 -1
  215. package/src/sap/m/SplitButton.js +3 -7
  216. package/src/sap/m/SplitContainer.js +13 -8
  217. package/src/sap/m/StandardDynamicDateOption.js +50 -12
  218. package/src/sap/m/StandardListItem.js +69 -26
  219. package/src/sap/m/StandardListItemRenderer.js +21 -9
  220. package/src/sap/m/StandardTile.js +1 -1
  221. package/src/sap/m/StandardTreeItem.js +1 -1
  222. package/src/sap/m/StepInput.js +30 -14
  223. package/src/sap/m/Suggest.js +25 -25
  224. package/src/sap/m/SuggestionItem.js +1 -7
  225. package/src/sap/m/SuggestionsPopover.js +1 -1
  226. package/src/sap/m/Switch.js +2 -2
  227. package/src/sap/m/TabContainer.js +1 -1
  228. package/src/sap/m/TabContainerItem.js +1 -1
  229. package/src/sap/m/TabStrip.js +1 -1
  230. package/src/sap/m/TabStripItem.js +1 -1
  231. package/src/sap/m/Table.js +2 -4
  232. package/src/sap/m/TablePersoController.js +1 -1
  233. package/src/sap/m/TablePersoDialog.js +1 -1
  234. package/src/sap/m/TablePersoProvider.js +1 -1
  235. package/src/sap/m/TableRenderer.js +3 -3
  236. package/src/sap/m/TableSelectDialog.js +1 -1
  237. package/src/sap/m/Text.js +1 -1
  238. package/src/sap/m/TextArea.js +2 -2
  239. package/src/sap/m/Tile.js +1 -1
  240. package/src/sap/m/TileContainer.js +1 -1
  241. package/src/sap/m/TileContent.js +22 -4
  242. package/src/sap/m/TileContentRenderer.js +73 -5
  243. package/src/sap/m/TimePicker.js +4 -3
  244. package/src/sap/m/TimePickerClock.js +2 -2
  245. package/src/sap/m/TimePickerClocks.js +2 -1
  246. package/src/sap/m/TimePickerInputs.js +3 -3
  247. package/src/sap/m/TimePickerInternals.js +1 -1
  248. package/src/sap/m/TimePickerSlider.js +2 -2
  249. package/src/sap/m/TimePickerSliders.js +1 -1
  250. package/src/sap/m/Title.js +1 -1
  251. package/src/sap/m/TitlePropagationSupport.js +1 -1
  252. package/src/sap/m/ToggleButton.js +1 -1
  253. package/src/sap/m/Token.js +1 -1
  254. package/src/sap/m/Tokenizer.js +45 -3
  255. package/src/sap/m/TokenizerRenderer.js +5 -0
  256. package/src/sap/m/Toolbar.js +1 -1
  257. package/src/sap/m/ToolbarLayoutData.js +1 -1
  258. package/src/sap/m/ToolbarSeparator.js +1 -1
  259. package/src/sap/m/ToolbarSpacer.js +1 -1
  260. package/src/sap/m/Tree.js +1 -1
  261. package/src/sap/m/TreeItemBase.js +1 -1
  262. package/src/sap/m/UploadCollection.js +2 -7
  263. package/src/sap/m/UploadCollectionItem.js +1 -1
  264. package/src/sap/m/UploadCollectionParameter.js +1 -1
  265. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  266. package/src/sap/m/VBox.js +1 -1
  267. package/src/sap/m/ValueStateHeader.js +1 -1
  268. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  269. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  270. package/src/sap/m/ViewSettingsDialog.js +1 -1
  271. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  272. package/src/sap/m/ViewSettingsItem.js +1 -1
  273. package/src/sap/m/VisibleItem.js +1 -1
  274. package/src/sap/m/WheelSlider.js +2 -2
  275. package/src/sap/m/WheelSliderContainer.js +1 -1
  276. package/src/sap/m/Wizard.js +18 -8
  277. package/src/sap/m/WizardProgressNavigator.js +1 -1
  278. package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
  279. package/src/sap/m/WizardStep.js +1 -1
  280. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  281. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  282. package/src/sap/m/changeHandler/CombineButtons.js +16 -17
  283. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  284. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +86 -0
  285. package/src/sap/m/changeHandler/SplitMenuButton.js +12 -6
  286. package/src/sap/m/delegate/DateNavigation.js +4 -5
  287. package/src/sap/m/delegate/ValueStateMessage.js +4 -7
  288. package/src/sap/m/designtime/IconTabBar.designtime.js +85 -2
  289. package/src/sap/m/designtime/IconTabBarSelectTab.fragment.xml +17 -0
  290. package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
  291. package/src/sap/m/designtime/ObjectIdentifier.designtime.js +16 -12
  292. package/src/sap/m/designtime/messagebundle.properties +9 -0
  293. package/src/sap/m/designtime/messagebundle_ar.properties +6 -0
  294. package/src/sap/m/designtime/messagebundle_bg.properties +6 -0
  295. package/src/sap/m/designtime/messagebundle_ca.properties +6 -0
  296. package/src/sap/m/designtime/messagebundle_cs.properties +6 -0
  297. package/src/sap/m/designtime/messagebundle_cy.properties +6 -0
  298. package/src/sap/m/designtime/messagebundle_da.properties +6 -0
  299. package/src/sap/m/designtime/messagebundle_de.properties +8 -2
  300. package/src/sap/m/designtime/messagebundle_el.properties +6 -0
  301. package/src/sap/m/designtime/messagebundle_en.properties +6 -0
  302. package/src/sap/m/designtime/messagebundle_en_GB.properties +6 -0
  303. package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +6 -0
  304. package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
  305. package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +6 -0
  306. package/src/sap/m/designtime/messagebundle_es.properties +6 -0
  307. package/src/sap/m/designtime/messagebundle_es_MX.properties +6 -0
  308. package/src/sap/m/designtime/messagebundle_et.properties +6 -0
  309. package/src/sap/m/designtime/messagebundle_fi.properties +6 -0
  310. package/src/sap/m/designtime/messagebundle_fr.properties +6 -0
  311. package/src/sap/m/designtime/messagebundle_fr_CA.properties +6 -0
  312. package/src/sap/m/designtime/messagebundle_hi.properties +6 -0
  313. package/src/sap/m/designtime/messagebundle_hr.properties +6 -0
  314. package/src/sap/m/designtime/messagebundle_hu.properties +6 -0
  315. package/src/sap/m/designtime/messagebundle_id.properties +6 -0
  316. package/src/sap/m/designtime/messagebundle_it.properties +6 -0
  317. package/src/sap/m/designtime/messagebundle_iw.properties +6 -0
  318. package/src/sap/m/designtime/messagebundle_ja.properties +6 -0
  319. package/src/sap/m/designtime/messagebundle_kk.properties +6 -0
  320. package/src/sap/m/designtime/messagebundle_ko.properties +6 -0
  321. package/src/sap/m/designtime/messagebundle_lt.properties +6 -0
  322. package/src/sap/m/designtime/messagebundle_lv.properties +6 -0
  323. package/src/sap/m/designtime/messagebundle_ms.properties +6 -0
  324. package/src/sap/m/designtime/messagebundle_nl.properties +6 -0
  325. package/src/sap/m/designtime/messagebundle_no.properties +6 -0
  326. package/src/sap/m/designtime/messagebundle_pl.properties +6 -0
  327. package/src/sap/m/designtime/messagebundle_pt.properties +6 -0
  328. package/src/sap/m/designtime/messagebundle_pt_PT.properties +6 -0
  329. package/src/sap/m/designtime/messagebundle_ro.properties +6 -0
  330. package/src/sap/m/designtime/messagebundle_ru.properties +6 -0
  331. package/src/sap/m/designtime/messagebundle_sh.properties +6 -0
  332. package/src/sap/m/designtime/messagebundle_sk.properties +6 -0
  333. package/src/sap/m/designtime/messagebundle_sl.properties +6 -0
  334. package/src/sap/m/designtime/messagebundle_sv.properties +6 -0
  335. package/src/sap/m/designtime/messagebundle_th.properties +6 -0
  336. package/src/sap/m/designtime/messagebundle_tr.properties +6 -0
  337. package/src/sap/m/designtime/messagebundle_uk.properties +6 -0
  338. package/src/sap/m/designtime/messagebundle_vi.properties +6 -0
  339. package/src/sap/m/designtime/messagebundle_zh_CN.properties +6 -0
  340. package/src/sap/m/designtime/messagebundle_zh_TW.properties +6 -0
  341. package/src/sap/m/flexibility/IconTabBar.flexibility.js +21 -0
  342. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
  343. package/src/sap/m/inputUtils/ListHelpers.js +16 -3
  344. package/src/sap/m/library.js +60 -34
  345. package/src/sap/m/messagebundle.properties +62 -7
  346. package/src/sap/m/messagebundle_ar.properties +35 -6
  347. package/src/sap/m/messagebundle_bg.properties +35 -6
  348. package/src/sap/m/messagebundle_ca.properties +40 -11
  349. package/src/sap/m/messagebundle_cs.properties +46 -17
  350. package/src/sap/m/messagebundle_cy.properties +35 -6
  351. package/src/sap/m/messagebundle_da.properties +36 -7
  352. package/src/sap/m/messagebundle_de.properties +36 -7
  353. package/src/sap/m/messagebundle_el.properties +35 -6
  354. package/src/sap/m/messagebundle_en.properties +32 -3
  355. package/src/sap/m/messagebundle_en_GB.properties +32 -3
  356. package/src/sap/m/messagebundle_en_US_sappsd.properties +26 -3
  357. package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
  358. package/src/sap/m/messagebundle_en_US_saptrc.properties +14 -6
  359. package/src/sap/m/messagebundle_es.properties +35 -6
  360. package/src/sap/m/messagebundle_es_MX.properties +38 -9
  361. package/src/sap/m/messagebundle_et.properties +35 -6
  362. package/src/sap/m/messagebundle_fi.properties +35 -6
  363. package/src/sap/m/messagebundle_fr.properties +48 -19
  364. package/src/sap/m/messagebundle_fr_CA.properties +36 -7
  365. package/src/sap/m/messagebundle_hi.properties +35 -6
  366. package/src/sap/m/messagebundle_hr.properties +35 -6
  367. package/src/sap/m/messagebundle_hu.properties +35 -6
  368. package/src/sap/m/messagebundle_id.properties +37 -8
  369. package/src/sap/m/messagebundle_it.properties +41 -12
  370. package/src/sap/m/messagebundle_iw.properties +35 -6
  371. package/src/sap/m/messagebundle_ja.properties +35 -6
  372. package/src/sap/m/messagebundle_kk.properties +35 -6
  373. package/src/sap/m/messagebundle_ko.properties +36 -7
  374. package/src/sap/m/messagebundle_lt.properties +35 -6
  375. package/src/sap/m/messagebundle_lv.properties +35 -6
  376. package/src/sap/m/messagebundle_ms.properties +36 -7
  377. package/src/sap/m/messagebundle_nl.properties +37 -8
  378. package/src/sap/m/messagebundle_no.properties +47 -18
  379. package/src/sap/m/messagebundle_pl.properties +39 -10
  380. package/src/sap/m/messagebundle_pt.properties +38 -9
  381. package/src/sap/m/messagebundle_pt_PT.properties +35 -6
  382. package/src/sap/m/messagebundle_ro.properties +40 -11
  383. package/src/sap/m/messagebundle_ru.properties +36 -7
  384. package/src/sap/m/messagebundle_sh.properties +36 -7
  385. package/src/sap/m/messagebundle_sk.properties +35 -6
  386. package/src/sap/m/messagebundle_sl.properties +35 -6
  387. package/src/sap/m/messagebundle_sv.properties +35 -6
  388. package/src/sap/m/messagebundle_th.properties +35 -6
  389. package/src/sap/m/messagebundle_tr.properties +35 -6
  390. package/src/sap/m/messagebundle_uk.properties +42 -13
  391. package/src/sap/m/messagebundle_vi.properties +36 -7
  392. package/src/sap/m/messagebundle_zh_CN.properties +35 -6
  393. package/src/sap/m/messagebundle_zh_TW.properties +35 -6
  394. package/src/sap/m/p13n/AbstractContainer.js +243 -0
  395. package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
  396. package/src/sap/m/p13n/BasePanel.js +643 -0
  397. package/src/sap/m/p13n/Container.js +239 -0
  398. package/src/sap/m/p13n/GroupPanel.js +119 -0
  399. package/src/sap/m/p13n/QueryPanel.js +312 -0
  400. package/src/sap/m/p13n/SelectionPanel.js +403 -0
  401. package/src/sap/m/p13n/SortPanel.js +139 -0
  402. package/src/sap/m/plugins/ColumnResizer.js +23 -2
  403. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  404. package/src/sap/m/plugins/PasteProvider.js +9 -1
  405. package/src/sap/m/plugins/PluginBase.js +1 -1
  406. package/src/sap/m/routing/TargetHandler.js +24 -22
  407. package/src/sap/m/routing/async/Target.js +3 -2
  408. package/src/sap/m/semantic/AddAction.js +1 -1
  409. package/src/sap/m/semantic/CancelAction.js +1 -1
  410. package/src/sap/m/semantic/DeleteAction.js +1 -1
  411. package/src/sap/m/semantic/DetailPage.js +1 -1
  412. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  413. package/src/sap/m/semantic/EditAction.js +1 -1
  414. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  415. package/src/sap/m/semantic/FilterAction.js +1 -1
  416. package/src/sap/m/semantic/FilterSelect.js +1 -1
  417. package/src/sap/m/semantic/FlagAction.js +1 -1
  418. package/src/sap/m/semantic/ForwardAction.js +1 -1
  419. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  420. package/src/sap/m/semantic/GroupAction.js +1 -1
  421. package/src/sap/m/semantic/GroupSelect.js +1 -1
  422. package/src/sap/m/semantic/MainAction.js +1 -1
  423. package/src/sap/m/semantic/MasterPage.js +1 -1
  424. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  425. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  426. package/src/sap/m/semantic/NegativeAction.js +1 -1
  427. package/src/sap/m/semantic/OpenInAction.js +1 -1
  428. package/src/sap/m/semantic/PositiveAction.js +1 -1
  429. package/src/sap/m/semantic/PrintAction.js +1 -1
  430. package/src/sap/m/semantic/SaveAction.js +1 -1
  431. package/src/sap/m/semantic/Segment.js +1 -1
  432. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  433. package/src/sap/m/semantic/SemanticButton.js +1 -1
  434. package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
  435. package/src/sap/m/semantic/SemanticControl.js +1 -1
  436. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  437. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
  438. package/src/sap/m/semantic/SemanticPage.js +1 -1
  439. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  440. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  441. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  442. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  443. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  444. package/src/sap/m/semantic/ShareMenu.js +1 -1
  445. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  446. package/src/sap/m/semantic/SortAction.js +1 -1
  447. package/src/sap/m/semantic/SortSelect.js +1 -1
  448. package/src/sap/m/table/Util.js +192 -0
  449. package/src/sap/m/themes/base/AbstractContainer.less +17 -0
  450. package/src/sap/m/themes/base/ColumnListItem.less +2 -2
  451. package/src/sap/m/themes/base/Dialog.less +11 -28
  452. package/src/sap/m/themes/base/GenericTile.less +453 -18
  453. package/src/sap/m/themes/base/IconTabBar.less +5 -6
  454. package/src/sap/m/themes/base/Input.less +12 -0
  455. package/src/sap/m/themes/base/ListBase.less +7 -5
  456. package/src/sap/m/themes/base/MessagePage.less +1 -7
  457. package/src/sap/m/themes/base/MessageView.less +4 -0
  458. package/src/sap/m/themes/base/MultiComboBox.less +17 -0
  459. package/src/sap/m/themes/base/NewsContent.less +48 -1
  460. package/src/sap/m/themes/base/NumericContent.less +87 -0
  461. package/src/sap/m/themes/base/ObjectMarker.less +3 -0
  462. package/src/sap/m/themes/base/ObjectNumber.less +10 -2
  463. package/src/sap/m/themes/base/ObjectStatus.less +14 -0
  464. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +0 -6
  465. package/src/sap/m/themes/base/P13nContainer.less +17 -0
  466. package/src/sap/m/themes/base/P13nDialog.less +4 -0
  467. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
  468. package/src/sap/m/themes/base/SlideTile.less +15 -0
  469. package/src/sap/m/themes/base/StandardListItem.less +5 -0
  470. package/src/sap/m/themes/base/Table.less +9 -19
  471. package/src/sap/m/themes/base/TextArea.less +1 -1
  472. package/src/sap/m/themes/base/TileContent.less +20 -0
  473. package/src/sap/m/themes/base/Token.less +0 -3
  474. package/src/sap/m/themes/base/Tokenizer.less +6 -0
  475. package/src/sap/m/themes/base/UploadSet.less +5 -0
  476. package/src/sap/m/themes/base/ViewSettingsDialog.less +28 -1
  477. package/src/sap/m/themes/base/library.source.less +4 -0
  478. package/src/sap/m/themes/base/p13n.Container.less +17 -0
  479. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
  480. package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
  481. package/src/sap/m/themes/sap_hcb/IconTabBar.less +3 -3
  482. package/src/sap/m/upload/UploadSet.js +48 -23
  483. package/src/sap/m/upload/UploadSetItem.js +9 -4
  484. package/ui5.yaml +4 -1
  485. package/src/sap/m/ios7.js +0 -199
@@ -0,0 +1,239 @@
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
+ sap.ui.define([
7
+ "sap/m/p13n/AbstractContainer",
8
+ "sap/m/Bar",
9
+ "sap/m/Button",
10
+ "sap/m/List",
11
+ "sap/m/IconTabBar",
12
+ "sap/m/IconTabFilter",
13
+ "sap/m/p13n/AbstractContainerItem",
14
+ "sap/ui/Device",
15
+ "sap/m/library",
16
+ "sap/m/StandardListItem"
17
+ ], function (AbstractContainer, Bar, Button, List, IconTabBar, IconTabFilter, ContainerItem, Device, mLibrary, StandardListItem) {
18
+ "use strict";
19
+
20
+ // shortcut for sap.m.ButtonType
21
+ var ButtonType = mLibrary.ButtonType;
22
+
23
+ // shortcut for sap.m.ListType
24
+ var ListItemType = mLibrary.ListType;
25
+
26
+ /**
27
+ * Constructor for a new <code>Container</code>.
28
+ *
29
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
30
+ * @param {object} [mSettings] Initial settings for the new control
31
+ *
32
+ * @class
33
+ * This control serves as base class for personalization implementations.
34
+ * This base class is faceless and should be inherited to implement control specific personalization panels.
35
+ * Constructor for a new Container. The Container can be used
36
+ * to dynamically add personalization content to a switchable
37
+ * layout container, by allowing to switch the content using
38
+ * an <code>IconTabBar</code> or a <code>List</code> control,
39
+ * depending on the desired layout mode.
40
+ *
41
+ * @extends sap.m.p13n.AbstractContainer
42
+ *
43
+ * @author SAP SE
44
+ * @version 1.96.2
45
+ *
46
+ * @private
47
+ * @ui5-restricted
48
+ * @experimental
49
+ *
50
+ * @since 1.96
51
+ * @alias sap.m.p13n.Container
52
+ */
53
+ var Container = AbstractContainer.extend("sap.m.p13n.Container", {
54
+ metadata: {
55
+ library: "sap.m",
56
+ properties: {
57
+ listLayout: {
58
+ type: "Boolean",
59
+ defaultValue: false
60
+ }
61
+ }
62
+ },
63
+ renderer: {
64
+ apiVersion: 2
65
+ }
66
+ });
67
+
68
+ Container.prototype.DEFAULT_KEY = "$default";
69
+
70
+ Container.prototype.init = function () {
71
+ AbstractContainer.prototype.init.apply(this, arguments);
72
+ this.addStyleClass("sapMP13nContainer");
73
+ this.setListLayout(Device.system.phone);
74
+ };
75
+
76
+ /**
77
+ * Determines whether a <code>List</code> control should be used
78
+ * as inner layout or a <code>IconTabBar</code> to display the different views.
79
+ *
80
+ * @param {boolean} bListLayout Defines which layout mode should be used.
81
+ * @returns {sap.ui.core.Control} The <code>Container</code> instance.
82
+ */
83
+ Container.prototype.setListLayout = function (bListLayout) {
84
+ this.setProperty("listLayout", bListLayout);
85
+
86
+ //clear existing navigation items
87
+ this._getTabBar().removeAllItems();
88
+ this._getNavigationList().removeAllItems();
89
+ var oHeaderContent;
90
+
91
+ //update navigator control
92
+ if (bListLayout) {
93
+ this._getTabBar().setVisible(false);
94
+ this._getNavigationList();
95
+ this.switchView(this.DEFAULT_KEY);
96
+ oHeaderContent = this._getNavBackBtn();
97
+ } else {
98
+ this._getTabBar().setVisible(true);
99
+ var aViews = this.getViews();
100
+ if (aViews.length > 1) {
101
+ //0 is $default, use index 1 as the first "custom" added view
102
+ this.switchView(aViews[1].getKey());
103
+ }
104
+ oHeaderContent = this._getTabBar();
105
+ }
106
+
107
+ var oHeader = this.getHeader();
108
+ if (!oHeader) {
109
+ var oBar = new Bar({
110
+ contentLeft: [oHeaderContent]
111
+ });
112
+ this.setHeader(oBar);
113
+ } else {
114
+ oHeader.removeAllContentLeft();
115
+ oHeader.addContentLeft(oHeaderContent);
116
+ }
117
+
118
+ //recreate the navigation items
119
+ this.getViews().forEach(function (oView) {
120
+ this._addToNavigator(oView);
121
+ }.bind(this));
122
+
123
+ return this;
124
+ };
125
+
126
+ /**
127
+ * @override
128
+ */
129
+ Container.prototype.switchView = function (sKey) {
130
+ AbstractContainer.prototype.switchView.apply(this, arguments);
131
+ var oParent = this.getParent();
132
+ if (oParent && oParent.isA("sap.ui.core.Control")){
133
+ oParent.focus();
134
+ oParent.invalidate();
135
+ }
136
+ this.oLayout.setShowHeader(sKey !== this.DEFAULT_KEY); //Don't show header in default view (avoid empty space),
137
+ this._getTabBar().setSelectedKey(sKey);
138
+ this._getNavBackBtn().setVisible(sKey !== this.DEFAULT_KEY);
139
+ this._getNavBackBtn().setText(sKey);
140
+ };
141
+
142
+ /**
143
+ * @override
144
+ */
145
+ Container.prototype.addView = function (oContainerItem) {
146
+ AbstractContainer.prototype.addView.apply(this, arguments);
147
+ this._addToNavigator(oContainerItem);
148
+ return this;
149
+ };
150
+
151
+ Container.prototype._getTabBar = function () {
152
+ if (!this._oTabBar) {
153
+ this._oTabBar = new IconTabBar({
154
+ expandable: false,
155
+ expanded: true,
156
+ select: function (oEvt) {
157
+ this.switchView(oEvt.getParameter("key"));
158
+ }.bind(this)
159
+ });
160
+ this.addDependent(this._oTabBar);
161
+ }
162
+ return this._oTabBar;
163
+ };
164
+
165
+ Container.prototype._getNavigationList = function () {
166
+ if (!this._oNavigationList) {
167
+ this._oNavigationList = new List({
168
+ itemPress: function (oEvt) {
169
+ var oItem = oEvt.getParameter("listItem");
170
+ this.switchView(oItem._key);
171
+ }.bind(this)
172
+ }).addStyleClass("p13nContainerDefaultList");
173
+ this.addDependent(this._oNavigationList);
174
+ }
175
+ if (!this.getView(this.DEFAULT_KEY)) {
176
+ var oListContainer = new ContainerItem({
177
+ key: this.DEFAULT_KEY,
178
+ content: this._oNavigationList
179
+ });
180
+ this.addView(oListContainer);
181
+ }
182
+
183
+ return this._oNavigationList;
184
+ };
185
+
186
+ Container.prototype._getNavBackBtn = function () {
187
+ if (!this._oNavBackBtn) {
188
+ this._oNavBackBtn = new Button({
189
+ type: ButtonType.Back,
190
+ press: function (oEvt) {
191
+ this.switchView(this.DEFAULT_KEY);
192
+ }.bind(this)
193
+ });
194
+ this.addDependent(this._oNavBackBtn);
195
+ }
196
+ return this._oNavBackBtn;
197
+ };
198
+
199
+ Container.prototype._addToNavigator = function (oContainerItem) {
200
+
201
+ var sKey = oContainerItem.getKey(), sText = oContainerItem.getText(), sIcon = oContainerItem.getIcon();
202
+
203
+ if (sKey == this.DEFAULT_KEY) {
204
+ return;
205
+ }
206
+
207
+ if (this.getListLayout()) {
208
+ this.getView(this.DEFAULT_KEY);
209
+ var oItem = new StandardListItem({
210
+ type: ListItemType.Navigation,
211
+ icon: sIcon,
212
+ title: sText
213
+ });
214
+ oItem._key = sKey;
215
+ this._getNavigationList().addItem(oItem);
216
+ } else {
217
+ this._getTabBar().addItem(new IconTabFilter({
218
+ key: sKey,
219
+ text: sText || sKey
220
+ }));
221
+ }
222
+ };
223
+
224
+ Container.prototype.exit = function () {
225
+ AbstractContainer.prototype.exit.apply(this, arguments);
226
+ if (this._oTabBar) {
227
+ this._oTabBar.destroy();
228
+ this._oTabBar = null;
229
+ }
230
+ if (this._oNavigationList) {
231
+ this._oNavigationList.destroy();
232
+ this._oNavigationList = null;
233
+ }
234
+ this._oNavBackBtn = null;
235
+ };
236
+
237
+ return Container;
238
+
239
+ });
@@ -0,0 +1,119 @@
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
+ sap.ui.define([
7
+ "./QueryPanel", "sap/m/HBox", "sap/m/CheckBox", "sap/ui/layout/Grid"
8
+ ], function (QueryPanel, HBox, CheckBox, Grid) {
9
+ "use strict";
10
+
11
+ /**
12
+ * Constructor for a new <code>GroupPanel</code>.
13
+ *
14
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
15
+ * @param {object} [mSettings] Initial settings for the new control
16
+ *
17
+ * @class
18
+ * This control can be used to customize group personalization content
19
+ * for an associated control instance.
20
+ *
21
+ * @extends sap.m.p13n.QueryPanel
22
+ *
23
+ * @author SAP SE
24
+ * @version 1.96.2
25
+ *
26
+ * @private
27
+ * @ui5-restricted
28
+ * @experimental
29
+ *
30
+ * @since 1.96
31
+ * @alias sap.m.p13n.GroupPanel
32
+ */
33
+ var GroupPanel = QueryPanel.extend("sap.m.p13n.GroupPanel", {
34
+ metadata: {
35
+ properties: {
36
+ enableShowField: {
37
+ type: "boolean",
38
+ defaultValue: false
39
+ }
40
+ }
41
+ },
42
+ renderer: {}
43
+ });
44
+
45
+ GroupPanel.prototype.PRESENCE_ATTRIBUTE = "grouped";
46
+ GroupPanel.prototype.CHANGE_REASON_SHOWIFGROUPED = "showifgrouped";
47
+
48
+ GroupPanel.prototype._createQueryRowGrid = function(oItem) {
49
+ var sKey = oItem.name;
50
+ var oSelect = this._createKeySelect(sKey);
51
+
52
+ var oGrid = new Grid({
53
+ containerQuery: true,
54
+ defaultSpan: this.getEnableShowField() ? "XL4 L4 M4 S4" : "XL6 L6 M6 S6",
55
+ content: [
56
+ oSelect
57
+ ]
58
+ }).addStyleClass("sapUiTinyMargin");
59
+
60
+ if (this.getEnableShowField()){
61
+ var oCheckBox = this._createCheckBox(oItem);
62
+ oGrid.addContent(oCheckBox);
63
+ }
64
+
65
+ return oGrid;
66
+ };
67
+
68
+ GroupPanel.prototype._createCheckBox = function(oItem) {
69
+ var sKey = oItem.name;
70
+ var oCheckBox = new HBox({
71
+ alignItems: "Center",
72
+ items: [
73
+ new CheckBox({
74
+ enabled: sKey ? true : false,
75
+ selected: oItem.hasOwnProperty("showIfGrouped") ? oItem.showIfGrouped : true,
76
+ select: function(oEvt) {
77
+ var oPanel = oEvt.getSource().getParent().getParent().getParent().getParent().getParent().getParent();
78
+ var sKey = oEvt.oSource.getParent().getParent().getContent()[0].getSelectedItem().getKey();
79
+ this._changeShowIfGrouped(sKey, oEvt.getParameter("selected"));
80
+ oPanel.fireChange({
81
+ reason: "change",
82
+ item: {
83
+ name: sKey,
84
+ grouped: true,
85
+ showIfGrouped: oEvt.getParameter("selected")
86
+ }
87
+ });
88
+ }.bind(this),
89
+ text: this._getResourceText("p13n.GROUP_CHECKBOX")
90
+ })
91
+ ]
92
+ });
93
+
94
+ return oCheckBox;
95
+ };
96
+
97
+ GroupPanel.prototype._changeShowIfGrouped = function (sKey, bShow) {
98
+ var aItems = this._getP13nModel().getProperty("/items").filter(function (oItem) {
99
+ return oItem.name === sKey;
100
+ });
101
+
102
+ aItems[0].showIfGrouped = bShow;
103
+
104
+ this.fireChange({
105
+ reason: this.CHANGE_REASON_SHOWIFGROUPED,
106
+ item: aItems[0]
107
+ });
108
+ };
109
+
110
+ GroupPanel.prototype._selectKey = function(oEvt) {
111
+ QueryPanel.prototype._selectKey.apply(this, arguments);
112
+ //Enable CheckBox
113
+ var oListItem = oEvt.getSource().getParent().getParent();
114
+ var sNewKey = oEvt.getParameter("selectedItem").getKey();
115
+ oListItem.getContent()[0].getContent()[1].getItems()[0].setEnabled(sNewKey !== this.NONE_KEY);
116
+ };
117
+
118
+ return GroupPanel;
119
+ });
@@ -0,0 +1,312 @@
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
+ sap.ui.define([
7
+ "sap/ui/layout/Grid", "./BasePanel", "sap/ui/core/Item", "sap/m/CustomListItem", "sap/m/Select", "sap/m/List", "sap/m/HBox", "sap/m/library", "sap/m/Button"
8
+ ], function (Grid, BasePanel, Item, CustomListItem, Select, List, HBox, mLibrary, Button) {
9
+ "use strict";
10
+
11
+
12
+ /**
13
+ * Constructor for a new <code>QueryPanel</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 a query builder like personalization implementation.
20
+ *
21
+ * @class
22
+ * @extends sap.m.p13n.BasePanel
23
+ *
24
+ * @author SAP SE
25
+ * @version 1.96.2
26
+ *
27
+ * @private
28
+ * @ui5-restricted
29
+ * @experimental
30
+ *
31
+ * @since 1.96
32
+ * @alias sap.m.p13n.QueryPanel
33
+ */
34
+ var QueryPanel = BasePanel.extend("sap.m.p13n.QueryPanel", {
35
+ metadata: {
36
+ library: "sap.m",
37
+ properties: {
38
+ queryLimit: {
39
+ type: "int",
40
+ defaultValue: -1 //unlimited queries
41
+ }
42
+ }
43
+ },
44
+ renderer: {}
45
+ });
46
+
47
+ // shortcut for sap.m.ListType
48
+ var ListItemType = mLibrary.ListType;
49
+
50
+ // shortcut for sap.m.FlexJustifyContent
51
+ var FlexJustifyContent = mLibrary.FlexJustifyContent;
52
+
53
+ // shortcut for sap.m.ButtonType
54
+ var ButtonType = mLibrary.ButtonType;
55
+
56
+ QueryPanel.prototype.NONE_KEY = "$_none";
57
+
58
+ QueryPanel.prototype.init = function () {
59
+ BasePanel.prototype.init.apply(this, arguments);
60
+ this.setEnableReorder(true);
61
+ this.addStyleClass("sapMP13nQueryPanel");
62
+ };
63
+
64
+ QueryPanel.prototype.setP13nData = function(aP13nData) {
65
+ BasePanel.prototype.setP13nData.apply(this, arguments);
66
+
67
+ this._oListControl.removeAllItems();
68
+
69
+ //Add rows for grouped items
70
+ if (aP13nData instanceof Array) {
71
+ aP13nData.forEach(function (oItem) {
72
+ if (oItem[this.PRESENCE_ATTRIBUTE]) {
73
+ this._addQueryRow(oItem);
74
+ }
75
+ }.bind(this));
76
+
77
+ this._addQueryRow();
78
+ }
79
+
80
+ return this;
81
+ };
82
+
83
+ QueryPanel.prototype._moveTableItem = function (oItem, iNewIndex) {
84
+ BasePanel.prototype._moveTableItem.apply(this, arguments);
85
+ this._oListControl.removeItem(oItem);
86
+ this._oListControl.insertItem(oItem, iNewIndex);
87
+ };
88
+
89
+ QueryPanel.prototype._updateEnableOfMoveButtons = function(oTableItem, bFocus) {
90
+ BasePanel.prototype._updateEnableOfMoveButtons.apply(this, arguments);
91
+
92
+ //The last item is always the "$_none" field, check if its the item before, if yes do not allow to reorder it below
93
+ if (this._oListControl.getItems().indexOf(oTableItem) === (this._oListControl.getItems().length - 2)) {
94
+ this._getMoveDownButton().setEnabled(false);
95
+ }
96
+ };
97
+
98
+ QueryPanel.prototype._createInnerListControl = function () {
99
+ return new List(this.getId() + "-innerP13nList", {
100
+ itemPress: [this._onItemPressed, this],
101
+ dragDropConfig: this._getDragDropConfig()
102
+ });
103
+ };
104
+
105
+ QueryPanel.prototype._getModelEntry = function(oRow) {
106
+ var sKey = oRow.getContent()[0].getContent()[0]._key;
107
+ var oField = this._getP13nModel().getProperty("/items").find(function (o) {
108
+ return o.name == sKey;
109
+ });
110
+ return oField;
111
+ };
112
+
113
+ QueryPanel.prototype._getAvailableItems = function (sKey) {
114
+ var aItems = this._getP13nModel().getProperty("/items");
115
+
116
+ var aAvailableItems = [new Item({
117
+ key: this.NONE_KEY,
118
+ text: this._getResourceText("p13n.QUERY_NONE"),
119
+ enabled: !sKey
120
+ })];
121
+
122
+ aItems.forEach(function (oNonPresent, iIndex) {
123
+ aAvailableItems.push(new Item({
124
+ key: oNonPresent.name,
125
+ text: oNonPresent.label,
126
+ enabled: {
127
+ path: this.P13N_MODEL + ">/items/" + iIndex + "/" + this.PRESENCE_ATTRIBUTE,
128
+ formatter: function(bQueried) {
129
+ return !bQueried; //Only enable the selection in case there is not yet a query present
130
+ }
131
+ }
132
+ }));
133
+ }.bind(this));
134
+
135
+ return aAvailableItems;
136
+ };
137
+
138
+ QueryPanel.prototype._getMoveDownButton = function() {
139
+ var oMoveBtn = BasePanel.prototype._getMoveDownButton.apply(this, arguments);
140
+ oMoveBtn.setIcon("sap-icon://navigation-down-arrow");
141
+ return oMoveBtn;
142
+ };
143
+
144
+ QueryPanel.prototype._getMoveUpButton = function() {
145
+ var oMoveBtn = BasePanel.prototype._getMoveUpButton.apply(this, arguments);
146
+ oMoveBtn.setIcon("sap-icon://navigation-up-arrow");
147
+ return oMoveBtn;
148
+ };
149
+
150
+ QueryPanel.prototype._addQueryRow = function (oItem) {
151
+
152
+ if (this.getQueryLimit() > -1 && this.getQueryLimit() === this._oListControl.getItems().length) {
153
+ return;
154
+ }
155
+
156
+ oItem = oItem ? oItem : {name: null};
157
+
158
+ var oQueryRowGrid = this._createQueryRowGrid(oItem);
159
+
160
+ var oRow = new CustomListItem({
161
+ type: ListItemType.Active,
162
+ content: [
163
+ oQueryRowGrid
164
+ ]
165
+ });
166
+
167
+ //We only need 'move' buttons if:
168
+ // 1) Reordering is enabled
169
+ // 2) At least 2 queries can be made
170
+ if (this.getEnableReorder() && (this.getQueryLimit() === -1 || this.getQueryLimit() > 1)){
171
+ this._addHover(oRow);
172
+ }
173
+
174
+ oRow.getContent()[0].getContent()[0]._key = oItem.name;
175
+
176
+ this._oListControl.addItem(oRow);
177
+
178
+ var bShowRemoveBtn = !!oItem.name;
179
+ var oRemoveButton = this._createRemoveButton(bShowRemoveBtn);
180
+ oRow.getContent()[0].addContent(oRemoveButton);
181
+
182
+ return oRow;
183
+ };
184
+
185
+ QueryPanel.prototype._createQueryRowGrid = function(oItem) {
186
+ var oSelect = this._createKeySelect(oItem.name);
187
+ return new Grid({
188
+ containerQuery: true,
189
+ defaultSpan: "XL6 L6 M6 S6",
190
+ content: [
191
+ oSelect
192
+ ]
193
+ }).addStyleClass("sapUiTinyMargin");
194
+ };
195
+
196
+ QueryPanel.prototype._handleActivated = function(oHoveredItem) {
197
+ var oQueryRow = oHoveredItem.getContent()[0];
198
+ if (oQueryRow) {
199
+ var iItemLength = oQueryRow.getContent().length - 1;
200
+ var oButtonBox = oHoveredItem.getContent()[0].getContent()[iItemLength];
201
+
202
+ //Only add the buttons if 1) an hovered item is provided 2) the buttons are not already there
203
+ if (oHoveredItem && oButtonBox.getItems().length < 2) {
204
+ oButtonBox.insertItem(this._getMoveUpButton(), 0);
205
+ oButtonBox.insertItem(this._getMoveDownButton(), 1);
206
+ this._updateEnableOfMoveButtons(oHoveredItem, false);
207
+ }
208
+ }
209
+ };
210
+
211
+ QueryPanel.prototype._createKeySelect = function (sKey) {
212
+ var oKeySelect = new Select({
213
+ width: "14rem",
214
+ items: this._getAvailableItems(sKey),
215
+ selectedKey: sKey,
216
+ change: this._selectKey.bind(this)
217
+ });
218
+
219
+ return oKeySelect;
220
+ };
221
+
222
+ QueryPanel.prototype._selectKey = function(oEvt) {
223
+
224
+ var oListItem = oEvt.getSource().getParent().getParent();
225
+
226
+ var bIsLastRow = this._oListControl.getItems().length - 1 == this._oListControl.getItems().indexOf(oListItem);
227
+ var sNewKey = oEvt.getParameter("selectedItem").getKey();
228
+ var sOldKey = oEvt.getSource()._key;
229
+
230
+ var oBtnContainer = oListItem.getContent()[0].getContent()[oListItem.getContent()[0].getContent().length - 1];
231
+ //var oRemoveBtn = oBtnContainer.getItems()[oBtnContainer.getItems().length - 1];
232
+
233
+ oBtnContainer.setVisible(sNewKey !== this.NONE_KEY);
234
+
235
+ //Remove previous
236
+ if (sOldKey) {
237
+ this._updatePresence(sOldKey, false, undefined);
238
+ }
239
+ //store old key
240
+ oEvt.getSource()._key = sNewKey;
241
+
242
+ //add new
243
+ this._updatePresence(sNewKey, true, this._oListControl.getItems().indexOf(oListItem));
244
+
245
+ //Add a new row in case the last "empty" row has been configured
246
+ if (sNewKey !== this.NONE_KEY && bIsLastRow) {
247
+ this._addQueryRow();
248
+ var oSelect = oEvt.getSource();
249
+ var oNoneItem = oSelect.getItemByKey(this.NONE_KEY);
250
+ oNoneItem.setEnabled(false);
251
+ }
252
+ };
253
+
254
+ QueryPanel.prototype._createRemoveButton = function (bVisible) {
255
+ var oRemoveBox = new HBox({
256
+ justifyContent: FlexJustifyContent.End,
257
+ width: "100%",
258
+ visible: bVisible,
259
+ items: [
260
+ new Button({
261
+ type: ButtonType.Transparent,
262
+ icon: "sap-icon://decline",
263
+ press: function (oEvt) {
264
+ var oRow = oEvt.getSource().getParent().getParent().getParent();
265
+ this._oListControl.removeItem(oRow);
266
+ this._updatePresence(oRow.getContent()[0].getContent()[0]._key, false, undefined);
267
+ if (this._oListControl.getItems().length === 0) {
268
+ this._addQueryRow();
269
+ } else {
270
+ //In case an item has been removed, focus the Select control of the new 'none' row
271
+ var iLastIndex = this._oListControl.getItems().length - 1;
272
+ this._oListControl.getItems()[iLastIndex].getContent()[0].getContent()[0].focus();
273
+ }
274
+ }.bind(this)
275
+ })
276
+ ]
277
+ });
278
+
279
+ return oRemoveBox;
280
+ };
281
+
282
+ QueryPanel.prototype._moveSelectedItem = function(){
283
+ this._oSelectedItem = this._getMoveUpButton().getParent().getParent().getParent();
284
+ BasePanel.prototype._moveSelectedItem.apply(this, arguments);
285
+ };
286
+
287
+ QueryPanel.prototype._updatePresence = function (sKey, bAdd, iNewIndex) {
288
+ var aItems = this._getP13nModel().getProperty("/items");
289
+ var aRelevant = aItems.filter(function (oItem) {
290
+ return oItem.name === sKey;
291
+ });
292
+
293
+ if (aRelevant[0]) {
294
+ aRelevant[0][this.PRESENCE_ATTRIBUTE] = bAdd;
295
+ }
296
+
297
+ if (iNewIndex !== undefined) {
298
+ var iOldIndex = aItems.indexOf(aRelevant[0]);
299
+ aItems.splice(iNewIndex, 0, aItems.splice(iOldIndex, 1)[0]);
300
+ }
301
+
302
+ this._getP13nModel().setProperty("/items", aItems);
303
+
304
+ this.fireChange({
305
+ reason: bAdd ? this.CHANGE_REASON_ADD : this.CHANGE_REASON_REMOVE,
306
+ item: aRelevant[0]
307
+ });
308
+ };
309
+
310
+ return QueryPanel;
311
+
312
+ });