@openui5/sap.m 1.120.6 → 1.121.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/.reuse/dep5 +23 -21
- package/THIRDPARTY.txt +6 -43
- package/package.json +4 -4
- package/src/sap/m/.library +18 -2
- package/src/sap/m/AccButton.js +1 -1
- package/src/sap/m/ActionListItem.js +1 -1
- package/src/sap/m/ActionSelect.js +11 -11
- package/src/sap/m/ActionSheet.js +12 -8
- package/src/sap/m/ActionSheetRenderer.js +4 -4
- package/src/sap/m/ActionTile.js +7 -1
- package/src/sap/m/ActionTileContent.js +86 -7
- package/src/sap/m/ActionTileContentRenderer.js +4 -41
- package/src/sap/m/AdditionalTextButton.js +1 -1
- package/src/sap/m/App.js +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +6 -6
- package/src/sap/m/Avatar.js +32 -14
- package/src/sap/m/Bar.js +5 -5
- package/src/sap/m/BarRenderer.js +3 -3
- package/src/sap/m/Breadcrumbs.js +12 -4
- package/src/sap/m/BreadcrumbsRenderer.js +1 -1
- package/src/sap/m/BusyDialog.js +19 -33
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +8 -8
- package/src/sap/m/ButtonRenderer.js +0 -4
- package/src/sap/m/Carousel.js +53 -25
- package/src/sap/m/CarouselLayout.js +14 -3
- package/src/sap/m/CarouselRenderer.js +4 -4
- package/src/sap/m/CheckBox.js +46 -5
- package/src/sap/m/CheckBoxRenderer.js +10 -3
- package/src/sap/m/ColorPalette.js +4 -2
- package/src/sap/m/ColorPalettePopover.js +5 -3
- package/src/sap/m/ColorPaletteRenderer.js +3 -3
- package/src/sap/m/Column.js +3 -4
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +59 -20
- package/src/sap/m/ColumnListItemRenderer.js +8 -9
- 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 +6 -6
- package/src/sap/m/ComboBox.js +16 -9
- package/src/sap/m/ComboBoxBase.js +10 -9
- package/src/sap/m/ComboBoxTextField.js +6 -4
- package/src/sap/m/ContentConfig.js +142 -0
- 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 +19 -18
- package/src/sap/m/DatePickerRenderer.js +3 -3
- package/src/sap/m/DateRangeSelection.js +16 -13
- package/src/sap/m/DateRangeSelectionRenderer.js +3 -3
- package/src/sap/m/DateTimeField.js +17 -9
- package/src/sap/m/DateTimeInput.js +6 -4
- package/src/sap/m/DateTimePicker.js +39 -30
- package/src/sap/m/DateTimePickerRenderer.js +4 -2
- package/src/sap/m/Dialog.js +21 -9
- package/src/sap/m/DialogRenderer.js +10 -3
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +5 -5
- package/src/sap/m/DynamicDate.js +5 -3
- package/src/sap/m/DynamicDateFormat.js +7 -6
- package/src/sap/m/DynamicDateOption.js +10 -5
- package/src/sap/m/DynamicDateRange.js +56 -43
- package/src/sap/m/DynamicDateUtil.js +3 -3
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +5 -9
- package/src/sap/m/ExpandableTextRenderer.js +3 -3
- package/src/sap/m/FacetFilter.js +17 -8
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +7 -7
- package/src/sap/m/FacetFilterRenderer.js +4 -4
- package/src/sap/m/FeedContent.js +1 -1
- package/src/sap/m/FeedInput.js +1 -1
- package/src/sap/m/FeedListItem.js +4 -4
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/FeedListItemRenderer.js +3 -3
- package/src/sap/m/Fiori20Adapter.js +9 -9
- package/src/sap/m/FlexBox.js +2 -2
- package/src/sap/m/FlexItemData.js +17 -17
- package/src/sap/m/FormattedText.js +7 -6
- package/src/sap/m/GenericTag.js +1 -1
- package/src/sap/m/GenericTagRenderer.js +5 -5
- package/src/sap/m/GenericTile.js +102 -14
- package/src/sap/m/GenericTileLineModeRenderer.js +3 -3
- package/src/sap/m/GenericTileRenderer.js +3 -3
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GroupHeaderListItemRenderer.js +3 -3
- package/src/sap/m/GrowingEnablement.js +7 -6
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +5 -5
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +4 -4
- package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -5
- package/src/sap/m/IconTabBarSelectList.js +2 -2
- package/src/sap/m/IconTabFilter.js +27 -15
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +4 -4
- package/src/sap/m/IconTabHeader.js +61 -28
- package/src/sap/m/IconTabHeaderRenderer.js +5 -5
- package/src/sap/m/IconTabSeparator.js +7 -7
- package/src/sap/m/IllustratedMessage.js +8 -6
- package/src/sap/m/IllustratedMessageType.js +12 -0
- package/src/sap/m/Illustration.js +4 -4
- package/src/sap/m/IllustrationPool.js +3 -3
- package/src/sap/m/Image.js +6 -3
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/Input.js +65 -36
- package/src/sap/m/InputBase.js +33 -8
- package/src/sap/m/InputBaseRenderer.js +3 -3
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/InputRenderer.js +5 -6
- package/src/sap/m/Label.js +6 -6
- package/src/sap/m/LightBox.js +4 -4
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +30 -6
- package/src/sap/m/LinkRenderer.js +4 -4
- package/src/sap/m/LinkTileContent.js +1 -1
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +43 -24
- package/src/sap/m/ListItemBase.js +7 -6
- package/src/sap/m/ListItemBaseRenderer.js +3 -0
- package/src/sap/m/MaskEnabler.js +8 -6
- package/src/sap/m/MaskInput.js +1 -1
- package/src/sap/m/MaskInputRenderer.js +2 -2
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +19 -17
- package/src/sap/m/MenuButton.js +8 -6
- package/src/sap/m/MenuItem.js +9 -9
- package/src/sap/m/MenuListItem.js +5 -4
- package/src/sap/m/MessageBox.js +5 -3
- package/src/sap/m/MessageItem.js +1 -1
- package/src/sap/m/MessageListItem.js +4 -3
- package/src/sap/m/MessagePage.js +4 -2
- package/src/sap/m/MessagePopover.js +9 -6
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +9 -7
- package/src/sap/m/MessageStripRenderer.js +5 -2
- package/src/sap/m/MessageStripUtilities.js +6 -4
- package/src/sap/m/MessageToast.js +8 -7
- package/src/sap/m/MessageView.js +29 -6
- package/src/sap/m/MessageViewRenderer.js +2 -2
- package/src/sap/m/MultiComboBox.js +36 -17
- package/src/sap/m/MultiComboBoxRenderer.js +4 -4
- package/src/sap/m/MultiEditField.js +4 -4
- package/src/sap/m/MultiInput.js +66 -19
- package/src/sap/m/MultiInputRenderer.js +3 -3
- package/src/sap/m/NavContainer.js +14 -9
- package/src/sap/m/NewsContent.js +1 -1
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +4 -4
- package/src/sap/m/NotificationListGroup.js +4 -4
- package/src/sap/m/NotificationListItem.js +4 -4
- package/src/sap/m/NumericContent.js +6 -6
- package/src/sap/m/NumericInput.js +1 -1
- package/src/sap/m/NumericInputRenderer.js +6 -6
- package/src/sap/m/ObjectAttribute.js +7 -6
- package/src/sap/m/ObjectAttributeRenderer.js +3 -3
- package/src/sap/m/ObjectHeader.js +15 -11
- package/src/sap/m/ObjectHeaderRenderer.js +4 -4
- package/src/sap/m/ObjectIdentifier.js +37 -8
- package/src/sap/m/ObjectIdentifierRenderer.js +3 -3
- package/src/sap/m/ObjectListItem.js +4 -4
- package/src/sap/m/ObjectMarker.js +6 -4
- package/src/sap/m/ObjectNumber.js +4 -3
- package/src/sap/m/ObjectNumberRenderer.js +6 -6
- package/src/sap/m/ObjectStatus.js +28 -22
- package/src/sap/m/ObjectStatusRenderer.js +26 -20
- package/src/sap/m/OverflowToolbar.js +2 -2
- package/src/sap/m/OverflowToolbarAssociativePopover.js +3 -3
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.js +2 -2
- 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 +33 -11
- package/src/sap/m/P13nConditionPanel.js +6 -4
- package/src/sap/m/P13nDialog.js +27 -13
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +18 -12
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +71 -49
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +5 -4
- 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 +28 -7
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +6 -5
- package/src/sap/m/PDFViewer.js +3 -6
- package/src/sap/m/Page.js +4 -8
- package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/m/PagingButton.js +5 -4
- package/src/sap/m/Panel.js +10 -5
- package/src/sap/m/PlanningCalendar.js +160 -109
- package/src/sap/m/PlanningCalendarHeader.js +9 -7
- package/src/sap/m/PlanningCalendarLegend.js +5 -5
- package/src/sap/m/PlanningCalendarRow.js +26 -15
- package/src/sap/m/PlanningCalendarView.js +1 -4
- package/src/sap/m/Popover.js +19 -21
- package/src/sap/m/PopoverRenderer.js +4 -4
- package/src/sap/m/ProgressIndicator.js +15 -13
- package/src/sap/m/ProgressIndicatorRenderer.js +3 -4
- package/src/sap/m/PullToRefresh.js +4 -3
- 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 +3 -3
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +1 -1
- package/src/sap/m/QuickViewPage.js +29 -17
- package/src/sap/m/RadioButton.js +4 -4
- package/src/sap/m/RadioButtonGroup.js +38 -5
- package/src/sap/m/RadioButtonGroupRenderer.js +4 -4
- package/src/sap/m/RadioButtonRenderer.js +3 -3
- package/src/sap/m/RangeSlider.js +9 -7
- package/src/sap/m/RangeSliderRenderer.js +2 -2
- package/src/sap/m/RatingIndicator.js +7 -6
- package/src/sap/m/RatingIndicatorRenderer.js +4 -4
- package/src/sap/m/ResponsivePopover.js +1 -3
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +3 -3
- package/src/sap/m/ScrollContainer.js +6 -6
- package/src/sap/m/SearchField.js +1 -1
- package/src/sap/m/SegmentedButton.js +7 -5
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +30 -16
- package/src/sap/m/SelectDialog.js +5 -3
- package/src/sap/m/SelectDialogBase.js +6 -6
- package/src/sap/m/SelectList.js +6 -6
- package/src/sap/m/SelectionDetails.js +7 -3
- 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 +4 -4
- package/src/sap/m/ShellRenderer.js +3 -2
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +41 -9
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +122 -54
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +22 -20
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +315 -61
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +88 -35
- package/src/sap/m/SinglePlanningCalendarMonthView.js +3 -4
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +5 -5
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +6 -5
- package/src/sap/m/SlideTile.js +6 -6
- package/src/sap/m/SlideTileRenderer.js +1 -3
- package/src/sap/m/Slider.js +38 -11
- package/src/sap/m/SliderRenderer.js +4 -4
- package/src/sap/m/SliderTooltip.js +4 -4
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipContainer.js +10 -8
- package/src/sap/m/SliderTooltipRenderer.js +3 -3
- package/src/sap/m/SplitApp.js +2 -1
- package/src/sap/m/SplitButton.js +5 -3
- package/src/sap/m/SplitContainer.js +20 -11
- package/src/sap/m/StandardDynamicDateOption.js +16 -12
- package/src/sap/m/StandardListItem.js +4 -3
- package/src/sap/m/StandardListItemRenderer.js +3 -3
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +6 -4
- package/src/sap/m/Suggest.js +5 -5
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsList.js +9 -7
- package/src/sap/m/SuggestionsListRenderer.js +2 -2
- package/src/sap/m/SuggestionsPopover.js +1 -1
- package/src/sap/m/Switch.js +13 -11
- package/src/sap/m/SwitchRenderer.js +3 -3
- package/src/sap/m/TabContainer.js +9 -6
- package/src/sap/m/TabContainerItem.js +5 -8
- package/src/sap/m/TabStrip.js +23 -12
- package/src/sap/m/TabStripItem.js +7 -10
- package/src/sap/m/TabStripRenderer.js +2 -2
- package/src/sap/m/Table.js +4 -5
- package/src/sap/m/TablePersoController.js +10 -8
- package/src/sap/m/TablePersoDialog.js +19 -16
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +4 -4
- package/src/sap/m/TableSelectDialog.js +5 -3
- package/src/sap/m/Text.js +36 -39
- package/src/sap/m/TextArea.js +5 -3
- package/src/sap/m/TextRenderer.js +2 -7
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileAttribute.js +64 -0
- package/src/sap/m/TileAttributeRenderer.js +70 -0
- package/src/sap/m/TileContainer.js +10 -8
- package/src/sap/m/TileContent.js +8 -4
- package/src/sap/m/TileRenderer.js +3 -3
- package/src/sap/m/TimePicker.js +24 -19
- package/src/sap/m/TimePickerClock.js +4 -3
- package/src/sap/m/TimePickerClocks.js +1 -1
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInternals.js +12 -10
- package/src/sap/m/TimePickerSlider.js +9 -7
- package/src/sap/m/TimePickerSliders.js +17 -13
- package/src/sap/m/TimePickerSlidersRenderer.js +3 -3
- package/src/sap/m/Title.js +5 -4
- package/src/sap/m/TitlePropagationSupport.js +4 -4
- package/src/sap/m/ToggleButton.js +4 -3
- package/src/sap/m/Token.js +6 -6
- package/src/sap/m/Tokenizer.js +16 -10
- package/src/sap/m/Toolbar.js +4 -4
- package/src/sap/m/ToolbarLayoutData.js +1 -1
- package/src/sap/m/ToolbarSeparator.js +1 -1
- package/src/sap/m/ToolbarSpacer.js +1 -1
- package/src/sap/m/Tree.js +4 -2
- package/src/sap/m/TreeItemBase.js +4 -3
- package/src/sap/m/TreeItemBaseRenderer.js +3 -3
- package/src/sap/m/UploadCollection.js +28 -24
- 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 +5 -5
- package/src/sap/m/VariantItem.js +8 -3
- package/src/sap/m/VariantManagement.js +112 -33
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +34 -21
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +9 -2
- package/src/sap/m/VisibleItem.js +1 -1
- package/src/sap/m/WheelSlider.js +4 -3
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/WheelSliderContainerRenderer.js +3 -3
- package/src/sap/m/Wizard.js +17 -15
- package/src/sap/m/WizardProgressNavigator.js +18 -2
- package/src/sap/m/WizardProgressNavigatorRenderer.js +9 -5
- package/src/sap/m/WizardRenderer.js +6 -4
- package/src/sap/m/WizardStep.js +9 -11
- package/src/sap/m/changeHandler/AddTableColumn.js +3 -7
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
- package/src/sap/m/changeHandler/CombineButtons.js +4 -4
- package/src/sap/m/changeHandler/MoveTableColumns.js +3 -2
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- package/src/sap/m/delegate/ValueStateMessage.js +3 -3
- package/src/sap/m/designtime/IconTabBar.designtime.js +3 -2
- package/src/sap/m/designtime/Link.designtime.js +4 -4
- package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
- package/src/sap/m/designtime/ObjectIdentifier.designtime.js +0 -4
- package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +91 -91
- package/src/sap/m/flexibility/EngineFlex.js +14 -8
- package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
- package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +4 -4
- package/src/sap/m/library.js +181 -59
- package/src/sap/m/messagebundle.properties +113 -90
- package/src/sap/m/messagebundle_ar.properties +16 -10
- package/src/sap/m/messagebundle_bg.properties +19 -13
- package/src/sap/m/messagebundle_ca.properties +16 -10
- package/src/sap/m/messagebundle_cnr.properties +21 -15
- package/src/sap/m/messagebundle_cs.properties +16 -10
- package/src/sap/m/messagebundle_cy.properties +19 -13
- package/src/sap/m/messagebundle_da.properties +14 -8
- package/src/sap/m/messagebundle_de.properties +12 -6
- package/src/sap/m/messagebundle_el.properties +27 -21
- package/src/sap/m/messagebundle_en.properties +1164 -22
- package/src/sap/m/messagebundle_en_GB.properties +23 -17
- package/src/sap/m/messagebundle_en_US_saprigi.properties +34 -22
- package/src/sap/m/messagebundle_es.properties +19 -13
- package/src/sap/m/messagebundle_es_MX.properties +18 -12
- package/src/sap/m/messagebundle_et.properties +14 -8
- package/src/sap/m/messagebundle_fi.properties +21 -15
- package/src/sap/m/messagebundle_fr.properties +15 -9
- package/src/sap/m/messagebundle_fr_CA.properties +11 -5
- package/src/sap/m/messagebundle_hi.properties +24 -18
- package/src/sap/m/messagebundle_hr.properties +15 -9
- package/src/sap/m/messagebundle_hu.properties +20 -14
- package/src/sap/m/messagebundle_id.properties +15 -9
- package/src/sap/m/messagebundle_it.properties +17 -11
- package/src/sap/m/messagebundle_iw.properties +13 -7
- package/src/sap/m/messagebundle_ja.properties +23 -17
- package/src/sap/m/messagebundle_kk.properties +14 -8
- package/src/sap/m/messagebundle_ko.properties +18 -12
- package/src/sap/m/messagebundle_lt.properties +17 -11
- package/src/sap/m/messagebundle_lv.properties +26 -20
- package/src/sap/m/messagebundle_mk.properties +20 -14
- package/src/sap/m/messagebundle_ms.properties +13 -7
- package/src/sap/m/messagebundle_nl.properties +16 -10
- package/src/sap/m/messagebundle_no.properties +15 -9
- package/src/sap/m/messagebundle_pl.properties +16 -10
- package/src/sap/m/messagebundle_pt.properties +16 -10
- package/src/sap/m/messagebundle_pt_PT.properties +13 -7
- package/src/sap/m/messagebundle_ro.properties +13 -7
- package/src/sap/m/messagebundle_ru.properties +15 -9
- package/src/sap/m/messagebundle_sh.properties +21 -15
- package/src/sap/m/messagebundle_sk.properties +13 -7
- package/src/sap/m/messagebundle_sl.properties +14 -8
- package/src/sap/m/messagebundle_sr.properties +21 -15
- package/src/sap/m/messagebundle_sv.properties +15 -9
- package/src/sap/m/messagebundle_th.properties +12 -6
- package/src/sap/m/messagebundle_tr.properties +15 -9
- package/src/sap/m/messagebundle_uk.properties +15 -9
- package/src/sap/m/messagebundle_vi.properties +16 -10
- package/src/sap/m/messagebundle_zh_CN.properties +12 -6
- package/src/sap/m/messagebundle_zh_TW.properties +12 -6
- package/src/sap/m/p13n/.eslintrc.json +19 -0
- package/src/sap/m/p13n/AbstractContainer.js +43 -29
- package/src/sap/m/p13n/AbstractContainerItem.js +8 -8
- package/src/sap/m/p13n/BasePanel.js +123 -76
- package/src/sap/m/p13n/Container.js +80 -50
- package/src/sap/m/p13n/Engine.js +331 -294
- package/src/sap/m/p13n/FilterController.js +335 -0
- package/src/sap/m/p13n/FilterPanel.js +291 -0
- package/src/sap/m/p13n/FlexUtil.js +23 -21
- package/src/sap/m/p13n/GroupController.js +97 -85
- package/src/sap/m/p13n/GroupPanel.js +30 -25
- package/src/sap/m/p13n/MetadataHelper.js +65 -21
- package/src/sap/m/p13n/PersistenceProvider.js +11 -9
- package/src/sap/m/p13n/Popup.js +63 -45
- package/src/sap/m/p13n/QueryPanel.js +117 -93
- package/src/sap/m/p13n/SelectionController.js +302 -237
- package/src/sap/m/p13n/SelectionPanel.js +117 -83
- package/src/sap/m/p13n/SortController.js +100 -89
- package/src/sap/m/p13n/SortPanel.js +46 -31
- package/src/sap/m/p13n/enums/PersistenceMode.js +57 -0
- package/src/sap/m/p13n/{enum → enums}/ProcessingStrategy.js +10 -8
- package/src/sap/m/p13n/handler/xConfigHandler.js +175 -161
- package/src/sap/m/p13n/modification/FlexModificationHandler.js +151 -133
- package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +28 -28
- package/src/sap/m/p13n/modification/ModificationHandler.js +15 -15
- package/src/sap/m/p13n/modules/AdaptationProvider.js +7 -7
- package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +20 -18
- package/src/sap/m/p13n/modules/StateHandlerRegistry.js +7 -7
- package/src/sap/m/p13n/modules/UIManager.js +119 -117
- package/src/sap/m/p13n/modules/xConfigAPI.js +74 -68
- package/src/sap/m/plugins/CellSelector.js +142 -26
- package/src/sap/m/plugins/ColumnResizer.js +12 -17
- package/src/sap/m/plugins/ContextMenuSetting.js +155 -0
- package/src/sap/m/plugins/CopyProvider.js +170 -110
- package/src/sap/m/plugins/DataStateIndicator.js +9 -6
- package/src/sap/m/plugins/PasteProvider.js +18 -10
- package/src/sap/m/plugins/PluginBase.js +39 -15
- 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 +3 -3
- 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 +3 -3
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +3 -3
- 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 -5
- 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 +4 -2
- 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 +6 -12
- 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 +2 -3
- package/src/sap/m/table/Util.js +67 -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 +5 -5
- package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
- package/src/sap/m/table/columnmenu/Menu.js +14 -21
- 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 +7 -5
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSort.js +6 -4
- package/src/sap/m/table/columnmenu/QuickSortItem.js +6 -4
- package/src/sap/m/table/columnmenu/QuickTotal.js +7 -5
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
- package/src/sap/m/themes/base/ActionSheet.less +10 -3
- package/src/sap/m/themes/base/ActionTile.less +7 -4
- package/src/sap/m/themes/base/Carousel.less +1 -1
- package/src/sap/m/themes/base/ContextMenuSetting.less +3 -0
- package/src/sap/m/themes/base/IconTabBar.less +2 -2
- package/src/sap/m/themes/base/Label.less +2 -1
- package/src/sap/m/themes/base/Link.less +1 -1
- package/src/sap/m/themes/base/ListItemBase.less +1 -1
- package/src/sap/m/themes/base/MenuButton.less +2 -2
- package/src/sap/m/themes/base/MessageView.less +6 -0
- package/src/sap/m/themes/base/MultiComboBox.less +7 -4
- package/src/sap/m/themes/base/NumericContent.less +2 -2
- package/src/sap/m/themes/base/ObjectListItem.less +1 -1
- package/src/sap/m/themes/base/ObjectNumber.less +4 -4
- package/src/sap/m/themes/base/ObjectStatus.less +263 -160
- package/src/sap/m/themes/base/Panel.less +18 -4
- package/src/sap/m/themes/base/Popover.less +5 -0
- package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +21 -0
- package/src/sap/m/themes/base/StandardListItem.less +1 -1
- package/src/sap/m/themes/base/SuggestionItem.less +6 -0
- package/src/sap/m/themes/base/Table.less +0 -5
- package/src/sap/m/themes/base/TablePersoDialog.less +4 -2
- package/src/sap/m/themes/base/Text.less +2 -1
- package/src/sap/m/themes/base/UploadCollection.less +2 -2
- package/src/sap/m/themes/base/UploadSet.less +55 -0
- package/src/sap/m/themes/base/VariantManagement.less +2 -1
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +27 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SignOut.svg +24 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NewMail.svg +9 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SignOut.svg +12 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +59 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SignOut.svg +113 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +27 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SignOut.svg +23 -0
- package/src/sap/m/themes/base/library.source.less +2 -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 +5 -5
- package/src/sap/m/upload/FilterPanel.js +5 -3
- package/src/sap/m/upload/UploadSet.js +122 -61
- package/src/sap/m/upload/UploadSetItem.js +31 -7
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
- package/src/sap/m/upload/UploadSetwithTable.js +7 -6
- package/src/sap/m/upload/UploadSetwithTableItem.js +5 -5
- package/src/sap/m/upload/UploaderTableItem.js +1 -1
- package/src/sap/m/upload/p13n/PersManager.js +4 -2
- package/src/sap/m/upload/p13n/mediator/BaseMediator.js +1 -1
- package/src/sap/m/upload/p13n/mediator/ColumnsMediator.js +5 -4
- package/src/sap/m/upload/p13n/mediator/FilterMediator.js +5 -2
- package/src/sap/m/upload/p13n/mediator/GroupMediator.js +5 -4
- package/src/sap/m/upload/p13n/mediator/SortMediator.js +5 -4
- package/src/sap/m/upload/p13n/modules/PersPopupManager.js +3 -3
- package/LICENSES/BSD-2-Clause.txt +0 -22
- package/src/sap/m/CustomAttribute.js +0 -53
- package/src/sap/m/p13n/enum/PersistenceMode.js +0 -55
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"./PluginBase",
|
|
8
|
+
"sap/base/i18n/Localization",
|
|
9
|
+
"sap/base/util/deepEqual",
|
|
8
10
|
"sap/ui/events/KeyCodes",
|
|
9
|
-
"sap/ui/core/Core",
|
|
10
11
|
"sap/ui/core/Element",
|
|
11
12
|
"sap/base/Log"
|
|
12
|
-
], function (PluginBase,
|
|
13
|
+
], function (PluginBase, Localization, deepEqual, KeyCodes, Element, Log) {
|
|
13
14
|
"use strict";
|
|
14
15
|
|
|
15
16
|
var DIRECTION = {
|
|
@@ -44,13 +45,14 @@ sap.ui.define([
|
|
|
44
45
|
* </ul>
|
|
45
46
|
*
|
|
46
47
|
* @extends sap.ui.core.Element
|
|
47
|
-
* @version 1.
|
|
48
|
+
* @version 1.121.0
|
|
48
49
|
* @author SAP SE
|
|
49
50
|
*
|
|
50
51
|
* @public
|
|
51
52
|
* @experimental Since 1.119. This class is experimental. The API might be changed in the future.
|
|
52
53
|
* @since 1.119
|
|
53
54
|
* @alias sap.m.plugins.CellSelector
|
|
55
|
+
* @borrows sap.m.plugins.PluginBase.findOn as findOn
|
|
54
56
|
*/
|
|
55
57
|
var CellSelector = PluginBase.extend("sap.m.plugins.CellSelector", /** @lends sap.m.plugins.CellSelector.prototype */ {
|
|
56
58
|
metadata: {
|
|
@@ -79,6 +81,19 @@ sap.ui.define([
|
|
|
79
81
|
}
|
|
80
82
|
});
|
|
81
83
|
|
|
84
|
+
CellSelector.findOn = PluginBase.findOn;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* A selection object representing the selected cells.
|
|
88
|
+
*
|
|
89
|
+
* The selection object contains the selected cells separated into rows and columns.
|
|
90
|
+
* Rows are represented by their context, while columns are the column instance, which may vary depending on the table type.
|
|
91
|
+
* @public
|
|
92
|
+
* @typedef {object} sap.m.plugins.CellSelector.Selection
|
|
93
|
+
* @property {sap.ui.model.Context[]} rows The row contexts of the selected cells.
|
|
94
|
+
* @property {sap.ui.core.Element[]} columns The column instances of the selected cells; the content is based on the owner control.
|
|
95
|
+
*/
|
|
96
|
+
|
|
82
97
|
/**
|
|
83
98
|
* Event Delegate that containts events, that need to be executed after control events.
|
|
84
99
|
*/
|
|
@@ -103,12 +118,15 @@ sap.ui.define([
|
|
|
103
118
|
*/
|
|
104
119
|
const PriorityDelegate = {
|
|
105
120
|
onBeforeRendering: function() {
|
|
106
|
-
this._iRtl =
|
|
121
|
+
this._iRtl = Localization.getRTL() ? -1 : 1;
|
|
107
122
|
if (this._oResizer) {
|
|
108
123
|
// remove resizer, as due to rerendering table element may be gone
|
|
109
124
|
this._oResizer.remove();
|
|
110
125
|
this._oResizer = null;
|
|
111
126
|
}
|
|
127
|
+
if (this._bSelecting) {
|
|
128
|
+
this.removeSelection();
|
|
129
|
+
}
|
|
112
130
|
},
|
|
113
131
|
onAfterRendering: function() {
|
|
114
132
|
this._deregisterEvents();
|
|
@@ -182,7 +200,7 @@ sap.ui.define([
|
|
|
182
200
|
var oSelectableCell = this._getSelectableCell(oEvent.target);
|
|
183
201
|
if (oSelectableCell) {
|
|
184
202
|
this._bMouseDown = true;
|
|
185
|
-
this._mClickedCell = this.getConfig("getCellInfo", this.getControl(), oSelectableCell);
|
|
203
|
+
this._mClickedCell = this._oPreviousCell = this.getConfig("getCellInfo", this.getControl(), oSelectableCell);
|
|
186
204
|
}
|
|
187
205
|
},
|
|
188
206
|
onmouseup: function(oEvent) {
|
|
@@ -190,6 +208,7 @@ sap.ui.define([
|
|
|
190
208
|
this._bBorderDown = false;
|
|
191
209
|
this._mClickedCell = undefined;
|
|
192
210
|
this._bScrolling = false;
|
|
211
|
+
this._oPreviousCell = undefined;
|
|
193
212
|
this._clearScroller();
|
|
194
213
|
}
|
|
195
214
|
};
|
|
@@ -204,7 +223,11 @@ sap.ui.define([
|
|
|
204
223
|
if (this._bScrolling) {
|
|
205
224
|
this._scrollSelect(this._oSession.scrollForward, this._oSession.isVertical, oEvent);
|
|
206
225
|
} else {
|
|
207
|
-
this.
|
|
226
|
+
if (!this._oSession.mSource || !this._oSession.mTarget) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const mBounds = this._getNormalizedBounds(this._oSession.mSource, this._oSession.mTarget);
|
|
230
|
+
this._drawSelection(mBounds);
|
|
208
231
|
}
|
|
209
232
|
}.bind(this);
|
|
210
233
|
this._fnOnMouseEnter = this._onmouseenter.bind(this);
|
|
@@ -247,15 +270,31 @@ sap.ui.define([
|
|
|
247
270
|
* Determines whether cells are selectable or not.
|
|
248
271
|
*
|
|
249
272
|
* @private
|
|
273
|
+
* @returns {boolean} Whether cells are selectable or not
|
|
250
274
|
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
251
275
|
*/
|
|
252
276
|
CellSelector.prototype.isSelectable = function() {
|
|
253
277
|
return this.isActive() ? this.getConfig("isSupported", this.getControl()) : false;
|
|
254
278
|
};
|
|
255
279
|
|
|
280
|
+
/**
|
|
281
|
+
* Determines whether there is a cell selection or not.
|
|
282
|
+
*
|
|
283
|
+
* @private
|
|
284
|
+
* @returns {boolean} Whether there is a cell selection or not
|
|
285
|
+
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
286
|
+
*/
|
|
287
|
+
CellSelector.prototype.hasSelection = function() {
|
|
288
|
+
return Boolean(this._bSelecting && this._oSession?.mSource);
|
|
289
|
+
};
|
|
290
|
+
|
|
256
291
|
CellSelector.prototype._onSelectableChange = function() {
|
|
257
|
-
|
|
258
|
-
|
|
292
|
+
this.getPlugin("sap.m.plugins.CopyProvider")?.onCellSelectorSelectableChange(this);
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
CellSelector.prototype._onSelectionChange = function() {
|
|
296
|
+
/* @ui5-restricted sap.m.plugins.CopyProvider */
|
|
297
|
+
this.fireEvent("selectionChange");
|
|
259
298
|
};
|
|
260
299
|
|
|
261
300
|
CellSelector.prototype._registerEvents = function() {
|
|
@@ -290,15 +329,15 @@ sap.ui.define([
|
|
|
290
329
|
|
|
291
330
|
/**
|
|
292
331
|
* Returns the cell selection range.
|
|
293
|
-
* The value <code>Infinity</code> in <code>rowIndex</code>
|
|
332
|
+
* The value <code>Infinity</code> in <code>rowIndex</code> indicates that the limit is reached.
|
|
294
333
|
*
|
|
295
|
-
* Note
|
|
334
|
+
* <b>Note</b>: This method is subject to change.
|
|
335
|
+
* @param {boolean} bIgnore Ignore group header rows within selection range
|
|
296
336
|
* @returns {{from: {rowIndex: int, colIndex: int}, to: {rowIndex: int, colIndex: int}} The range of the selection
|
|
297
|
-
* @private
|
|
298
|
-
* @experimental Since 1.110
|
|
299
337
|
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
338
|
+
* @private
|
|
300
339
|
*/
|
|
301
|
-
CellSelector.prototype.getSelectionRange = function () {
|
|
340
|
+
CellSelector.prototype.getSelectionRange = function (bIgnore) {
|
|
302
341
|
if (!this._bSelecting) {
|
|
303
342
|
return null;
|
|
304
343
|
}
|
|
@@ -312,6 +351,18 @@ sap.ui.define([
|
|
|
312
351
|
mSelectionRange.from.colIndex = Math.max(mSelectionRange.from.colIndex, 0);
|
|
313
352
|
mSelectionRange.to.colIndex = Math.min(mSelectionRange.to.colIndex, iMaxColumnIndex);
|
|
314
353
|
mSelectionRange.from.rowIndex = Math.max(mSelectionRange.from.rowIndex, 0);
|
|
354
|
+
|
|
355
|
+
if (bIgnore) {
|
|
356
|
+
mSelectionRange.ignoredRows = [];
|
|
357
|
+
const aContexts = this.getSelectedRowContexts();
|
|
358
|
+
aContexts.forEach((oContext, iIndex) => {
|
|
359
|
+
const iRowIndex = mSelectionRange.from.rowIndex + iIndex;
|
|
360
|
+
if (isGroupRow(this._getBinding(), oContext, iRowIndex)) {
|
|
361
|
+
mSelectionRange.ignoredRows.push(iRowIndex);
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
|
|
315
366
|
return mSelectionRange;
|
|
316
367
|
};
|
|
317
368
|
|
|
@@ -321,7 +372,6 @@ sap.ui.define([
|
|
|
321
372
|
* Note: This method is subject to change.
|
|
322
373
|
* @returns {sap.ui.model.Context[]} The binding context of selected rows
|
|
323
374
|
* @private
|
|
324
|
-
* @experimental Since 1.110
|
|
325
375
|
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
326
376
|
*/
|
|
327
377
|
CellSelector.prototype.getSelectedRowContexts = function () {
|
|
@@ -330,7 +380,51 @@ sap.ui.define([
|
|
|
330
380
|
return [];
|
|
331
381
|
}
|
|
332
382
|
|
|
333
|
-
return this.getConfig("
|
|
383
|
+
return this.getConfig("getSelectedRowContexts", this.getControl(), mSelectionRange.from.rowIndex, mSelectionRange.to.rowIndex, this.getRangeLimit());
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Returns the selected cells separated into the selected rows and columns.
|
|
388
|
+
*
|
|
389
|
+
* Example:
|
|
390
|
+
* If the cells from (0, 0) to (2, 4) are selected, this method will return the following object:
|
|
391
|
+
* <pre>
|
|
392
|
+
* {
|
|
393
|
+
* rows: [Row0_Context, Row1_Context, Row2_Context],
|
|
394
|
+
* columns: [Column0, Column1, Column2, Column3, Column4]
|
|
395
|
+
* }
|
|
396
|
+
* </pre>
|
|
397
|
+
*
|
|
398
|
+
* <b>Note:</b> The content of the <code>rows</code> and <code>columns</code> depends on the owner control.
|
|
399
|
+
* The type of the column that is returned depends on the table type for which the plugin is used (for example, <code>sap.ui.table.Column</code> for <code>sap.ui.table.Table</code>).
|
|
400
|
+
*
|
|
401
|
+
* @param {boolean} bIgnore Ignores group headers from selection
|
|
402
|
+
* @returns {sap.m.plugins.CellSelector.Selection} An object containing the selected cells separated into rows and columns
|
|
403
|
+
* @private
|
|
404
|
+
* @ui5-restricted sap.fe, sap.suite.ui.generic.template
|
|
405
|
+
*/
|
|
406
|
+
CellSelector.prototype.getSelection = function(bIgnore) {
|
|
407
|
+
var mSelectionRange = this.getSelectionRange();
|
|
408
|
+
if (!mSelectionRange) {
|
|
409
|
+
return {rows: [], columns: []};
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
var aSelection = this.getConfig("getSelectedRowContexts", this.getControl(), mSelectionRange.from.rowIndex, mSelectionRange.to.rowIndex, this.getRangeLimit());
|
|
413
|
+
if (bIgnore) {
|
|
414
|
+
aSelection = aSelection.filter((oContext, iIndex) => !isGroupRow(this._getBinding(), oContext, iIndex + mSelectionRange.from.rowIndex));
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
var aSelectedColumns = this.getConfig("getVisibleColumns", this.getControl()).slice(mSelectionRange.from.colIndex, mSelectionRange.to.colIndex + 1);
|
|
418
|
+
if (this.getControl().getParent().isA("sap.ui.mdc.Table")) {
|
|
419
|
+
aSelectedColumns = aSelectedColumns.map(function(oSelectedColumn) {
|
|
420
|
+
return Element.getElementById(oSelectedColumn.getId().replace(/\-innerColumn$/, ""));
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
return {
|
|
425
|
+
rows: aSelection,
|
|
426
|
+
columns: aSelectedColumns
|
|
427
|
+
};
|
|
334
428
|
};
|
|
335
429
|
|
|
336
430
|
CellSelector.prototype._onsaparrowmodifiers = function(oEvent, sDirectionType, iRowDiff, iColDiff) {
|
|
@@ -392,11 +486,11 @@ sap.ui.define([
|
|
|
392
486
|
|
|
393
487
|
// If clicked cell (=starting cell) is equal to currently hovered cell, don't do anything
|
|
394
488
|
var oInfo = this.getConfig("getCellInfo", this.getControl(), oSelectableCell);
|
|
395
|
-
if (this.
|
|
396
|
-
|
|
397
|
-
&& oInfo.colIndex == this._mClickedCell.colIndex) {
|
|
489
|
+
if (oInfo.rowIndex == this._oPreviousCell?.rowIndex && oInfo.colIndex == this._oPreviousCell?.colIndex) {
|
|
490
|
+
// If currently hovered cell is the same as previous cell, nothing needs to be done.
|
|
398
491
|
return;
|
|
399
492
|
}
|
|
493
|
+
this._oPreviousCell = oInfo;
|
|
400
494
|
|
|
401
495
|
// Remove text selection during mouse cell selection
|
|
402
496
|
window.getSelection().removeAllRanges();
|
|
@@ -593,13 +687,11 @@ sap.ui.define([
|
|
|
593
687
|
* @param {int} mTo.colIndex column index
|
|
594
688
|
* @private
|
|
595
689
|
*/
|
|
596
|
-
CellSelector.prototype._selectCells = function (mFrom, mTo
|
|
690
|
+
CellSelector.prototype._selectCells = function (mFrom, mTo) {
|
|
597
691
|
if (!this._bSelecting) {
|
|
598
692
|
return;
|
|
599
693
|
}
|
|
600
694
|
|
|
601
|
-
this._clearSelection();
|
|
602
|
-
|
|
603
695
|
mFrom = mFrom ? mFrom : this._oSession.mSource;
|
|
604
696
|
mTo = mTo ? mTo : this._oSession.mTarget;
|
|
605
697
|
var mBounds = this._getNormalizedBounds(mFrom, mTo);
|
|
@@ -610,8 +702,11 @@ sap.ui.define([
|
|
|
610
702
|
|
|
611
703
|
this._drawSelection(mBounds);
|
|
612
704
|
|
|
613
|
-
this._oSession.mSource
|
|
614
|
-
|
|
705
|
+
if (!deepEqual(this._oSession.mSource, mFrom) || !deepEqual(this._oSession.mTarget, mTo)) {
|
|
706
|
+
this._oSession.mSource = mFrom;
|
|
707
|
+
this._oSession.mTarget = mTo;
|
|
708
|
+
this._onSelectionChange();
|
|
709
|
+
}
|
|
615
710
|
};
|
|
616
711
|
|
|
617
712
|
/**
|
|
@@ -626,6 +721,8 @@ sap.ui.define([
|
|
|
626
721
|
return;
|
|
627
722
|
}
|
|
628
723
|
|
|
724
|
+
this._clearSelection();
|
|
725
|
+
|
|
629
726
|
this._oSession.cellRefs = [];
|
|
630
727
|
for (var iRow = mBounds.from.rowIndex; iRow <= mBounds.to.rowIndex; iRow++) {
|
|
631
728
|
for (var iCol = mBounds.from.colIndex; iCol <= mBounds.to.colIndex; iCol++) {
|
|
@@ -761,8 +858,12 @@ sap.ui.define([
|
|
|
761
858
|
CellSelector.prototype.removeSelection = function () {
|
|
762
859
|
this._clearSelection();
|
|
763
860
|
|
|
861
|
+
const bSelectionChange = this._oSession?.mSource || this._oSession?.mTarget;
|
|
764
862
|
this._bSelecting = false;
|
|
765
863
|
this._oSession = { cellRefs: [] };
|
|
864
|
+
if (bSelectionChange) {
|
|
865
|
+
this._onSelectionChange();
|
|
866
|
+
}
|
|
766
867
|
};
|
|
767
868
|
|
|
768
869
|
/**
|
|
@@ -798,10 +899,22 @@ sap.ui.define([
|
|
|
798
899
|
return !oEvent.isMarked?.() && this.getConfig("isSupported", this.getControl());
|
|
799
900
|
};
|
|
800
901
|
|
|
902
|
+
CellSelector.prototype._getBinding = function() {
|
|
903
|
+
return this.getConfig("getBinding", this.getControl());
|
|
904
|
+
};
|
|
905
|
+
|
|
801
906
|
function isCell(oTarget, sCell) {
|
|
802
907
|
return oTarget.classList.contains(sCell);
|
|
803
908
|
}
|
|
804
909
|
|
|
910
|
+
function isGroupRow(oBinding, oContext, iIndex) {
|
|
911
|
+
const oRowContext = oBinding?.getNodeByIndex?.(iIndex) ?? oContext;
|
|
912
|
+
if (oBinding?.nodeHasChildren) {
|
|
913
|
+
return oBinding.nodeHasChildren(oRowContext);
|
|
914
|
+
}
|
|
915
|
+
return !(oRowContext.getProperty("@ui5.node.isExpanded") === undefined);
|
|
916
|
+
}
|
|
917
|
+
|
|
805
918
|
/**
|
|
806
919
|
* Check if the given key combination applies to the event.
|
|
807
920
|
* @param {sap.ui.base.Event} oEvent event instance
|
|
@@ -872,7 +985,7 @@ sap.ui.define([
|
|
|
872
985
|
});
|
|
873
986
|
if (oRow) {
|
|
874
987
|
var oColumn = this.getVisibleColumns(oTable)[mPosition.colIndex];
|
|
875
|
-
var oCell = oColumn && oRow.getCells()[
|
|
988
|
+
var oCell = oColumn && oRow.getCells()[oColumn.getIndex()];
|
|
876
989
|
if (oCell) {
|
|
877
990
|
return oCell.$().closest(`.${this.selectableCells}`)[0];
|
|
878
991
|
}
|
|
@@ -903,7 +1016,7 @@ sap.ui.define([
|
|
|
903
1016
|
getCellInfo: function (oTable, oTarget) {
|
|
904
1017
|
return {
|
|
905
1018
|
rowIndex: Element.closestTo(oTarget, true).getIndex(),
|
|
906
|
-
colIndex: this.getVisibleColumns(oTable).indexOf(
|
|
1019
|
+
colIndex: this.getVisibleColumns(oTable).indexOf(Element.getElementById(oTarget.getAttribute("data-sap-ui-colid")))
|
|
907
1020
|
};
|
|
908
1021
|
},
|
|
909
1022
|
/**
|
|
@@ -929,7 +1042,7 @@ sap.ui.define([
|
|
|
929
1042
|
* @param {int} iLimit The range limit
|
|
930
1043
|
* @returns {sap.ui.model.Context[]} A portion of the row binding contexts
|
|
931
1044
|
*/
|
|
932
|
-
|
|
1045
|
+
getSelectedRowContexts: function(oTable, iFromIndex, iToIndex, iLimit) {
|
|
933
1046
|
if (iToIndex == Infinity) {
|
|
934
1047
|
var iMaxIndex = oTable.getBinding("rows").getAllCurrentContexts().length - 1;
|
|
935
1048
|
iToIndex = Math.min(iToIndex, iFromIndex + iLimit - 1, iMaxIndex);
|
|
@@ -1026,6 +1139,9 @@ sap.ui.define([
|
|
|
1026
1139
|
},
|
|
1027
1140
|
_getSelectionOwner: function(oTable) {
|
|
1028
1141
|
return PluginBase.getPlugin(oTable, "sap.ui.table.plugins.SelectionPlugin") || oTable;
|
|
1142
|
+
},
|
|
1143
|
+
getBinding: function(oTable) {
|
|
1144
|
+
return oTable.getBinding("rows");
|
|
1029
1145
|
}
|
|
1030
1146
|
}
|
|
1031
1147
|
}, CellSelector);
|
|
@@ -6,25 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"./PluginBase",
|
|
9
|
-
"sap/
|
|
9
|
+
"sap/base/i18n/Localization",
|
|
10
10
|
"sap/ui/core/Element",
|
|
11
11
|
"sap/ui/core/InvisibleText",
|
|
12
12
|
"sap/ui/Device",
|
|
13
13
|
"sap/m/ColumnPopoverActionItem",
|
|
14
14
|
"sap/m/table/columnmenu/QuickAction",
|
|
15
15
|
"sap/m/Button",
|
|
16
|
+
"sap/ui/core/Lib",
|
|
16
17
|
"sap/ui/thirdparty/jquery",
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Element,
|
|
21
|
-
InvisibleText,
|
|
22
|
-
Device,
|
|
23
|
-
ColumnPopoverActionItem,
|
|
24
|
-
QuickAction,
|
|
25
|
-
Button,
|
|
26
|
-
jQuery
|
|
27
|
-
) {
|
|
18
|
+
// jQuery Plugin "aria"
|
|
19
|
+
"sap/ui/dom/jquery/Aria"
|
|
20
|
+
], function(PluginBase, Localization, Element, InvisibleText, Device, ColumnPopoverActionItem, QuickAction, Button, Library, jQuery) {
|
|
28
21
|
"use strict";
|
|
29
22
|
|
|
30
23
|
/**
|
|
@@ -40,11 +33,12 @@ sap.ui.define([
|
|
|
40
33
|
*
|
|
41
34
|
* @extends sap.ui.core.Element
|
|
42
35
|
* @author SAP SE
|
|
43
|
-
* @version 1.
|
|
36
|
+
* @version 1.121.0
|
|
44
37
|
*
|
|
45
38
|
* @public
|
|
46
39
|
* @since 1.91
|
|
47
40
|
* @alias sap.m.plugins.ColumnResizer
|
|
41
|
+
* @borrows sap.m.plugins.PluginBase.findOn as findOn
|
|
48
42
|
*/
|
|
49
43
|
var ColumnResizer = PluginBase.extend("sap.m.plugins.ColumnResizer", /** @lends sap.m.plugins.ColumnResizer.prototype */ { metadata: {
|
|
50
44
|
library: "sap.m",
|
|
@@ -75,12 +69,13 @@ sap.ui.define([
|
|
|
75
69
|
var oSession = {};
|
|
76
70
|
var bResizing = false;
|
|
77
71
|
var CSS_CLASS = "sapMPluginsColumnResizer";
|
|
78
|
-
var bRTL =
|
|
72
|
+
var bRTL = Localization.getRTL();
|
|
79
73
|
var sBeginDirection = bRTL ? "right" : "left";
|
|
80
74
|
var sEndDirection = bRTL ? "left" : "right";
|
|
81
75
|
var iDirectionFactor = bRTL ? -1 : 1;
|
|
82
76
|
|
|
83
|
-
ColumnResizer.getPlugin
|
|
77
|
+
//TBD Remove the ColumnResizer.getPlugin part when usages (SmartTable) are cleaned up and use findOn instead.
|
|
78
|
+
ColumnResizer.findOn = ColumnResizer.getPlugin = PluginBase.findOn;
|
|
84
79
|
|
|
85
80
|
ColumnResizer.prototype.init = function() {
|
|
86
81
|
this._iHoveredColumnIndex = -1;
|
|
@@ -516,7 +511,7 @@ sap.ui.define([
|
|
|
516
511
|
|
|
517
512
|
return new QuickAction({
|
|
518
513
|
content: new Button({
|
|
519
|
-
text:
|
|
514
|
+
text: Library.getResourceBundleFor("sap.m").getText("table.COLUMNMENU_RESIZE"),
|
|
520
515
|
press: function() {
|
|
521
516
|
oColumnMenu.close();
|
|
522
517
|
this.startResizing(oColumn.getDomRef());
|
|
@@ -538,7 +533,7 @@ sap.ui.define([
|
|
|
538
533
|
}
|
|
539
534
|
|
|
540
535
|
return new ColumnPopoverActionItem({
|
|
541
|
-
text:
|
|
536
|
+
text: Library.getResourceBundleFor("sap.m").getText("COLUMNRESIZER_RESIZE_BUTTON"),
|
|
542
537
|
icon: "sap-icon://resize-horizontal",
|
|
543
538
|
press: this.startResizing.bind(this, oColumn.getDomRef())
|
|
544
539
|
});
|
|
@@ -0,0 +1,155 @@
|
|
|
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
|
+
sap.ui.define([
|
|
7
|
+
"sap/ui/core/Element",
|
|
8
|
+
"./PluginBase",
|
|
9
|
+
"../library",
|
|
10
|
+
"sap/ui/base/ManagedObjectObserver"
|
|
11
|
+
], function(
|
|
12
|
+
Element,
|
|
13
|
+
PluginBase,
|
|
14
|
+
library,
|
|
15
|
+
ManagedObjectObserver
|
|
16
|
+
) {
|
|
17
|
+
|
|
18
|
+
"use strict";
|
|
19
|
+
|
|
20
|
+
const ContextMenuScope = library.plugins.ContextMenuScope;
|
|
21
|
+
/**
|
|
22
|
+
* Constructs an instance of sap.m.plugins.ContextMenuSetting
|
|
23
|
+
*
|
|
24
|
+
* @class Provides configuration options and an extended behavior for the context menu that is applied to the related control.
|
|
25
|
+
* @extends sap.ui.core.Element
|
|
26
|
+
* @author SAP SE
|
|
27
|
+
* @version 1.121.0
|
|
28
|
+
* @public
|
|
29
|
+
* @since 1.121
|
|
30
|
+
* @alias sap.m.plugins.ContextMenuSetting
|
|
31
|
+
* @borrows sap.m.plugins.PluginBase.findOn as findOn
|
|
32
|
+
*/
|
|
33
|
+
const ContextMenuSetting = PluginBase.extend("sap.m.plugins.ContextMenuSetting", {metadata: {
|
|
34
|
+
library: "sap.m",
|
|
35
|
+
properties: {
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Defines the scope of the context menu actions.
|
|
39
|
+
*
|
|
40
|
+
* The scope of the context menu is visually represented to the user by providing a clear indication of the affected items.
|
|
41
|
+
* The visual cues help users understand the potential impact of their actions.
|
|
42
|
+
*
|
|
43
|
+
* <b>Note:</b> The scope visualization is only supported if a <code>sap.m.Menu</code> is used as context menu.
|
|
44
|
+
*/
|
|
45
|
+
scope: {type: "sap.m.plugins.ContextMenuScope", group: "Behavior", defaultValue: ContextMenuScope.Default}
|
|
46
|
+
},
|
|
47
|
+
events: {}
|
|
48
|
+
}});
|
|
49
|
+
|
|
50
|
+
ContextMenuSetting.findOn = PluginBase.findOn;
|
|
51
|
+
|
|
52
|
+
ContextMenuSetting.prototype.init = function(oControl) {
|
|
53
|
+
this._oObserver = new ManagedObjectObserver(this._observeChanges.bind(this));
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
ContextMenuSetting.prototype.exit = function() {
|
|
57
|
+
this._oObserver.destroy();
|
|
58
|
+
this._oObserver = null;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
ContextMenuSetting.prototype._observeChanges = function(mChange) {
|
|
62
|
+
if (mChange.mutation == "insert") {
|
|
63
|
+
this._monkeypatch(mChange.child);
|
|
64
|
+
} else {
|
|
65
|
+
this._cleanupMonkeypatch(mChange.child);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Overrides the original openAsContextMenu
|
|
71
|
+
*
|
|
72
|
+
* @param {sap.ui.core.IContextMenu} oMenu Context Menu.
|
|
73
|
+
*/
|
|
74
|
+
ContextMenuSetting.prototype._monkeypatch = function(oMenu) {
|
|
75
|
+
if (!oMenu || !oMenu.isA("sap.m.Menu")) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const that = this;
|
|
80
|
+
this._original_openAsContextMenu = oMenu.openAsContextMenu;
|
|
81
|
+
|
|
82
|
+
oMenu.openAsContextMenu = function(oEvent, vActiveItem) {
|
|
83
|
+
if (that.getScope() !== ContextMenuScope.Selection) {
|
|
84
|
+
return that._original_openAsContextMenu.apply(this, arguments);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const oControl = that.getControl();
|
|
88
|
+
const aItems = that.getConfig("items", oControl);
|
|
89
|
+
|
|
90
|
+
if (vActiveItem instanceof HTMLElement) {
|
|
91
|
+
vActiveItem = Element.closestTo(vActiveItem, true);
|
|
92
|
+
}
|
|
93
|
+
const bActiveItemSelected = that.getConfig("isItemSelected", oControl, vActiveItem);
|
|
94
|
+
|
|
95
|
+
aItems.forEach((oItem) => {
|
|
96
|
+
const bItemSelected = that.getConfig("isItemSelected", oControl, oItem);
|
|
97
|
+
if (oItem !== vActiveItem && !(bActiveItemSelected && bItemSelected)) {
|
|
98
|
+
oItem.addStyleClass("sapMContextMenuSettingContentOpacity");
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
this.attachEventOnce("closed", () => {
|
|
103
|
+
aItems.forEach((oItem) => {
|
|
104
|
+
oItem.removeStyleClass("sapMContextMenuSettingContentOpacity");
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
return that._original_openAsContextMenu.apply(this, arguments);
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
ContextMenuSetting.prototype._cleanupMonkeypatch = function(oMenu) {
|
|
112
|
+
if (oMenu && this._original_openAsContextMenu) {
|
|
113
|
+
oMenu.openAsContextMenu = this._original_openAsContextMenu;
|
|
114
|
+
this._original_openAsContextMenu = null;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
ContextMenuSetting.prototype.onActivate = function(oControl) {
|
|
119
|
+
const sAggr = this.getConfig("contextMenuAggregation");
|
|
120
|
+
this._monkeypatch(oControl.getAggregation(sAggr));
|
|
121
|
+
this._oObserver.observe(oControl, {aggregations: [sAggr]});
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
ContextMenuSetting.prototype.onDeactivate = function(oControl) {
|
|
125
|
+
const sAggr = this.getConfig("contextMenuAggregation");
|
|
126
|
+
this._cleanupMonkeypatch(oControl.getAggregation(sAggr));
|
|
127
|
+
this._oObserver?.unobserve(oControl, {aggregations: [sAggr]});
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Plugin-specific control configurations.
|
|
132
|
+
*/
|
|
133
|
+
PluginBase.setConfigs({
|
|
134
|
+
"sap.m.ListBase": {
|
|
135
|
+
items: function(oList) {
|
|
136
|
+
return oList.getItems();
|
|
137
|
+
},
|
|
138
|
+
isItemSelected: function(oTable, oItem) {
|
|
139
|
+
return oItem.getSelected();
|
|
140
|
+
},
|
|
141
|
+
contextMenuAggregation: "contextMenu"
|
|
142
|
+
},
|
|
143
|
+
"sap.ui.table.Table": {
|
|
144
|
+
items: function(oTable) {
|
|
145
|
+
return oTable.getRows();
|
|
146
|
+
},
|
|
147
|
+
isItemSelected: function(oTable, oItem) {
|
|
148
|
+
return oTable._getSelectionPlugin().isSelected(oItem);
|
|
149
|
+
},
|
|
150
|
+
contextMenuAggregation: "contextMenu"
|
|
151
|
+
}
|
|
152
|
+
}, ContextMenuSetting);
|
|
153
|
+
|
|
154
|
+
return ContextMenuSetting;
|
|
155
|
+
});
|