@openui5/sap.m 1.120.7 → 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 +13 -5
- 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 +165 -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 +13 -20
- 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
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/base/EventProvider"
|
|
9
|
-
],
|
|
9
|
+
], (EventProvider) => {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
const ERROR_INSTANCING = "StateHandlerRegistry: This class is a singleton and should not be used without an AdaptationProvider. Please use 'Engine.getInstance().stateHandlerRegistry' instead";
|
|
13
13
|
|
|
14
14
|
//Singleton storage
|
|
15
|
-
|
|
15
|
+
let oStateHandlerRegistry;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Constructor for a new StateHandlerRegistry.
|
|
@@ -21,13 +21,13 @@ sap.ui.define([
|
|
|
21
21
|
* @extends sap.ui.base.EventProvider
|
|
22
22
|
*
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.121.0
|
|
25
25
|
*
|
|
26
26
|
* @private
|
|
27
27
|
* @since 1.104
|
|
28
28
|
* @alias sap.m.p13n.modules.StateHandlerRegistry
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
const StateHandlerRegistry = EventProvider.extend("sap.m.p13n.modules.StateHandlerRegistry", {
|
|
31
31
|
constructor: function() {
|
|
32
32
|
|
|
33
33
|
if (oStateHandlerRegistry) {
|
|
@@ -91,7 +91,7 @@ sap.ui.define([
|
|
|
91
91
|
*
|
|
92
92
|
* @returns {this} Returns the <code>StateHandlerRegistry</code> instance.
|
|
93
93
|
*/
|
|
94
|
-
StateHandlerRegistry.getInstance =
|
|
94
|
+
StateHandlerRegistry.getInstance = () => {
|
|
95
95
|
if (!oStateHandlerRegistry) {
|
|
96
96
|
oStateHandlerRegistry = new StateHandlerRegistry();
|
|
97
97
|
}
|
|
@@ -99,4 +99,4 @@ sap.ui.define([
|
|
|
99
99
|
};
|
|
100
100
|
|
|
101
101
|
return StateHandlerRegistry;
|
|
102
|
-
});
|
|
102
|
+
});
|
|
@@ -6,14 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/base/Object",
|
|
9
|
-
"sap/base/Log"
|
|
10
|
-
|
|
9
|
+
"sap/base/Log",
|
|
10
|
+
"sap/ui/core/Lib"
|
|
11
|
+
], (BaseObject, Log, Library) => {
|
|
11
12
|
"use strict";
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
const ERROR_INSTANCING = "UIManager: This class is a singleton and should not be used without an AdaptationProvider. Please use 'Engine.getInstance().uimanager' instead";
|
|
14
15
|
|
|
15
16
|
//Singleton storage
|
|
16
|
-
|
|
17
|
+
let oUIManager;
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Constructor for a new UIManager.
|
|
@@ -27,14 +28,14 @@ sap.ui.define([
|
|
|
27
28
|
* @extends sap.ui.base.Object
|
|
28
29
|
*
|
|
29
30
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
31
|
+
* @version 1.121.0
|
|
31
32
|
*
|
|
32
33
|
* @private
|
|
33
34
|
*
|
|
34
35
|
* @since 1.104
|
|
35
36
|
* @alias sap.m.p13n.modules.UIManager
|
|
36
37
|
*/
|
|
37
|
-
|
|
38
|
+
const UIManager = BaseObject.extend("sap.m.p13n.modules.UIManager", {
|
|
38
39
|
constructor: function(oAdaptationProvider) {
|
|
39
40
|
|
|
40
41
|
if (oUIManager) {
|
|
@@ -47,8 +48,8 @@ sap.ui.define([
|
|
|
47
48
|
}
|
|
48
49
|
});
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
return new Promise(
|
|
51
|
+
const loadModules = (aModules) => {
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
52
53
|
sap.ui.require(aModules, resolve, reject);
|
|
53
54
|
});
|
|
54
55
|
};
|
|
@@ -72,142 +73,143 @@ sap.ui.define([
|
|
|
72
73
|
* @returns {Promise} Promise resolving in the <code>sap.m.p13n.Popup</code> instance.
|
|
73
74
|
*/
|
|
74
75
|
UIManager.prototype.show = function(oControl, vPanelKeys, mSettings) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
const aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
|
|
77
|
+
const oResourceBundle = Library.getResourceBundleFor("sap.m");
|
|
78
|
+
const that = this;
|
|
78
79
|
mSettings = Object.assign({}, mSettings);
|
|
79
80
|
|
|
80
|
-
if (!this.hasActiveP13n(oControl)){
|
|
81
|
+
if (!this.hasActiveP13n(oControl)) {
|
|
81
82
|
this.setActiveP13n(oControl, vPanelKeys);
|
|
82
83
|
|
|
83
84
|
return this.create(oControl, vPanelKeys, mSettings)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
85
|
+
.then((aInitializedPanels) => {
|
|
86
|
+
return loadModules(["sap/m/p13n/Popup"]).then((Popup) => {
|
|
87
|
+
|
|
88
|
+
//if there is no title provided and only one panel created, use it's title as the Popup title
|
|
89
|
+
let sTitle;
|
|
90
|
+
if (!mSettings.title && aPanelKeys.length === 1 && aInitializedPanels.length > 0) {
|
|
91
|
+
sTitle = aInitializedPanels[0].getTitle();
|
|
92
|
+
} else {
|
|
93
|
+
sTitle = mSettings.title || oResourceBundle.getText("p13n.VIEW_SETTINGS");
|
|
94
|
+
}
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
//Enrich Popup with AdaptationProvider functionality --> add controller logic (reset and appliance)
|
|
97
|
+
const oP13nContainer = new Popup({
|
|
98
|
+
mode: mSettings.mode,
|
|
99
|
+
warningText: mSettings.warningText || oResourceBundle.getText("p13n.RESET_WARNING_TEXT"),
|
|
100
|
+
title: sTitle,
|
|
101
|
+
close: function(oEvt) {
|
|
101
102
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
var aPanels = oP13nContainer.getPanels();
|
|
107
|
-
|
|
108
|
-
aPanels.forEach(function(oPanel){
|
|
109
|
-
if (oPanel.keepAlive instanceof Function && oPanel.keepAlive()){
|
|
110
|
-
oP13nContainer.removePanel(oPanel);
|
|
103
|
+
const sReason = oEvt.getParameter("reason");
|
|
104
|
+
if (sReason == "Ok") {
|
|
105
|
+
that.oAdaptationProvider.handleP13n(oControl, aPanelKeys);
|
|
111
106
|
}
|
|
112
|
-
|
|
107
|
+
const aPanels = oP13nContainer.getPanels();
|
|
108
|
+
|
|
109
|
+
aPanels.forEach((oPanel) => {
|
|
110
|
+
if (oPanel.keepAlive instanceof Function && oPanel.keepAlive()) {
|
|
111
|
+
oP13nContainer.removePanel(oPanel);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
that.setActiveP13n(oControl, null);
|
|
116
|
+
oP13nContainer._oPopup.attachAfterClose(() => {
|
|
117
|
+
if (mSettings.close instanceof Function) {
|
|
118
|
+
mSettings.close();
|
|
119
|
+
}
|
|
120
|
+
oP13nContainer.destroy();
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
});
|
|
113
124
|
|
|
114
|
-
|
|
115
|
-
oP13nContainer.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
oP13nContainer.destroy();
|
|
125
|
+
if (mSettings.showReset !== false) {
|
|
126
|
+
oP13nContainer.setReset(() => {
|
|
127
|
+
const fnReset = mSettings.reset instanceof Function ? mSettings.reset : that.oAdaptationProvider.reset.bind(that.oAdaptationProvider);
|
|
128
|
+
fnReset(oControl, aPanelKeys);
|
|
120
129
|
});
|
|
121
130
|
}
|
|
122
|
-
});
|
|
123
131
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var fnReset = mSettings.reset instanceof Function ? mSettings.reset : that.oAdaptationProvider.reset.bind(that.oAdaptationProvider);
|
|
127
|
-
fnReset(oControl, aPanelKeys);
|
|
132
|
+
aInitializedPanels.forEach((oPanel, iIndex) => {
|
|
133
|
+
oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
|
|
128
134
|
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
aInitializedPanels.forEach(function(oPanel, iIndex){
|
|
132
|
-
oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
|
|
133
|
-
});
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
oControl.addDependent(oP13nContainer);
|
|
137
|
+
oP13nContainer.open(mSettings.source, mSettings);
|
|
138
|
+
return oP13nContainer._oPopup;
|
|
138
139
|
|
|
140
|
+
});
|
|
141
|
+
}, (eContainerFailure) => {
|
|
142
|
+
this.setActiveP13n(oControl, null);
|
|
143
|
+
Log.error("UIManager failure:" + eContainerFailure.stack);
|
|
139
144
|
});
|
|
140
|
-
}, function(eContainerFailure){
|
|
141
|
-
this.setActiveP13n(oControl, null);
|
|
142
|
-
Log.error("UIManager failure:" + eContainerFailure.stack);
|
|
143
|
-
}.bind(this));
|
|
144
145
|
} else {
|
|
145
146
|
return Promise.resolve();
|
|
146
147
|
}
|
|
147
148
|
};
|
|
148
149
|
|
|
149
150
|
UIManager.prototype.create = function(oControl, vPanelKeys) {
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
const aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
|
|
152
|
+
const that = this;
|
|
152
153
|
|
|
153
154
|
return this.oAdaptationProvider.initAdaptation(oControl, aPanelKeys)
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
});
|
|
174
|
-
return Promise.all(aPanelPromises).then(function(aPanels){
|
|
175
|
-
var mMappedSetting = {};
|
|
176
|
-
aPanels.forEach(function(oPanel, iIndex){
|
|
177
|
-
if (oPanel) {
|
|
178
|
-
var oPanelSetting = aPanelSettings[iIndex];
|
|
179
|
-
var mContainerSettings = oPanelSetting.settings.containerSettings;
|
|
180
|
-
if (mContainerSettings.title) {
|
|
181
|
-
oPanel.setTitle(mContainerSettings.title);
|
|
182
|
-
}
|
|
183
|
-
mMappedSetting[oPanelSetting.key] = {
|
|
184
|
-
panel: oPanel
|
|
185
|
-
};
|
|
155
|
+
.then(() => {
|
|
156
|
+
const vSettings = this.oAdaptationProvider.getUISettings(oControl, aPanelKeys);
|
|
157
|
+
|
|
158
|
+
//if condition only temporarly necessary until sap.ui.comp adjusted
|
|
159
|
+
if (vSettings instanceof Promise) {
|
|
160
|
+
return vSettings;
|
|
161
|
+
} else {
|
|
162
|
+
const aPanelPromises = [],
|
|
163
|
+
aPanelSettings = [];
|
|
164
|
+
Object.keys(vSettings).forEach((sSetting) => {
|
|
165
|
+
const vSetting = vSettings[sSetting];
|
|
166
|
+
if (vSetting && vSetting.hasOwnProperty("adaptationUI")) {
|
|
167
|
+
const pCreation = vSetting.adaptationUI;
|
|
168
|
+
aPanelPromises.push(pCreation);
|
|
169
|
+
|
|
170
|
+
aPanelSettings.push({
|
|
171
|
+
key: sSetting,
|
|
172
|
+
settings: vSetting
|
|
173
|
+
});
|
|
186
174
|
}
|
|
187
175
|
});
|
|
188
|
-
return
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
176
|
+
return Promise.all(aPanelPromises).then((aPanels) => {
|
|
177
|
+
const mMappedSetting = {};
|
|
178
|
+
aPanels.forEach((oPanel, iIndex) => {
|
|
179
|
+
if (oPanel) {
|
|
180
|
+
const oPanelSetting = aPanelSettings[iIndex];
|
|
181
|
+
const mContainerSettings = oPanelSetting.settings.containerSettings;
|
|
182
|
+
if (mContainerSettings.title) {
|
|
183
|
+
oPanel.setTitle(mContainerSettings.title);
|
|
184
|
+
}
|
|
185
|
+
mMappedSetting[oPanelSetting.key] = {
|
|
186
|
+
panel: oPanel
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
return mMappedSetting;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
})
|
|
192
194
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
+
.then((mSettings) => {
|
|
196
|
+
const aInitializedPanels = [];
|
|
195
197
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
//Attach state validation during personalization
|
|
199
|
+
Object.keys(mSettings).forEach((sPanel, iIndex) => {
|
|
200
|
+
const oPanel = mSettings[sPanel].panel;
|
|
199
201
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
202
|
+
//not every panel used is a p13n.BasePanel (comp.FilterPanel, AdaptationFilterBar) these panels might not provide a change event
|
|
203
|
+
if (oPanel.attachChange instanceof Function) {
|
|
204
|
+
oPanel.attachChange((oEvt) => {
|
|
205
|
+
that.oAdaptationProvider.validateP13n(oControl, aPanelKeys[iIndex], oEvt.getSource());
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
aInitializedPanels.push(oPanel);
|
|
209
|
+
});
|
|
208
210
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
return aInitializedPanels;
|
|
212
|
+
});
|
|
211
213
|
};
|
|
212
214
|
|
|
213
215
|
UIManager.getInstance = function(oAdaptationProvider) {
|
|
@@ -225,7 +227,7 @@ sap.ui.define([
|
|
|
225
227
|
};
|
|
226
228
|
|
|
227
229
|
UIManager.prototype.hasActiveP13n = function(vControl) {
|
|
228
|
-
|
|
230
|
+
let bActiveP13n = false;
|
|
229
231
|
if (this.oAdaptationProvider.hasActiveP13n instanceof Function) {
|
|
230
232
|
bActiveP13n = this.oAdaptationProvider.hasActiveP13n(vControl);
|
|
231
233
|
}
|
|
@@ -240,8 +242,8 @@ sap.ui.define([
|
|
|
240
242
|
*
|
|
241
243
|
* @param {sap.m.AdaptationProvider} oAdaptationProvider Object implementing the <code>sap.m.AdaptationProvider</code> interface to provide personalization capabilites.
|
|
242
244
|
*/
|
|
243
|
-
UIManager._checkValidInterface =
|
|
244
|
-
if (!oAdaptationProvider || !oAdaptationProvider.isA("sap.m.p13n.modules.AdaptationProvider")){
|
|
245
|
+
UIManager._checkValidInterface = (oAdaptationProvider) => {
|
|
246
|
+
if (!oAdaptationProvider || !oAdaptationProvider.isA("sap.m.p13n.modules.AdaptationProvider")) {
|
|
245
247
|
throw Error("The UIManager singleton must not be accessed without an AdaptationProvider interface!");
|
|
246
248
|
}
|
|
247
249
|
};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"sap/base/util/merge",
|
|
8
8
|
"sap/ui/core/util/reflection/JsControlTreeModifier"
|
|
9
|
-
],
|
|
9
|
+
], (merge, JsControlTreeModifier) => {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -14,7 +14,7 @@ sap.ui.define([
|
|
|
14
14
|
* @private
|
|
15
15
|
* @alias sap.m.p13n.modules.xConfigAPI
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
const xConfigAPI = {};
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Enhances the xConfig object for a given mdc control instance.
|
|
@@ -31,41 +31,41 @@ sap.ui.define([
|
|
|
31
31
|
*
|
|
32
32
|
* @returns {Promise<object>} Promise resolving to the adapted xConfig object
|
|
33
33
|
*/
|
|
34
|
-
xConfigAPI.enhanceConfig =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
xConfigAPI.enhanceConfig = (oControl, oModificationPayload) => {
|
|
35
|
+
const mPropertyBag = oModificationPayload.propertyBag;
|
|
36
|
+
const oModifier = mPropertyBag ? mPropertyBag.modifier : JsControlTreeModifier;
|
|
37
|
+
let oControlMetadata;
|
|
38
|
+
let oXConfig;
|
|
39
39
|
|
|
40
40
|
return oModifier.getControlMetadata(oControl)
|
|
41
|
-
.then(
|
|
41
|
+
.then((oRetrievedControlMetadata) => {
|
|
42
42
|
oControlMetadata = oRetrievedControlMetadata;
|
|
43
43
|
oModificationPayload.controlMetadata = oControlMetadata;
|
|
44
44
|
return oModifier.getAggregation(oControl, "customData");
|
|
45
45
|
})
|
|
46
|
-
.then(
|
|
46
|
+
.then((aCustomData) => {
|
|
47
47
|
|
|
48
|
-
return Promise.all(aCustomData.map(
|
|
48
|
+
return Promise.all(aCustomData.map((oCustomData) => {
|
|
49
49
|
return oModifier.getProperty(oCustomData, "key");
|
|
50
|
-
})).then(
|
|
51
|
-
return aCustomData.reduce(
|
|
50
|
+
})).then((aCustomDataKeys) => {
|
|
51
|
+
return aCustomData.reduce((oResult, mCustomData, iIndex) => {
|
|
52
52
|
return aCustomDataKeys[iIndex] === "xConfig" ? mCustomData : oResult;
|
|
53
53
|
}, undefined);
|
|
54
54
|
});
|
|
55
55
|
})
|
|
56
|
-
.then(
|
|
56
|
+
.then((oRetrievedXConfig) => {
|
|
57
57
|
oXConfig = oRetrievedXConfig;
|
|
58
58
|
if (oXConfig) {
|
|
59
59
|
return oModifier.getProperty(oXConfig, "value")
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
.then((sConfig) => {
|
|
61
|
+
return merge({}, JSON.parse(sConfig.replace(/\\/g, '')));
|
|
62
|
+
});
|
|
63
63
|
}
|
|
64
64
|
return {};
|
|
65
65
|
})
|
|
66
|
-
.then(
|
|
66
|
+
.then((oExistingConfig) => {
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
let oConfig;
|
|
69
69
|
if (oModificationPayload.controlMeta && oModificationPayload.controlMeta.aggregation) {
|
|
70
70
|
oConfig = xConfigAPI.createAggregationConfig(oControl, oModificationPayload, oExistingConfig);
|
|
71
71
|
} else {
|
|
@@ -76,21 +76,21 @@ sap.ui.define([
|
|
|
76
76
|
oConfig.modified = true;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
const oAppComponent = mPropertyBag ? mPropertyBag.appComponent : undefined;
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
let pDelete = Promise.resolve();
|
|
82
82
|
if (oXConfig && oControl.isA) {
|
|
83
83
|
pDelete = oModifier.removeAggregation(oControl, "customData", oXConfig)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
.then(() => {
|
|
85
|
+
return oModifier.destroy(oXConfig);
|
|
86
|
+
});
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
return pDelete.then(
|
|
89
|
+
return pDelete.then(() => {
|
|
90
90
|
return oModifier.createAndAddCustomData(oControl, "xConfig", JSON.stringify(oConfig), oAppComponent)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
.then(() => {
|
|
92
|
+
return merge({}, oConfig);
|
|
93
|
+
});
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
96
|
};
|
|
@@ -104,25 +104,24 @@ sap.ui.define([
|
|
|
104
104
|
*
|
|
105
105
|
* @returns {Promise<object>|object} A promise resolving to the adapted xConfig object or the object directly
|
|
106
106
|
*/
|
|
107
|
-
xConfigAPI.readConfig =
|
|
108
|
-
var oConfig, oAggregationConfig;
|
|
107
|
+
xConfigAPI.readConfig = (oControl, oModificationPayload) => {
|
|
109
108
|
|
|
110
109
|
if (oModificationPayload) {
|
|
111
|
-
|
|
110
|
+
const oModifier = oModificationPayload.propertyBag ? oModificationPayload.propertyBag.modifier : JsControlTreeModifier;
|
|
112
111
|
return oModifier.getAggregation(oControl, "customData")
|
|
113
|
-
.then(
|
|
114
|
-
return Promise.all(aCustomData.map(
|
|
112
|
+
.then((aCustomData) => {
|
|
113
|
+
return Promise.all(aCustomData.map((oCustomData) => {
|
|
115
114
|
return oModifier.getProperty(oCustomData, "key");
|
|
116
|
-
})).then(
|
|
117
|
-
return aCustomData.reduce(
|
|
115
|
+
})).then((aCustomDataKeys) => {
|
|
116
|
+
return aCustomData.reduce((oResult, mCustomData, iIndex) => {
|
|
118
117
|
return aCustomDataKeys[iIndex] === "xConfig" ? mCustomData : oResult;
|
|
119
118
|
}, undefined);
|
|
120
119
|
});
|
|
121
120
|
})
|
|
122
|
-
.then(
|
|
121
|
+
.then((oAggregationConfig) => {
|
|
123
122
|
if (oAggregationConfig) {
|
|
124
123
|
return oModifier.getProperty(oAggregationConfig, "value")
|
|
125
|
-
.then(
|
|
124
|
+
.then((sValue) => {
|
|
126
125
|
return merge({}, JSON.parse(sValue.replace(/\\/g, '')));
|
|
127
126
|
});
|
|
128
127
|
}
|
|
@@ -132,12 +131,12 @@ sap.ui.define([
|
|
|
132
131
|
|
|
133
132
|
// These functions are used instead of the modifier to avoid that the
|
|
134
133
|
// entire call stack is changed to async when it's not needed
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
const fnGetAggregationSync = (oParent, sAggregationName) => {
|
|
135
|
+
const fnFindAggregation = (oControl, sAggregationName) => {
|
|
137
136
|
if (oControl) {
|
|
138
137
|
if (oControl.getMetadata) {
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
const oMetadata = oControl.getMetadata();
|
|
139
|
+
const oAggregations = oMetadata.getAllAggregations();
|
|
141
140
|
if (oAggregations) {
|
|
142
141
|
return oAggregations[sAggregationName];
|
|
143
142
|
}
|
|
@@ -146,26 +145,26 @@ sap.ui.define([
|
|
|
146
145
|
return undefined;
|
|
147
146
|
};
|
|
148
147
|
|
|
149
|
-
|
|
148
|
+
const oAggregation = fnFindAggregation(oParent, sAggregationName);
|
|
150
149
|
if (oAggregation) {
|
|
151
150
|
return oParent[oAggregation._sGetter]();
|
|
152
151
|
}
|
|
153
152
|
return undefined;
|
|
154
153
|
};
|
|
155
154
|
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
const fnGetPropertySync = (oControl, sPropertyName) => {
|
|
156
|
+
const oMetadata = oControl.getMetadata().getPropertyLikeSetting(sPropertyName);
|
|
158
157
|
if (oMetadata) {
|
|
159
|
-
|
|
158
|
+
const sPropertyGetter = oMetadata._sGetter;
|
|
160
159
|
return oControl[sPropertyGetter]();
|
|
161
160
|
}
|
|
162
161
|
return undefined;
|
|
163
162
|
};
|
|
164
163
|
|
|
165
|
-
oAggregationConfig = fnGetAggregationSync(oControl, "customData").find(
|
|
164
|
+
const oAggregationConfig = fnGetAggregationSync(oControl, "customData").find((oCustomData) => {
|
|
166
165
|
return fnGetPropertySync(oCustomData, "key") == "xConfig";
|
|
167
166
|
});
|
|
168
|
-
oConfig = oAggregationConfig ? merge({}, JSON.parse(fnGetPropertySync(oAggregationConfig, "value").replace(/\\/g, ''))) : null;
|
|
167
|
+
const oConfig = oAggregationConfig ? merge({}, JSON.parse(fnGetPropertySync(oAggregationConfig, "value").replace(/\\/g, ''))) : null;
|
|
169
168
|
return oConfig;
|
|
170
169
|
};
|
|
171
170
|
|
|
@@ -183,18 +182,18 @@ sap.ui.define([
|
|
|
183
182
|
*
|
|
184
183
|
* @returns {object} The adapted xConfig object
|
|
185
184
|
*/
|
|
186
|
-
xConfigAPI.createAggregationConfig =
|
|
185
|
+
xConfigAPI.createAggregationConfig = (oControl, oModificationPayload, oExistingConfig) => {
|
|
187
186
|
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
const sPropertyInfoKey = oModificationPayload.key || oModificationPayload.name;
|
|
188
|
+
const mControlMeta = oModificationPayload.controlMeta;
|
|
190
189
|
|
|
191
|
-
|
|
190
|
+
const sAffectedProperty = oModificationPayload.property;
|
|
192
191
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
192
|
+
const vValue = oModificationPayload.value;
|
|
193
|
+
const oControlMetadata = oModificationPayload.controlMetadata || oControl.getMetadata();
|
|
194
|
+
const sAffectedAggregation = mControlMeta.aggregation;
|
|
195
|
+
const sAggregationName = sAffectedAggregation ? sAffectedAggregation : oControlMetadata.getDefaultAggregation().name;
|
|
196
|
+
const oConfig = oExistingConfig || {};
|
|
198
197
|
|
|
199
198
|
if (!oConfig.hasOwnProperty("aggregations")) {
|
|
200
199
|
oConfig.aggregations = {};
|
|
@@ -214,17 +213,19 @@ sap.ui.define([
|
|
|
214
213
|
|
|
215
214
|
if (vValue !== null || (vValue && vValue.hasOwnProperty("value") && vValue.value !== null)) {
|
|
216
215
|
|
|
216
|
+
const currentState = oModificationPayload.currentState;
|
|
217
|
+
|
|
217
218
|
switch (oModificationPayload.operation) {
|
|
218
219
|
case "move":
|
|
219
220
|
Object.entries(oConfig.aggregations[sAggregationName]).forEach((aEntry) => {
|
|
220
221
|
if (
|
|
221
222
|
aEntry[0] !== sPropertyInfoKey &&
|
|
222
223
|
aEntry[1].position !== undefined
|
|
223
|
-
){
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
) {
|
|
225
|
+
const newIndex = vValue.index;
|
|
226
|
+
const currentState = oModificationPayload.currentState;
|
|
227
|
+
const currentItemState = currentState?.find((item) => item.key == sPropertyInfoKey);
|
|
228
|
+
const currentItemIndex = currentState?.indexOf(currentItemState);
|
|
228
229
|
|
|
229
230
|
//In case of move changes, we also need to ensure that existing xConfig position changes
|
|
230
231
|
//are adapted accordingly to avoid index mismatches
|
|
@@ -243,11 +244,13 @@ sap.ui.define([
|
|
|
243
244
|
}
|
|
244
245
|
});
|
|
245
246
|
oConfig.aggregations[sAggregationName][sPropertyInfoKey][sAffectedProperty] = vValue.index;
|
|
247
|
+
if (vValue.persistenceIdentifier) {
|
|
248
|
+
oConfig.aggregations[sAggregationName][sPropertyInfoKey]["persistenceIdentifier"] = vValue.persistenceIdentifier;
|
|
249
|
+
}
|
|
246
250
|
break;
|
|
247
251
|
case "remove":
|
|
248
252
|
case "add":
|
|
249
253
|
default:
|
|
250
|
-
var currentState = oModificationPayload.currentState;
|
|
251
254
|
|
|
252
255
|
//Adjust index after a remove happened for instance
|
|
253
256
|
if (currentState && currentState instanceof Array) {
|
|
@@ -262,6 +265,9 @@ sap.ui.define([
|
|
|
262
265
|
if (vValue.hasOwnProperty("value")) {
|
|
263
266
|
oConfig.aggregations[sAggregationName][sPropertyInfoKey][sAffectedProperty] = vValue.value;
|
|
264
267
|
oConfig.aggregations[sAggregationName][sPropertyInfoKey]["position"] = vValue.index;
|
|
268
|
+
if (vValue.persistenceIdentifier) {
|
|
269
|
+
oConfig.aggregations[sAggregationName][sPropertyInfoKey]["persistenceIdentifier"] = vValue.persistenceIdentifier;
|
|
270
|
+
}
|
|
265
271
|
} else {
|
|
266
272
|
oConfig.aggregations[sAggregationName][sPropertyInfoKey][sAffectedProperty] = vValue;
|
|
267
273
|
}
|
|
@@ -297,14 +303,14 @@ sap.ui.define([
|
|
|
297
303
|
*
|
|
298
304
|
* @returns {object} The adapted xConfig object
|
|
299
305
|
*/
|
|
300
|
-
xConfigAPI.createPropertyConfig =
|
|
306
|
+
xConfigAPI.createPropertyConfig = (oControl, oModificationPayload, oExistingConfig) => {
|
|
301
307
|
|
|
302
308
|
//var sDataKey = oModificationPayload.key;
|
|
303
309
|
|
|
304
|
-
|
|
310
|
+
const vValue = oModificationPayload.value;
|
|
305
311
|
//var oControlMetadata = oModificationPayload.controlMetadata || oControl.getMetadata();
|
|
306
|
-
|
|
307
|
-
|
|
312
|
+
const sAffectedProperty = oModificationPayload.property;
|
|
313
|
+
const oConfig = oExistingConfig || {};
|
|
308
314
|
|
|
309
315
|
if (!oConfig.properties) {
|
|
310
316
|
oConfig.properties = {};
|
|
@@ -314,13 +320,13 @@ sap.ui.define([
|
|
|
314
320
|
oConfig.properties[sAffectedProperty] = [];
|
|
315
321
|
}
|
|
316
322
|
|
|
317
|
-
|
|
323
|
+
const sOperation = oModificationPayload.operation;
|
|
318
324
|
|
|
319
|
-
|
|
325
|
+
const oItem = oConfig.properties[sAffectedProperty].find((oEntry) => {
|
|
320
326
|
return oEntry.key === oModificationPayload.key;
|
|
321
327
|
});
|
|
322
328
|
|
|
323
|
-
if (oItem) {
|
|
329
|
+
if (oItem && sOperation !== "add") {
|
|
324
330
|
oConfig.properties[sAffectedProperty].splice(oConfig.properties[sAffectedProperty].indexOf(oItem), 1);
|
|
325
331
|
}
|
|
326
332
|
|