@openui5/sap.m 1.126.1 → 1.128.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRDPARTY.txt +1 -1
- package/package.json +4 -4
- package/src/sap/m/.library +1 -1
- package/src/sap/m/AccButton.js +1 -1
- package/src/sap/m/ActionListItem.js +1 -1
- package/src/sap/m/ActionSelect.js +1 -1
- package/src/sap/m/ActionSheet.js +1 -1
- package/src/sap/m/ActionTile.js +1 -1
- package/src/sap/m/ActionTileContent.js +1 -1
- package/src/sap/m/AdditionalTextButton.js +1 -1
- package/src/sap/m/App.js +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +1 -1
- package/src/sap/m/Bar.js +1 -1
- package/src/sap/m/Breadcrumbs.js +7 -13
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +1 -1
- package/src/sap/m/Carousel.js +3 -2
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +2 -2
- package/src/sap/m/ColorPalette.js +1 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +4 -3
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- package/src/sap/m/ColumnPopoverActionItem.js +1 -1
- package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
- package/src/sap/m/ColumnPopoverItem.js +1 -1
- package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
- package/src/sap/m/ColumnPopoverSortItem.js +1 -1
- package/src/sap/m/ComboBox.js +1 -1
- package/src/sap/m/ComboBoxBase.js +2 -2
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/ContentConfig.js +1 -1
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTreeItem.js +1 -1
- package/src/sap/m/DatePicker.js +15 -3
- package/src/sap/m/DateRangeSelection.js +11 -2
- package/src/sap/m/DateTimeField.js +1 -1
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +14 -2
- package/src/sap/m/Dialog.js +15 -15
- package/src/sap/m/DialogRenderer.js +11 -3
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +1 -1
- package/src/sap/m/DynamicDateOption.js +1 -1
- package/src/sap/m/DynamicDateRange.js +2 -2
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +2 -2
- package/src/sap/m/FacetFilter.js +1 -1
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +1 -1
- package/src/sap/m/FeedContent.js +1 -1
- package/src/sap/m/FeedInput.js +1 -1
- package/src/sap/m/FeedListItem.js +1 -1
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/FeedListItemRenderer.js +15 -14
- package/src/sap/m/Fiori20Adapter.js +40 -19
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +1 -1
- package/src/sap/m/GenericTag.js +11 -5
- package/src/sap/m/GenericTile.js +1 -2
- package/src/sap/m/GenericTileRenderer.js +5 -1
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +1 -1
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +1 -1
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +1 -1
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +1 -1
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +1 -1
- package/src/sap/m/Illustration.js +1 -1
- package/src/sap/m/Image.js +1 -1
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/Input.js +15 -23
- package/src/sap/m/InputBase.js +16 -2
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/Label.js +1 -1
- package/src/sap/m/LightBox.js +1 -1
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +120 -5
- package/src/sap/m/LinkRenderer.js +18 -0
- package/src/sap/m/LinkTileContent.js +1 -1
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +96 -13
- package/src/sap/m/ListItemBase.js +2 -2
- package/src/sap/m/MaskEnabler.js +1 -1
- package/src/sap/m/MaskInput.js +1 -1
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +168 -57
- package/src/sap/m/MenuButton.js +1 -1
- package/src/sap/m/MenuItem.js +86 -12
- package/src/sap/m/MenuItemGroup.js +448 -0
- package/src/sap/m/MenuListItem.js +45 -2
- package/src/sap/m/MenuListItemRenderer.js +59 -23
- package/src/sap/m/MessageItem.js +14 -6
- package/src/sap/m/MessageListItem.js +2 -2
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +1 -1
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +2 -2
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +10 -7
- package/src/sap/m/MultiComboBox.js +1 -1
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +1 -1
- package/src/sap/m/NavContainer.js +1 -1
- package/src/sap/m/NewsContent.js +24 -1
- package/src/sap/m/NewsContentRenderer.js +16 -11
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +2 -2
- package/src/sap/m/NotificationListGroup.js +1 -1
- package/src/sap/m/NotificationListItem.js +3 -3
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/NumericInput.js +1 -1
- package/src/sap/m/ObjectAttribute.js +1 -1
- package/src/sap/m/ObjectHeader.js +1 -1
- package/src/sap/m/ObjectIdentifier.js +12 -5
- package/src/sap/m/ObjectListItem.js +1 -1
- package/src/sap/m/ObjectMarker.js +1 -1
- package/src/sap/m/ObjectNumber.js +4 -4
- package/src/sap/m/ObjectNumberRenderer.js +0 -9
- package/src/sap/m/ObjectStatus.js +13 -7
- package/src/sap/m/ObjectStatusRenderer.js +8 -0
- package/src/sap/m/OverflowToolbar.js +64 -7
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +1 -1
- package/src/sap/m/P13nColumnsItem.js +1 -1
- package/src/sap/m/P13nColumnsPanel.js +1 -1
- package/src/sap/m/P13nConditionPanel.js +3 -5
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +1 -1
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -1
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -1
- package/src/sap/m/P13nItem.js +1 -1
- package/src/sap/m/P13nPanel.js +1 -1
- package/src/sap/m/P13nSelectionItem.js +1 -1
- package/src/sap/m/P13nSelectionPanel.js +1 -1
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +1 -1
- package/src/sap/m/PDFViewer.js +1 -1
- package/src/sap/m/Page.js +1 -4
- package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/m/PagingButton.js +1 -1
- package/src/sap/m/Panel.js +1 -1
- package/src/sap/m/PlanningCalendar.js +22 -6
- package/src/sap/m/PlanningCalendarHeader.js +1 -1
- package/src/sap/m/PlanningCalendarLegend.js +1 -1
- package/src/sap/m/PlanningCalendarLegendRenderer.js +4 -1
- package/src/sap/m/PlanningCalendarRow.js +11 -5
- package/src/sap/m/PlanningCalendarView.js +1 -1
- package/src/sap/m/Popover.js +16 -5
- package/src/sap/m/PopoverRenderer.js +13 -3
- package/src/sap/m/ProgressIndicator.js +1 -1
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/QuickView.js +1 -1
- package/src/sap/m/QuickViewBase.js +1 -1
- package/src/sap/m/QuickViewCard.js +1 -1
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +1 -1
- package/src/sap/m/QuickViewPage.js +1 -1
- package/src/sap/m/RadioButton.js +1 -1
- package/src/sap/m/RadioButtonGroup.js +1 -1
- package/src/sap/m/RangeSlider.js +1 -1
- package/src/sap/m/RatingIndicator.js +1 -1
- package/src/sap/m/RatingIndicatorRenderer.js +1 -2
- package/src/sap/m/ResponsivePopover.js +1 -1
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +1 -1
- package/src/sap/m/ScrollContainer.js +1 -1
- package/src/sap/m/SearchField.js +1 -1
- package/src/sap/m/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +36 -4
- package/src/sap/m/SelectDialog.js +14 -10
- package/src/sap/m/SelectDialogBase.js +21 -13
- package/src/sap/m/SelectList.js +2 -2
- package/src/sap/m/SelectionDetails.js +1 -29
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +1 -1
- package/src/sap/m/SelectionDetailsItemLine.js +1 -1
- package/src/sap/m/Shell.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +15 -2
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +81 -25
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +88 -17
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +68 -7
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +18 -8
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
- package/src/sap/m/SlideTile.js +1 -1
- package/src/sap/m/SlideTileRenderer.js +3 -0
- package/src/sap/m/Slider.js +1 -1
- package/src/sap/m/SliderTooltip.js +1 -1
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipContainer.js +1 -1
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +1 -1
- package/src/sap/m/SplitContainer.js +1 -1
- package/src/sap/m/StandardDynamicDateOption.js +3 -3
- package/src/sap/m/StandardListItem.js +1 -1
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +1 -1
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +1 -1
- package/src/sap/m/Switch.js +1 -1
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -1
- package/src/sap/m/TabStrip.js +1 -1
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/Table.js +2 -2
- package/src/sap/m/TablePersoController.js +1 -1
- package/src/sap/m/TablePersoDialog.js +1 -1
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +4 -3
- package/src/sap/m/TableSelectDialog.js +14 -12
- package/src/sap/m/Text.js +2 -2
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +1 -1
- package/src/sap/m/TileContent.js +1 -1
- package/src/sap/m/TileContentRenderer.js +3 -0
- package/src/sap/m/TileInfo.js +1 -1
- package/src/sap/m/TimePicker.js +18 -2
- package/src/sap/m/TimePickerClock.js +1 -1
- package/src/sap/m/TimePickerClocks.js +1 -1
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +1 -1
- package/src/sap/m/TimePickerSliders.js +1 -1
- package/src/sap/m/Title.js +1 -1
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/ToggleButton.js +1 -1
- package/src/sap/m/Token.js +3 -3
- package/src/sap/m/Tokenizer.js +1 -1
- package/src/sap/m/Toolbar.js +117 -3
- package/src/sap/m/ToolbarLayoutData.js +1 -1
- package/src/sap/m/ToolbarRenderer.js +12 -8
- package/src/sap/m/ToolbarSeparator.js +1 -1
- package/src/sap/m/ToolbarSpacer.js +1 -1
- package/src/sap/m/Tree.js +1 -1
- package/src/sap/m/TreeItemBase.js +1 -1
- package/src/sap/m/UploadCollection.js +1 -1
- package/src/sap/m/UploadCollectionItem.js +1 -1
- package/src/sap/m/UploadCollectionParameter.js +1 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/VariantItem.js +1 -0
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +1 -1
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +1 -1
- package/src/sap/m/VisibleItem.js +1 -1
- package/src/sap/m/WheelSlider.js +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +1 -1
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardStep.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
- package/src/sap/m/changeHandler/CombineButtons.js +1 -1
- package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +4 -4
- package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +91 -91
- package/src/sap/m/library.js +19 -4
- package/src/sap/m/messagebundle.properties +25 -8
- package/src/sap/m/messagebundle_ar.properties +12 -2
- package/src/sap/m/messagebundle_bg.properties +12 -2
- package/src/sap/m/messagebundle_ca.properties +13 -3
- package/src/sap/m/messagebundle_cnr.properties +12 -2
- package/src/sap/m/messagebundle_cs.properties +12 -2
- package/src/sap/m/messagebundle_cy.properties +12 -2
- package/src/sap/m/messagebundle_da.properties +14 -4
- package/src/sap/m/messagebundle_de.properties +12 -2
- package/src/sap/m/messagebundle_el.properties +15 -5
- package/src/sap/m/messagebundle_en.properties +15 -5
- package/src/sap/m/messagebundle_en_GB.properties +15 -5
- package/src/sap/m/messagebundle_en_US_sappsd.properties +193 -105
- package/src/sap/m/messagebundle_en_US_saprigi.properties +15 -5
- package/src/sap/m/messagebundle_en_US_saptrc.properties +1226 -1138
- package/src/sap/m/messagebundle_es.properties +13 -3
- package/src/sap/m/messagebundle_es_MX.properties +13 -3
- package/src/sap/m/messagebundle_et.properties +12 -2
- package/src/sap/m/messagebundle_fi.properties +12 -2
- package/src/sap/m/messagebundle_fr.properties +12 -2
- package/src/sap/m/messagebundle_fr_CA.properties +12 -2
- package/src/sap/m/messagebundle_hi.properties +15 -5
- package/src/sap/m/messagebundle_hr.properties +12 -2
- package/src/sap/m/messagebundle_hu.properties +13 -3
- package/src/sap/m/messagebundle_id.properties +25 -15
- package/src/sap/m/messagebundle_it.properties +15 -5
- package/src/sap/m/messagebundle_iw.properties +12 -2
- package/src/sap/m/messagebundle_ja.properties +10 -0
- package/src/sap/m/messagebundle_kk.properties +16 -6
- package/src/sap/m/messagebundle_ko.properties +10 -0
- package/src/sap/m/messagebundle_lt.properties +12 -2
- package/src/sap/m/messagebundle_lv.properties +17 -7
- package/src/sap/m/messagebundle_mk.properties +14 -4
- package/src/sap/m/messagebundle_ms.properties +12 -2
- package/src/sap/m/messagebundle_nl.properties +12 -2
- package/src/sap/m/messagebundle_no.properties +12 -2
- package/src/sap/m/messagebundle_pl.properties +15 -5
- package/src/sap/m/messagebundle_pt.properties +12 -2
- package/src/sap/m/messagebundle_pt_PT.properties +12 -2
- package/src/sap/m/messagebundle_ro.properties +12 -2
- package/src/sap/m/messagebundle_ru.properties +14 -4
- package/src/sap/m/messagebundle_sh.properties +12 -2
- package/src/sap/m/messagebundle_sk.properties +12 -2
- package/src/sap/m/messagebundle_sl.properties +19 -9
- package/src/sap/m/messagebundle_sr.properties +12 -2
- package/src/sap/m/messagebundle_sv.properties +12 -2
- package/src/sap/m/messagebundle_th.properties +12 -2
- package/src/sap/m/messagebundle_tr.properties +12 -2
- package/src/sap/m/messagebundle_uk.properties +12 -2
- package/src/sap/m/messagebundle_vi.properties +13 -3
- package/src/sap/m/messagebundle_zh_CN.properties +14 -4
- package/src/sap/m/messagebundle_zh_TW.properties +15 -5
- package/src/sap/m/p13n/AbstractContainer.js +2 -2
- package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
- package/src/sap/m/p13n/BasePanel.js +2 -2
- package/src/sap/m/p13n/Container.js +1 -1
- package/src/sap/m/p13n/Engine.js +12 -13
- package/src/sap/m/p13n/FilterController.js +1 -1
- package/src/sap/m/p13n/FilterPanel.js +1 -1
- package/src/sap/m/p13n/GroupController.js +1 -1
- package/src/sap/m/p13n/GroupPanel.js +1 -1
- package/src/sap/m/p13n/MessageStrip.js +64 -0
- package/src/sap/m/p13n/Popup.js +1 -1
- package/src/sap/m/p13n/QueryPanel.js +1 -1
- package/src/sap/m/p13n/SelectionController.js +1 -1
- package/src/sap/m/p13n/SelectionPanel.js +1 -1
- package/src/sap/m/p13n/SortController.js +1 -1
- package/src/sap/m/p13n/SortPanel.js +1 -1
- package/src/sap/m/p13n/handler/xConfigHandler.js +5 -7
- package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
- package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
- package/src/sap/m/p13n/modules/UIManager.js +1 -1
- package/src/sap/m/plugins/CellSelector.js +23 -13
- package/src/sap/m/plugins/ColumnResizer.js +1 -1
- package/src/sap/m/plugins/ContextMenuSetting.js +1 -1
- package/src/sap/m/plugins/CopyProvider.js +1 -1
- package/src/sap/m/plugins/DataStateIndicator.js +1 -1
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/plugins/UploadSetwithTable.js +1 -1
- package/src/sap/m/semantic/AddAction.js +1 -1
- package/src/sap/m/semantic/CancelAction.js +1 -1
- package/src/sap/m/semantic/DeleteAction.js +1 -1
- package/src/sap/m/semantic/DetailPage.js +1 -1
- package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/m/semantic/EditAction.js +1 -1
- package/src/sap/m/semantic/FavoriteAction.js +1 -1
- package/src/sap/m/semantic/FilterAction.js +1 -1
- package/src/sap/m/semantic/FilterSelect.js +1 -1
- package/src/sap/m/semantic/FlagAction.js +1 -1
- package/src/sap/m/semantic/ForwardAction.js +1 -1
- package/src/sap/m/semantic/FullscreenPage.js +1 -1
- package/src/sap/m/semantic/GroupAction.js +1 -1
- package/src/sap/m/semantic/GroupSelect.js +1 -1
- package/src/sap/m/semantic/MainAction.js +1 -1
- package/src/sap/m/semantic/MasterPage.js +1 -1
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +1 -1
- package/src/sap/m/semantic/NegativeAction.js +1 -1
- package/src/sap/m/semantic/OpenInAction.js +1 -1
- package/src/sap/m/semantic/PositiveAction.js +1 -1
- package/src/sap/m/semantic/PrintAction.js +1 -1
- package/src/sap/m/semantic/SaveAction.js +1 -1
- package/src/sap/m/semantic/Segment.js +1 -1
- package/src/sap/m/semantic/SegmentedContainer.js +1 -1
- package/src/sap/m/semantic/SemanticButton.js +1 -1
- package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
- package/src/sap/m/semantic/SemanticControl.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/semantic/SemanticPage.js +1 -1
- package/src/sap/m/semantic/SemanticSelect.js +1 -1
- package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
- package/src/sap/m/semantic/SendEmailAction.js +1 -1
- package/src/sap/m/semantic/SendMessageAction.js +1 -1
- package/src/sap/m/semantic/ShareInJamAction.js +1 -1
- package/src/sap/m/semantic/ShareMenu.js +1 -1
- package/src/sap/m/semantic/ShareMenuPage.js +1 -1
- package/src/sap/m/semantic/SortAction.js +1 -1
- package/src/sap/m/semantic/SortSelect.js +1 -1
- package/src/sap/m/table/ColumnWidthController.js +1 -1
- package/src/sap/m/table/Util.js +2 -40
- package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/Entry.js +1 -1
- package/src/sap/m/table/columnmenu/Item.js +1 -1
- package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
- package/src/sap/m/table/columnmenu/Menu.js +29 -18
- package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
- package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
- package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
- package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
- package/src/sap/m/themes/base/ActionTile.less +377 -307
- package/src/sap/m/themes/base/ActionTileContent.less +4 -1
- package/src/sap/m/themes/base/Breadcrumbs.less +15 -12
- package/src/sap/m/themes/base/BusyIndicator.less +17 -6
- package/src/sap/m/themes/base/Button.less +242 -213
- package/src/sap/m/themes/base/Carousel.less +93 -57
- package/src/sap/m/themes/base/CellSelector.less +33 -33
- package/src/sap/m/themes/base/Dialog.less +38 -11
- package/src/sap/m/themes/base/FeedContent.less +1 -1
- package/src/sap/m/themes/base/FeedListItem.less +6 -8
- package/src/sap/m/themes/base/GenericTile.less +41 -5
- package/src/sap/m/themes/base/HeaderContainer.less +1 -1
- package/src/sap/m/themes/base/IconTabBar.less +10 -2
- package/src/sap/m/themes/base/ImageContent.less +2 -2
- package/src/sap/m/themes/base/Link.less +27 -4
- package/src/sap/m/themes/base/MenuListItem.less +22 -0
- package/src/sap/m/themes/base/MessageView.less +4 -0
- package/src/sap/m/themes/base/MultiUnitPopover.less +0 -9
- package/src/sap/m/themes/base/NewsContent.less +27 -15
- package/src/sap/m/themes/base/NumericContent.less +1 -21
- package/src/sap/m/themes/base/ObjectStatus.less +5 -2
- package/src/sap/m/themes/base/Popover.less +23 -10
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -4
- package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +4 -0
- package/src/sap/m/themes/base/SlideTile.less +4 -0
- package/src/sap/m/themes/base/TileContent.less +42 -0
- package/src/sap/m/themes/base/Token.less +1 -1
- package/src/sap/m/themes/base/UploadSet.less +0 -4
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BalloonSky.svg +44 -32
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +76 -73
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-FilterTable.svg +64 -40
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks_v1.svg +61 -52
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-PageNotFound.svg +23 -24
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ReloadScreen.svg +47 -33
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchFolder.svg +36 -26
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +21 -42
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessScreen.svg +46 -31
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadCollection.svg +26 -28
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BalloonSky.svg +52 -41
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +89 -86
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-FilterTable.svg +61 -55
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks_v1.svg +85 -89
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-PageNotFound.svg +28 -32
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ReloadScreen.svg +61 -79
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchFolder.svg +43 -35
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +22 -24
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessScreen.svg +60 -77
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadCollection.svg +28 -29
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BalloonSky.svg +42 -28
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +45 -42
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-FilterTable.svg +55 -41
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-GroupTable.svg +84 -65
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks_v1.svg +21 -14
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-PageNotFound.svg +19 -26
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ReloadScreen.svg +34 -30
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ResizeColumn.svg +44 -36
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchFolder.svg +36 -24
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +20 -27
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessScreen.svg +33 -30
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadCollection.svg +29 -27
- package/src/sap/m/themes/sap_hcb/base_FeedListItem.less +0 -7
- package/src/sap/m/themes/sap_hcb/base_HeaderContainer.less +0 -5
- package/src/sap/m/themes/sap_hcb/base_ImageContent.less +0 -7
- package/src/sap/m/themes/sap_hcb/base_MultiUnitPopover.less +0 -9
- package/src/sap/m/themes/sap_hcb/base_NumericContent.less +1 -21
- package/src/sap/m/themes/sap_hcb/library.source.less +0 -1
- package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
- package/src/sap/m/upload/Column.js +1 -1
- package/src/sap/m/upload/FilePreviewDialog.js +1 -1
- package/src/sap/m/upload/UploadItem.js +1 -1
- package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
- package/src/sap/m/upload/UploadSet.js +28 -16
- package/src/sap/m/upload/UploadSetItem.js +3 -3
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
- package/src/sap/m/upload/UploadSetwithTable.js +1 -1
- package/src/sap/m/upload/UploadSetwithTableItem.js +1 -1
- package/src/sap/m/upload/UploaderTableItem.js +1 -1
- package/src/sap/m/upload/p13n/PersManager.js +1 -1
- package/src/sap/m/upload/p13n/mediator/BaseMediator.js +1 -1
- package/src/sap/m/upload/p13n/mediator/ColumnsMediator.js +1 -1
- package/src/sap/m/upload/p13n/mediator/FilterMediator.js +1 -1
- package/src/sap/m/upload/p13n/mediator/GroupMediator.js +1 -1
- package/src/sap/m/upload/p13n/mediator/SortMediator.js +1 -1
- package/src/sap/m/upload/p13n/modules/PersPopupManager.js +1 -1
- package/src/sap/m/themes/sap_hcb/NewsContent.less +0 -8
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides control sap.m.MenuItemGroup.
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
'sap/ui/core/Element',
|
|
10
|
+
'sap/ui/Device',
|
|
11
|
+
'sap/ui/core/library'
|
|
12
|
+
], function(
|
|
13
|
+
Element,
|
|
14
|
+
Device,
|
|
15
|
+
coreLibrary
|
|
16
|
+
) {
|
|
17
|
+
"use strict";
|
|
18
|
+
|
|
19
|
+
// shortcut for sap.ui.core.ItemSelectionMode
|
|
20
|
+
var ItemSelectionMode = coreLibrary.ItemSelectionMode;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Constructor for a new MenuItemGroup element.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
26
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
27
|
+
*
|
|
28
|
+
* @class
|
|
29
|
+
* Group item to be used inside a menu. Represents a collection of menu items that can have the same selection mode
|
|
30
|
+
* (e.g. {@link sap.ui.core.ItemSelectionMode.None}, {@link sap.ui.core.ItemSelectionMode.SingleSelect}, or {@link sap.ui.unified.ItemSelectionMode.MultiSelect}).
|
|
31
|
+
* @extends sap.ui.core.Element
|
|
32
|
+
* @implements sap.m.IMenuItem
|
|
33
|
+
*
|
|
34
|
+
* @author SAP SE
|
|
35
|
+
* @version 1.128.0
|
|
36
|
+
* @since 1.127.0
|
|
37
|
+
*
|
|
38
|
+
* @constructor
|
|
39
|
+
* @public
|
|
40
|
+
* @alias sap.m.MenuItemGroup
|
|
41
|
+
*/
|
|
42
|
+
var MenuItemGroup = Element.extend("sap.m.MenuItemGroup", /** @lends sap.m.MenuItemGroup.prototype */ {
|
|
43
|
+
metadata : {
|
|
44
|
+
interfaces: [
|
|
45
|
+
"sap.m.IMenuItem"
|
|
46
|
+
],
|
|
47
|
+
library : "sap.m",
|
|
48
|
+
properties : {
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Defines the selection mode of the child items (e.g. <code>None</code>, <code>SingleSelect</code>, <code>MultiSelect</code>)
|
|
52
|
+
*/
|
|
53
|
+
itemSelectionMode : {type : "sap.ui.core.ItemSelectionMode", group : "Behavior", defaultValue : ItemSelectionMode.None}
|
|
54
|
+
|
|
55
|
+
},
|
|
56
|
+
aggregations : {
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The available items of the menu.
|
|
60
|
+
* <b>Note:</b> Adding MenuItemGroup as an item to the MenuItemGroup is not supported.
|
|
61
|
+
*/
|
|
62
|
+
items : {type : "sap.m.IMenuItem", multiple : true, singularName : "item"}
|
|
63
|
+
|
|
64
|
+
},
|
|
65
|
+
associations : {
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Parent menu object.
|
|
69
|
+
*/
|
|
70
|
+
_menu : {type : "sap.m.Menu", visibility : "hidden"}
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Override of the default setter that also ensures single selection if necessary.
|
|
78
|
+
* @public
|
|
79
|
+
* @param {string} sSelectionMode item selection mode to be set
|
|
80
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
81
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
82
|
+
*/
|
|
83
|
+
MenuItemGroup.prototype.setItemSelectionMode = function(sSelectionMode, bSuppressInvalidate) {
|
|
84
|
+
const oVisualControl = this._getVisualControl();
|
|
85
|
+
|
|
86
|
+
this.setProperty("itemSelectionMode", sSelectionMode, bSuppressInvalidate);
|
|
87
|
+
oVisualControl && oVisualControl.setProperty("itemSelectionMode", sSelectionMode, bSuppressInvalidate);
|
|
88
|
+
if (sSelectionMode === ItemSelectionMode.SingleSelect) {
|
|
89
|
+
this._ensureSingleSelection();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return this;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Adds an item to <code>items</code> aggregation.
|
|
97
|
+
* @override
|
|
98
|
+
* @param {sap.m.IMenuItem} oItem Menu item to be added
|
|
99
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
100
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
MenuItemGroup.prototype.addItem = function(oItem, bSuppressInvalidate){
|
|
104
|
+
return this._addOrInsertItem(oItem, undefined, bSuppressInvalidate);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Inserts an item to the specified position in <code>items</code> aggregation.
|
|
109
|
+
* @override
|
|
110
|
+
* @param {sap.m.IMenuItem} oItem Menu item to be added
|
|
111
|
+
* @param {int} iIndex Index at which the item should be inserted
|
|
112
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
113
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
MenuItemGroup.prototype.insertItem = function(oItem, iIndex, bSuppressInvalidate) {
|
|
117
|
+
if (iIndex === undefined) {
|
|
118
|
+
iIndex = this.getItems().length;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return this._addOrInsertItem(oItem, iIndex, bSuppressInvalidate);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Removes an item from <code>items</code> aggregation.
|
|
126
|
+
* @override
|
|
127
|
+
* @param {int | string | sap.m.IMenuItem} vItem Menu item to be removed (as index, ID or object)
|
|
128
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
129
|
+
* @public
|
|
130
|
+
* @returns {sap.m.IMenuItem | null} the removed object, or <code>null</code> if there are no items to remove
|
|
131
|
+
*/
|
|
132
|
+
MenuItemGroup.prototype.removeItem = function(vItem, bSuppressInvalidate) {
|
|
133
|
+
const oItem = this._findItemObject(vItem);
|
|
134
|
+
var oVisualControl,
|
|
135
|
+
oVisualParent,
|
|
136
|
+
oParentMenuItemVisualControl,
|
|
137
|
+
oRes;
|
|
138
|
+
|
|
139
|
+
if (!oItem) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
oVisualControl = this._findVisualControlObject(oItem._getVisualControl());
|
|
144
|
+
oParentMenuItemVisualControl = this._findParentMenuItemVisualControl(oItem);
|
|
145
|
+
|
|
146
|
+
if (oVisualControl) {
|
|
147
|
+
oVisualParent = oVisualControl.getParent();
|
|
148
|
+
oVisualParent && oVisualParent.removeItem(oVisualControl);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
oRes = this.removeAggregation("items", oItem, bSuppressInvalidate);
|
|
152
|
+
|
|
153
|
+
if (oVisualControl && !bSuppressInvalidate) {
|
|
154
|
+
oParentMenuItemVisualControl && oParentMenuItemVisualControl.invalidate();
|
|
155
|
+
|
|
156
|
+
if (Device.system.phone) {
|
|
157
|
+
const oParentNavContainer = oVisualParent.getParent().getParent();
|
|
158
|
+
!oVisualParent.getItems().length && oParentNavContainer.back();
|
|
159
|
+
} else {
|
|
160
|
+
const oGroupMenu = oVisualParent.getParent();
|
|
161
|
+
oGroupMenu && !oGroupMenu._getItems().length && oGroupMenu.close();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return oRes;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Removes all items from <code>items</code> aggregation.
|
|
170
|
+
* @override
|
|
171
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
172
|
+
* @public
|
|
173
|
+
* @returns {array | null} array containing the removed items, or <code>null</code> if there are no items to remove
|
|
174
|
+
*/
|
|
175
|
+
MenuItemGroup.prototype.removeAllItems = function(bSuppressInvalidate){
|
|
176
|
+
const aItems = this.getItems();
|
|
177
|
+
|
|
178
|
+
if (!aItems.length) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const bIsPhone = Device.system.phone,
|
|
183
|
+
oVisualControl = bIsPhone ? this._findVisualControlObject(aItems[0]._getVisualControl()) : this._getVisualControl();
|
|
184
|
+
|
|
185
|
+
if (bIsPhone) {
|
|
186
|
+
const oParentMenuItemVisualControl = this._findParentMenuItemVisualControl(aItems[0]),
|
|
187
|
+
oVisualParent = oVisualControl && oVisualControl.getParent();
|
|
188
|
+
|
|
189
|
+
if (oVisualParent) {
|
|
190
|
+
const oParentNavContainer = oVisualParent.getParent().getParent();
|
|
191
|
+
aItems.forEach((oItem) => oVisualParent.removeItem(oItem._getVisualControl(), bSuppressInvalidate));
|
|
192
|
+
!bSuppressInvalidate && !oVisualParent.getItems().length && oParentNavContainer.back();
|
|
193
|
+
}
|
|
194
|
+
!bSuppressInvalidate && oParentMenuItemVisualControl && oParentMenuItemVisualControl.invalidate();
|
|
195
|
+
} else if (oVisualControl) {
|
|
196
|
+
oVisualControl.removeAllItems(bSuppressInvalidate);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return this.removeAllAggregation("items", bSuppressInvalidate);
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Destroys all items from <code>items</code> aggregation.
|
|
204
|
+
* @override
|
|
205
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
206
|
+
* @public
|
|
207
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
208
|
+
*/
|
|
209
|
+
MenuItemGroup.prototype.destroyItems = function(bSuppressInvalidate) {
|
|
210
|
+
const aItems = this.getItems(),
|
|
211
|
+
bIsPhone = Device.system.phone;
|
|
212
|
+
var oVisualControl;
|
|
213
|
+
|
|
214
|
+
if (!aItems.length) {
|
|
215
|
+
return this;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (bIsPhone) {
|
|
219
|
+
let oVisualParent,
|
|
220
|
+
oVisualContainer;
|
|
221
|
+
|
|
222
|
+
aItems.forEach((oItem) => {
|
|
223
|
+
var oVisualControl = this._findVisualControlObject(oItem._getVisualControl());
|
|
224
|
+
|
|
225
|
+
if (oVisualControl) {
|
|
226
|
+
oVisualParent = oVisualControl.getParent();
|
|
227
|
+
oVisualContainer = Element.getElementById(oItem._sVisualParent).getParent();
|
|
228
|
+
oVisualControl.destroy(bSuppressInvalidate);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
!bSuppressInvalidate && oVisualParent && !oVisualParent.getItems().length && oVisualContainer.back() && oVisualContainer.invalidate();
|
|
232
|
+
} else {
|
|
233
|
+
oVisualControl = this._getVisualControl();
|
|
234
|
+
oVisualControl && oVisualControl.destroyItems(bSuppressInvalidate);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
this.destroyAggregation("items", bSuppressInvalidate);
|
|
238
|
+
|
|
239
|
+
return this;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Adds or inserts an item in <code>items</code> aggregation.
|
|
244
|
+
* @param {sap.m.IMenuItem} oItem Menu item to be added
|
|
245
|
+
* @param {int} iIndex Index at which the item should be inserted
|
|
246
|
+
* @param {boolean} bSuppressInvalidate Whether to suppress the invalidation of the control
|
|
247
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
248
|
+
* @private
|
|
249
|
+
*/
|
|
250
|
+
MenuItemGroup.prototype._addOrInsertItem = function(oItem, iIndex, bSuppressInvalidate) {
|
|
251
|
+
const bSelected = oItem.getSelected && oItem.getSelected();
|
|
252
|
+
|
|
253
|
+
oItem.setAssociation("_group", this);
|
|
254
|
+
|
|
255
|
+
// in case of SingleSelect mode, clear the selection of the other items to ensure that only one item is selected.
|
|
256
|
+
if (bSelected && this.getItemSelectionMode() === ItemSelectionMode.SingleSelect) {
|
|
257
|
+
this._clearSelectedItems();
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
this._addOrInsertVisualItem(oItem, iIndex);
|
|
261
|
+
|
|
262
|
+
if (iIndex === undefined) {
|
|
263
|
+
return this.addAggregation("items", oItem, bSuppressInvalidate);
|
|
264
|
+
}
|
|
265
|
+
return this.insertAggregation("items", oItem, iIndex, bSuppressInvalidate);
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Adds or inserts the visual item.
|
|
270
|
+
* @private
|
|
271
|
+
* @param {sap.m.IMenuItem} oItem item to be added or inserted
|
|
272
|
+
* @param {int} iIndex Index at which the item should be inserted
|
|
273
|
+
*/
|
|
274
|
+
MenuItemGroup.prototype._addOrInsertVisualItem = function(oItem, iIndex) {
|
|
275
|
+
const oGroupParent = this.getParent(),
|
|
276
|
+
oParentMenu = this._getParentMenu();
|
|
277
|
+
|
|
278
|
+
if (!oParentMenu) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (Device.system.phone && oGroupParent) {
|
|
283
|
+
const oPageControl = oGroupParent.isA("sap.m.Menu") ? oGroupParent._getVisualParent() : Element.getElementById(oGroupParent._getVisualChild());
|
|
284
|
+
if (!oPageControl) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
const sGroupId = this.getId(),
|
|
289
|
+
iGroupItemsCount = this.getItems().length,
|
|
290
|
+
iNewItemIndex = this._findGroupFirstIndex(sGroupId),
|
|
291
|
+
oVisualControl = oGroupParent._getVisualControl && oGroupParent._getVisualControl(),
|
|
292
|
+
oParentVisualItem = oVisualControl && this._findVisualControlObject(oVisualControl);
|
|
293
|
+
|
|
294
|
+
if (iIndex === undefined || iIndex > iGroupItemsCount) {
|
|
295
|
+
iIndex = iGroupItemsCount;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
oParentMenu._addListItemFromItem(oItem, oPageControl, iNewItemIndex + iIndex);
|
|
299
|
+
oParentVisualItem && oParentVisualItem.invalidate();
|
|
300
|
+
} else {
|
|
301
|
+
oParentMenu._addVisualMenuItemFromItem(oItem, this._getVisualControl(), iIndex);
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Invalidate the parent controls if there are no items in the group.
|
|
307
|
+
* @private
|
|
308
|
+
*/
|
|
309
|
+
MenuItemGroup.prototype._invalidateParentControls = function() {
|
|
310
|
+
const oGroupMenu = this.getParent();
|
|
311
|
+
|
|
312
|
+
if (oGroupMenu && !oGroupMenu._getItems().length) {
|
|
313
|
+
const oGroupMenuParent = oGroupMenu.getParent();
|
|
314
|
+
oGroupMenuParent && oGroupMenuParent.invalidate();
|
|
315
|
+
oGroupMenu.close();
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Returns the index of the first item of the specified group.
|
|
321
|
+
* @private
|
|
322
|
+
* @param {string} sId ID of the group
|
|
323
|
+
* @returns {int} the index of the first item of the specified group
|
|
324
|
+
*/
|
|
325
|
+
MenuItemGroup.prototype._findGroupFirstIndex = function(sId) {
|
|
326
|
+
const oParent = this.getParent(),
|
|
327
|
+
aMenuItems = oParent.getItems();
|
|
328
|
+
let iGroupFirstIndex = 0;
|
|
329
|
+
|
|
330
|
+
for (let i = 0; i < aMenuItems.length; i++) {
|
|
331
|
+
const oItem = aMenuItems[i];
|
|
332
|
+
if (oItem.getId() === sId) {
|
|
333
|
+
break;
|
|
334
|
+
} else if (oParent._isMenuItemGroup(oItem)) {
|
|
335
|
+
iGroupFirstIndex += oItem.getItems().length;
|
|
336
|
+
} else {
|
|
337
|
+
iGroupFirstIndex++;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
return iGroupFirstIndex;
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Returns the item as object from the <code>items</code> aggregation.
|
|
346
|
+
* @private
|
|
347
|
+
* @param {int | string | sap.m.MenuItem} vItem item to be found (it can be index, ID, or item object)
|
|
348
|
+
* @returns {sap.m.MenuItem} The item object
|
|
349
|
+
*/
|
|
350
|
+
MenuItemGroup.prototype._findItemObject = function(vItem) {
|
|
351
|
+
if (typeof vItem === "number") {
|
|
352
|
+
return this.getItems()[vItem];
|
|
353
|
+
} else if (typeof vItem === "string") {
|
|
354
|
+
return this.getItems().find((oItem) => oItem.getId() === vItem);
|
|
355
|
+
} else {
|
|
356
|
+
return vItem;
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Returns the visual control that represents the item as object.
|
|
362
|
+
* @private
|
|
363
|
+
* @param {string | sap.ui.unified.MenuItem | sap.m.MenuListItem} vItem item to be found (it can be index, ID, or item object)
|
|
364
|
+
* @returns {sap.ui.unified.MenuItem | sap.m.MenuListItem} The visual control that represents the item
|
|
365
|
+
*/
|
|
366
|
+
MenuItemGroup.prototype._findVisualControlObject = function(vItem) {
|
|
367
|
+
if (typeof vItem === "string") {
|
|
368
|
+
return Element.getElementById(vItem);
|
|
369
|
+
} else {
|
|
370
|
+
return vItem;
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Returns the visual control that represents the parent menu item of the given menu item.
|
|
376
|
+
* @private
|
|
377
|
+
* @param {sap.m.MenuItem} oItem the menu item which parent menu item visual control should be found.
|
|
378
|
+
* @returns {sap.ui.unified.MenuItem | sap.m.MenuListItem} The visual control of the parent menu item of the given menu item
|
|
379
|
+
*/
|
|
380
|
+
MenuItemGroup.prototype._findParentMenuItemVisualControl = function(oItem) {
|
|
381
|
+
const oGroupParent = this._findVisualControlObject(this.getParent());
|
|
382
|
+
|
|
383
|
+
return oGroupParent && oGroupParent.isA("sap.m.MenuItem") ? this._findVisualControlObject(oGroupParent._getVisualControl()) : null;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Sets <code>selected</code> property of all items in the group to <code>false</code>.
|
|
388
|
+
* @private
|
|
389
|
+
* @param {string} sGroup a key of the group which items selection state should be cleared if necessary
|
|
390
|
+
*/
|
|
391
|
+
MenuItemGroup.prototype._clearSelectedItems = function() {
|
|
392
|
+
this.getItems().forEach((oItem) => oItem.setSelected && oItem.setSelected(false));
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Returns visual child of the control (unified MenuItemGroup).
|
|
397
|
+
* @private
|
|
398
|
+
* @returns {sap.ui.unified.MenuItemGroup} The unified MenuItemGroup
|
|
399
|
+
*/
|
|
400
|
+
MenuItemGroup.prototype._getVisualControl = function() {
|
|
401
|
+
return this._oUnifiedGroup;
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Sets visual child of the control (unified MenuItemGroup).
|
|
406
|
+
* @private
|
|
407
|
+
* @param {sap.ui.unified.MenuItemGroup} oControl The unified MenuItemGroup to be set
|
|
408
|
+
*/
|
|
409
|
+
MenuItemGroup.prototype._setVisualControl = function(oControl) {
|
|
410
|
+
this._oUnifiedGroup = oControl;
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Sets parent Menu of the control.
|
|
415
|
+
* @private
|
|
416
|
+
* @param {sap.m.Menu} oMenu The Menu to be set as parent
|
|
417
|
+
*/
|
|
418
|
+
MenuItemGroup.prototype._setParentMenu = function(oMenu) {
|
|
419
|
+
this.setAssociation("_menu", oMenu);
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Returns the parent Menu of the control.
|
|
424
|
+
* @private
|
|
425
|
+
* @returns {sap.m.Menu} The parent Menu
|
|
426
|
+
*/
|
|
427
|
+
MenuItemGroup.prototype._getParentMenu = function() {
|
|
428
|
+
return Element.getElementById(this.getAssociation("_menu"));
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Ensures that only one item is selected in the group (if there were any selected items).
|
|
433
|
+
* @private
|
|
434
|
+
*/
|
|
435
|
+
MenuItemGroup.prototype._ensureSingleSelection = function() {
|
|
436
|
+
const aItems = this.getItems(),
|
|
437
|
+
aSelectedItems = aItems.map((item) => item.getSelected()),
|
|
438
|
+
iSelectedItemIndex = aSelectedItems.lastIndexOf(true);
|
|
439
|
+
|
|
440
|
+
this._clearSelectedItems();
|
|
441
|
+
if (iSelectedItemIndex !== -1) {
|
|
442
|
+
aItems[iSelectedItemIndex].setSelected(true);
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
return MenuItemGroup;
|
|
447
|
+
|
|
448
|
+
});
|
|
@@ -23,6 +23,9 @@ sap.ui.define([
|
|
|
23
23
|
// shortcut for sap.m.ListType
|
|
24
24
|
var ListType = library.ListType;
|
|
25
25
|
|
|
26
|
+
// shortcut for sap.ui.core.ItemSelectionMode
|
|
27
|
+
var ItemSelectionMode = coreLibrary.ItemSelectionMode;
|
|
28
|
+
|
|
26
29
|
/**
|
|
27
30
|
* Constructor for a new <code>MenuListItem</code>.
|
|
28
31
|
*
|
|
@@ -34,7 +37,7 @@ sap.ui.define([
|
|
|
34
37
|
* @extends sap.m.ListItemBase
|
|
35
38
|
*
|
|
36
39
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
40
|
+
* @version 1.128.0
|
|
38
41
|
*
|
|
39
42
|
* @constructor
|
|
40
43
|
* @private
|
|
@@ -67,6 +70,11 @@ sap.ui.define([
|
|
|
67
70
|
*/
|
|
68
71
|
iconDensityAware : {type : "boolean", group : "Misc", defaultValue : true},
|
|
69
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Defines the selection mode of the child items (e.g. <code>None</code>, <code>SingleSelect</code>, <code>MultiSelect</code>)
|
|
75
|
+
*/
|
|
76
|
+
itemSelectionMode : {type : "sap.ui.core.ItemSelectionMode", group : "Behavior", defaultValue : ItemSelectionMode.None},
|
|
77
|
+
|
|
70
78
|
/**
|
|
71
79
|
* Defines the <code>title</code> text directionality with enumerated options. By default, the control inherits text direction from the DOM.
|
|
72
80
|
*/
|
|
@@ -79,6 +87,12 @@ sap.ui.define([
|
|
|
79
87
|
startsSection : {type : "boolean", group : "Behavior", defaultValue : false}
|
|
80
88
|
},
|
|
81
89
|
associations: {
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* MenuItemGroup associated with this item.
|
|
93
|
+
*/
|
|
94
|
+
_group : {type : "sap.ui.unified.MenuItemGroup", group : "Behavior", visibility : "hidden"},
|
|
95
|
+
|
|
82
96
|
/**
|
|
83
97
|
* The <code>MenuItem</code> that this control renders.
|
|
84
98
|
* Used internally in sap.m.Menu.
|
|
@@ -156,7 +170,7 @@ sap.ui.define([
|
|
|
156
170
|
};
|
|
157
171
|
|
|
158
172
|
MenuListItem.prototype._hasSubItems = function() {
|
|
159
|
-
return !!(this.getMenuItem() && Element.getElementById(this.getMenuItem()).
|
|
173
|
+
return !!(this.getMenuItem() && Element.getElementById(this.getMenuItem())._getItems().length);
|
|
160
174
|
};
|
|
161
175
|
|
|
162
176
|
MenuListItem.prototype.setProperty = function(sPropertyKey, vPropertyValue) {
|
|
@@ -167,6 +181,35 @@ sap.ui.define([
|
|
|
167
181
|
}
|
|
168
182
|
};
|
|
169
183
|
|
|
184
|
+
MenuListItem.prototype._getMenuItemGroup = function() {
|
|
185
|
+
return Element.getElementById(this.getAssociation("_group"));
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
MenuListItem.prototype._getItemSelectionMode = function() {
|
|
189
|
+
var oGroup = this._getMenuItemGroup();
|
|
190
|
+
return oGroup ? oGroup.getItemSelectionMode() : ItemSelectionMode.None;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
MenuListItem.prototype._hasGroupSeparator = function() {
|
|
194
|
+
var oMenuItem = Element.getElementById(this.getMenuItem()),
|
|
195
|
+
oMenuItemParent = oMenuItem && oMenuItem.getParent(),
|
|
196
|
+
aItems,
|
|
197
|
+
iIndex;
|
|
198
|
+
|
|
199
|
+
if (!oMenuItemParent) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (oMenuItemParent.getItemSelectionMode) {
|
|
204
|
+
oMenuItemParent = oMenuItemParent.getParent();
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
aItems = oMenuItemParent._getItems();
|
|
208
|
+
iIndex = aItems.indexOf(oMenuItem);
|
|
209
|
+
|
|
210
|
+
return iIndex > 0 && aItems[iIndex - 1] && aItems[iIndex - 1].getAssociation("_group") !== oMenuItem.getAssociation("_group");
|
|
211
|
+
};
|
|
212
|
+
|
|
170
213
|
return MenuListItem;
|
|
171
214
|
});
|
|
172
215
|
|
|
@@ -14,6 +14,9 @@ sap.ui.define(['./ListItemBaseRenderer', 'sap/ui/core/Renderer', 'sap/m/library'
|
|
|
14
14
|
// shortcut for sap.m.ListType
|
|
15
15
|
var ListType = library.ListType;
|
|
16
16
|
|
|
17
|
+
// shortcut for sap.ui.core.ItemSelectionMode
|
|
18
|
+
var ItemSelectionMode = coreLibrary.ItemSelectionMode;
|
|
19
|
+
|
|
17
20
|
/**
|
|
18
21
|
* <code>MenuListItem</code> renderer.
|
|
19
22
|
* @namespace
|
|
@@ -23,31 +26,25 @@ sap.ui.define(['./ListItemBaseRenderer', 'sap/ui/core/Renderer', 'sap/m/library'
|
|
|
23
26
|
MenuListItemRenderer.apiVersion = 2;
|
|
24
27
|
|
|
25
28
|
/**
|
|
26
|
-
* Renders
|
|
27
|
-
*
|
|
28
|
-
* @param {sap.ui.core.RenderManager} rm The RenderManager that can be used for writing to the Render-Output-Buffer
|
|
29
|
-
* @param {sap.m.MenuListItem} oLI an object representation of the control that should be rendered
|
|
30
|
-
* @protected
|
|
29
|
+
* Renders separator between two items.
|
|
30
|
+
* @param {sap.ui.core.RenderManager} rm the RenderManager that can be used for writing to the Render-Output-Buffer
|
|
31
31
|
*/
|
|
32
|
-
MenuListItemRenderer.
|
|
33
|
-
if (oLI.getStartsSection()) {
|
|
34
|
-
rm.openStart("li");
|
|
35
|
-
rm.attr("role", "separator");
|
|
36
|
-
rm.class("sapUiMnuDiv");
|
|
37
|
-
rm.openEnd();
|
|
38
|
-
rm.openStart("div");
|
|
39
|
-
rm.class("sapUiMnuDivL");
|
|
40
|
-
rm.openEnd();
|
|
41
|
-
rm.close("div");
|
|
42
|
-
rm.voidStart("hr").voidEnd();
|
|
43
|
-
rm.openStart("div");
|
|
44
|
-
rm.class("sapUiMnuDivR");
|
|
45
|
-
rm.openEnd();
|
|
46
|
-
rm.close("div");
|
|
47
|
-
rm.close("li");
|
|
48
|
-
}
|
|
32
|
+
MenuListItemRenderer.renderSeparator = function(rm, oLI) {
|
|
49
33
|
|
|
50
|
-
|
|
34
|
+
rm.openStart("li");
|
|
35
|
+
rm.attr("role", "separator");
|
|
36
|
+
rm.class("sapUiMnuDiv");
|
|
37
|
+
rm.openEnd();
|
|
38
|
+
rm.openStart("div");
|
|
39
|
+
rm.class("sapUiMnuDivL");
|
|
40
|
+
rm.openEnd();
|
|
41
|
+
rm.close("div");
|
|
42
|
+
rm.voidStart("hr").voidEnd();
|
|
43
|
+
rm.openStart("div");
|
|
44
|
+
rm.class("sapUiMnuDivR");
|
|
45
|
+
rm.openEnd();
|
|
46
|
+
rm.close("div");
|
|
47
|
+
rm.close("li");
|
|
51
48
|
};
|
|
52
49
|
|
|
53
50
|
/**
|
|
@@ -83,6 +80,10 @@ sap.ui.define(['./ListItemBaseRenderer', 'sap/ui/core/Renderer', 'sap/m/library'
|
|
|
83
80
|
MenuListItemRenderer.renderLIContent = function(rm, oLI) {
|
|
84
81
|
var sTextDir = oLI.getTitleTextDirection();
|
|
85
82
|
|
|
83
|
+
if (oLI.getStartsSection() || oLI._hasGroupSeparator()) {
|
|
84
|
+
MenuListItemRenderer.renderSeparator(rm, oLI);
|
|
85
|
+
}
|
|
86
|
+
|
|
86
87
|
// image
|
|
87
88
|
rm.openStart("div");
|
|
88
89
|
rm.class("sapMMenuLIImgThumbWrapper");
|
|
@@ -127,9 +128,44 @@ sap.ui.define(['./ListItemBaseRenderer', 'sap/ui/core/Renderer', 'sap/m/library'
|
|
|
127
128
|
// arrow right if there is a sub-menu
|
|
128
129
|
if (oLI._hasSubItems()) {
|
|
129
130
|
rm.renderControl(oLI._getIconArrowRight());
|
|
131
|
+
} else if (oLI._getItemSelectionMode() !== ItemSelectionMode.None && oLI.getProperty("selected")) {
|
|
132
|
+
rm.openStart("div", oLI.getId() + "-sel");
|
|
133
|
+
rm.class("sapMMenuLISel");
|
|
134
|
+
rm.openEnd();
|
|
135
|
+
rm.close("div");
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
MenuListItemRenderer.getAccessibilityState = function(oLI) {
|
|
141
|
+
var mAccessibilityState = ListItemBaseRenderer.getAccessibilityState(oLI),
|
|
142
|
+
sRole;
|
|
143
|
+
|
|
144
|
+
if (oLI._getItemSelectionMode() !== ItemSelectionMode.None && oLI.getProperty("selected")) {
|
|
145
|
+
mAccessibilityState.checked = true;
|
|
146
|
+
mAccessibilityState.selected = null;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
switch (oLI._getItemSelectionMode()) {
|
|
150
|
+
case ItemSelectionMode.SingleSelect:
|
|
151
|
+
sRole = "menuitemradio";
|
|
152
|
+
break;
|
|
153
|
+
case ItemSelectionMode.MultiSelect:
|
|
154
|
+
sRole = "menuitemcheckbox";
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
sRole = "menuitem";
|
|
130
158
|
}
|
|
159
|
+
|
|
160
|
+
mAccessibilityState.role = sRole;
|
|
161
|
+
|
|
162
|
+
return mAccessibilityState;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
MenuListItemRenderer.getAriaRole = function(oLI) {
|
|
131
166
|
};
|
|
132
167
|
|
|
168
|
+
|
|
133
169
|
return MenuListItemRenderer;
|
|
134
170
|
}, /* bExport= */ true);
|
|
135
171
|
|