@openui5/sap.m 1.98.0 → 1.101.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/.eslintrc.json +18 -0
- package/THIRDPARTY.txt +6 -6
- 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 +2 -2
- package/src/sap/m/ActionListItemRenderer.js +5 -7
- package/src/sap/m/ActionSelect.js +1 -1
- package/src/sap/m/ActionSelectRenderer.js +1 -1
- package/src/sap/m/ActionSheet.js +12 -5
- package/src/sap/m/ActionSheetRenderer.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 +21 -4
- package/src/sap/m/AvatarRenderer.js +6 -1
- package/src/sap/m/BadgeCustomData.js +6 -4
- package/src/sap/m/BadgeEnabler.js +3 -2
- package/src/sap/m/Bar.js +6 -5
- package/src/sap/m/BarRenderer.js +6 -6
- package/src/sap/m/Breadcrumbs.js +81 -7
- package/src/sap/m/BreadcrumbsRenderer.js +3 -7
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/BusyIndicatorRenderer.js +1 -1
- package/src/sap/m/Button.js +2 -2
- package/src/sap/m/ButtonRenderer.js +3 -3
- package/src/sap/m/Carousel.js +22 -17
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CarouselRenderer.js +10 -4
- package/src/sap/m/CheckBox.js +2 -4
- package/src/sap/m/CheckBoxRenderer.js +1 -1
- package/src/sap/m/ColorPalette.js +1 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +1 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- package/src/sap/m/ColumnListItemRenderer.js +10 -11
- 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 +3 -2
- package/src/sap/m/ComboBoxBase.js +5 -3
- package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
- package/src/sap/m/ComboBoxRenderer.js +4 -4
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
- package/src/sap/m/CustomDynamicDateOption.js +1 -1
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomListItemRenderer.js +4 -6
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTileRenderer.js +2 -2
- package/src/sap/m/CustomTreeItem.js +1 -1
- package/src/sap/m/CustomTreeItemRenderer.js +2 -2
- package/src/sap/m/DatePicker.js +36 -7
- package/src/sap/m/DatePickerRenderer.js +1 -6
- package/src/sap/m/DateRangeSelection.js +42 -4
- package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
- package/src/sap/m/DateTimeField.js +15 -6
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +375 -89
- package/src/sap/m/DateTimePickerRenderer.js +57 -0
- package/src/sap/m/Dialog.js +20 -7
- package/src/sap/m/DialogRenderer.js +1 -1
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DisplayListItemRenderer.js +4 -6
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DraftIndicatorRenderer.js +1 -1
- package/src/sap/m/DynamicDate.js +3 -3
- package/src/sap/m/DynamicDateFormat.js +33 -1
- package/src/sap/m/DynamicDateOption.js +144 -9
- package/src/sap/m/DynamicDateRange.js +145 -49
- package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
- package/src/sap/m/DynamicDateUtil.js +10 -3
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +1 -1
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterItemRenderer.js +1 -1
- package/src/sap/m/FacetFilterList.js +7 -5
- package/src/sap/m/FacetFilterRenderer.js +10 -10
- package/src/sap/m/FeedContent.js +2 -2
- package/src/sap/m/FeedInput.js +2 -2
- package/src/sap/m/FeedInputRenderer.js +1 -1
- package/src/sap/m/FeedListItem.js +7 -7
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/FeedListItemRenderer.js +12 -7
- package/src/sap/m/Fiori20Adapter.js +2 -2
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +4 -1
- package/src/sap/m/GenericTag.js +5 -3
- package/src/sap/m/GenericTagRenderer.js +13 -5
- package/src/sap/m/GenericTile.js +62 -16
- package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
- package/src/sap/m/GenericTileRenderer.js +89 -42
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
- package/src/sap/m/GrowingEnablement.js +53 -3
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HBoxRenderer.js +1 -1
- package/src/sap/m/HeaderContainer.js +87 -16
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/HeaderContainerRenderer.js +1 -1
- package/src/sap/m/HyphenationSupport.js +1 -5
- package/src/sap/m/IconTabBar.js +2 -2
- package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
- package/src/sap/m/IconTabBarSelectList.js +3 -5
- package/src/sap/m/IconTabFilter.js +1 -1
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +9 -13
- package/src/sap/m/IconTabHeaderRenderer.js +1 -1
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +29 -8
- package/src/sap/m/IllustratedMessageRenderer.js +5 -5
- package/src/sap/m/IllustratedMessageType.js +26 -2
- package/src/sap/m/Illustration.js +1 -1
- package/src/sap/m/IllustrationRenderer.js +4 -2
- package/src/sap/m/Image.js +1 -1
- package/src/sap/m/ImageContent.js +2 -2
- package/src/sap/m/ImageRenderer.js +1 -1
- package/src/sap/m/Input.js +13 -23
- package/src/sap/m/InputBase.js +6 -8
- package/src/sap/m/InputBaseRenderer.js +53 -39
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/InputListItemRenderer.js +4 -6
- package/src/sap/m/InputRenderer.js +12 -9
- package/src/sap/m/Label.js +3 -3
- package/src/sap/m/LabelRenderer.js +2 -2
- package/src/sap/m/LightBox.js +5 -5
- package/src/sap/m/LightBoxItem.js +2 -3
- package/src/sap/m/LightBoxRenderer.js +1 -1
- package/src/sap/m/Link.js +2 -2
- package/src/sap/m/LinkRenderer.js +1 -1
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +50 -10
- package/src/sap/m/ListBaseRenderer.js +38 -24
- package/src/sap/m/ListItemBase.js +4 -3
- package/src/sap/m/ListItemBaseRenderer.js +23 -23
- package/src/sap/m/MaskEnabler.js +11 -11
- package/src/sap/m/MaskInput.js +9 -1
- package/src/sap/m/MaskInputRenderer.js +9 -43
- package/src/sap/m/MaskInputRule.js +5 -5
- package/src/sap/m/Menu.js +1 -1
- package/src/sap/m/MenuButton.js +5 -1
- package/src/sap/m/MenuButtonRenderer.js +1 -1
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MenuListItemRenderer.js +2 -2
- package/src/sap/m/MessageBox.js +1 -1
- package/src/sap/m/MessageItem.js +1 -1
- package/src/sap/m/MessageListItem.js +1 -1
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePageRenderer.js +1 -1
- package/src/sap/m/MessagePopover.js +19 -34
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessagePopoverRenderer.js +1 -1
- package/src/sap/m/MessageStrip.js +2 -2
- package/src/sap/m/MessageStripRenderer.js +1 -1
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +3 -3
- package/src/sap/m/MultiComboBox.js +6 -4
- package/src/sap/m/MultiComboBoxRenderer.js +4 -4
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +44 -27
- package/src/sap/m/NavContainer.js +53 -53
- package/src/sap/m/NavContainerRenderer.js +1 -1
- package/src/sap/m/NewsContent.js +2 -2
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +1 -1
- package/src/sap/m/NotificationListGroup.js +1 -1
- package/src/sap/m/NotificationListGroupRenderer.js +1 -1
- package/src/sap/m/NotificationListItem.js +1 -1
- package/src/sap/m/NotificationListItemRenderer.js +1 -1
- package/src/sap/m/NotificationListRenderer.js +2 -2
- package/src/sap/m/NumericContent.js +30 -22
- package/src/sap/m/NumericContentRenderer.js +10 -10
- package/src/sap/m/NumericInput.js +3 -2
- package/src/sap/m/NumericInputRenderer.js +13 -1
- package/src/sap/m/ObjectAttribute.js +4 -5
- package/src/sap/m/ObjectAttributeRenderer.js +3 -3
- package/src/sap/m/ObjectHeader.js +20 -7
- package/src/sap/m/ObjectHeaderRenderer.js +3 -3
- package/src/sap/m/ObjectIdentifier.js +3 -3
- package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
- package/src/sap/m/ObjectListItem.js +1 -1
- package/src/sap/m/ObjectListItemRenderer.js +2 -2
- package/src/sap/m/ObjectMarker.js +35 -11
- package/src/sap/m/ObjectMarkerRenderer.js +15 -3
- package/src/sap/m/ObjectNumber.js +1 -1
- package/src/sap/m/ObjectNumberRenderer.js +1 -2
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/ObjectStatusRenderer.js +4 -5
- package/src/sap/m/OverflowToolbar.js +23 -3
- package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.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 +2 -2
- 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 +3 -3
- 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 +4 -3
- package/src/sap/m/PDFViewerRenderer.js +15 -7
- package/src/sap/m/Page.js +1 -1
- 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/PanelRenderer.js +1 -1
- package/src/sap/m/PlanningCalendar.js +16 -15
- package/src/sap/m/PlanningCalendarHeader.js +1 -4
- package/src/sap/m/PlanningCalendarLegend.js +1 -1
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -1
- package/src/sap/m/Popover.js +25 -9
- package/src/sap/m/PopoverRenderer.js +1 -1
- package/src/sap/m/ProgressIndicator.js +3 -3
- package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/PullToRefreshRenderer.js +2 -2
- 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/QuickViewCardRenderer.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 +5 -2
- package/src/sap/m/QuickViewPageRenderer.js +1 -1
- package/src/sap/m/RadioButton.js +1 -1
- package/src/sap/m/RadioButtonGroup.js +14 -2
- package/src/sap/m/RadioButtonRenderer.js +1 -2
- package/src/sap/m/RangeSlider.js +17 -6
- package/src/sap/m/RangeSliderRenderer.js +5 -5
- package/src/sap/m/RatingIndicator.js +2 -2
- package/src/sap/m/RatingIndicatorRenderer.js +1 -1
- package/src/sap/m/ResponsivePopover.js +3 -5
- package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +3 -3
- package/src/sap/m/ScrollBarRenderer.js +1 -1
- package/src/sap/m/ScrollContainer.js +1 -1
- package/src/sap/m/ScrollContainerRenderer.js +1 -1
- package/src/sap/m/SearchField.js +2 -2
- package/src/sap/m/SegmentedButton.js +17 -7
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/SegmentedButtonRenderer.js +2 -2
- package/src/sap/m/Select.js +36 -6
- package/src/sap/m/SelectDialog.js +4 -4
- package/src/sap/m/SelectDialogBase.js +1 -1
- package/src/sap/m/SelectList.js +4 -3
- package/src/sap/m/SelectListRenderer.js +5 -5
- package/src/sap/m/SelectRenderer.js +5 -5
- package/src/sap/m/SelectionDetails.js +3 -5
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +1 -1
- package/src/sap/m/SelectionDetailsItemLine.js +3 -3
- package/src/sap/m/SelectionDetailsRenderer.js +1 -1
- package/src/sap/m/Shell.js +1 -1
- package/src/sap/m/ShellRenderer.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +21 -2
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +118 -67
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +16 -14
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
- 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 +2 -2
- package/src/sap/m/SlideTileRenderer.js +9 -2
- package/src/sap/m/Slider.js +1 -1
- package/src/sap/m/SliderRenderer.js +9 -9
- package/src/sap/m/SliderTooltip.js +3 -3
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
- package/src/sap/m/SliderTooltipContainer.js +6 -2
- package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
- package/src/sap/m/SliderTooltipRenderer.js +1 -1
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +3 -1
- package/src/sap/m/SplitButtonRenderer.js +1 -1
- package/src/sap/m/SplitContainer.js +24 -31
- package/src/sap/m/StandardDynamicDateOption.js +154 -12
- package/src/sap/m/StandardListItem.js +1 -1
- package/src/sap/m/StandardListItemRenderer.js +8 -8
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTileRenderer.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +4 -4
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +7 -22
- package/src/sap/m/Switch.js +1 -1
- package/src/sap/m/SwitchRenderer.js +3 -3
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -3
- package/src/sap/m/TabContainerRenderer.js +2 -2
- package/src/sap/m/TabStrip.js +2 -2
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/TabStripRenderer.js +2 -2
- package/src/sap/m/Table.js +41 -9
- 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 +10 -5
- package/src/sap/m/TableSelectDialog.js +19 -19
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/TextAreaRenderer.js +1 -1
- package/src/sap/m/Tile.js +3 -3
- package/src/sap/m/TileContainer.js +6 -4
- package/src/sap/m/TileContainerRenderer.js +1 -1
- package/src/sap/m/TileContent.js +37 -5
- package/src/sap/m/TileContentRenderer.js +43 -6
- package/src/sap/m/TileRenderer.js +2 -2
- package/src/sap/m/TimePicker.js +4 -56
- package/src/sap/m/TimePickerClock.js +5 -6
- package/src/sap/m/TimePickerClockRenderer.js +1 -1
- package/src/sap/m/TimePickerClocks.js +6 -5
- package/src/sap/m/TimePickerClocksRenderer.js +3 -3
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInputsRenderer.js +1 -1
- package/src/sap/m/TimePickerInternals.js +8 -6
- package/src/sap/m/TimePickerRenderer.js +5 -17
- package/src/sap/m/TimePickerSlider.js +2 -2
- package/src/sap/m/TimePickerSliderRenderer.js +2 -2
- package/src/sap/m/TimePickerSliders.js +7 -5
- package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
- package/src/sap/m/Title.js +1 -5
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/TitleRenderer.js +2 -2
- package/src/sap/m/ToggleButton.js +1 -1
- package/src/sap/m/Token.js +1 -2
- package/src/sap/m/TokenRenderer.js +21 -3
- package/src/sap/m/Tokenizer.js +8 -8
- package/src/sap/m/TokenizerRenderer.js +41 -7
- package/src/sap/m/Toolbar.js +5 -5
- package/src/sap/m/ToolbarLayoutData.js +1 -1
- package/src/sap/m/ToolbarRenderer.js +3 -3
- package/src/sap/m/ToolbarSeparator.js +5 -3
- package/src/sap/m/ToolbarSpacer.js +1 -1
- package/src/sap/m/Tree.js +1 -1
- package/src/sap/m/TreeItemBase.js +6 -6
- package/src/sap/m/TreeItemBaseRenderer.js +2 -2
- package/src/sap/m/TreeRenderer.js +2 -2
- package/src/sap/m/UploadCollection.js +5 -3
- package/src/sap/m/UploadCollectionItem.js +1 -1
- package/src/sap/m/UploadCollectionParameter.js +1 -1
- package/src/sap/m/UploadCollectionRenderer.js +2 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/VBoxRenderer.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +118 -61
- package/src/sap/m/ViewSettingsDialogRenderer.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 +2 -2
- package/src/sap/m/WheelSlider.js +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
- package/src/sap/m/WheelSliderRenderer.js +2 -2
- package/src/sap/m/Wizard.js +22 -4
- package/src/sap/m/WizardProgressNavigator.js +10 -3
- 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 +5 -5
- package/src/sap/m/delegate/DateNavigation.js +2 -2
- package/src/sap/m/designtime/ListBase.designtime.js +29 -0
- package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
- package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
- package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
- package/src/sap/m/inputUtils/typeAhead.js +7 -7
- package/src/sap/m/library.js +74 -38
- package/src/sap/m/messagebundle.properties +80 -20
- package/src/sap/m/messagebundle_ar.properties +48 -14
- package/src/sap/m/messagebundle_bg.properties +77 -43
- package/src/sap/m/messagebundle_ca.properties +48 -14
- package/src/sap/m/messagebundle_cs.properties +50 -16
- package/src/sap/m/messagebundle_cy.properties +48 -14
- package/src/sap/m/messagebundle_da.properties +49 -15
- package/src/sap/m/messagebundle_de.properties +49 -15
- package/src/sap/m/messagebundle_el.properties +53 -19
- package/src/sap/m/messagebundle_en.properties +46 -12
- package/src/sap/m/messagebundle_en_GB.properties +46 -12
- package/src/sap/m/messagebundle_en_US_sappsd.properties +48 -12
- package/src/sap/m/messagebundle_en_US_saprigi.properties +291 -66
- package/src/sap/m/messagebundle_en_US_saptrc.properties +46 -12
- package/src/sap/m/messagebundle_es.properties +48 -14
- package/src/sap/m/messagebundle_es_MX.properties +48 -14
- package/src/sap/m/messagebundle_et.properties +48 -14
- package/src/sap/m/messagebundle_fi.properties +49 -15
- package/src/sap/m/messagebundle_fr.properties +61 -27
- package/src/sap/m/messagebundle_fr_CA.properties +47 -13
- package/src/sap/m/messagebundle_hi.properties +46 -12
- package/src/sap/m/messagebundle_hr.properties +48 -14
- package/src/sap/m/messagebundle_hu.properties +49 -15
- package/src/sap/m/messagebundle_id.properties +48 -14
- package/src/sap/m/messagebundle_it.properties +55 -21
- package/src/sap/m/messagebundle_iw.properties +48 -14
- package/src/sap/m/messagebundle_ja.properties +51 -17
- package/src/sap/m/messagebundle_kk.properties +48 -14
- package/src/sap/m/messagebundle_ko.properties +48 -14
- package/src/sap/m/messagebundle_lt.properties +48 -14
- package/src/sap/m/messagebundle_lv.properties +48 -14
- package/src/sap/m/messagebundle_ms.properties +47 -13
- package/src/sap/m/messagebundle_nl.properties +48 -14
- package/src/sap/m/messagebundle_no.properties +48 -14
- package/src/sap/m/messagebundle_pl.properties +48 -14
- package/src/sap/m/messagebundle_pt.properties +71 -37
- package/src/sap/m/messagebundle_pt_PT.properties +49 -15
- package/src/sap/m/messagebundle_ro.properties +48 -14
- package/src/sap/m/messagebundle_ru.properties +48 -14
- package/src/sap/m/messagebundle_sh.properties +48 -14
- package/src/sap/m/messagebundle_sk.properties +48 -14
- package/src/sap/m/messagebundle_sl.properties +48 -14
- package/src/sap/m/messagebundle_sv.properties +49 -15
- package/src/sap/m/messagebundle_th.properties +55 -21
- package/src/sap/m/messagebundle_tr.properties +48 -14
- package/src/sap/m/messagebundle_uk.properties +48 -14
- package/src/sap/m/messagebundle_vi.properties +47 -13
- package/src/sap/m/messagebundle_zh_CN.properties +48 -14
- package/src/sap/m/messagebundle_zh_TW.properties +47 -13
- package/src/sap/m/p13n/AbstractContainer.js +15 -8
- package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
- package/src/sap/m/p13n/BasePanel.js +39 -20
- package/src/sap/m/p13n/Container.js +20 -14
- package/src/sap/m/p13n/GroupPanel.js +6 -5
- package/src/sap/m/p13n/Popup.js +9 -2
- package/src/sap/m/p13n/QueryPanel.js +93 -30
- package/src/sap/m/p13n/SelectionPanel.js +16 -8
- package/src/sap/m/p13n/SortPanel.js +9 -6
- package/src/sap/m/plugins/ColumnResizer.js +38 -9
- 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/rules/Breadcrumbs.support.js +1 -1
- package/src/sap/m/rules/MessagePage.support.js +1 -1
- package/src/sap/m/rules/Tokenizer.support.js +4 -2
- 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 +7 -14
- 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 +2 -2
- 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/Util.js +104 -23
- package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
- package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
- package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
- package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
- package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
- package/src/sap/m/table/columnmenu/Menu.js +556 -0
- package/src/sap/m/table/columnmenu/MenuRenderer.js +57 -0
- package/src/sap/m/table/columnmenu/QuickAction.js +65 -0
- package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
- package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
- package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
- package/src/sap/m/table/columnmenu/QuickGroup.js +146 -0
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +59 -0
- package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
- package/src/sap/m/table/columnmenu/QuickSortItem.js +118 -0
- package/src/sap/m/table/columnmenu/QuickTotal.js +157 -0
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +59 -0
- package/src/sap/m/themes/base/AbstractContainer.less +2 -3
- package/src/sap/m/themes/base/Avatar.less +11 -5
- package/src/sap/m/themes/base/Button.less +2 -2
- package/src/sap/m/themes/base/Carousel.less +5 -0
- package/src/sap/m/themes/base/CheckBox.less +0 -5
- package/src/sap/m/themes/base/ColumnMenu.less +17 -13
- package/src/sap/m/themes/base/DatePicker.less +7 -2
- package/src/sap/m/themes/base/DateTimePicker.less +147 -1
- package/src/sap/m/themes/base/Dialog.less +4 -6
- package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
- package/src/sap/m/themes/base/FeedListItem.less +1 -1
- package/src/sap/m/themes/base/GenericTile.less +418 -55
- package/src/sap/m/themes/base/HeaderContainer.less +25 -0
- package/src/sap/m/themes/base/IconTabBar.less +45 -14
- package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
- package/src/sap/m/themes/base/Input.less +1 -1
- package/src/sap/m/themes/base/InputBase.less +112 -10
- package/src/sap/m/themes/base/Label.less +4 -1
- package/src/sap/m/themes/base/Link.less +12 -4
- package/src/sap/m/themes/base/ListBase.less +4 -0
- package/src/sap/m/themes/base/MenuButton.less +4 -4
- package/src/sap/m/themes/base/MessageToast.less +2 -2
- package/src/sap/m/themes/base/MultiInput.less +1 -1
- package/src/sap/m/themes/base/NewsContent.less +7 -0
- package/src/sap/m/themes/base/NumericContent.less +1 -5
- package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
- package/src/sap/m/themes/base/ObjectMarker.less +3 -1
- package/src/sap/m/themes/base/ObjectStatus.less +5 -0
- package/src/sap/m/themes/base/Page.less +1 -1
- package/src/sap/m/themes/base/Popover.less +10 -7
- package/src/sap/m/themes/base/RadioButton.less +22 -3
- package/src/sap/m/themes/base/SearchField.less +23 -59
- package/src/sap/m/themes/base/SplitButton.less +5 -0
- package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
- package/src/sap/m/themes/base/TextArea.less +27 -0
- package/src/sap/m/themes/base/TileContent.less +45 -1
- package/src/sap/m/themes/base/Token.less +14 -13
- package/src/sap/m/themes/base/Tokenizer.less +2 -2
- package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
- package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
- package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
- package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
- package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
- package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
- package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
- package/src/sap/m/themes/sap_hcb/Token.less +4 -0
- package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
- package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
- package/src/sap/m/upload/UploadSet.js +421 -59
- package/src/sap/m/upload/UploadSetItem.js +77 -8
- package/src/sap/m/upload/UploadSetRenderer.js +1 -1
- package/src/sap/m/table/ColumnMenu.js +0 -378
- package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
- package/src/sap/m/table/QuickAction.js +0 -53
- package/src/sap/m/table/QuickActionBase.js +0 -53
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
|
@@ -4,34 +4,33 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
|
-
"sap/m/table/
|
|
7
|
+
"sap/m/table/columnmenu/Entry"
|
|
8
8
|
], function(
|
|
9
|
-
|
|
9
|
+
Entry
|
|
10
10
|
) {
|
|
11
11
|
"use strict";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Constructor for a new ItemBase.
|
|
15
15
|
*
|
|
16
|
-
* @param {string} [sId] ID for the new
|
|
17
|
-
* @param {object} [mSettings] Initial settings for the new
|
|
16
|
+
* @param {string} [sId] ID for the new ItemBase, generated automatically if no ID is given
|
|
17
|
+
* @param {object} [mSettings] Initial settings for the new ItemBase
|
|
18
18
|
*
|
|
19
19
|
* @class
|
|
20
|
-
* The ItemBase
|
|
21
|
-
* This base class is faceless and should be inherited by
|
|
22
|
-
* for the sap.m.table.ColumnMenu.
|
|
20
|
+
* The ItemBase serves as a base class for menu items for the sap.m.table.columnmenu.Menu.
|
|
21
|
+
* This base class is faceless and should be inherited by menu items for the sap.m.table.columnmenu.Menu.
|
|
23
22
|
*
|
|
24
|
-
* @extends sap.m.table.
|
|
23
|
+
* @extends sap.m.table.columnmenu.Entry
|
|
25
24
|
*
|
|
26
25
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
26
|
+
* @version 1.101.0
|
|
28
27
|
*
|
|
29
28
|
* @private
|
|
30
29
|
* @experimental
|
|
31
30
|
*
|
|
32
|
-
* @alias sap.m.table.ItemBase
|
|
31
|
+
* @alias sap.m.table.columnmenu.ItemBase
|
|
33
32
|
*/
|
|
34
|
-
var ItemBase =
|
|
33
|
+
var ItemBase = Entry.extend("sap.m.table.columnmenu.ItemBase", {
|
|
35
34
|
metadata: {
|
|
36
35
|
"abstract": true,
|
|
37
36
|
library: "sap.m"
|
|
@@ -50,7 +49,7 @@ sap.ui.define([
|
|
|
50
49
|
* This method can be used to retrieve the effective items of the item.
|
|
51
50
|
*
|
|
52
51
|
* This method allows subclasses to return composition of other items, if they contain multiple items or controls.
|
|
53
|
-
* @returns {
|
|
52
|
+
* @returns {sap.m.table.columnmenu.ItemBase[]} A composition of effective items
|
|
54
53
|
*
|
|
55
54
|
* @protected
|
|
56
55
|
*/
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 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/table/columnmenu/ItemBase"
|
|
8
|
+
], function(
|
|
9
|
+
ItemBase
|
|
10
|
+
) {
|
|
11
|
+
"use strict";
|
|
12
|
+
|
|
13
|
+
var ItemContainer = ItemBase.extend("sap.m.table.columnmenu.ItemContainer", {
|
|
14
|
+
metadata: {
|
|
15
|
+
library: "sap.m",
|
|
16
|
+
aggregations: {
|
|
17
|
+
items: {type: "sap.m.table.columnmenu.ItemBase"}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
ItemContainer.prototype.getEffectiveItems = function() {
|
|
23
|
+
return this.getItems().reduce(function(aItems, oItem) {
|
|
24
|
+
return aItems.concat(oItem.getEffectiveItems());
|
|
25
|
+
}, []);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
return ItemContainer;
|
|
29
|
+
});
|
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 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/ResponsivePopover",
|
|
8
|
+
"sap/m/Button",
|
|
9
|
+
"sap/m/Toolbar",
|
|
10
|
+
"sap/m/ToolbarSpacer",
|
|
11
|
+
"sap/m/library",
|
|
12
|
+
'sap/ui/Device',
|
|
13
|
+
"sap/ui/core/Control",
|
|
14
|
+
"sap/ui/core/Core",
|
|
15
|
+
"sap/ui/core/library",
|
|
16
|
+
"sap/ui/thirdparty/jquery",
|
|
17
|
+
"sap/ui/dom/containsOrEquals",
|
|
18
|
+
"sap/ui/events/ControlEvents",
|
|
19
|
+
"sap/base/strings/capitalize",
|
|
20
|
+
"sap/m/p13n/AbstractContainerItem",
|
|
21
|
+
"sap/m/p13n/Container",
|
|
22
|
+
"sap/m/table/columnmenu/MenuRenderer",
|
|
23
|
+
"sap/ui/layout/form/Form",
|
|
24
|
+
"sap/ui/layout/GridData",
|
|
25
|
+
"sap/ui/layout/form/ResponsiveGridLayout",
|
|
26
|
+
"sap/ui/layout/form/FormContainer",
|
|
27
|
+
"sap/ui/layout/form/FormElement",
|
|
28
|
+
"sap/m/Label"
|
|
29
|
+
], function (
|
|
30
|
+
ResponsivePopover,
|
|
31
|
+
Button,
|
|
32
|
+
Toolbar,
|
|
33
|
+
ToolbarSpacer,
|
|
34
|
+
library,
|
|
35
|
+
Device,
|
|
36
|
+
Control,
|
|
37
|
+
Core,
|
|
38
|
+
coreLibrary,
|
|
39
|
+
jQuery,
|
|
40
|
+
containsOrEquals,
|
|
41
|
+
ControlEvents,
|
|
42
|
+
capitalize,
|
|
43
|
+
AbstractContainerItem,
|
|
44
|
+
Container,
|
|
45
|
+
MenuRenderer,
|
|
46
|
+
Form,
|
|
47
|
+
GridData,
|
|
48
|
+
ResponsiveGridLayout,
|
|
49
|
+
FormContainer,
|
|
50
|
+
FormElement,
|
|
51
|
+
Label
|
|
52
|
+
) {
|
|
53
|
+
"use strict";
|
|
54
|
+
|
|
55
|
+
// shortcut for sap.ui.core.aria.HasPopup
|
|
56
|
+
var HasPopup = coreLibrary.aria.HasPopup;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Constructor for a new Menu.
|
|
60
|
+
*
|
|
61
|
+
* @param {string} [sId] ID for the new Menu, generated automatically if no ID is given
|
|
62
|
+
* @param {object} [mSettings] Initial settings for the new Menu
|
|
63
|
+
*
|
|
64
|
+
* @class
|
|
65
|
+
* This Menu is a popover, intended to be used by a table.
|
|
66
|
+
* It serves as a entry point for the table personalization via the column headers.
|
|
67
|
+
* The Menu is separated into two sections: quick actions and menu items.
|
|
68
|
+
*
|
|
69
|
+
* The top section of the popover contains contextual quick actions for the column the menu was triggered from.
|
|
70
|
+
* The lower section contains menu items, which consist of generic and global table settings.
|
|
71
|
+
*
|
|
72
|
+
* There are control- and application-specific quick actions and menu items.
|
|
73
|
+
* Applications are able to add their own quick actions, actions and items.
|
|
74
|
+
*
|
|
75
|
+
* @extends sap.ui.core.Control
|
|
76
|
+
*
|
|
77
|
+
* @author SAP SE
|
|
78
|
+
* @version 1.101.0
|
|
79
|
+
*
|
|
80
|
+
* @private
|
|
81
|
+
* @experimental
|
|
82
|
+
*
|
|
83
|
+
* @alias sap.m.table.columnmenu.Menu
|
|
84
|
+
*/
|
|
85
|
+
var Menu = Control.extend("sap.m.table.columnmenu.Menu", {
|
|
86
|
+
metadata: {
|
|
87
|
+
library: "sap.m",
|
|
88
|
+
interfaces: ["sap.ui.core.IColumnHeaderMenu"],
|
|
89
|
+
aggregations: {
|
|
90
|
+
/**
|
|
91
|
+
* Defines the quick actions of the column menu.
|
|
92
|
+
*/
|
|
93
|
+
quickActions: { type: "sap.m.table.columnmenu.QuickActionBase" },
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Defines the items of the column menu.
|
|
97
|
+
*/
|
|
98
|
+
items: { type: "sap.m.table.columnmenu.ItemBase" },
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Defines quick actions that are control-specific.
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
_quickActions: { type: "sap.m.table.columnmenu.QuickActionBase", visibility: "hidden" },
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Defines menu items that are control-specific.
|
|
108
|
+
* @private
|
|
109
|
+
*/
|
|
110
|
+
_items: { type: "sap.m.table.columnmenu.ItemBase", visibility: "hidden" }
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
renderer: MenuRenderer
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
var DEFAULT_KEY = "$default";
|
|
117
|
+
var ARIA_POPUP_TYPE = HasPopup.Dialog;
|
|
118
|
+
var MENU_WIDTH = "500px";
|
|
119
|
+
|
|
120
|
+
Menu.prototype.init = function() {
|
|
121
|
+
this.fAnyEventHandlerProxy = jQuery.proxy(function(oEvent){
|
|
122
|
+
if (!this._oPopover.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this.handleOuterEvent(this.getId(), oEvent);
|
|
126
|
+
}, this);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
Menu.prototype.applySettings = function (mSettings) {
|
|
130
|
+
// Only works in JS views, but that's fine. This is only convenience for controls.
|
|
131
|
+
if (mSettings) {
|
|
132
|
+
this._addAllToPrivateAggregation(mSettings, "_quickActions");
|
|
133
|
+
this._addAllToPrivateAggregation(mSettings, "_items");
|
|
134
|
+
}
|
|
135
|
+
Control.prototype.applySettings.apply(this, arguments);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Opens the popover at the specified target.
|
|
140
|
+
*
|
|
141
|
+
* @param {sap.ui.core.Control | HTMLElement} oAnchor This is the control or HTMLElement, where the popover will be placed at.
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
Menu.prototype.openBy = function(oAnchor) {
|
|
145
|
+
if (!this.getParent()) {
|
|
146
|
+
Core.getUIArea(Core.getStaticAreaRef()).addContent(this, true);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
this._initPopover();
|
|
150
|
+
this._createQuickActionGrids();
|
|
151
|
+
|
|
152
|
+
if (!this._oItemsContainer) {
|
|
153
|
+
this._initItemsContainer();
|
|
154
|
+
}
|
|
155
|
+
this._oPopover.openBy(oAnchor);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Returns the <code>sap.ui.core.aria.HasPopup<\code> type of the menu.
|
|
160
|
+
*
|
|
161
|
+
* @returns {sap.ui.core.aria.HasPopup} <code>sap.ui.core.aria.HasPopup<\code> type of the menu
|
|
162
|
+
* @public
|
|
163
|
+
* @since 1.98.0
|
|
164
|
+
*/
|
|
165
|
+
Menu.prototype.getAriaHasPopupType = function () {
|
|
166
|
+
return ARIA_POPUP_TYPE;
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Closes the popover.
|
|
171
|
+
*
|
|
172
|
+
* @public
|
|
173
|
+
*/
|
|
174
|
+
Menu.prototype.close = function () {
|
|
175
|
+
this._previousView = null;
|
|
176
|
+
if (this._oPopover) {
|
|
177
|
+
this._oPopover.close();
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
Menu.prototype.exit = function () {
|
|
182
|
+
Control.prototype.exit.apply(this, arguments);
|
|
183
|
+
if (this._oPopover) {
|
|
184
|
+
delete this._oPopover;
|
|
185
|
+
}
|
|
186
|
+
if (this._oItemsContainer) {
|
|
187
|
+
delete this._oItemsContainer;
|
|
188
|
+
}
|
|
189
|
+
ControlEvents.unbindAnyEvent(this.fAnyEventHandlerProxy);
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
Menu.prototype._addAllToPrivateAggregation = function (mSettings, sAggregationName) {
|
|
193
|
+
if (mSettings[sAggregationName]) {
|
|
194
|
+
mSettings[sAggregationName].forEach(function (oItem) {
|
|
195
|
+
this.addAggregation(sAggregationName, oItem);
|
|
196
|
+
}.bind(this));
|
|
197
|
+
delete mSettings[sAggregationName];
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
Menu.prototype._initPopover = function () {
|
|
202
|
+
if (this._oPopover) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
this._oPopover = new ResponsivePopover({
|
|
207
|
+
showArrow: false,
|
|
208
|
+
showHeader: false,
|
|
209
|
+
placement: library.PlacementType.Bottom,
|
|
210
|
+
content: new AssociativeControl({control: this, height: true}),
|
|
211
|
+
contentWidth: MENU_WIDTH,
|
|
212
|
+
horizontalScrolling: false,
|
|
213
|
+
verticalScrolling: false,
|
|
214
|
+
afterClose: [this.close, this]
|
|
215
|
+
});
|
|
216
|
+
this.addDependent(this._oPopover);
|
|
217
|
+
|
|
218
|
+
this._oPopover.addEventDelegate({
|
|
219
|
+
"onAfterRendering": this._focusItem
|
|
220
|
+
}, this);
|
|
221
|
+
|
|
222
|
+
if (this.getItems().length === 0 && !this.getAggregation("_items")) {
|
|
223
|
+
this._oPopover.attachAfterOpen(this._focusInitialQuickAction.bind(this));
|
|
224
|
+
} else {
|
|
225
|
+
// focus the first visible menu item
|
|
226
|
+
this._oPopover.attachAfterOpen(function () {
|
|
227
|
+
var oItem = this._oItemsContainer._getNavigationList().getItems().find(function (oItem) {
|
|
228
|
+
return oItem.getVisible();
|
|
229
|
+
});
|
|
230
|
+
oItem && oItem.focus();
|
|
231
|
+
}.bind(this));
|
|
232
|
+
}
|
|
233
|
+
this._oPopover._oControl.oPopup.setAutoClose(false);
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
Menu.prototype.onsapfocusleave = function(oEvent){
|
|
237
|
+
if (!this._oPopover.isOpen()) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
this.handleOuterEvent(this.getId(), oEvent);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
Menu.prototype.handleOuterEvent = function(oMenuId, oEvent) {
|
|
244
|
+
var isInMenuHierarchy = false,
|
|
245
|
+
touchEnabled = Device.support.touch || Device.system.combi;
|
|
246
|
+
|
|
247
|
+
if (oEvent.type == "mousedown" || oEvent.type == "touchstart") {
|
|
248
|
+
// Suppress the delayed mouse event from mobile browser
|
|
249
|
+
if (touchEnabled && (oEvent.isMarked("delayedMouseEvent") || oEvent.isMarked("cancelAutoClose"))) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (!isInMenuHierarchy) {
|
|
254
|
+
if (containsOrEquals(this.getDomRef(), oEvent.target)) {
|
|
255
|
+
isInMenuHierarchy = true;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
} else if (oEvent.type == "sapfocusleave") {
|
|
259
|
+
if (touchEnabled) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (oEvent.relatedControlId) {
|
|
264
|
+
if (!isInMenuHierarchy) {
|
|
265
|
+
if (containsOrEquals(this.getDomRef(), jQuery(document.getElementById(oEvent.relatedControlId)).get(0)) ||
|
|
266
|
+
isInControlTree(this, Core.byId(oEvent.relatedControlId))) {
|
|
267
|
+
isInMenuHierarchy = true;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (!isInMenuHierarchy) {
|
|
274
|
+
this.close();
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
function isInControlTree(oParent, oChild) {
|
|
279
|
+
var temp = oChild.getParent();
|
|
280
|
+
if (!temp) {
|
|
281
|
+
return false;
|
|
282
|
+
} else if (temp === oParent) {
|
|
283
|
+
return true;
|
|
284
|
+
}
|
|
285
|
+
return isInControlTree(oParent, temp);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
Menu.prototype._initItemsContainer = function () {
|
|
289
|
+
var aControlMenuItems = (this.getAggregation("_items") || []).reduce(function (aItems, oItem) {
|
|
290
|
+
return aItems.concat(oItem.getEffectiveItems());
|
|
291
|
+
}, []);
|
|
292
|
+
var aApplicationMenuItems = this.getItems().reduce(function (aItems, oItem) {
|
|
293
|
+
return aItems.concat(oItem.getEffectiveItems());
|
|
294
|
+
}, []);
|
|
295
|
+
|
|
296
|
+
if (!this._oItemsContainer) {
|
|
297
|
+
this._createItemsContainer();
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
aControlMenuItems.forEach(function (oColumnMenuItem, iIndex) {
|
|
301
|
+
this._addView(oColumnMenuItem);
|
|
302
|
+
iIndex === 0 && this._oItemsContainer.addSeparator();
|
|
303
|
+
}.bind(this));
|
|
304
|
+
aApplicationMenuItems.forEach(function (oColumnMenuItem, iIndex) {
|
|
305
|
+
this._addView(oColumnMenuItem);
|
|
306
|
+
iIndex === 0 && this._oItemsContainer.addSeparator();
|
|
307
|
+
}.bind(this));
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
var AssociativeControl = Control.extend("sap.m.table.columnmenu.AssociativeControl", {
|
|
311
|
+
metadata: {
|
|
312
|
+
"final": true,
|
|
313
|
+
properties: {
|
|
314
|
+
height: {type: "boolean", defaultValue: false}
|
|
315
|
+
},
|
|
316
|
+
associations: {
|
|
317
|
+
control: {type: "sap.ui.core.Control"}
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
renderer: {
|
|
321
|
+
apiVersion: 2,
|
|
322
|
+
render: function (oRm, oControl) {
|
|
323
|
+
oRm.openStart("div", oControl);
|
|
324
|
+
oControl.getHeight() && oRm.style("height", "100%");
|
|
325
|
+
oRm.openEnd();
|
|
326
|
+
oRm.renderControl(sap.ui.getCore().byId(oControl.getControl()));
|
|
327
|
+
oRm.close("div");
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
Menu.prototype._addView = function (oMenuItem) {
|
|
333
|
+
var oItem = new AbstractContainerItem({
|
|
334
|
+
content: new AssociativeControl({
|
|
335
|
+
control: oMenuItem.getContent(),
|
|
336
|
+
height: true
|
|
337
|
+
}),
|
|
338
|
+
key: oMenuItem.getId(),
|
|
339
|
+
text: oMenuItem.getLabel(),
|
|
340
|
+
icon: oMenuItem.getIcon()
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
this._oItemsContainer.addView(oItem);
|
|
344
|
+
this._setItemVisibility(oMenuItem, oMenuItem.getVisible());
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
Menu.prototype._createItemsContainer = function () {
|
|
348
|
+
var oMenu = this;
|
|
349
|
+
|
|
350
|
+
this._oBtnCancel = new Button({
|
|
351
|
+
text: this._getResourceText("table.COLUMNMENU_CANCEL"),
|
|
352
|
+
press: function () {
|
|
353
|
+
var sKey = oMenu._oItemsContainer.getCurrentViewKey();
|
|
354
|
+
if (oMenu._fireEvent(Core.byId(sKey), "cancel")) {
|
|
355
|
+
oMenu.close();
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
this._oBtnOk = new Button({
|
|
360
|
+
text: this._getResourceText("table.COLUMNMENU_CONFIRM"),
|
|
361
|
+
press: function () {
|
|
362
|
+
var sKey = oMenu._oItemsContainer.getCurrentViewKey();
|
|
363
|
+
if (oMenu._fireEvent(Core.byId(sKey), "confirm")) {
|
|
364
|
+
oMenu.close();
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
oMenu._oItemsContainer = new Container({
|
|
370
|
+
listLayout: true,
|
|
371
|
+
defaultView: DEFAULT_KEY,
|
|
372
|
+
footer: new Toolbar({
|
|
373
|
+
content: [
|
|
374
|
+
new ToolbarSpacer(),
|
|
375
|
+
this._oBtnOk,
|
|
376
|
+
this._oBtnCancel
|
|
377
|
+
]
|
|
378
|
+
}),
|
|
379
|
+
beforeViewSwitch: function (oEvent) {
|
|
380
|
+
var mParameters = oEvent.getParameters();
|
|
381
|
+
|
|
382
|
+
if (mParameters.target !== "$default") {
|
|
383
|
+
var oContainerItem = oMenu._oItemsContainer.getView(mParameters.target);
|
|
384
|
+
var oColumnMenuItem = oMenu._getItemFromContainerItem(oContainerItem);
|
|
385
|
+
if (oColumnMenuItem && !oMenu._fireEvent(oColumnMenuItem, "press")) {
|
|
386
|
+
oEvent.preventDefault();
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
afterViewSwitch: function (oEvent) {
|
|
391
|
+
var mParameters = oEvent.getParameters();
|
|
392
|
+
this.oLayout.setShowFooter(mParameters.target !== "$default");
|
|
393
|
+
|
|
394
|
+
oMenu._previousView = mParameters.source;
|
|
395
|
+
if (mParameters.target !== "$default") {
|
|
396
|
+
var oContainerItem = oMenu._oItemsContainer.getView(mParameters.target);
|
|
397
|
+
if (oContainerItem) {
|
|
398
|
+
var oItem = oMenu._getItemFromContainerItem(oContainerItem);
|
|
399
|
+
oMenu._updateButtonState(oItem);
|
|
400
|
+
oMenu._focusItem();
|
|
401
|
+
}
|
|
402
|
+
} else {
|
|
403
|
+
oMenu._focusItem();
|
|
404
|
+
this._oPopover && this._oPopover.invalidate();
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
oMenu._oItemsContainer.getHeader().addContentRight(new Button({
|
|
409
|
+
text: this._getResourceText("table.COLUMNMENU_RESET"),
|
|
410
|
+
press: function () {
|
|
411
|
+
oMenu._fireEvent(Core.byId(oMenu._oItemsContainer.getCurrentViewKey()), "reset", false);
|
|
412
|
+
}
|
|
413
|
+
}));
|
|
414
|
+
this._oPopover.addDependent(oMenu._oItemsContainer);
|
|
415
|
+
oMenu.addDependent(oMenu._oItemsContainer);
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
Menu.prototype._fireEvent = function (oEntry, sEventType, bAllowPreventDefault) {
|
|
419
|
+
var fnHook = oEntry["on" + capitalize(sEventType)];
|
|
420
|
+
if (bAllowPreventDefault !== false) {
|
|
421
|
+
var oEvent = jQuery.Event(sEventType);
|
|
422
|
+
fnHook.call(oEntry, oEvent);
|
|
423
|
+
return !oEvent.isDefaultPrevented();
|
|
424
|
+
} else {
|
|
425
|
+
fnHook.call(oEntry);
|
|
426
|
+
return true;
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
Menu.prototype._getResourceText = function(sText, vValue) {
|
|
431
|
+
this.oResourceBundle = this.oResourceBundle ? this.oResourceBundle : sap.ui.getCore().getLibraryResourceBundle("sap.m");
|
|
432
|
+
return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
Menu.prototype._getAllEffectiveQuickActions = function() {
|
|
436
|
+
var aQuickActions = (this.getAggregation("_quickActions") || []).concat(this.getQuickActions());
|
|
437
|
+
return aQuickActions.reduce(function (a, oQuickAction) {
|
|
438
|
+
return a.concat(oQuickAction.getEffectiveQuickActions());
|
|
439
|
+
}, []);
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
Menu.prototype._getAllEffectiveItems = function() {
|
|
443
|
+
var aItems = (this.getAggregation("_items") || []).concat(this.getItems());
|
|
444
|
+
return aItems.reduce(function(a, oItem) {
|
|
445
|
+
return a.concat(oItem.getEffectiveItems());
|
|
446
|
+
}, []);
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
Menu.prototype._getItemFromContainerItem = function (oContainerItem) {
|
|
450
|
+
// Low performance as linear search has to be done
|
|
451
|
+
return this._getAllEffectiveItems().find(function(item) {
|
|
452
|
+
return item.getId() === oContainerItem.getKey();
|
|
453
|
+
});
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
Menu.prototype._updateButtonState = function (oItem) {
|
|
457
|
+
if (!this._oItemsContainer) {
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
if (this._oItemsContainer.getCurrentViewKey() === DEFAULT_KEY) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
this._oItemsContainer.getHeader().getContentRight()[0].setVisible(oItem.getButtonSettings()["reset"]["visible"]);
|
|
464
|
+
this._oItemsContainer.getHeader().getContentRight()[0].setEnabled(oItem.getButtonSettings()["reset"]["enabled"]);
|
|
465
|
+
this._oBtnOk.setVisible(oItem.getButtonSettings()["confirm"]["visible"]);
|
|
466
|
+
this._oBtnCancel.setVisible(oItem.getButtonSettings()["cancel"]["visible"]);
|
|
467
|
+
};
|
|
468
|
+
|
|
469
|
+
Menu.prototype._focusItem = function () {
|
|
470
|
+
if (this._previousView == DEFAULT_KEY) {
|
|
471
|
+
this._oItemsContainer._getNavBackBtn().focus();
|
|
472
|
+
} else {
|
|
473
|
+
var oItem = this._oItemsContainer._getNavigationList().getItems().find(function (oItem) {
|
|
474
|
+
return oItem.getVisible() && oItem._key === this._previousView;
|
|
475
|
+
}.bind(this));
|
|
476
|
+
oItem && oItem.focus();
|
|
477
|
+
}
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
Menu.prototype._focusInitialQuickAction = function () {
|
|
481
|
+
// Does not work with content, which contains multiple items
|
|
482
|
+
if (this.getItems().length === 0 && !this.getAggregation("_items")) {
|
|
483
|
+
var aQuickActions = [];
|
|
484
|
+
if (this.getAggregation("_quickActions")) {
|
|
485
|
+
aQuickActions = this.getAggregation("_quickActions")[0].getEffectiveQuickActions();
|
|
486
|
+
} else if (this.getQuickActions().length > 0) {
|
|
487
|
+
aQuickActions = this.getQuickActions()[0].getEffectiveQuickActions();
|
|
488
|
+
}
|
|
489
|
+
aQuickActions.length > 0 && aQuickActions[0].getContent()[0].focus();
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
Menu.prototype._setItemVisibility = function (oItem, bVisible) {
|
|
494
|
+
var oList = this._oItemsContainer._getNavigationList().getItems();
|
|
495
|
+
var oListItem = oList.find(function (oListItem) {
|
|
496
|
+
return oListItem._key == oItem.getId();
|
|
497
|
+
});
|
|
498
|
+
oListItem && oListItem.setVisible(bVisible);
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
Menu.prototype._createQuickActionGrids = function () {
|
|
502
|
+
var oFormContainer;
|
|
503
|
+
if (this._oForm) {
|
|
504
|
+
oFormContainer = this._oForm.getFormContainers()[0];
|
|
505
|
+
oFormContainer.destroyFormElements();
|
|
506
|
+
} else {
|
|
507
|
+
oFormContainer = new FormContainer();
|
|
508
|
+
this._oForm = new Form({
|
|
509
|
+
layout: new ResponsiveGridLayout({
|
|
510
|
+
labelSpanXL: 3,
|
|
511
|
+
labelSpanL: 3,
|
|
512
|
+
labelSpanM: 3,
|
|
513
|
+
labelSpanS: 12,
|
|
514
|
+
adjustLabelSpan: false
|
|
515
|
+
}),
|
|
516
|
+
editable: true,
|
|
517
|
+
formContainers: oFormContainer
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
var aEffectiveQuickActions = this._getAllEffectiveQuickActions();
|
|
522
|
+
aEffectiveQuickActions.forEach(function (oEffectiveQuickAction) {
|
|
523
|
+
// Create label
|
|
524
|
+
var oGridData = new GridData({span: "XL4 L4 M4 S12"});
|
|
525
|
+
var oLabel = new Label({
|
|
526
|
+
text: oEffectiveQuickAction.getLabel(),
|
|
527
|
+
layoutData: oGridData,
|
|
528
|
+
vAlign: sap.ui.core.VerticalAlign.Middle,
|
|
529
|
+
wrapping: true
|
|
530
|
+
}).setWidth("100%");
|
|
531
|
+
oLabel.addStyleClass("sapMTCMenuQALabel");
|
|
532
|
+
|
|
533
|
+
// Create content
|
|
534
|
+
var aControls = [];
|
|
535
|
+
var aContent = oEffectiveQuickAction.getContent();
|
|
536
|
+
|
|
537
|
+
aContent.forEach(function (oItem) {
|
|
538
|
+
if (oItem.getLayoutData()) {
|
|
539
|
+
oGridData = oItem.getLayoutData().clone();
|
|
540
|
+
} else {
|
|
541
|
+
var iSpan = Math.floor(8 / aContent.length);
|
|
542
|
+
var iSpanS = aContent.length > 2 ? 12 : Math.floor(12 / aContent.length);
|
|
543
|
+
oGridData = new GridData({spanS: iSpanS, spanM: iSpan, spanL: iSpan, spanXL: iSpan});
|
|
544
|
+
}
|
|
545
|
+
var oControl = new AssociativeControl({control: oItem.setWidth("100%")});
|
|
546
|
+
oControl.setLayoutData(oGridData);
|
|
547
|
+
aControls.push(oControl);
|
|
548
|
+
}, this);
|
|
549
|
+
oFormContainer.addFormElement(new FormElement({label: oLabel, fields: aControls}));
|
|
550
|
+
}, this);
|
|
551
|
+
|
|
552
|
+
this.addDependent(this._oForm);
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
return Menu;
|
|
556
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([], function () {
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
var MenuRenderer = {
|
|
10
|
+
apiVersion: 2
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
MenuRenderer.render = function (oRm, oMenu) {
|
|
14
|
+
oRm.openStart("div", oMenu);
|
|
15
|
+
oRm.class("sapMTCMenu");
|
|
16
|
+
oRm.openEnd();
|
|
17
|
+
this.renderQuickActions(oRm, oMenu);
|
|
18
|
+
this.renderItems(oRm, oMenu);
|
|
19
|
+
oRm.close("div");
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
MenuRenderer.renderQuickActions = function (oRm, oMenu) {
|
|
23
|
+
if (oMenu.getQuickActions().length === 0 && !oMenu.getAggregation("_quickActions")) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
oRm.openStart("div", oMenu.getId() + "-quickActions");
|
|
28
|
+
if (oMenu._oItemsContainer) {
|
|
29
|
+
if (oMenu._oItemsContainer.getCurrentViewKey() === "$default") {
|
|
30
|
+
oRm.class("sapMTCMenuQAList");
|
|
31
|
+
} else {
|
|
32
|
+
oRm.class("sapMTCMenuQAListHidden");
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
oRm.class("sapMTCMenuQAList");
|
|
36
|
+
}
|
|
37
|
+
oRm.openEnd();
|
|
38
|
+
|
|
39
|
+
oRm.renderControl(oMenu._oForm);
|
|
40
|
+
|
|
41
|
+
oRm.close("div");
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
MenuRenderer.renderItems = function (oRm, oMenu) {
|
|
45
|
+
if (oMenu.getItems().length === 0 && !oMenu.getAggregation("_items")) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
oRm.openStart("div");
|
|
50
|
+
oRm.class("sapMTCMenuContainerWrapper");
|
|
51
|
+
oRm.openEnd();
|
|
52
|
+
oRm.renderControl(oMenu._oItemsContainer);
|
|
53
|
+
oRm.close("div");
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
return MenuRenderer;
|
|
57
|
+
});
|