@openui5/sap.m 1.109.0 → 1.111.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 +16 -16
- package/THIRDPARTY.txt +2 -2
- package/package.json +4 -4
- package/src/sap/m/.library +2 -2
- package/src/sap/m/AccButton.js +2 -2
- package/src/sap/m/AccButtonRenderer.js +1 -1
- package/src/sap/m/ActionListItem.js +2 -2
- package/src/sap/m/ActionListItemRenderer.js +1 -1
- package/src/sap/m/ActionSelect.js +3 -2
- package/src/sap/m/ActionSelectRenderer.js +1 -1
- package/src/sap/m/ActionSheet.js +3 -3
- package/src/sap/m/ActionSheetRenderer.js +1 -1
- package/src/sap/m/ActionTile.js +88 -88
- package/src/sap/m/ActionTileContent.js +2 -2
- package/src/sap/m/ActionTileContentRenderer.js +1 -1
- package/src/sap/m/AdditionalTextButton.js +2 -2
- package/src/sap/m/AdditionalTextButtonRenderer.js +1 -1
- package/src/sap/m/App.js +2 -2
- package/src/sap/m/AppRenderer.js +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +2 -2
- package/src/sap/m/Avatar.js +2 -2
- package/src/sap/m/AvatarColor.js +1 -1
- package/src/sap/m/AvatarImageFitType.js +1 -1
- package/src/sap/m/AvatarRenderer.js +1 -1
- package/src/sap/m/AvatarShape.js +1 -1
- package/src/sap/m/AvatarSize.js +1 -1
- package/src/sap/m/AvatarType.js +1 -1
- package/src/sap/m/BadgeCustomData.js +1 -1
- package/src/sap/m/BadgeEnabler.js +1 -1
- package/src/sap/m/Bar.js +23 -22
- package/src/sap/m/BarInPageEnabler.js +21 -3
- package/src/sap/m/BarRenderer.js +1 -1
- package/src/sap/m/Breadcrumbs.js +16 -2
- package/src/sap/m/BreadcrumbsRenderer.js +1 -1
- package/src/sap/m/BusyDialog.js +2 -2
- package/src/sap/m/BusyIndicator.js +2 -2
- package/src/sap/m/BusyIndicatorRenderer.js +1 -1
- package/src/sap/m/Button.js +19 -4
- package/src/sap/m/ButtonRenderer.js +1 -1
- package/src/sap/m/Carousel.js +17 -10
- package/src/sap/m/CarouselLayout.js +3 -3
- package/src/sap/m/CarouselRenderer.js +3 -2
- package/src/sap/m/CheckBox.js +20 -4
- package/src/sap/m/CheckBoxRenderer.js +3 -2
- package/src/sap/m/ColorPalette.js +3 -3
- package/src/sap/m/ColorPalettePopover.js +2 -2
- package/src/sap/m/ColorPaletteRenderer.js +1 -1
- package/src/sap/m/Column.js +15 -7
- package/src/sap/m/ColumnHeaderPopover.js +2 -2
- package/src/sap/m/ColumnListItem.js +3 -3
- package/src/sap/m/ColumnListItemRenderer.js +1 -1
- package/src/sap/m/ColumnPopoverActionItem.js +2 -2
- package/src/sap/m/ColumnPopoverCustomItem.js +2 -2
- package/src/sap/m/ColumnPopoverItem.js +2 -2
- package/src/sap/m/ColumnPopoverSelectListItem.js +3 -3
- package/src/sap/m/ColumnPopoverSortItem.js +2 -2
- package/src/sap/m/ComboBox.js +46 -22
- package/src/sap/m/ComboBoxBase.js +19 -14
- package/src/sap/m/ComboBoxBaseRenderer.js +4 -4
- package/src/sap/m/ComboBoxRenderer.js +1 -1
- package/src/sap/m/ComboBoxTextField.js +2 -2
- package/src/sap/m/ComboBoxTextFieldRenderer.js +1 -1
- package/src/sap/m/CustomAttribute.js +1 -1
- package/src/sap/m/CustomDynamicDateOption.js +2 -2
- package/src/sap/m/CustomListItem.js +3 -3
- package/src/sap/m/CustomListItemRenderer.js +1 -1
- package/src/sap/m/CustomTile.js +2 -2
- package/src/sap/m/CustomTileRenderer.js +1 -1
- package/src/sap/m/CustomTreeItem.js +2 -2
- package/src/sap/m/CustomTreeItemRenderer.js +1 -1
- package/src/sap/m/DatePicker.js +46 -63
- package/src/sap/m/DatePickerRenderer.js +1 -1
- package/src/sap/m/DateRangeSelection.js +70 -58
- package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
- package/src/sap/m/DateTimeField.js +24 -22
- package/src/sap/m/DateTimeFieldRenderer.js +1 -1
- package/src/sap/m/DateTimeInput.js +28 -5
- package/src/sap/m/DateTimeInputRenderer.js +1 -1
- package/src/sap/m/DateTimePicker.js +117 -103
- package/src/sap/m/DateTimePickerRenderer.js +16 -6
- package/src/sap/m/Dialog.js +82 -21
- package/src/sap/m/DialogRenderer.js +44 -36
- package/src/sap/m/DisplayListItem.js +2 -2
- package/src/sap/m/DisplayListItemRenderer.js +1 -1
- package/src/sap/m/DraftIndicator.js +2 -2
- package/src/sap/m/DraftIndicatorRenderer.js +1 -1
- package/src/sap/m/DynamicDate.js +6 -6
- package/src/sap/m/DynamicDateFormat.js +22 -5
- package/src/sap/m/DynamicDateOption.js +24 -18
- package/src/sap/m/DynamicDateRange.js +235 -45
- package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
- package/src/sap/m/DynamicDateUtil.js +15 -6
- package/src/sap/m/DynamicDateValueHelpUIType.js +3 -3
- package/src/sap/m/ExpandableText.js +23 -11
- package/src/sap/m/ExpandableTextRenderer.js +1 -1
- package/src/sap/m/FacetFilter.js +7 -4
- package/src/sap/m/FacetFilterItem.js +2 -2
- package/src/sap/m/FacetFilterItemRenderer.js +1 -1
- package/src/sap/m/FacetFilterList.js +2 -2
- package/src/sap/m/FacetFilterListRenderer.js +1 -1
- package/src/sap/m/FacetFilterRenderer.js +1 -1
- package/src/sap/m/FeedContent.js +2 -2
- package/src/sap/m/FeedContentRenderer.js +1 -1
- package/src/sap/m/FeedInput.js +2 -2
- package/src/sap/m/FeedInputRenderer.js +1 -1
- package/src/sap/m/FeedListItem.js +2 -2
- package/src/sap/m/FeedListItemAction.js +2 -2
- package/src/sap/m/FeedListItemRenderer.js +1 -1
- package/src/sap/m/Fiori20Adapter.js +21 -14
- package/src/sap/m/FlexBox.js +3 -3
- package/src/sap/m/FlexBoxRenderer.js +1 -1
- package/src/sap/m/FlexBoxStylingHelper.js +1 -1
- package/src/sap/m/FlexItemData.js +2 -2
- package/src/sap/m/FormattedText.js +2 -2
- package/src/sap/m/FormattedTextAnchorGenerator.js +1 -1
- package/src/sap/m/FormattedTextRenderer.js +1 -1
- package/src/sap/m/GenericTag.js +19 -3
- package/src/sap/m/GenericTagRenderer.js +1 -1
- package/src/sap/m/GenericTile.js +43 -27
- package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
- package/src/sap/m/GenericTileRenderer.js +2 -2
- package/src/sap/m/GroupHeaderListItem.js +2 -2
- package/src/sap/m/GroupHeaderListItemRenderer.js +1 -1
- package/src/sap/m/GrowingEnablement.js +29 -9
- package/src/sap/m/GrowingList.js +2 -2
- package/src/sap/m/GrowingListRenderer.js +1 -1
- package/src/sap/m/HBox.js +2 -2
- package/src/sap/m/HBoxRenderer.js +1 -1
- package/src/sap/m/HeaderContainer.js +2 -2
- package/src/sap/m/HeaderContainerItemNavigator.js +2 -2
- package/src/sap/m/HeaderContainerRenderer.js +1 -1
- package/src/sap/m/HyphenationSupport.js +1 -1
- package/src/sap/m/IconTabBar.js +16 -3
- package/src/sap/m/IconTabBarDragAndDropUtil.js +1 -1
- package/src/sap/m/IconTabBarRenderer.js +1 -1
- package/src/sap/m/IconTabBarSelectList.js +2 -2
- package/src/sap/m/IconTabBarSelectListRenderer.js +1 -1
- package/src/sap/m/IconTabFilter.js +9 -9
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +2 -2
- package/src/sap/m/IconTabHeader.js +44 -2
- package/src/sap/m/IconTabHeaderRenderer.js +26 -4
- package/src/sap/m/IconTabSeparator.js +2 -2
- package/src/sap/m/IllustratedMessage.js +66 -27
- package/src/sap/m/IllustratedMessageRenderer.js +14 -6
- package/src/sap/m/IllustratedMessageSize.js +1 -1
- package/src/sap/m/IllustratedMessageType.js +1 -1
- package/src/sap/m/Illustration.js +2 -2
- package/src/sap/m/IllustrationPool.js +1 -1
- package/src/sap/m/IllustrationRenderer.js +1 -1
- package/src/sap/m/Image.js +4 -3
- package/src/sap/m/ImageContent.js +2 -2
- package/src/sap/m/ImageContentRenderer.js +1 -1
- package/src/sap/m/ImageRenderer.js +1 -1
- package/src/sap/m/Input.js +84 -19
- package/src/sap/m/InputBase.js +8 -8
- package/src/sap/m/InputBaseRenderer.js +2 -2
- package/src/sap/m/InputListItem.js +2 -2
- package/src/sap/m/InputListItemRenderer.js +1 -1
- package/src/sap/m/InputRenderer.js +1 -1
- package/src/sap/m/InstanceManager.js +1 -1
- package/src/sap/m/Label.js +18 -4
- package/src/sap/m/LabelRenderer.js +1 -1
- package/src/sap/m/LightBox.js +2 -2
- package/src/sap/m/LightBoxItem.js +2 -2
- package/src/sap/m/LightBoxRenderer.js +1 -1
- package/src/sap/m/Link.js +19 -4
- package/src/sap/m/LinkRenderer.js +1 -1
- package/src/sap/m/List.js +2 -2
- package/src/sap/m/ListBase.js +10 -8
- package/src/sap/m/ListBaseRenderer.js +1 -1
- package/src/sap/m/ListItemBase.js +6 -13
- package/src/sap/m/ListItemBaseRenderer.js +4 -4
- package/src/sap/m/ListRenderer.js +1 -1
- package/src/sap/m/MaskEnabler.js +2 -2
- package/src/sap/m/MaskInput.js +2 -2
- package/src/sap/m/MaskInputRenderer.js +1 -1
- package/src/sap/m/MaskInputRule.js +2 -2
- package/src/sap/m/Menu.js +5 -5
- package/src/sap/m/MenuButton.js +37 -34
- package/src/sap/m/MenuButtonRenderer.js +1 -1
- package/src/sap/m/MenuItem.js +2 -2
- package/src/sap/m/MenuListItem.js +2 -2
- package/src/sap/m/MenuListItemRenderer.js +1 -1
- package/src/sap/m/MessageBox.js +54 -36
- package/src/sap/m/MessageItem.js +2 -2
- package/src/sap/m/MessageListItem.js +23 -2
- package/src/sap/m/MessageListItemRenderer.js +1 -1
- package/src/sap/m/MessagePage.js +21 -23
- package/src/sap/m/MessagePageRenderer.js +1 -1
- package/src/sap/m/MessagePopover.js +4 -5
- package/src/sap/m/MessagePopoverItem.js +2 -2
- package/src/sap/m/MessagePopoverRenderer.js +1 -1
- package/src/sap/m/MessageStrip.js +8 -3
- package/src/sap/m/MessageStripRenderer.js +1 -1
- package/src/sap/m/MessageStripUtilities.js +2 -3
- package/src/sap/m/MessageToast.js +6 -4
- package/src/sap/m/MessageView.js +13 -25
- package/src/sap/m/MessageViewRenderer.js +1 -1
- package/src/sap/m/MultiComboBox.js +63 -35
- package/src/sap/m/MultiComboBoxRenderer.js +1 -1
- package/src/sap/m/MultiEditField.js +2 -2
- package/src/sap/m/MultiInput.js +33 -13
- package/src/sap/m/MultiInputRenderer.js +1 -1
- package/src/sap/m/NavContainer.js +68 -4
- package/src/sap/m/NavContainerRenderer.js +1 -1
- package/src/sap/m/NewsContent.js +2 -2
- package/src/sap/m/NewsContentRenderer.js +1 -1
- package/src/sap/m/NotificationList.js +27 -2
- package/src/sap/m/NotificationListBase.js +193 -3
- package/src/sap/m/NotificationListGroup.js +29 -3
- package/src/sap/m/NotificationListGroupRenderer.js +3 -5
- package/src/sap/m/NotificationListItem.js +6 -39
- package/src/sap/m/NotificationListItemRenderer.js +2 -5
- package/src/sap/m/NotificationListRenderer.js +1 -1
- package/src/sap/m/NumericContent.js +2 -2
- package/src/sap/m/NumericContentRenderer.js +1 -1
- package/src/sap/m/NumericInput.js +2 -2
- package/src/sap/m/NumericInputRenderer.js +1 -1
- package/src/sap/m/ObjectAttribute.js +2 -2
- package/src/sap/m/ObjectAttributeRenderer.js +1 -1
- package/src/sap/m/ObjectHeader.js +2 -2
- package/src/sap/m/ObjectHeaderRenderer.js +1 -1
- package/src/sap/m/ObjectIdentifier.js +3 -3
- package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
- package/src/sap/m/ObjectListItem.js +2 -2
- package/src/sap/m/ObjectListItemRenderer.js +1 -1
- package/src/sap/m/ObjectMarker.js +10 -9
- package/src/sap/m/ObjectMarkerRenderer.js +1 -1
- package/src/sap/m/ObjectNumber.js +5 -3
- package/src/sap/m/ObjectNumberRenderer.js +1 -1
- package/src/sap/m/ObjectStatus.js +28 -15
- package/src/sap/m/ObjectStatusRenderer.js +3 -6
- package/src/sap/m/OverflowToolbar.js +56 -6
- package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
- package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -3
- package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +1 -1
- package/src/sap/m/OverflowToolbarButton.js +32 -18
- package/src/sap/m/OverflowToolbarLayoutData.js +2 -2
- package/src/sap/m/OverflowToolbarMenuButton.js +2 -2
- package/src/sap/m/OverflowToolbarRenderer.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +2 -2
- package/src/sap/m/P13nAnyFilterItem.js +2 -2
- package/src/sap/m/P13nColumnsItem.js +2 -2
- package/src/sap/m/P13nColumnsPanel.js +2 -2
- package/src/sap/m/P13nConditionPanel.js +2 -2
- package/src/sap/m/P13nConditionPanelRenderer.js +1 -1
- package/src/sap/m/P13nDialog.js +2 -2
- package/src/sap/m/P13nDimMeasureItem.js +2 -2
- package/src/sap/m/P13nDimMeasurePanel.js +2 -2
- package/src/sap/m/P13nFilterItem.js +2 -2
- package/src/sap/m/P13nFilterPanel.js +2 -2
- package/src/sap/m/P13nFilterPanelRenderer.js +1 -1
- package/src/sap/m/P13nGroupItem.js +2 -2
- package/src/sap/m/P13nGroupPanel.js +2 -2
- package/src/sap/m/P13nItem.js +8 -6
- package/src/sap/m/P13nOperationsHelper.js +1 -1
- package/src/sap/m/P13nPanel.js +2 -2
- package/src/sap/m/P13nSelectionItem.js +2 -2
- package/src/sap/m/P13nSelectionPanel.js +2 -2
- package/src/sap/m/P13nSortItem.js +2 -2
- package/src/sap/m/P13nSortPanel.js +2 -2
- package/src/sap/m/PDFViewer.js +3 -3
- package/src/sap/m/PDFViewerRenderManager.js +1 -1
- package/src/sap/m/PDFViewerRenderer.js +14 -6
- package/src/sap/m/Page.js +5 -4
- package/src/sap/m/PageAccessibleLandmarkInfo.js +2 -2
- package/src/sap/m/PageRenderer.js +1 -1
- package/src/sap/m/PagingButton.js +2 -2
- package/src/sap/m/PagingButtonRenderer.js +1 -1
- package/src/sap/m/Panel.js +2 -2
- package/src/sap/m/PanelRenderer.js +1 -1
- package/src/sap/m/PlanningCalendar.js +61 -24
- package/src/sap/m/PlanningCalendarHeader.js +15 -4
- package/src/sap/m/PlanningCalendarHeaderRenderer.js +1 -1
- package/src/sap/m/PlanningCalendarLegend.js +2 -2
- package/src/sap/m/PlanningCalendarLegendRenderer.js +1 -1
- package/src/sap/m/PlanningCalendarRenderer.js +1 -1
- package/src/sap/m/PlanningCalendarRow.js +3 -4
- package/src/sap/m/PlanningCalendarView.js +2 -2
- package/src/sap/m/Popover.js +6 -8
- package/src/sap/m/PopoverRenderer.js +1 -1
- package/src/sap/m/ProgressIndicator.js +5 -4
- package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
- package/src/sap/m/PullToRefresh.js +4 -6
- package/src/sap/m/PullToRefreshRenderer.js +1 -1
- package/src/sap/m/QuickView.js +3 -3
- package/src/sap/m/QuickViewBase.js +2 -2
- package/src/sap/m/QuickViewCard.js +2 -2
- package/src/sap/m/QuickViewCardRenderer.js +1 -1
- package/src/sap/m/QuickViewGroup.js +2 -2
- package/src/sap/m/QuickViewGroupElement.js +2 -2
- package/src/sap/m/QuickViewPage.js +43 -8
- package/src/sap/m/QuickViewPageRenderer.js +1 -1
- package/src/sap/m/RadioButton.js +21 -6
- package/src/sap/m/RadioButtonGroup.js +2 -2
- package/src/sap/m/RadioButtonGroupRenderer.js +1 -1
- package/src/sap/m/RadioButtonRenderer.js +1 -1
- package/src/sap/m/RangeSlider.js +3 -3
- package/src/sap/m/RangeSliderRenderer.js +1 -1
- package/src/sap/m/RatingIndicator.js +3 -3
- package/src/sap/m/RatingIndicatorRenderer.js +1 -1
- package/src/sap/m/ResponsivePopover.js +2 -2
- package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
- package/src/sap/m/ResponsiveScale.js +2 -2
- package/src/sap/m/ScrollBar.js +2 -2
- package/src/sap/m/ScrollBarRenderer.js +1 -1
- package/src/sap/m/ScrollContainer.js +2 -2
- package/src/sap/m/ScrollContainerRenderer.js +1 -1
- package/src/sap/m/SearchField.js +28 -62
- package/src/sap/m/SearchFieldRenderer.js +3 -21
- package/src/sap/m/SegmentedButton.js +16 -5
- package/src/sap/m/SegmentedButtonItem.js +2 -2
- package/src/sap/m/SegmentedButtonRenderer.js +1 -1
- package/src/sap/m/Select.js +67 -6
- package/src/sap/m/SelectDialog.js +47 -7
- package/src/sap/m/SelectDialogBase.js +19 -9
- package/src/sap/m/SelectList.js +4 -7
- package/src/sap/m/SelectListRenderer.js +1 -1
- package/src/sap/m/SelectRenderer.js +1 -1
- package/src/sap/m/SelectionDetails.js +4 -4
- package/src/sap/m/SelectionDetailsFacade.js +3 -3
- package/src/sap/m/SelectionDetailsItem.js +2 -2
- package/src/sap/m/SelectionDetailsItemLine.js +2 -2
- package/src/sap/m/SelectionDetailsListItemRenderer.js +1 -1
- package/src/sap/m/SelectionDetailsRenderer.js +1 -1
- package/src/sap/m/Shell.js +12 -3
- package/src/sap/m/ShellRenderer.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +2 -2
- package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +56 -17
- package/src/sap/m/SinglePlanningCalendarDayView.js +2 -2
- package/src/sap/m/SinglePlanningCalendarGrid.js +52 -26
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +1 -1
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +68 -43
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +24 -4
- package/src/sap/m/SinglePlanningCalendarMonthView.js +2 -2
- package/src/sap/m/SinglePlanningCalendarRenderer.js +1 -1
- package/src/sap/m/SinglePlanningCalendarUtilities.js +1 -1
- package/src/sap/m/SinglePlanningCalendarView.js +12 -4
- package/src/sap/m/SinglePlanningCalendarWeekView.js +20 -8
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +2 -2
- package/src/sap/m/SlideTile.js +28 -25
- package/src/sap/m/SlideTileRenderer.js +1 -1
- package/src/sap/m/Slider.js +3 -3
- package/src/sap/m/SliderRenderer.js +1 -1
- package/src/sap/m/SliderTooltip.js +2 -2
- package/src/sap/m/SliderTooltipBase.js +2 -2
- package/src/sap/m/SliderTooltipBaseRenderer.js +1 -1
- package/src/sap/m/SliderTooltipContainer.js +2 -2
- package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
- package/src/sap/m/SliderTooltipRenderer.js +1 -1
- package/src/sap/m/SliderUtilities.js +1 -1
- package/src/sap/m/SplitApp.js +2 -2
- package/src/sap/m/SplitAppRenderer.js +1 -1
- package/src/sap/m/SplitButton.js +16 -4
- package/src/sap/m/SplitButtonRenderer.js +1 -1
- package/src/sap/m/SplitContainer.js +47 -47
- package/src/sap/m/SplitContainerRenderer.js +1 -1
- package/src/sap/m/StandardDynamicDateOption.js +52 -19
- package/src/sap/m/StandardListItem.js +2 -2
- package/src/sap/m/StandardListItemRenderer.js +1 -1
- package/src/sap/m/StandardTile.js +2 -2
- package/src/sap/m/StandardTileRenderer.js +1 -1
- package/src/sap/m/StandardTreeItem.js +2 -2
- package/src/sap/m/StandardTreeItemRenderer.js +1 -1
- package/src/sap/m/StepInput.js +40 -7
- package/src/sap/m/StepInputRenderer.js +1 -1
- package/src/sap/m/Suggest.js +1 -1
- package/src/sap/m/SuggestionItem.js +2 -2
- package/src/sap/m/SuggestionsList.js +1 -1
- package/src/sap/m/SuggestionsListRenderer.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +2 -2
- package/src/sap/m/Support.js +1 -1
- package/src/sap/m/Switch.js +19 -5
- package/src/sap/m/SwitchRenderer.js +3 -3
- package/src/sap/m/TabContainer.js +2 -2
- package/src/sap/m/TabContainerItem.js +2 -2
- package/src/sap/m/TabContainerRenderer.js +1 -1
- package/src/sap/m/TabStrip.js +13 -8
- package/src/sap/m/TabStripItem.js +2 -2
- package/src/sap/m/TabStripRenderer.js +1 -1
- package/src/sap/m/Table.js +5 -5
- package/src/sap/m/TablePersoController.js +2 -2
- package/src/sap/m/TablePersoDialog.js +31 -8
- package/src/sap/m/TablePersoProvider.js +2 -2
- package/src/sap/m/TableRenderer.js +3 -2
- package/src/sap/m/TableSelectDialog.js +39 -4
- package/src/sap/m/Text.js +18 -4
- package/src/sap/m/TextArea.js +2 -2
- package/src/sap/m/TextAreaRenderer.js +1 -1
- package/src/sap/m/TextRenderer.js +1 -1
- package/src/sap/m/Tile.js +2 -2
- package/src/sap/m/TileContainer.js +5 -5
- package/src/sap/m/TileContainerRenderer.js +1 -1
- package/src/sap/m/TileContent.js +2 -2
- package/src/sap/m/TileContentRenderer.js +3 -4
- package/src/sap/m/TileRenderer.js +1 -1
- package/src/sap/m/TimePicker.js +30 -52
- package/src/sap/m/TimePickerClock.js +2 -2
- package/src/sap/m/TimePickerClockRenderer.js +1 -1
- package/src/sap/m/TimePickerClocks.js +8 -6
- package/src/sap/m/TimePickerClocksRenderer.js +1 -1
- package/src/sap/m/TimePickerInputs.js +2 -2
- package/src/sap/m/TimePickerInputsRenderer.js +1 -1
- package/src/sap/m/TimePickerInternals.js +7 -5
- package/src/sap/m/TimePickerInternalsRenderer.js +1 -1
- package/src/sap/m/TimePickerRenderer.js +1 -1
- package/src/sap/m/TimePickerSlider.js +5 -3
- package/src/sap/m/TimePickerSliderRenderer.js +1 -1
- package/src/sap/m/TimePickerSliders.js +4 -4
- package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
- package/src/sap/m/Title.js +19 -4
- package/src/sap/m/TitlePropagationSupport.js +2 -2
- package/src/sap/m/TitleRenderer.js +1 -1
- package/src/sap/m/ToDoCardRenderer.js +1 -1
- package/src/sap/m/ToggleButton.js +18 -4
- package/src/sap/m/ToggleButtonRenderer.js +1 -1
- package/src/sap/m/Token.js +2 -2
- package/src/sap/m/TokenRenderer.js +1 -1
- package/src/sap/m/Tokenizer.js +34 -13
- package/src/sap/m/TokenizerRenderer.js +8 -22
- package/src/sap/m/Toolbar.js +30 -4
- package/src/sap/m/ToolbarLayoutData.js +2 -2
- package/src/sap/m/ToolbarRenderer.js +7 -6
- package/src/sap/m/ToolbarSeparator.js +4 -3
- package/src/sap/m/ToolbarSeparatorRenderer.js +1 -1
- package/src/sap/m/ToolbarSpacer.js +2 -2
- package/src/sap/m/ToolbarSpacerRenderer.js +1 -1
- package/src/sap/m/Tree.js +2 -2
- package/src/sap/m/TreeItemBase.js +2 -2
- package/src/sap/m/TreeItemBaseRenderer.js +1 -1
- package/src/sap/m/TreeRenderer.js +1 -1
- package/src/sap/m/UploadCollection.js +11 -26
- package/src/sap/m/UploadCollectionItem.js +2 -2
- package/src/sap/m/UploadCollectionParameter.js +2 -2
- package/src/sap/m/UploadCollectionRenderer.js +1 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -2
- package/src/sap/m/VBox.js +2 -2
- package/src/sap/m/VBoxRenderer.js +1 -1
- package/src/sap/m/ValueStateHeader.js +2 -2
- package/src/sap/m/VariantItem.js +1 -1
- package/src/sap/m/VariantManagement.js +21 -3
- package/src/sap/m/ViewSettingsCustomItem.js +8 -7
- package/src/sap/m/ViewSettingsCustomTab.js +2 -2
- package/src/sap/m/ViewSettingsDialog.js +55 -49
- package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
- package/src/sap/m/ViewSettingsFilterItem.js +2 -2
- package/src/sap/m/ViewSettingsItem.js +2 -2
- package/src/sap/m/VisibleItem.js +2 -2
- package/src/sap/m/WheelSlider.js +5 -3
- package/src/sap/m/WheelSliderContainer.js +2 -2
- package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
- package/src/sap/m/WheelSliderRenderer.js +1 -1
- package/src/sap/m/Wizard.js +19 -11
- package/src/sap/m/WizardProgressNavigator.js +2 -2
- package/src/sap/m/WizardProgressNavigatorRenderer.js +1 -1
- package/src/sap/m/WizardRenderer.js +1 -1
- package/src/sap/m/WizardStep.js +21 -6
- package/src/sap/m/WizardStepRenderer.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +2 -2
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -2
- package/src/sap/m/changeHandler/CombineButtons.js +2 -2
- package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +2 -2
- package/src/sap/m/changeHandler/SplitMenuButton.js +2 -2
- package/src/sap/m/delegate/DateNavigation.js +11 -2
- package/src/sap/m/delegate/ValueStateMessage.js +1 -1
- package/src/sap/m/designtime/ActionSheet.designtime.js +1 -1
- package/src/sap/m/designtime/Avatar.designtime.js +1 -1
- package/src/sap/m/designtime/Bar.designtime.js +1 -1
- package/src/sap/m/designtime/Breadcrumbs.designtime.js +1 -1
- package/src/sap/m/designtime/BusyDialog.designtime.js +1 -1
- package/src/sap/m/designtime/Button.designtime.js +1 -1
- package/src/sap/m/designtime/Carousel.designtime.js +1 -1
- package/src/sap/m/designtime/CheckBox.designtime.js +1 -1
- package/src/sap/m/designtime/Column.designtime.js +1 -1
- package/src/sap/m/designtime/ComboBox.designtime.js +1 -1
- package/src/sap/m/designtime/CustomListItem.designtime.js +1 -1
- package/src/sap/m/designtime/CustomTile.designtime.js +1 -1
- package/src/sap/m/designtime/DatePicker.designtime.js +1 -1
- package/src/sap/m/designtime/DateRangeSelection.designtime.js +1 -1
- package/src/sap/m/designtime/DateTimeInput.designtime.js +1 -1
- package/src/sap/m/designtime/DateTimePicker.designtime.js +1 -1
- package/src/sap/m/designtime/Dialog.designtime.js +1 -1
- package/src/sap/m/designtime/DraftIndicator.designtime.js +1 -1
- package/src/sap/m/designtime/ExpandableText.designtime.js +1 -1
- package/src/sap/m/designtime/FeedInput.designtime.js +1 -1
- package/src/sap/m/designtime/FeedListItem.designtime.js +1 -1
- package/src/sap/m/designtime/FlexBox.designtime.js +1 -1
- package/src/sap/m/designtime/HBox.designtime.js +1 -1
- package/src/sap/m/designtime/IconTabBar.designtime.js +1 -1
- package/src/sap/m/designtime/IconTabFilter.designtime.js +1 -1
- package/src/sap/m/designtime/IconTabSeparator.designtime.js +1 -1
- package/src/sap/m/designtime/Image.designtime.js +1 -1
- package/src/sap/m/designtime/Input.designtime.js +1 -1
- package/src/sap/m/designtime/InputBase.designtime.js +1 -1
- package/src/sap/m/designtime/InputListItem.designtime.js +1 -1
- package/src/sap/m/designtime/Label.designtime.js +1 -1
- package/src/sap/m/designtime/LightBox.designtime.js +1 -1
- package/src/sap/m/designtime/Link.designtime.js +1 -1
- package/src/sap/m/designtime/ListBase.designtime.js +1 -1
- package/src/sap/m/designtime/ListItemBase.designtime.js +1 -1
- package/src/sap/m/designtime/MenuButton.designtime.js +1 -1
- package/src/sap/m/designtime/MessagePage.designtime.js +1 -1
- package/src/sap/m/designtime/MessageStrip.designtime.js +1 -1
- package/src/sap/m/designtime/MultiComboBox.designtime.js +1 -1
- package/src/sap/m/designtime/MultiInput.designtime.js +1 -1
- package/src/sap/m/designtime/NewsContent.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectAttribute.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectHeader.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectIdentifier.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectListItem.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectMarker.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectNumber.designtime.js +1 -1
- package/src/sap/m/designtime/ObjectStatus.designtime.js +1 -1
- package/src/sap/m/designtime/OverflowToolbar.designtime.js +1 -1
- package/src/sap/m/designtime/OverflowToolbarButton.designtime.js +1 -1
- package/src/sap/m/designtime/Page.designtime.js +1 -1
- package/src/sap/m/designtime/Panel.designtime.js +1 -1
- package/src/sap/m/designtime/PlanningCalendar.designtime.js +1 -1
- package/src/sap/m/designtime/PlanningCalendarLegend.designtime.js +1 -1
- package/src/sap/m/designtime/Popover.designtime.js +1 -1
- package/src/sap/m/designtime/ProgressIndicator.designtime.js +1 -1
- package/src/sap/m/designtime/QuickView.designtime.js +1 -1
- package/src/sap/m/designtime/QuickViewCard.designtime.js +1 -1
- package/src/sap/m/designtime/RadioButton.designtime.js +1 -1
- package/src/sap/m/designtime/RadioButtonGroup.designtime.js +1 -1
- package/src/sap/m/designtime/RangeSlider.designtime.js +1 -1
- package/src/sap/m/designtime/RatingIndicator.designtime.js +1 -1
- package/src/sap/m/designtime/ScrollContainer.designtime.js +1 -1
- package/src/sap/m/designtime/SearchField.designtime.js +1 -1
- package/src/sap/m/designtime/SegmentedButton.designtime.js +1 -1
- package/src/sap/m/designtime/Select.designtime.js +1 -1
- package/src/sap/m/designtime/Slider.designtime.js +1 -1
- package/src/sap/m/designtime/SplitApp.designtime.js +1 -1
- package/src/sap/m/designtime/SplitContainer.designtime.js +1 -1
- package/src/sap/m/designtime/StandardListItem.designtime.js +1 -1
- package/src/sap/m/designtime/StepInput.designtime.js +1 -1
- package/src/sap/m/designtime/Switch.designtime.js +1 -1
- package/src/sap/m/designtime/TabContainer.designtime.js +1 -1
- package/src/sap/m/designtime/Table.designtime.js +1 -1
- package/src/sap/m/designtime/Text.designtime.js +1 -1
- package/src/sap/m/designtime/TextArea.designtime.js +1 -1
- package/src/sap/m/designtime/TimePicker.designtime.js +6 -1
- package/src/sap/m/designtime/Title.designtime.js +1 -1
- package/src/sap/m/designtime/ToggleButton.designtime.js +1 -1
- package/src/sap/m/designtime/Toolbar.designtime.js +1 -1
- package/src/sap/m/designtime/VBox.designtime.js +1 -1
- package/src/sap/m/designtime/VariantManagement.designtime.js +1 -1
- package/src/sap/m/designtime/Wizard.designtime.js +1 -1
- package/src/sap/m/designtime/library.designtime.js +1 -1
- package/src/sap/m/designtime/semantic/DetailPage.designtime.js +1 -1
- package/src/sap/m/designtime/semantic/SemanticPage.designtime.js +1 -1
- package/src/sap/m/designtime/semantic/ShareMenuPage.designtime.js +1 -1
- package/src/sap/m/flexibility/Avatar.flexibility.js +1 -1
- package/src/sap/m/flexibility/Bar.flexibility.js +1 -1
- package/src/sap/m/flexibility/Button.flexibility.js +1 -1
- package/src/sap/m/flexibility/CheckBox.flexibility.js +1 -1
- package/src/sap/m/flexibility/Dialog.flexibility.js +1 -1
- package/src/sap/m/flexibility/EngineFlex.js +1 -1
- package/src/sap/m/flexibility/ExpandableText.flexibility.js +1 -1
- package/src/sap/m/flexibility/IconTabBar.flexibility.js +1 -1
- package/src/sap/m/flexibility/IconTabFilter.flexibility.js +1 -1
- package/src/sap/m/flexibility/InputListItem.flexibility.js +1 -1
- package/src/sap/m/flexibility/Label.flexibility.js +1 -1
- package/src/sap/m/flexibility/Link.flexibility.js +1 -1
- package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -1
- package/src/sap/m/flexibility/OverflowToolbar.flexibility.js +1 -1
- package/src/sap/m/flexibility/OverflowToolbarButton.flexibility.js +1 -1
- package/src/sap/m/flexibility/Page.flexibility.js +1 -1
- package/src/sap/m/flexibility/Panel.flexibility.js +1 -1
- package/src/sap/m/flexibility/Popover.flexibility.js +1 -1
- package/src/sap/m/flexibility/RadioButton.flexibility.js +1 -1
- package/src/sap/m/flexibility/StandardListItem.flexibility.js +1 -1
- package/src/sap/m/flexibility/Table.flexibility.js +1 -1
- package/src/sap/m/flexibility/Text.flexibility.js +1 -1
- package/src/sap/m/flexibility/Title.flexibility.js +1 -1
- package/src/sap/m/flexibility/Toolbar.flexibility.js +1 -1
- package/src/sap/m/inputUtils/ListHelpers.js +4 -2
- package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +9 -3
- package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +1 -1
- package/src/sap/m/inputUtils/calculateSelectionStart.js +1 -1
- package/src/sap/m/inputUtils/completeTextSelected.js +1 -1
- package/src/sap/m/inputUtils/filterItems.js +1 -1
- package/src/sap/m/inputUtils/forwardItemProperties.js +1 -1
- package/src/sap/m/inputUtils/forwardItemPropertiesToToken.js +1 -1
- package/src/sap/m/inputUtils/getTokenByItem.js +1 -1
- package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
- package/src/sap/m/inputUtils/inputsDefaultFilter.js +1 -1
- package/src/sap/m/inputUtils/itemsVisibilityHandler.js +1 -1
- package/src/sap/m/inputUtils/scrollToItem.js +1 -1
- package/src/sap/m/inputUtils/selectionRange.js +1 -1
- package/src/sap/m/inputUtils/typeAhead.js +11 -1
- package/src/sap/m/inputUtils/wordStartsWithValue.js +1 -1
- package/src/sap/m/library.js +133 -39
- package/src/sap/m/library.support.js +1 -1
- package/src/sap/m/messagebundle.properties +50 -30
- package/src/sap/m/messagebundle_ar.properties +55 -24
- package/src/sap/m/messagebundle_bg.properties +121 -90
- package/src/sap/m/messagebundle_ca.properties +49 -18
- package/src/sap/m/messagebundle_cs.properties +71 -40
- package/src/sap/m/messagebundle_cy.properties +47 -16
- package/src/sap/m/messagebundle_da.properties +47 -16
- package/src/sap/m/messagebundle_de.properties +57 -26
- package/src/sap/m/messagebundle_el.properties +64 -33
- package/src/sap/m/messagebundle_en.properties +45 -14
- package/src/sap/m/messagebundle_en_GB.properties +43 -12
- package/src/sap/m/messagebundle_en_US_sappsd.properties +40 -14
- package/src/sap/m/messagebundle_en_US_saprigi.properties +34 -20
- package/src/sap/m/messagebundle_en_US_saptrc.properties +44 -13
- package/src/sap/m/messagebundle_es.properties +63 -32
- package/src/sap/m/messagebundle_es_MX.properties +49 -18
- package/src/sap/m/messagebundle_et.properties +47 -16
- package/src/sap/m/messagebundle_fi.properties +50 -19
- package/src/sap/m/messagebundle_fr.properties +90 -59
- package/src/sap/m/messagebundle_fr_CA.properties +49 -18
- package/src/sap/m/messagebundle_hi.properties +56 -25
- package/src/sap/m/messagebundle_hr.properties +58 -27
- package/src/sap/m/messagebundle_hu.properties +67 -36
- package/src/sap/m/messagebundle_id.properties +49 -18
- package/src/sap/m/messagebundle_it.properties +58 -27
- package/src/sap/m/messagebundle_iw.properties +47 -16
- package/src/sap/m/messagebundle_ja.properties +63 -32
- package/src/sap/m/messagebundle_kk.properties +58 -27
- package/src/sap/m/messagebundle_ko.properties +50 -19
- package/src/sap/m/messagebundle_lt.properties +47 -16
- package/src/sap/m/messagebundle_lv.properties +49 -18
- package/src/sap/m/messagebundle_ms.properties +47 -16
- package/src/sap/m/messagebundle_nl.properties +50 -19
- package/src/sap/m/messagebundle_no.properties +50 -19
- package/src/sap/m/messagebundle_pl.properties +56 -25
- package/src/sap/m/messagebundle_pt.properties +49 -18
- package/src/sap/m/messagebundle_pt_PT.properties +47 -16
- package/src/sap/m/messagebundle_ro.properties +48 -17
- package/src/sap/m/messagebundle_ru.properties +47 -16
- package/src/sap/m/messagebundle_sh.properties +48 -17
- package/src/sap/m/messagebundle_sk.properties +48 -17
- package/src/sap/m/messagebundle_sl.properties +54 -23
- package/src/sap/m/messagebundle_sv.properties +57 -26
- package/src/sap/m/messagebundle_th.properties +78 -47
- package/src/sap/m/messagebundle_tr.properties +47 -16
- package/src/sap/m/messagebundle_uk.properties +47 -16
- package/src/sap/m/messagebundle_vi.properties +47 -16
- package/src/sap/m/messagebundle_zh_CN.properties +47 -16
- package/src/sap/m/messagebundle_zh_TW.properties +49 -18
- package/src/sap/m/p13n/AbstractContainer.js +3 -4
- package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
- package/src/sap/m/p13n/BasePanel.js +58 -28
- package/src/sap/m/p13n/Container.js +2 -2
- package/src/sap/m/p13n/Engine.js +62 -52
- package/src/sap/m/p13n/FlexUtil.js +1 -1
- package/src/sap/m/p13n/GroupController.js +2 -3
- package/src/sap/m/p13n/GroupPanel.js +2 -4
- package/src/sap/m/p13n/MetadataHelper.js +2 -2
- package/src/sap/m/p13n/PersistenceProvider.js +28 -9
- package/src/sap/m/p13n/Popup.js +21 -9
- package/src/sap/m/p13n/QueryPanel.js +37 -17
- package/src/sap/m/p13n/SelectionController.js +23 -9
- package/src/sap/m/p13n/SelectionPanel.js +14 -5
- package/src/sap/m/p13n/SortController.js +3 -4
- package/src/sap/m/p13n/SortPanel.js +2 -4
- package/src/sap/m/p13n/enum/PersistenceMode.js +4 -1
- package/src/sap/m/p13n/enum/ProcessingStrategy.js +3 -2
- package/src/sap/m/p13n/handler/xConfigHandler.js +2 -2
- package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
- package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
- package/src/sap/m/p13n/modification/ModificationHandler.js +1 -1
- package/src/sap/m/p13n/modules/AdaptationProvider.js +4 -7
- package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +16 -14
- package/src/sap/m/p13n/modules/StateHandlerRegistry.js +5 -4
- package/src/sap/m/p13n/modules/UIManager.js +5 -5
- package/src/sap/m/p13n/modules/xConfigAPI.js +5 -2
- package/src/sap/m/plugins/CellSelector.js +114 -56
- package/src/sap/m/plugins/ColumnResizer.js +9 -9
- package/src/sap/m/plugins/CopyProvider.js +302 -0
- package/src/sap/m/plugins/DataStateIndicator.js +2 -2
- package/src/sap/m/plugins/PasteProvider.js +2 -2
- package/src/sap/m/plugins/PluginBase.js +8 -5
- package/src/sap/m/routing/RouteMatchedHandler.js +1 -1
- package/src/sap/m/routing/Router.js +1 -1
- package/src/sap/m/routing/Target.js +1 -1
- package/src/sap/m/routing/TargetHandler.js +1 -1
- package/src/sap/m/routing/Targets.js +1 -1
- package/src/sap/m/routing/async/Target.js +1 -1
- package/src/sap/m/routing/async/Targets.js +1 -1
- package/src/sap/m/routing/sync/Target.js +1 -1
- package/src/sap/m/routing/sync/Targets.js +1 -1
- package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
- package/src/sap/m/rules/Button.support.js +1 -1
- package/src/sap/m/rules/CheckBox.support.js +1 -1
- package/src/sap/m/rules/DatePicker.support.js +1 -1
- package/src/sap/m/rules/DateRangeSelection.support.js +1 -1
- package/src/sap/m/rules/Dialog.support.js +1 -1
- package/src/sap/m/rules/FacetFilter.support.js +1 -1
- package/src/sap/m/rules/IconTabBar.support.js +1 -1
- package/src/sap/m/rules/Image.support.js +1 -1
- package/src/sap/m/rules/Input.support.js +1 -1
- package/src/sap/m/rules/Link.support.js +1 -1
- package/src/sap/m/rules/MaskInput.support.js +1 -1
- package/src/sap/m/rules/MessagePage.support.js +1 -1
- package/src/sap/m/rules/ObjectHeader.support.js +1 -1
- package/src/sap/m/rules/ObjectListItem.support.js +1 -1
- package/src/sap/m/rules/ObjectMarker.support.js +1 -1
- package/src/sap/m/rules/ObjectStatus.support.js +1 -1
- package/src/sap/m/rules/Panel.support.js +1 -1
- package/src/sap/m/rules/Select.support.js +1 -1
- package/src/sap/m/rules/SelectDialog.support.js +1 -1
- package/src/sap/m/rules/StepInput.support.js +1 -1
- package/src/sap/m/rules/Table.support.js +1 -1
- package/src/sap/m/rules/Title.support.js +1 -1
- package/src/sap/m/rules/Tokenizer.support.js +1 -1
- package/src/sap/m/rules/ViewSettingsDialog.support.js +1 -1
- package/src/sap/m/semantic/AddAction.js +2 -2
- package/src/sap/m/semantic/CancelAction.js +2 -2
- package/src/sap/m/semantic/DeleteAction.js +2 -2
- package/src/sap/m/semantic/DetailPage.js +2 -2
- package/src/sap/m/semantic/DiscussInJamAction.js +2 -2
- package/src/sap/m/semantic/EditAction.js +2 -2
- package/src/sap/m/semantic/FavoriteAction.js +2 -2
- package/src/sap/m/semantic/FilterAction.js +2 -2
- package/src/sap/m/semantic/FilterSelect.js +2 -2
- package/src/sap/m/semantic/FlagAction.js +2 -2
- package/src/sap/m/semantic/ForwardAction.js +2 -2
- package/src/sap/m/semantic/FullscreenPage.js +2 -2
- package/src/sap/m/semantic/GroupAction.js +2 -2
- package/src/sap/m/semantic/GroupSelect.js +2 -2
- package/src/sap/m/semantic/MainAction.js +2 -2
- package/src/sap/m/semantic/MasterPage.js +2 -2
- package/src/sap/m/semantic/MessagesIndicator.js +2 -2
- package/src/sap/m/semantic/MultiSelectAction.js +2 -2
- package/src/sap/m/semantic/NegativeAction.js +2 -2
- package/src/sap/m/semantic/OpenInAction.js +2 -2
- package/src/sap/m/semantic/PositiveAction.js +2 -2
- package/src/sap/m/semantic/PrintAction.js +2 -2
- package/src/sap/m/semantic/SaveAction.js +2 -2
- package/src/sap/m/semantic/Segment.js +2 -2
- package/src/sap/m/semantic/SegmentedContainer.js +2 -2
- package/src/sap/m/semantic/SemanticButton.js +2 -2
- package/src/sap/m/semantic/SemanticConfiguration.js +2 -2
- package/src/sap/m/semantic/SemanticControl.js +2 -2
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +2 -2
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
- package/src/sap/m/semantic/SemanticPage.js +2 -2
- package/src/sap/m/semantic/SemanticPageRenderer.js +1 -1
- package/src/sap/m/semantic/SemanticSelect.js +2 -2
- package/src/sap/m/semantic/SemanticToggleButton.js +2 -2
- package/src/sap/m/semantic/SendEmailAction.js +2 -2
- package/src/sap/m/semantic/SendMessageAction.js +2 -2
- package/src/sap/m/semantic/ShareInJamAction.js +2 -2
- package/src/sap/m/semantic/ShareMenu.js +2 -2
- package/src/sap/m/semantic/ShareMenuPage.js +2 -2
- package/src/sap/m/semantic/SortAction.js +2 -2
- package/src/sap/m/semantic/SortSelect.js +2 -2
- package/src/sap/m/table/Util.js +31 -11
- package/src/sap/m/table/columnmenu/ActionItem.js +20 -14
- package/src/sap/m/table/columnmenu/Entry.js +18 -14
- package/src/sap/m/table/columnmenu/Item.js +21 -19
- package/src/sap/m/table/columnmenu/ItemBase.js +26 -23
- package/src/sap/m/table/columnmenu/ItemContainer.js +1 -1
- package/src/sap/m/table/columnmenu/Menu.js +107 -106
- package/src/sap/m/table/columnmenu/MenuRenderer.js +2 -4
- package/src/sap/m/table/columnmenu/QuickAction.js +12 -11
- package/src/sap/m/table/columnmenu/QuickActionBase.js +12 -11
- package/src/sap/m/table/columnmenu/QuickActionContainer.js +1 -1
- package/src/sap/m/table/columnmenu/QuickActionItem.js +10 -9
- package/src/sap/m/table/columnmenu/QuickGroup.js +10 -8
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +10 -9
- package/src/sap/m/table/columnmenu/QuickSort.js +11 -9
- package/src/sap/m/table/columnmenu/QuickSortItem.js +16 -9
- package/src/sap/m/table/columnmenu/QuickTotal.js +10 -8
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +10 -9
- package/src/sap/m/themes/base/Carousel.less +17 -4
- package/src/sap/m/themes/base/ColumnResizer.less +1 -1
- package/src/sap/m/themes/base/Dialog.less +22 -52
- package/src/sap/m/themes/base/FeedInput.less +4 -0
- package/src/sap/m/themes/base/FeedListItem.less +1 -1
- package/src/sap/m/themes/base/GenericTile.less +97 -16
- package/src/sap/m/themes/base/IconTabBar.less +7 -4
- package/src/sap/m/themes/base/IllustratedMessage.less +1 -0
- package/src/sap/m/themes/base/InputBase.less +11 -2
- package/src/sap/m/themes/base/Label.less +22 -0
- package/src/sap/m/themes/base/Link.less +3 -1
- package/src/sap/m/themes/base/MenuButton.less +1 -1
- package/src/sap/m/themes/base/MessageBox.less +5 -5
- package/src/sap/m/themes/base/MessageView.less +4 -0
- package/src/sap/m/themes/base/MultiComboBox.less +6 -4
- package/src/sap/m/themes/base/NotificationListBase.less +3 -18
- package/src/sap/m/themes/base/NotificationListGroup.less +14 -0
- package/src/sap/m/themes/base/NotificationListItem.less +12 -0
- package/src/sap/m/themes/base/ObjectNumber.less +9 -0
- package/src/sap/m/themes/base/ObjectStatus.less +44 -0
- package/src/sap/m/themes/base/PlanningCalendar.less +1 -0
- package/src/sap/m/themes/base/RadioButton.less +1 -1
- package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +1 -0
- package/src/sap/m/themes/base/SlideTile.less +4 -4
- package/src/sap/m/themes/base/SplitButton.less +3 -1
- package/src/sap/m/themes/base/SuggestionsPopover.less +14 -6
- package/src/sap/m/themes/base/Table.less +9 -16
- package/src/sap/m/themes/base/Text.less +1 -0
- package/src/sap/m/themes/base/TextArea.less +57 -16
- package/src/sap/m/themes/base/Tokenizer.less +23 -0
- package/src/sap/m/themes/base/Toolbar.less +1 -1
- package/src/sap/m/themes/base/WizardProgressNavigator.less +4 -3
- package/src/sap/m/themes/base/library.source.less +1 -1
- package/src/sap/m/themes/base/p13n.QueryPanel.less +5 -0
- package/src/sap/m/themes/sap_hcb/Dialog.less +2 -2
- package/src/sap/m/themes/sap_hcb/ObjectStatus.less +40 -0
- package/src/sap/m/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/m/themes/sap_horizon/Label.less +10 -0
- package/src/sap/m/themes/sap_horizon/Text.less +10 -0
- package/src/sap/m/upload/UploadSet.js +65 -5
- package/src/sap/m/upload/UploadSetItem.js +15 -11
- package/src/sap/m/upload/UploadSetRenderer.js +1 -1
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +2 -2
- package/src/sap/m/upload/Uploader.js +1 -1
- package/src/sap/m/upload/UploaderHttpRequestMethod.js +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"./PluginBase",
|
|
8
8
|
"sap/ui/events/KeyCodes",
|
|
9
9
|
"sap/ui/core/Core",
|
|
10
|
-
"sap/ui/
|
|
10
|
+
"sap/ui/core/Element",
|
|
11
11
|
"sap/base/Log"
|
|
12
|
-
], function (PluginBase, KeyCodes, Core,
|
|
12
|
+
], function (PluginBase, KeyCodes, Core, Element, Log) {
|
|
13
13
|
"use strict";
|
|
14
14
|
|
|
15
15
|
var SELECTION_DIRECTION = {
|
|
@@ -53,7 +53,7 @@ sap.ui.define([
|
|
|
53
53
|
*
|
|
54
54
|
* @extends sap.m.plugins.PluginBase
|
|
55
55
|
* @class
|
|
56
|
-
* @version 1.
|
|
56
|
+
* @version 1.111.0
|
|
57
57
|
* @author SAP SE
|
|
58
58
|
*
|
|
59
59
|
* @private
|
|
@@ -62,7 +62,22 @@ sap.ui.define([
|
|
|
62
62
|
var CellSelector = PluginBase.extend("sap.m.plugins.CellSelector", {
|
|
63
63
|
metadata: {
|
|
64
64
|
library: "sap.m",
|
|
65
|
-
properties: {
|
|
65
|
+
properties: {
|
|
66
|
+
/**
|
|
67
|
+
* For the {@link sap.ui.table.Table} control, defines the number of row contexts that needs to be retrived from the binding
|
|
68
|
+
* when the range selection (e.g. enhancing the cell selection block to cover all rows of a column) is triggered by the user.
|
|
69
|
+
* This helps to make the contexts already available for the user actions after the cell selection (e.g. copy to clipboard).
|
|
70
|
+
* This property accepts positive integer values.
|
|
71
|
+
* <b>Note:</b> To avoid performance problems, the <code>rangeLimit</code> should only be set higher than the default value of 200 in the following cases:
|
|
72
|
+
* <ul>
|
|
73
|
+
* <li>With client-side models</li>
|
|
74
|
+
* <li>With server-side models if they are used in client mode</li>
|
|
75
|
+
* <li>If the entity set is small</li>
|
|
76
|
+
* </ul>
|
|
77
|
+
* In other cases, it is recommended to set the <code>rangeLimit</code> to at least double the value of the {@link sap.ui.table.Table#getThreshold threshold} property.
|
|
78
|
+
*/
|
|
79
|
+
rangeLimit: {type: "int", group: "Behavior", defaultValue: 200}
|
|
80
|
+
},
|
|
66
81
|
events: {}
|
|
67
82
|
}
|
|
68
83
|
});
|
|
@@ -114,34 +129,48 @@ sap.ui.define([
|
|
|
114
129
|
};
|
|
115
130
|
|
|
116
131
|
/**
|
|
117
|
-
*
|
|
132
|
+
* Returns the cell selection range.
|
|
133
|
+
* The value <code>Infinity</code> in <code>rowIndex</code> meant for until the limit is reached.
|
|
118
134
|
*
|
|
119
135
|
* Note: This method is subject to change.
|
|
120
|
-
* @returns {
|
|
136
|
+
* @returns {{from: {rowIndex: int, colIndex: int}, to: {rowIndex: int, colIndex: int}} The range of the selection
|
|
121
137
|
* @private
|
|
122
|
-
* @experimental Since 1.
|
|
138
|
+
* @experimental Since 1.110
|
|
139
|
+
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
123
140
|
*/
|
|
124
|
-
CellSelector.prototype.
|
|
141
|
+
CellSelector.prototype.getSelectionRange = function () {
|
|
125
142
|
if (!this._bSelecting) {
|
|
126
|
-
return
|
|
143
|
+
return null;
|
|
127
144
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
145
|
+
|
|
146
|
+
var mSelectionRange = getNormalizedBounds(this._oSession.mSource, this._oSession.mTarget);
|
|
147
|
+
if (isNaN(mSelectionRange.from.rowIndex) || isNaN(mSelectionRange.to.rowIndex)) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
var iMaxColumnIndex = this.getConfig("getVisibleColumns", this.getControl()).length - 1;
|
|
152
|
+
mSelectionRange.from.colIndex = Math.max(mSelectionRange.from.colIndex, 0);
|
|
153
|
+
mSelectionRange.to.colIndex = Math.min(mSelectionRange.to.colIndex, iMaxColumnIndex);
|
|
154
|
+
mSelectionRange.from.rowIndex = Math.max(mSelectionRange.from.rowIndex, 0);
|
|
155
|
+
return mSelectionRange;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Returns the row binding context of the current selection.
|
|
160
|
+
*
|
|
161
|
+
* Note: This method is subject to change.
|
|
162
|
+
* @returns {sap.ui.model.Context[]} The binding context of selected rows
|
|
163
|
+
* @private
|
|
164
|
+
* @experimental Since 1.110
|
|
165
|
+
* @ui5-restricted sap.m.plugins.CopyProvider
|
|
166
|
+
*/
|
|
167
|
+
CellSelector.prototype.getSelectedRowContexts = function () {
|
|
168
|
+
var mSelectionRange = this.getSelectionRange();
|
|
169
|
+
if (!mSelectionRange) {
|
|
170
|
+
return [];
|
|
143
171
|
}
|
|
144
|
-
|
|
172
|
+
|
|
173
|
+
return this.getConfig("rowContexts", this.getControl(), mSelectionRange.from.rowIndex, mSelectionRange.to.rowIndex, this.getRangeLimit());
|
|
145
174
|
};
|
|
146
175
|
|
|
147
176
|
CellSelector.prototype.onsapspace = function (oEvent) {
|
|
@@ -264,19 +293,12 @@ sap.ui.define([
|
|
|
264
293
|
// CTRL+SHIFT+A: Clear Selection
|
|
265
294
|
if (isKeyCombination(oEvent, KeyCodes.A, true, true)) {
|
|
266
295
|
this.clearSelection();
|
|
296
|
+
oEvent.preventDefault();
|
|
297
|
+
oEvent.setMarked();
|
|
267
298
|
}
|
|
268
|
-
oEvent.preventDefault();
|
|
269
|
-
oEvent.setMarked();
|
|
270
299
|
}
|
|
271
300
|
};
|
|
272
301
|
|
|
273
|
-
CellSelector.prototype.onkeyup = function (oEvent) {
|
|
274
|
-
if (!this._bSelecting) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
oEvent.setMarked();
|
|
278
|
-
};
|
|
279
|
-
|
|
280
302
|
// Mouse Navigation
|
|
281
303
|
|
|
282
304
|
CellSelector.prototype.ontouchstart = function (oEvent) {
|
|
@@ -552,6 +574,10 @@ sap.ui.define([
|
|
|
552
574
|
return;
|
|
553
575
|
}
|
|
554
576
|
|
|
577
|
+
if (mBounds.to.rowIndex == Infinity) {
|
|
578
|
+
this.getConfig("loadContexts", this.getControl(), mBounds.from.rowIndex, this.getRangeLimit());
|
|
579
|
+
}
|
|
580
|
+
|
|
555
581
|
var oBorderOptions = this._getBorderOptions(mBounds, mDrawableBounds);
|
|
556
582
|
this._oSession.aCells = oSelection.cells;
|
|
557
583
|
this._drawSelection(mDrawableBounds, oBorderOptions);
|
|
@@ -894,6 +920,16 @@ sap.ui.define([
|
|
|
894
920
|
});
|
|
895
921
|
oSelectionPlugin.detachEvent(sEvent, oPlugin.clearSelection, oPlugin);
|
|
896
922
|
},
|
|
923
|
+
/**
|
|
924
|
+
* Get visible columns of the table.
|
|
925
|
+
* @param {sap.ui.table.Table} oTable table instance
|
|
926
|
+
* @returns {sap.ui.table.Column[]} array of visible columns
|
|
927
|
+
*/
|
|
928
|
+
getVisibleColumns: function (oTable) {
|
|
929
|
+
return oTable.getColumns().filter(function (oColumn) {
|
|
930
|
+
return oColumn.getDomRef();
|
|
931
|
+
});
|
|
932
|
+
},
|
|
897
933
|
/**
|
|
898
934
|
* Checks if the selection is enabled for the control.
|
|
899
935
|
* @param {sap.ui.core.Control} oControl control instance
|
|
@@ -913,7 +949,7 @@ sap.ui.define([
|
|
|
913
949
|
getCellRef: function (oTable, mPosition) {
|
|
914
950
|
var oRow = this._getRowByIndex(oTable, mPosition.rowIndex);
|
|
915
951
|
if (oRow) {
|
|
916
|
-
var oColumn = this.
|
|
952
|
+
var oColumn = this.getVisibleColumns(oTable)[mPosition.colIndex];
|
|
917
953
|
var oCell = oColumn && oRow.getCells()[mPosition.colIndex];
|
|
918
954
|
if (oCell) {
|
|
919
955
|
return oCell.$().closest(this.selectableCells)[0];
|
|
@@ -941,7 +977,7 @@ sap.ui.define([
|
|
|
941
977
|
var aRows = oTable.getRows();
|
|
942
978
|
return {
|
|
943
979
|
from: {rowIndex: aRows[0].getIndex(), colIndex: 0},
|
|
944
|
-
to: {rowIndex: aRows[aRows.length - 1].getIndex(), colIndex: this.
|
|
980
|
+
to: {rowIndex: aRows[aRows.length - 1].getIndex(), colIndex: this.getVisibleColumns(oTable).length - 1}
|
|
945
981
|
};
|
|
946
982
|
},
|
|
947
983
|
/**
|
|
@@ -989,19 +1025,19 @@ sap.ui.define([
|
|
|
989
1025
|
mBounds.from.colIndex = Math.max(mBounds.from.colIndex, 0);
|
|
990
1026
|
|
|
991
1027
|
mBounds.to.rowIndex = Math.min(mBounds.to.rowIndex, iBindingLength);
|
|
992
|
-
mBounds.to.colIndex = Math.min(mBounds.to.colIndex, this.
|
|
1028
|
+
mBounds.to.colIndex = Math.min(mBounds.to.colIndex, this.getVisibleColumns(oTable).length - 1);
|
|
993
1029
|
|
|
994
1030
|
var aCells = [];
|
|
995
1031
|
|
|
996
1032
|
// Replace MIN/MAX with according number for focus object
|
|
997
1033
|
if (oOptions && oOptions.info) {
|
|
998
1034
|
oOptions.info.focus.rowIndex = Math.min(Math.max(oOptions.info.focus.rowIndex, 0), iBindingLength);
|
|
999
|
-
oOptions.info.focus.colIndex = Math.min(Math.max(oOptions.info.focus.colIndex, 0), this.
|
|
1035
|
+
oOptions.info.focus.colIndex = Math.min(Math.max(oOptions.info.focus.colIndex, 0), this.getVisibleColumns(oTable).length - 1);
|
|
1000
1036
|
this._focusCell(oTable, oOptions.info.focus, oOptions.info.direction);
|
|
1001
1037
|
}
|
|
1002
1038
|
|
|
1003
1039
|
// If table is in Single Selection Mode, only select the row with focus in it
|
|
1004
|
-
if (mBounds.from.colIndex === 0 && mBounds.to.colIndex === (this.
|
|
1040
|
+
if (mBounds.from.colIndex === 0 && mBounds.to.colIndex === (this.getVisibleColumns(oTable).length - 1) && oTable.getSelectionMode() == "Single") {
|
|
1005
1041
|
mBounds.from.rowIndex = mSelectionBounds.from.rowIndex = oOptions.info.focus.rowIndex;
|
|
1006
1042
|
mBounds.to.rowIndex = mSelectionBounds.to.rowIndex = oOptions.info.focus.rowIndex;
|
|
1007
1043
|
}
|
|
@@ -1024,7 +1060,7 @@ sap.ui.define([
|
|
|
1024
1060
|
* @returns {int} row index
|
|
1025
1061
|
*/
|
|
1026
1062
|
rowIndex: function (oTable, oCellDomRef) {
|
|
1027
|
-
return
|
|
1063
|
+
return Element.closestTo(oCellDomRef, true).getIndex();
|
|
1028
1064
|
},
|
|
1029
1065
|
/**
|
|
1030
1066
|
* Retrieves the column index for the given cell's DOM reference.
|
|
@@ -1033,13 +1069,45 @@ sap.ui.define([
|
|
|
1033
1069
|
* @returns {int} column index
|
|
1034
1070
|
*/
|
|
1035
1071
|
colIndex: function (oTable, oCellDomRef) {
|
|
1036
|
-
return this.
|
|
1072
|
+
return this.getVisibleColumns(oTable).indexOf(Core.byId(oCellDomRef.getAttribute("data-sap-ui-colid")));
|
|
1037
1073
|
},
|
|
1038
|
-
|
|
1039
|
-
|
|
1074
|
+
/**
|
|
1075
|
+
* Loads contexts according to the provided parameters without changing the binding's state.
|
|
1076
|
+
*
|
|
1077
|
+
* @param {sap.ui.table.Table} oTable The Table instance
|
|
1078
|
+
* @param {int} iStartIndex The index where to start the retrieval of contexts
|
|
1079
|
+
* @param {int} iLength The number of contexts to retrieve beginning from the start index.
|
|
1080
|
+
*/
|
|
1081
|
+
loadContexts: function(oTable, iStartIndex, iLength) {
|
|
1082
|
+
var oBinding = oTable.getBinding("rows");
|
|
1083
|
+
if (!oBinding || oBinding.isA("sap.ui.model.ClientListBinding")) {
|
|
1084
|
+
return;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
oBinding.getContexts(Math.max(0, iStartIndex), Math.max(1, iLength), 0, true);
|
|
1088
|
+
},
|
|
1089
|
+
/**
|
|
1090
|
+
* Retrieves the row contexts of the table according to the specified parameters.
|
|
1091
|
+
* @param {sap.ui.table.Table} oTable The table instance
|
|
1092
|
+
* @param {int} iFromIndex The start index
|
|
1093
|
+
* @param {int} iToIndex The end index
|
|
1094
|
+
* @param {int} iLimit The range limit
|
|
1095
|
+
* @returns {sap.ui.model.Context[]} A portion of the row binding contexts
|
|
1096
|
+
*/
|
|
1097
|
+
rowContexts: function(oTable, iFromIndex, iToIndex, iLimit) {
|
|
1098
|
+
if (iToIndex == Infinity) {
|
|
1099
|
+
var iMaxIndex = oTable.getBinding("rows").getAllCurrentContexts().length - 1;
|
|
1100
|
+
iToIndex = Math.min(iToIndex, iFromIndex + iLimit - 1, iMaxIndex);
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
var aContexts = [];
|
|
1104
|
+
for (var i = iFromIndex; i <= iToIndex; i++) {
|
|
1105
|
+
aContexts.push(oTable.getContextByIndex(i));
|
|
1106
|
+
}
|
|
1107
|
+
return aContexts;
|
|
1040
1108
|
},
|
|
1041
1109
|
columnByIndex: function(oTable, iColIndex) {
|
|
1042
|
-
var oColumn = this.
|
|
1110
|
+
var oColumn = this.getVisibleColumns(oTable)[iColIndex];
|
|
1043
1111
|
if (!oColumn.getVisible()) {
|
|
1044
1112
|
return;
|
|
1045
1113
|
}
|
|
@@ -1047,7 +1115,7 @@ sap.ui.define([
|
|
|
1047
1115
|
},
|
|
1048
1116
|
isNavigatableCell: function (oTable, mPosition) {
|
|
1049
1117
|
if ((mPosition.rowIndex < 0 || mPosition.rowIndex >= oTable.getBinding("rows").getLength()
|
|
1050
|
-
|| mPosition.colIndex < 0 || mPosition.colIndex >= this.
|
|
1118
|
+
|| mPosition.colIndex < 0 || mPosition.colIndex >= this.getVisibleColumns(oTable).length)
|
|
1051
1119
|
&& !(mPosition.rowIndex == -Infinity || mPosition.rowIndex == Infinity
|
|
1052
1120
|
|| mPosition.colIndex == -Infinity || mPosition.colIndex == Infinity)) {
|
|
1053
1121
|
return false;
|
|
@@ -1093,16 +1161,6 @@ sap.ui.define([
|
|
|
1093
1161
|
}
|
|
1094
1162
|
oCellRef && oCellRef.focus();
|
|
1095
1163
|
},
|
|
1096
|
-
/**
|
|
1097
|
-
* Get visible columns of the table.
|
|
1098
|
-
* @param {sap.ui.table.Table} oTable table instance
|
|
1099
|
-
* @returns {sap.ui.table.Column[]} array of visible columns
|
|
1100
|
-
*/
|
|
1101
|
-
_getColumns: function (oTable) {
|
|
1102
|
-
return oTable.getColumns().filter(function (oColumn) {
|
|
1103
|
-
return oColumn.getDomRef();
|
|
1104
|
-
});
|
|
1105
|
-
},
|
|
1106
1164
|
/**
|
|
1107
1165
|
* Retrieve a row by its index.
|
|
1108
1166
|
* @param {sap.ui.table.Table} oTable table instance
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"./PluginBase",
|
|
9
9
|
"sap/ui/core/Core",
|
|
10
|
+
"sap/ui/core/Element",
|
|
10
11
|
"sap/ui/core/InvisibleText",
|
|
11
12
|
"sap/ui/Device",
|
|
12
13
|
"sap/m/ColumnPopoverActionItem",
|
|
13
14
|
"sap/m/table/columnmenu/QuickAction",
|
|
14
15
|
"sap/m/Button",
|
|
15
16
|
"sap/ui/thirdparty/jquery",
|
|
16
|
-
"sap/ui/dom/jquery/control", // jQuery Plugin "control"
|
|
17
17
|
"sap/ui/dom/jquery/Aria" // jQuery Plugin "aria"
|
|
18
18
|
], function(PluginBase,
|
|
19
19
|
Core,
|
|
20
|
+
Element,
|
|
20
21
|
InvisibleText,
|
|
21
22
|
Device,
|
|
22
23
|
ColumnPopoverActionItem,
|
|
@@ -39,7 +40,7 @@ sap.ui.define([
|
|
|
39
40
|
*
|
|
40
41
|
* @extends sap.ui.core.Element
|
|
41
42
|
* @author SAP SE
|
|
42
|
-
* @version 1.
|
|
43
|
+
* @version 1.111.0
|
|
43
44
|
*
|
|
44
45
|
* @public
|
|
45
46
|
* @since 1.91
|
|
@@ -124,7 +125,7 @@ sap.ui.define([
|
|
|
124
125
|
*/
|
|
125
126
|
ColumnResizer.prototype._updateAriaDescribedBy = function(sAction) {
|
|
126
127
|
this._aResizables.forEach(function(oResizable) {
|
|
127
|
-
var oResizableControl =
|
|
128
|
+
var oResizableControl = Element.closestTo(oResizable, true);
|
|
128
129
|
var oFocusDomRef = oResizableControl && oResizableControl.getFocusDomRef();
|
|
129
130
|
jQuery(oFocusDomRef)[sAction + "AriaDescribedBy"](InvisibleText.getStaticId("sap.m", "COLUMNRESIZER_RESIZABLE"));
|
|
130
131
|
});
|
|
@@ -346,14 +347,14 @@ sap.ui.define([
|
|
|
346
347
|
*/
|
|
347
348
|
ColumnResizer.prototype._startResizeSession = function(iIndex) {
|
|
348
349
|
oSession.$CurrentColumn = jQuery(this._aResizables[iIndex]);
|
|
349
|
-
oSession.oCurrentColumn = oSession.$CurrentColumn
|
|
350
|
+
oSession.oCurrentColumn = Element.closestTo(oSession.$CurrentColumn[0], true);
|
|
350
351
|
oSession.fCurrentColumnWidth = oSession.$CurrentColumn.width();
|
|
351
352
|
oSession.iMaxDecrease = this._getColumnMinWidth(oSession.oCurrentColumn) - oSession.fCurrentColumnWidth;
|
|
352
353
|
oSession.iEmptySpace = this.getConfig("emptySpace", this.getControl());
|
|
353
354
|
|
|
354
355
|
if (oSession.iEmptySpace != -1) {
|
|
355
356
|
oSession.$NextColumn = jQuery(this._aResizables[iIndex + 1]);
|
|
356
|
-
oSession.oNextColumn = oSession.$NextColumn
|
|
357
|
+
oSession.oNextColumn = Element.closestTo(oSession.$NextColumn[0], true);
|
|
357
358
|
oSession.fNextColumnWidth = oSession.$NextColumn.width() || 0;
|
|
358
359
|
oSession.iMaxIncrease = oSession.iEmptySpace + oSession.fNextColumnWidth - this._getColumnMinWidth(oSession.oNextColumn);
|
|
359
360
|
} else {
|
|
@@ -396,7 +397,7 @@ sap.ui.define([
|
|
|
396
397
|
// when any column is resized, then make all visible columns have fixed width
|
|
397
398
|
this.getConfig("fixAutoWidthColumns") && this._aResizables.forEach(function(oResizable) {
|
|
398
399
|
var $Resizable = jQuery(oResizable),
|
|
399
|
-
oColumn =
|
|
400
|
+
oColumn = Element.closestTo(oResizable, true),
|
|
400
401
|
sWidth = oColumn.getWidth();
|
|
401
402
|
|
|
402
403
|
if (sWidth && sWidth.toLowerCase() != "auto") {
|
|
@@ -506,9 +507,8 @@ sap.ui.define([
|
|
|
506
507
|
}
|
|
507
508
|
|
|
508
509
|
return new QuickAction({
|
|
509
|
-
label: Core.getLibraryResourceBundle("sap.m").getText("table.COLUMN_MENU_RESIZE"),
|
|
510
510
|
content: new Button({
|
|
511
|
-
|
|
511
|
+
text: Core.getLibraryResourceBundle("sap.m").getText("table.COLUMNMENU_RESIZE"),
|
|
512
512
|
press: function() {
|
|
513
513
|
oColumnMenu.close();
|
|
514
514
|
this.startResizing(oColumn.getDomRef());
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/* eslint-disable no-loop-func */
|
|
2
|
+
/*!
|
|
3
|
+
* OpenUI5
|
|
4
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructor for a new CopyProvider plugin that can be used to copy table rows to the clipboard.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [sId] ID for the new <code>CopyProvider</code>, generated automatically if no ID is given
|
|
15
|
+
* @param {object} [mSettings] Initial settings for the <code>CopyProvider</code>
|
|
16
|
+
*
|
|
17
|
+
* @class
|
|
18
|
+
* Provides copy to clipboard capabilities for the selected rows of the table.
|
|
19
|
+
* This plugin can copy individual cells if the {@link sap.m.plugins.CellSelector CellSelector} plugin is also enabled for that table.<br>
|
|
20
|
+
*
|
|
21
|
+
* <b>Note:</b> If a <code>sap.ui.table.Table</code> control is used together with server-side models, the {@link sap.ui.table.plugins.MultiSelectionPlugin MultiSelectionPlugin}
|
|
22
|
+
* must be set for that table to make this plugin work property with range selections. See also the {@link sap.ui.table.plugins.MultiSelectionPlugin#getLimit limit} property of
|
|
23
|
+
* the <code>MultiSelectionPlugin</code>.<br>
|
|
24
|
+
* <b>Note:</b> This plugin requires a secure origin, either HTTPS or localhost, in order to access the browser's clipboard API.
|
|
25
|
+
* For more information, see {@link https://w3c.github.io/webappsec-secure-contexts/}.
|
|
26
|
+
*
|
|
27
|
+
* @extends sap.ui.core.Element
|
|
28
|
+
* @author SAP SE
|
|
29
|
+
* @version 1.111.0
|
|
30
|
+
*
|
|
31
|
+
* @public
|
|
32
|
+
* @since 1.110
|
|
33
|
+
* @alias sap.m.plugins.CopyProvider
|
|
34
|
+
*/
|
|
35
|
+
var CopyProvider = PluginBase.extend("sap.m.plugins.CopyProvider", /** @lends sap.m.plugins.CopyProvider.prototype */ { metadata: {
|
|
36
|
+
library: "sap.m",
|
|
37
|
+
properties: {
|
|
38
|
+
/**
|
|
39
|
+
* Callback function to extract the cell data that is copied to the clipboard.
|
|
40
|
+
*
|
|
41
|
+
* @callback sap.m.plugins.CopyProvider.extractDataHandler
|
|
42
|
+
* @param {sap.ui.model.Context|sap.m.ColumnListItem} oContextOrRow The binding context of the selected row or the row instance if there is no binding
|
|
43
|
+
* @param {sap.m.Column|sap.ui.table.Column|sap.ui.mdc.table.Column} oColumn The related column instance of selected cells
|
|
44
|
+
* @returns {*|Array.<*>|undefined|null} The cell data to be copied or array of cell data to be split into different cells in the clipboard. <code>undefined</code> or <code>null</code> to exclude the cell from copying.
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* Defines a {@link sap.m.plugins.CopyProvider.extractDataHandler callback function} that gets called for each selected cell to extract the cell data that is copied to the clipboard.
|
|
49
|
+
*
|
|
50
|
+
* The callback function gets called with the binding context of the selected row and the column instance parameters.<br>
|
|
51
|
+
* For the <code>sap.ui.table.Table</code> control, the row context parameter can also be the context of an unselectable row in case of a range selection, for example the context of grouping or sub-total row.<br>
|
|
52
|
+
* For the <code>sap.m.Table</code> control, if the <code>items</code> aggregation of the table is not bound then the callback function gets called with the row instance instead of the binding context.<br>
|
|
53
|
+
* The callback function must return the cell data that is then stringified and copied to the clipboard.<br>
|
|
54
|
+
* If an array is returned from the callback function, then each array values will be copied as a separate cell into the clipboard.<br>
|
|
55
|
+
* If a column should not be copied to the clipboard, then the callback function must return <code>undefined</code> or <code>null</code> for each cell of the same column.<br>
|
|
56
|
+
* <br>
|
|
57
|
+
* <b>Note:</b> This property is mandatory to make the <code>CopyProvider</code> plugin work, and it must be set in the constructor.
|
|
58
|
+
*/
|
|
59
|
+
extractData: { type: "function", invalidate: false },
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Determines whether unselected rows that are located between the selected rows are copied to the clipboard as an empty row.
|
|
63
|
+
*
|
|
64
|
+
* This can be useful for maintaining the original structure of the data when it is pasted into a new location (e.g. spreadsheets).
|
|
65
|
+
*/
|
|
66
|
+
copySparse: { type: "boolean", defaultValue: false, invalidate: false },
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Callback function to exclude certain contexts from being copied to the clipboard.
|
|
70
|
+
*
|
|
71
|
+
* @callback sap.m.plugins.CopyProvider.excludeContextHandler
|
|
72
|
+
* @param {sap.ui.model.Context|sap.m.ColumnListItem} oContextOrRow The binding context of the selected row or the row instance if there is no binding
|
|
73
|
+
* @returns {boolean} <code>true</code> to exclude the context, <code>false</code> otherwise
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
/**
|
|
77
|
+
* Defines a {@link sap.m.plugins.CopyProvider.excludeContextHandler callback function} which gets called to exclude certain contexts from being copied to the clipboard.
|
|
78
|
+
*
|
|
79
|
+
* This callback function gets called with the binding context or the row instance if there is no binding.
|
|
80
|
+
* Return <code>true</code> to exclude the context, <code>false</code> otherwise.
|
|
81
|
+
*/
|
|
82
|
+
excludeContext: { type: "function", invalidate: false }
|
|
83
|
+
},
|
|
84
|
+
events: {
|
|
85
|
+
/**
|
|
86
|
+
* This event is fired if there is a selection, and the user triggers the copy action.
|
|
87
|
+
*
|
|
88
|
+
* This can be done with the standard paste keyboard shortcut when the focus is on a selected row or cell. Also the {@link #copySelectionData} API can be called,
|
|
89
|
+
* for example, from the press handler of a copy button in a table toolbar to start the copy action synthetically, which might cause this event to be fired.
|
|
90
|
+
* To avoid writing the selection to the clipboard, call <code>preventDefault</code> on the event instance.
|
|
91
|
+
*/
|
|
92
|
+
copy: {
|
|
93
|
+
allowPreventDefault: true,
|
|
94
|
+
parameters: {
|
|
95
|
+
/**
|
|
96
|
+
* Two-dimensional mutable array of selection data to be copied to the clipboard.
|
|
97
|
+
* The first dimension represents the selected rows, and the second dimension represents the cells of the selected rows.
|
|
98
|
+
*/
|
|
99
|
+
data: { type: "any[][]" }
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}});
|
|
104
|
+
|
|
105
|
+
function isCellValueCopyable(vCellValue) {
|
|
106
|
+
return vCellValue != null;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function stringifyForSpreadSheet(vCellValue) {
|
|
110
|
+
if (isCellValueCopyable(vCellValue)) {
|
|
111
|
+
var sCellValue = String(vCellValue);
|
|
112
|
+
return /\n|\r|\t/.test(sCellValue) ? '"' + sCellValue.replaceAll('"', '""') + '"' : sCellValue;
|
|
113
|
+
} else {
|
|
114
|
+
return "";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function copyMatrixForSpreadSheet(aMatrix) {
|
|
119
|
+
var sClipboardText = aMatrix.map(function(aRows) {
|
|
120
|
+
return aRows.map(stringifyForSpreadSheet).join("\t");
|
|
121
|
+
}).join("\n");
|
|
122
|
+
|
|
123
|
+
return navigator.clipboard.writeText(sClipboardText);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
CopyProvider.prototype.isApplicable = function() {
|
|
127
|
+
if (!navigator.clipboard) {
|
|
128
|
+
throw new Error(this + " requires a secure context in order to access the clipboard API.");
|
|
129
|
+
} else if (!this.getExtractData()) {
|
|
130
|
+
throw new Error("extractData property must be defined for " + this);
|
|
131
|
+
} else {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
CopyProvider.prototype.onActivate = function(oControl) {
|
|
137
|
+
this._oDelegate = { onkeydown: this.onkeydown };
|
|
138
|
+
oControl.addEventDelegate(this._oDelegate, this);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
CopyProvider.prototype.onDeactivate = function(oControl) {
|
|
142
|
+
oControl.removeEventDelegate(this._oDelegate, this);
|
|
143
|
+
this._oDelegate = null;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Returns the extracted selection data as a two-dimensional array. This includes individual cell selections
|
|
148
|
+
* if the {@link sap.m.plugins.CellSelector CellSelector} plugin is also enabled for the table.
|
|
149
|
+
* <b>Note: </b> The returned array might be a sparse array if the {@link #getCopySparse copySparse} property is <code>true</code>.
|
|
150
|
+
*
|
|
151
|
+
* @returns {Array.<Array.<*>>} Two-dimensional extracted data from the selection.
|
|
152
|
+
* @public
|
|
153
|
+
*/
|
|
154
|
+
CopyProvider.prototype.getSelectionData = function() {
|
|
155
|
+
var oControl = this.getControl();
|
|
156
|
+
var fnExtractData = this.getExtractData();
|
|
157
|
+
if (!oControl || !fnExtractData || !navigator.clipboard) {
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
var aSelectableColumns = this.getConfig("selectableColumns", oControl);
|
|
162
|
+
if (!aSelectableColumns.length) {
|
|
163
|
+
return [];
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (oControl.getParent().isA("sap.ui.mdc.Table")) {
|
|
167
|
+
aSelectableColumns = aSelectableColumns.map(function(oSelectableColumn) {
|
|
168
|
+
return Core.byId(oSelectableColumn.getId().replace(/\-innerColumn$/, ""));
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
var aSelectionData = [];
|
|
173
|
+
var aAllSelectedRowContexts = [];
|
|
174
|
+
var bCopySparse = this.getCopySparse();
|
|
175
|
+
var fnExludeContext = this.getExcludeContext();
|
|
176
|
+
var oCellSelectorPlugin = PluginBase.getPlugin(oControl, "sap.m.plugins.CellSelector");
|
|
177
|
+
var mCellSelectionRange = oCellSelectorPlugin && oCellSelectorPlugin.getSelectionRange();
|
|
178
|
+
var aCellSelectorRowContexts = mCellSelectionRange ? oCellSelectorPlugin.getSelectedRowContexts() : [];
|
|
179
|
+
var bCellSelectorRowContextsMustBeMerged = Boolean(aCellSelectorRowContexts.length);
|
|
180
|
+
var bSelectedRowContextsMustBeSparse = bCellSelectorRowContextsMustBeMerged || bCopySparse;
|
|
181
|
+
var aSelectedRowContexts = this.getConfig("selectedContexts", oControl, bSelectedRowContextsMustBeSparse);
|
|
182
|
+
|
|
183
|
+
if (bCellSelectorRowContextsMustBeMerged) {
|
|
184
|
+
aCellSelectorRowContexts = Array(mCellSelectionRange.from.rowIndex).concat(aCellSelectorRowContexts);
|
|
185
|
+
Object.assign(aAllSelectedRowContexts, aSelectedRowContexts, aCellSelectorRowContexts);
|
|
186
|
+
} else {
|
|
187
|
+
aAllSelectedRowContexts = aSelectedRowContexts;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
for (var iContextIndex = 0; iContextIndex < aAllSelectedRowContexts.length; iContextIndex++) {
|
|
191
|
+
var oRowContext = aAllSelectedRowContexts[iContextIndex];
|
|
192
|
+
if (!oRowContext) {
|
|
193
|
+
if (bCopySparse && aSelectionData.length) {
|
|
194
|
+
aSelectionData.push(Array(aSelectionData[0].length));
|
|
195
|
+
}
|
|
196
|
+
} else if (fnExludeContext && fnExludeContext(oRowContext)) {
|
|
197
|
+
continue;
|
|
198
|
+
} else {
|
|
199
|
+
var aRowData = [];
|
|
200
|
+
var bContextFromSelectedRows = (oRowContext == aSelectedRowContexts[iContextIndex]);
|
|
201
|
+
aSelectableColumns.forEach(function(oColumn, iColumnIndex) {
|
|
202
|
+
if (bContextFromSelectedRows || (iColumnIndex >= mCellSelectionRange.from.colIndex && iColumnIndex <= mCellSelectionRange.to.colIndex)) {
|
|
203
|
+
var vCellData = fnExtractData(oRowContext, oColumn);
|
|
204
|
+
if (isCellValueCopyable(vCellData)) {
|
|
205
|
+
aRowData.push[Array.isArray(vCellData) ? "apply" : "call"](aRowData, vCellData);
|
|
206
|
+
}
|
|
207
|
+
} else if (aSelectedRowContexts.length) {
|
|
208
|
+
aRowData.push(undefined);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
if (bCopySparse || aRowData.some(isCellValueCopyable)) {
|
|
212
|
+
aSelectionData.push(aRowData);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return aSelectionData;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Writes the selection data to the system clipboard and returns a <code>Promise</code> which resolves once the clipboard's content has been updated.
|
|
222
|
+
*
|
|
223
|
+
* <b>Note: </b> The user has to interact with the page or a UI element when this API gets called.
|
|
224
|
+
*
|
|
225
|
+
* @param {boolean} [bFireCopyEvent=false] Whether the <code>copy</code> event should be triggered or not
|
|
226
|
+
* @returns {Promise} A <code>Promise</code> that is resolved after the selection data has been written to the clipboard
|
|
227
|
+
* @public
|
|
228
|
+
*/
|
|
229
|
+
CopyProvider.prototype.copySelectionData = function(bFireCopyEvent) {
|
|
230
|
+
var aSelectionData = this.getSelectionData();
|
|
231
|
+
if (!aSelectionData.length || bFireCopyEvent && !this.fireCopy({ data: aSelectionData }, true)) {
|
|
232
|
+
return Promise.resolve();
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return copyMatrixForSpreadSheet(aSelectionData);
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
CopyProvider.prototype.onkeydown = function(oEvent) {
|
|
239
|
+
if (oEvent.isMarked() ||
|
|
240
|
+
oEvent.code != "KeyC" ||
|
|
241
|
+
!(oEvent.ctrlKey || oEvent.metaKey) ||
|
|
242
|
+
!oEvent.target.matches(this.getConfig("allowForCopySelector"))) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
oEvent.setMarked();
|
|
247
|
+
oEvent.preventDefault();
|
|
248
|
+
this.copySelectionData(true);
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Plugin-specific control configurations.
|
|
254
|
+
*/
|
|
255
|
+
PluginBase.setConfigs({
|
|
256
|
+
"sap.m.Table": {
|
|
257
|
+
allowForCopySelector: ".sapMLIBFocusable,.sapMLIBSelectM,.sapMLIBSelectS",
|
|
258
|
+
selectedContexts: function(oTable, bSparse) {
|
|
259
|
+
var aSelectedContexts = [];
|
|
260
|
+
var oBindingInfo = oTable.getBindingInfo("items");
|
|
261
|
+
oTable.getItems(true).forEach(function(oItem, iIndex) {
|
|
262
|
+
if (oItem.isSelectable() && oItem.getVisible()) {
|
|
263
|
+
if (oItem.getSelected()) {
|
|
264
|
+
var oContextOrItem = oBindingInfo ? oItem.getBindingContext(oBindingInfo.model) : oItem;
|
|
265
|
+
var iSparseOrDenseIndex = bSparse ? iIndex : aSelectedContexts.length;
|
|
266
|
+
aSelectedContexts[iSparseOrDenseIndex] = oContextOrItem;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
return aSelectedContexts;
|
|
271
|
+
},
|
|
272
|
+
selectableColumns: function(oTable) {
|
|
273
|
+
return oTable.getColumns(true).filter(function(oColumn) {
|
|
274
|
+
return oColumn.getVisible() && (oColumn.isPopin() || (!oColumn.isPopin() && !oColumn.isHidden()));
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"sap.ui.table.Table": {
|
|
279
|
+
allowForCopySelector: ".sapUiTableCell",
|
|
280
|
+
selectedContexts: function(oTable, bSparse) {
|
|
281
|
+
var aSelectedContexts = [];
|
|
282
|
+
var oSelectionOwner = PluginBase.getPlugin(oTable, "sap.ui.table.plugins.SelectionPlugin") || oTable;
|
|
283
|
+
oSelectionOwner.getSelectedIndices().forEach(function(iSelectedIndex) {
|
|
284
|
+
var oContext = oTable.getContextByIndex(iSelectedIndex);
|
|
285
|
+
if (oContext) {
|
|
286
|
+
var iSparseOrDenseIndex = bSparse ? iSelectedIndex : aSelectedContexts.length;
|
|
287
|
+
aSelectedContexts[iSparseOrDenseIndex] = oContext;
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
return aSelectedContexts;
|
|
291
|
+
},
|
|
292
|
+
selectableColumns: function(oTable) {
|
|
293
|
+
return oTable.getColumns().filter(function(oColumn) {
|
|
294
|
+
return oColumn.getDomRef();
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}, CopyProvider);
|
|
299
|
+
|
|
300
|
+
return CopyProvider;
|
|
301
|
+
|
|
302
|
+
});
|