@openui5/sap.m 1.103.1 → 1.106.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +2 -3
- package/.reuse/dep5 +35 -15
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
- package/THIRDPARTY.txt +64 -21
- package/package.json +4 -4
- package/src/sap/m/.library +17 -1
- package/src/sap/m/AccButton.js +1 -1
- package/src/sap/m/ActionListItem.js +1 -1
- package/src/sap/m/ActionSelect.js +1 -1
- package/src/sap/m/ActionSheet.js +1 -1
- package/src/sap/m/App.js +2 -3
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +2 -2
- package/src/sap/m/BadgeEnabler.js +1 -2
- package/src/sap/m/Bar.js +11 -10
- package/src/sap/m/Breadcrumbs.js +2 -2
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +49 -10
- package/src/sap/m/ButtonRenderer.js +10 -2
- package/src/sap/m/Carousel.js +3 -4
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CarouselRenderer.js +3 -3
- package/src/sap/m/CheckBox.js +46 -6
- package/src/sap/m/CheckBoxRenderer.js +1 -0
- package/src/sap/m/ColorPalette.js +1 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +5 -5
- package/src/sap/m/ColumnHeaderPopover.js +5 -7
- package/src/sap/m/ColumnListItem.js +1 -4
- package/src/sap/m/ColumnListItemRenderer.js +1 -2
- package/src/sap/m/ColumnPopoverActionItem.js +3 -3
- package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
- package/src/sap/m/ColumnPopoverItem.js +3 -3
- package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
- package/src/sap/m/ColumnPopoverSortItem.js +3 -3
- package/src/sap/m/ComboBox.js +6 -5
- package/src/sap/m/ComboBoxBase.js +3 -7
- package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
- package/src/sap/m/ComboBoxTextField.js +1 -7
- package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
- package/src/sap/m/CustomDynamicDateOption.js +1 -1
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTreeItem.js +3 -3
- package/src/sap/m/CustomTreeItemRenderer.js +2 -2
- package/src/sap/m/DatePicker.js +16 -26
- package/src/sap/m/DateRangeSelection.js +45 -38
- package/src/sap/m/DateTimeField.js +87 -20
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +58 -32
- package/src/sap/m/DateTimePickerRenderer.js +1 -1
- package/src/sap/m/Dialog.js +44 -2
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +1 -1
- package/src/sap/m/DynamicDateFormat.js +2 -5
- package/src/sap/m/DynamicDateOption.js +43 -16
- package/src/sap/m/DynamicDateRange.js +49 -7
- package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
- package/src/sap/m/DynamicDateUtil.js +23 -2
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +2 -2
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.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 +1 -1
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/Fiori20Adapter.js +2 -2
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +1 -1
- package/src/sap/m/GenericTag.js +1 -1
- package/src/sap/m/GenericTile.js +116 -23
- package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
- package/src/sap/m/GenericTileRenderer.js +23 -10
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingEnablement.js +60 -36
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +34 -32
- package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
- package/src/sap/m/IconTabBar.js +54 -22
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +1 -1
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +6 -19
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +98 -25
- package/src/sap/m/IllustratedMessageRenderer.js +10 -6
- package/src/sap/m/Illustration.js +8 -1
- package/src/sap/m/IllustrationPool.js +1 -0
- package/src/sap/m/IllustrationRenderer.js +2 -1
- package/src/sap/m/Image.js +73 -3
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/ImageRenderer.js +66 -2
- package/src/sap/m/Input.js +62 -7
- package/src/sap/m/InputBase.js +1 -1
- package/src/sap/m/InputBaseRenderer.js +2 -2
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/InputRenderer.js +4 -0
- package/src/sap/m/InstanceManager.js +6 -6
- package/src/sap/m/Label.js +34 -4
- package/src/sap/m/LabelRenderer.js +7 -2
- package/src/sap/m/LightBox.js +2 -2
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +74 -10
- package/src/sap/m/LinkRenderer.js +26 -12
- package/src/sap/m/List.js +38 -1
- package/src/sap/m/ListBase.js +109 -44
- package/src/sap/m/ListBaseRenderer.js +7 -15
- package/src/sap/m/ListItemBase.js +40 -11
- package/src/sap/m/ListItemBaseRenderer.js +17 -6
- package/src/sap/m/ListRenderer.js +2 -2
- package/src/sap/m/MaskEnabler.js +52 -2
- package/src/sap/m/MaskInput.js +23 -1
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +1 -1
- package/src/sap/m/MenuButton.js +1 -1
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageBox.js +1 -1
- package/src/sap/m/MessageItem.js +3 -4
- package/src/sap/m/MessageListItem.js +10 -6
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +4 -1
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +1 -1
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +1 -1
- package/src/sap/m/MultiComboBox.js +5 -16
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +1 -15
- package/src/sap/m/NavContainer.js +21 -19
- package/src/sap/m/NewsContent.js +2 -3
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +1 -1
- package/src/sap/m/NotificationListGroup.js +3 -7
- package/src/sap/m/NotificationListGroupRenderer.js +1 -1
- package/src/sap/m/NotificationListItem.js +1 -1
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/NumericInput.js +1 -1
- package/src/sap/m/ObjectAttribute.js +1 -1
- package/src/sap/m/ObjectHeader.js +3 -3
- package/src/sap/m/ObjectIdentifier.js +8 -5
- package/src/sap/m/ObjectListItem.js +7 -1
- package/src/sap/m/ObjectMarker.js +1 -1
- package/src/sap/m/ObjectNumber.js +2 -3
- package/src/sap/m/ObjectNumberRenderer.js +10 -3
- package/src/sap/m/ObjectStatus.js +2 -3
- package/src/sap/m/ObjectStatusRenderer.js +2 -2
- package/src/sap/m/OverflowToolbar.js +3 -8
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -8
- package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
- package/src/sap/m/OverflowToolbarButton.js +2 -2
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +3 -3
- package/src/sap/m/P13nColumnsItem.js +3 -3
- package/src/sap/m/P13nColumnsPanel.js +3 -3
- package/src/sap/m/P13nConditionPanel.js +10 -3
- package/src/sap/m/P13nDialog.js +3 -3
- package/src/sap/m/P13nDimMeasureItem.js +3 -3
- package/src/sap/m/P13nDimMeasurePanel.js +3 -3
- package/src/sap/m/P13nFilterItem.js +3 -3
- package/src/sap/m/P13nFilterPanel.js +3 -3
- package/src/sap/m/P13nGroupItem.js +3 -3
- package/src/sap/m/P13nGroupPanel.js +3 -3
- package/src/sap/m/P13nItem.js +3 -3
- package/src/sap/m/P13nOperationsHelper.js +2 -2
- package/src/sap/m/P13nPanel.js +3 -3
- package/src/sap/m/P13nSelectionItem.js +3 -3
- package/src/sap/m/P13nSelectionPanel.js +3 -3
- package/src/sap/m/P13nSortItem.js +3 -3
- package/src/sap/m/P13nSortPanel.js +3 -3
- package/src/sap/m/PDFViewer.js +2 -2
- package/src/sap/m/PDFViewerRenderer.js +1 -0
- package/src/sap/m/Page.js +1 -3
- package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/m/PagingButton.js +1 -1
- package/src/sap/m/Panel.js +1 -1
- package/src/sap/m/PlanningCalendar.js +4 -16
- package/src/sap/m/PlanningCalendarHeader.js +1 -5
- package/src/sap/m/PlanningCalendarLegend.js +1 -1
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -1
- package/src/sap/m/Popover.js +11 -4
- package/src/sap/m/ProgressIndicator.js +1 -1
- package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/QuickView.js +3 -3
- package/src/sap/m/QuickViewBase.js +3 -3
- package/src/sap/m/QuickViewCard.js +3 -3
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +3 -3
- package/src/sap/m/QuickViewPage.js +3 -3
- package/src/sap/m/RadioButton.js +47 -20
- package/src/sap/m/RadioButtonGroup.js +29 -26
- package/src/sap/m/RangeSlider.js +1 -3
- package/src/sap/m/RatingIndicator.js +8 -1
- package/src/sap/m/RatingIndicatorRenderer.js +13 -4
- package/src/sap/m/ResponsivePopover.js +3 -3
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +1 -1
- package/src/sap/m/ScrollContainer.js +1 -1
- package/src/sap/m/SearchField.js +1 -1
- package/src/sap/m/SearchFieldRenderer.js +1 -0
- package/src/sap/m/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +8 -14
- package/src/sap/m/SelectDialog.js +2 -1
- package/src/sap/m/SelectDialogBase.js +1 -1
- package/src/sap/m/SelectList.js +1 -1
- package/src/sap/m/SelectListRenderer.js +2 -2
- package/src/sap/m/SelectionDetails.js +2 -2
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +1 -1
- package/src/sap/m/SelectionDetailsItemLine.js +1 -1
- package/src/sap/m/Shell.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +7 -9
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +12 -13
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
- package/src/sap/m/SlideTile.js +30 -5
- package/src/sap/m/Slider.js +1 -1
- package/src/sap/m/SliderTooltip.js +1 -3
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
- package/src/sap/m/SliderTooltipContainer.js +1 -1
- package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
- package/src/sap/m/SliderTooltipRenderer.js +2 -2
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +1 -3
- package/src/sap/m/SplitContainer.js +3 -7
- package/src/sap/m/StandardDynamicDateOption.js +9 -15
- package/src/sap/m/StandardListItem.js +1 -1
- package/src/sap/m/StandardListItemRenderer.js +2 -2
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +1 -1
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +4 -2
- package/src/sap/m/Switch.js +1 -1
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -1
- package/src/sap/m/TabStrip.js +1 -1
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/Table.js +11 -9
- package/src/sap/m/TablePersoController.js +1 -1
- package/src/sap/m/TablePersoDialog.js +6 -15
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +2 -9
- package/src/sap/m/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/TextAreaRenderer.js +1 -2
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +1 -1
- package/src/sap/m/TileContent.js +8 -9
- package/src/sap/m/TileContentRenderer.js +3 -3
- package/src/sap/m/TimePicker.js +45 -8
- package/src/sap/m/TimePickerClock.js +2 -3
- package/src/sap/m/TimePickerClocks.js +5 -3
- package/src/sap/m/TimePickerClocksRenderer.js +4 -2
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInputsRenderer.js +1 -1
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +1 -1
- package/src/sap/m/TimePickerSliders.js +3 -5
- package/src/sap/m/Title.js +1 -1
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/ToggleButton.js +2 -2
- package/src/sap/m/Token.js +1 -3
- package/src/sap/m/Tokenizer.js +1 -1
- package/src/sap/m/Toolbar.js +1 -1
- 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 +8 -1
- package/src/sap/m/TreeItemBase.js +1 -1
- package/src/sap/m/TreeRenderer.js +0 -10
- package/src/sap/m/UploadCollection.js +2 -2
- package/src/sap/m/UploadCollectionItem.js +1 -1
- package/src/sap/m/UploadCollectionParameter.js +1 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/VariantItem.js +160 -0
- package/src/sap/m/VariantManagement.js +717 -571
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +1 -1
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +1 -1
- package/src/sap/m/VisibleItem.js +1 -1
- package/src/sap/m/WheelSlider.js +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +10 -3
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardStep.js +3 -1
- package/src/sap/m/_thirdparty/purify.js +1622 -0
- package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
- package/src/sap/m/changeHandler/CombineButtons.js +19 -22
- package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
- package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
- package/src/sap/m/delegate/DateNavigation.js +0 -4
- package/src/sap/m/designtime/Link.designtime.js +19 -11
- package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
- package/src/sap/m/flexibility/EngineFlex.js +48 -0
- package/src/sap/m/inputUtils/selectionRange.js +1 -2
- package/src/sap/m/library.js +60 -7
- package/src/sap/m/messagebundle.properties +57 -6
- package/src/sap/m/messagebundle_ar.properties +39 -9
- package/src/sap/m/messagebundle_bg.properties +33 -3
- package/src/sap/m/messagebundle_ca.properties +32 -2
- package/src/sap/m/messagebundle_cs.properties +32 -2
- package/src/sap/m/messagebundle_cy.properties +34 -4
- package/src/sap/m/messagebundle_da.properties +32 -2
- package/src/sap/m/messagebundle_de.properties +32 -2
- package/src/sap/m/messagebundle_el.properties +35 -5
- package/src/sap/m/messagebundle_en.properties +34 -4
- package/src/sap/m/messagebundle_en_GB.properties +34 -4
- package/src/sap/m/messagebundle_en_US_sappsd.properties +33 -3
- package/src/sap/m/messagebundle_en_US_saprigi.properties +31 -3
- package/src/sap/m/messagebundle_en_US_saptrc.properties +33 -3
- package/src/sap/m/messagebundle_es.properties +33 -3
- package/src/sap/m/messagebundle_es_MX.properties +32 -2
- package/src/sap/m/messagebundle_et.properties +32 -2
- package/src/sap/m/messagebundle_fi.properties +36 -6
- package/src/sap/m/messagebundle_fr.properties +33 -3
- package/src/sap/m/messagebundle_fr_CA.properties +34 -4
- package/src/sap/m/messagebundle_hi.properties +34 -4
- package/src/sap/m/messagebundle_hr.properties +36 -6
- package/src/sap/m/messagebundle_hu.properties +34 -4
- package/src/sap/m/messagebundle_id.properties +34 -4
- package/src/sap/m/messagebundle_it.properties +33 -3
- package/src/sap/m/messagebundle_iw.properties +34 -4
- package/src/sap/m/messagebundle_ja.properties +33 -3
- package/src/sap/m/messagebundle_kk.properties +32 -2
- package/src/sap/m/messagebundle_ko.properties +40 -10
- package/src/sap/m/messagebundle_lt.properties +32 -2
- package/src/sap/m/messagebundle_lv.properties +32 -2
- package/src/sap/m/messagebundle_ms.properties +33 -3
- package/src/sap/m/messagebundle_nl.properties +46 -16
- package/src/sap/m/messagebundle_no.properties +34 -4
- package/src/sap/m/messagebundle_pl.properties +33 -3
- package/src/sap/m/messagebundle_pt.properties +37 -7
- package/src/sap/m/messagebundle_pt_PT.properties +32 -2
- package/src/sap/m/messagebundle_ro.properties +33 -3
- package/src/sap/m/messagebundle_ru.properties +33 -3
- package/src/sap/m/messagebundle_sh.properties +33 -3
- package/src/sap/m/messagebundle_sk.properties +32 -2
- package/src/sap/m/messagebundle_sl.properties +33 -3
- package/src/sap/m/messagebundle_sv.properties +32 -2
- package/src/sap/m/messagebundle_th.properties +65 -35
- package/src/sap/m/messagebundle_tr.properties +36 -6
- package/src/sap/m/messagebundle_uk.properties +33 -3
- package/src/sap/m/messagebundle_vi.properties +33 -3
- package/src/sap/m/messagebundle_zh_CN.properties +33 -3
- package/src/sap/m/messagebundle_zh_TW.properties +32 -2
- package/src/sap/m/p13n/AbstractContainer.js +7 -7
- package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
- package/src/sap/m/p13n/BasePanel.js +24 -13
- package/src/sap/m/p13n/Container.js +3 -3
- package/src/sap/m/p13n/Engine.js +1254 -0
- package/src/sap/m/p13n/FlexUtil.js +161 -0
- package/src/sap/m/p13n/GroupController.js +145 -0
- package/src/sap/m/p13n/GroupPanel.js +12 -5
- package/src/sap/m/p13n/MetadataHelper.js +35 -0
- package/src/sap/m/p13n/PersistenceProvider.js +160 -0
- package/src/sap/m/p13n/Popup.js +49 -12
- package/src/sap/m/p13n/QueryPanel.js +3 -3
- package/src/sap/m/p13n/SelectionController.js +548 -0
- package/src/sap/m/p13n/SelectionPanel.js +23 -5
- package/src/sap/m/p13n/SortController.js +153 -0
- package/src/sap/m/p13n/SortPanel.js +15 -5
- package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
- package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
- package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
- package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
- package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
- package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
- package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
- package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
- package/src/sap/m/p13n/modules/UIManager.js +230 -0
- package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
- package/src/sap/m/plugins/CellSelector.js +741 -0
- package/src/sap/m/plugins/ColumnResizer.js +15 -1
- package/src/sap/m/plugins/DataStateIndicator.js +2 -2
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +4 -3
- package/src/sap/m/rules/CheckBox.support.js +1 -1
- package/src/sap/m/rules/Image.support.js +1 -1
- package/src/sap/m/rules/Link.support.js +1 -1
- package/src/sap/m/rules/MessagePage.support.js +1 -1
- package/src/sap/m/rules/ObjectHeader.support.js +6 -6
- 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/Table.support.js +3 -3
- package/src/sap/m/semantic/AddAction.js +1 -1
- package/src/sap/m/semantic/CancelAction.js +1 -1
- package/src/sap/m/semantic/DeleteAction.js +1 -1
- package/src/sap/m/semantic/DetailPage.js +1 -1
- package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/m/semantic/EditAction.js +1 -1
- package/src/sap/m/semantic/FavoriteAction.js +1 -1
- package/src/sap/m/semantic/FilterAction.js +1 -1
- package/src/sap/m/semantic/FilterSelect.js +1 -1
- package/src/sap/m/semantic/FlagAction.js +1 -1
- package/src/sap/m/semantic/ForwardAction.js +1 -1
- package/src/sap/m/semantic/FullscreenPage.js +1 -1
- package/src/sap/m/semantic/GroupAction.js +1 -1
- package/src/sap/m/semantic/GroupSelect.js +1 -1
- package/src/sap/m/semantic/MainAction.js +1 -1
- package/src/sap/m/semantic/MasterPage.js +1 -1
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +1 -1
- package/src/sap/m/semantic/NegativeAction.js +1 -1
- package/src/sap/m/semantic/OpenInAction.js +1 -1
- package/src/sap/m/semantic/PositiveAction.js +1 -1
- package/src/sap/m/semantic/PrintAction.js +1 -1
- package/src/sap/m/semantic/SaveAction.js +1 -1
- package/src/sap/m/semantic/Segment.js +1 -1
- package/src/sap/m/semantic/SegmentedContainer.js +1 -1
- package/src/sap/m/semantic/SemanticButton.js +1 -1
- package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
- package/src/sap/m/semantic/SemanticControl.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/semantic/SemanticPage.js +1 -1
- package/src/sap/m/semantic/SemanticSelect.js +1 -1
- package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
- package/src/sap/m/semantic/SendEmailAction.js +1 -1
- package/src/sap/m/semantic/SendMessageAction.js +1 -1
- package/src/sap/m/semantic/ShareInJamAction.js +1 -1
- package/src/sap/m/semantic/ShareMenu.js +1 -1
- package/src/sap/m/semantic/ShareMenuPage.js +1 -1
- package/src/sap/m/semantic/SortAction.js +1 -1
- package/src/sap/m/semantic/SortSelect.js +1 -1
- package/src/sap/m/table/Util.js +30 -11
- package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/Entry.js +1 -1
- package/src/sap/m/table/columnmenu/Item.js +1 -1
- package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
- package/src/sap/m/table/columnmenu/Menu.js +50 -13
- package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
- package/src/sap/m/table/columnmenu/QuickActionBase.js +18 -3
- package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
- package/src/sap/m/table/columnmenu/QuickGroup.js +29 -5
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
- package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
- package/src/sap/m/table/columnmenu/QuickSortItem.js +8 -7
- package/src/sap/m/table/columnmenu/QuickTotal.js +29 -5
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
- package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
- package/src/sap/m/themes/base/Button.less +0 -1
- package/src/sap/m/themes/base/Carousel.less +8 -8
- package/src/sap/m/themes/base/CellSelector.less +9 -0
- package/src/sap/m/themes/base/CheckBox.less +1 -0
- package/src/sap/m/themes/base/Dialog.less +1 -0
- package/src/sap/m/themes/base/DisplayListItem.less +3 -3
- package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
- package/src/sap/m/themes/base/FeedContent.less +13 -5
- package/src/sap/m/themes/base/GenericTile.less +56 -9
- package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
- package/src/sap/m/themes/base/NewsContent.less +6 -0
- package/src/sap/m/themes/base/NumericContent.less +1 -1
- package/src/sap/m/themes/base/ObjectStatus.less +2 -1
- package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
- package/src/sap/m/themes/base/SelectList.less +0 -5
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
- package/src/sap/m/themes/base/SlideTile.less +35 -4
- package/src/sap/m/themes/base/Table.less +11 -2
- package/src/sap/m/themes/base/TileContent.less +17 -0
- package/src/sap/m/themes/base/library.source.less +1 -0
- package/src/sap/m/upload/UploadSet.js +300 -23
- package/src/sap/m/upload/UploadSetItem.js +18 -7
- package/src/sap/m/upload/UploadSetRenderer.js +8 -16
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
- package/src/sap/m/upload/Uploader.js +1 -2
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"sap/ui/base/Object",
|
|
8
|
+
"sap/ui/core/util/reflection/JsControlTreeModifier"
|
|
9
|
+
], function(BaseObject, JsControlTreeModifier) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
var oModificationHandler;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @class This class offers modification capabilities without persistence.
|
|
16
|
+
* It should be used as the persistence layer in the {@link sap.m.p13n.Engine#register Engine#register} process.
|
|
17
|
+
*
|
|
18
|
+
* @author SAP SE
|
|
19
|
+
* @public
|
|
20
|
+
* @experimental Since 1.104.
|
|
21
|
+
* @alias sap.m.p13n.modification.ModificationHandler
|
|
22
|
+
*/
|
|
23
|
+
var ModificationHandler = BaseObject.extend("sap.m.p13n.modification.ModificationHandler");
|
|
24
|
+
|
|
25
|
+
var mInitialState = new WeakMap();
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Should implement the appliance of changes
|
|
29
|
+
*
|
|
30
|
+
* @param {array} aChanges An array of changes
|
|
31
|
+
* @param {object} oModificationPayload An object providing a modification handler specific payload
|
|
32
|
+
* @returns {Promise} Returns a <code>Promise</code> reflecting change processing
|
|
33
|
+
*/
|
|
34
|
+
ModificationHandler.prototype.processChanges = function(aChanges, oModificationPayload){
|
|
35
|
+
|
|
36
|
+
var aChangeAppliance = [];
|
|
37
|
+
|
|
38
|
+
aChanges.forEach(function(oChange){
|
|
39
|
+
var oChangeContent = oChange.changeSpecificData.content;
|
|
40
|
+
var oControl = oChange.selectorElement;
|
|
41
|
+
var sChangeType = oChange.changeSpecificData.changeType;
|
|
42
|
+
// var oItem = sap.ui.getCore().byId(oChangeContent.name);
|
|
43
|
+
// var sTargetAggregation = oChangeContent.targetAggregation;
|
|
44
|
+
// var oSelector = oChange.selectorElement;
|
|
45
|
+
// var oContent = oChange.changeSpecificData.content;
|
|
46
|
+
|
|
47
|
+
var oTransientChange = {
|
|
48
|
+
getContent: function() {
|
|
49
|
+
return oChangeContent;
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
getChangeType: function() {
|
|
53
|
+
return sChangeType;
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
getControl: function() {
|
|
57
|
+
return oControl;
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
setRevertData: function() {
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var oPromise = new Promise(function(resolve){
|
|
65
|
+
sap.ui.require(["sap/m/flexibility/EngineFlex"], function(EngineFlex){
|
|
66
|
+
var pAppliance = EngineFlex[sChangeType].changeHandler.applyChange(oTransientChange, oControl, {
|
|
67
|
+
modifier: JsControlTreeModifier
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
resolve(pAppliance);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
aChangeAppliance.push(oPromise);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
return Promise.all(aChangeAppliance);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Should implement a function that returns a promise resolving
|
|
82
|
+
* after the current pending changes have been applied.
|
|
83
|
+
*
|
|
84
|
+
* @private
|
|
85
|
+
* @param {object} mPropertyBag A propertybag containing modification specific configuration
|
|
86
|
+
* @param {sap.ui.core.Element} mPropertyBag.element The according element which should be checked
|
|
87
|
+
* @param {object} oModificationPayload An object providing a modification handler specific payload
|
|
88
|
+
* @returns {Promise} Returns a <code>Promise</code> reflecting change appliance
|
|
89
|
+
|
|
90
|
+
*/
|
|
91
|
+
ModificationHandler.prototype.waitForChanges = function(mPropertyBag, oModificationPayload) {
|
|
92
|
+
return Promise.resolve();
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Should implement a function that returns a promise resolving
|
|
97
|
+
* after the current pending changes have been reset.
|
|
98
|
+
*
|
|
99
|
+
* @private
|
|
100
|
+
* @param {object} mPropertyBag A propertybag containing modification specific configuration
|
|
101
|
+
* @param {sap.ui.core.Element} mPropertyBag.selector The according element which should be checked
|
|
102
|
+
* @param {object} oModificationPayload An object providing a modification handler specific payload
|
|
103
|
+
* @returns {Promise} Returns a <code>Promise</code> reflecting the reset execution
|
|
104
|
+
*/
|
|
105
|
+
ModificationHandler.prototype.reset = function(mPropertyBag, oModificationPayload) {
|
|
106
|
+
var oControl = mPropertyBag.selector;
|
|
107
|
+
return sap.m.p13n.Engine.getInstance().applyState(oControl, mInitialState.get(oControl), true);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
ModificationHandler.prototype.initialize = function(oControl) {
|
|
111
|
+
var pInitial, oInitialState;
|
|
112
|
+
|
|
113
|
+
pInitial = sap.m.p13n.Engine.getInstance().retrieveState(oControl)
|
|
114
|
+
.then(function(oRetrievedState){
|
|
115
|
+
oInitialState = oRetrievedState;
|
|
116
|
+
mInitialState.set(oControl, oInitialState);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
return pInitial;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Should implement a function that returns information ont modification support
|
|
124
|
+
*
|
|
125
|
+
* @private
|
|
126
|
+
* @param {object} mPropertyBag A propertybag containing modification specific configuration
|
|
127
|
+
* @param {sap.ui.core.Element} mPropertyBag.selector The according element which should be checked
|
|
128
|
+
* @param {object} oModificationPayload An object providing a modification handler specific payload
|
|
129
|
+
* @returns {boolean} reflects the modification support state
|
|
130
|
+
*/
|
|
131
|
+
ModificationHandler.prototype.isModificationSupported = function(mPropertyBag, oModificationPayload){
|
|
132
|
+
return false;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
ModificationHandler.getInstance = function() {
|
|
136
|
+
if (!oModificationHandler){
|
|
137
|
+
oModificationHandler = new ModificationHandler();
|
|
138
|
+
}
|
|
139
|
+
return oModificationHandler;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
return ModificationHandler;
|
|
143
|
+
});
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"sap/ui/base/Object"
|
|
8
|
+
], function(BaseObject) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @class Interface to implement basic adaptation functionality.
|
|
13
|
+
* Implementing this interface enables the usage of certain p13n
|
|
14
|
+
* modules such as the UIManager and the DefaultProviderRegistry.
|
|
15
|
+
*
|
|
16
|
+
* @author SAP SE
|
|
17
|
+
* @since 1.104
|
|
18
|
+
* @private
|
|
19
|
+
*
|
|
20
|
+
* @ui5-restricted sap.m
|
|
21
|
+
* @alias sap.m.p13n.AdaptationProvider
|
|
22
|
+
*/
|
|
23
|
+
var AdaptationProvider = BaseObject.extend("sap.m.p13n.AdaptationProvider", {
|
|
24
|
+
metadata: {
|
|
25
|
+
baseType : "sap.m.p13n.AdaptationProvider"
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Initialize adaptation for a provided control instance, set of keys and properties
|
|
31
|
+
*
|
|
32
|
+
* @param {string|sap.ui.core.Control} vControl The control id or instance
|
|
33
|
+
* @param {Array} aKeys An Array of keys
|
|
34
|
+
* @param {Array} [aCustomInfo] An Array of propertyinfos
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise} A Promise resolving in the according property helper instance
|
|
37
|
+
*/
|
|
38
|
+
AdaptationProvider.prototype.initAdaptation = function(vControl, aKeys, aCustomInfo){
|
|
39
|
+
throw new Error("Please implement 'initAdaptation'");
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Reset the personalization for a provided control instance and key
|
|
44
|
+
*
|
|
45
|
+
* @param {sap.ui.core.Control} oControl The control instance
|
|
46
|
+
* @param {string} sKey Key to be affected by reset
|
|
47
|
+
*
|
|
48
|
+
* @returns {Promise} A Promise resolving after the reset has been processed
|
|
49
|
+
*/
|
|
50
|
+
AdaptationProvider.prototype.reset = function(oControl, sKey){
|
|
51
|
+
throw new Error("Please implement 'reset'");
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Reset the personalization for a provided control instance and key
|
|
56
|
+
*
|
|
57
|
+
* @param {sap.ui.core.Control} oControl The control instance
|
|
58
|
+
* @param {Array} aKeys An Array of keys
|
|
59
|
+
*
|
|
60
|
+
* @returns {Promise} A Promise resolving after all changes have been processed
|
|
61
|
+
*/
|
|
62
|
+
AdaptationProvider.prototype.handleP13n = function(oControl, aKeys){
|
|
63
|
+
throw new Error("Please implement 'handleP13n'");
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
return AdaptationProvider;
|
|
67
|
+
});
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ui/base/Object",
|
|
9
|
+
"sap/m/p13n/PersistenceProvider",
|
|
10
|
+
"sap/ui/fl/Utils"
|
|
11
|
+
], function (BaseObject, PersistenceProvider, FLUtils) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
var ERROR_INSTANCING = "DefaultProviderRegistry: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().defaultProviderRegistry' instead";
|
|
15
|
+
|
|
16
|
+
//Singleton storage
|
|
17
|
+
var oDefaultProviderRegistry;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Constructor for a new DefaultProviderRegistry.
|
|
21
|
+
* This registry creates and manages default persistence providers for each persistence mode.
|
|
22
|
+
* It is intended for use cases where no dedicated provider can or should be created by an application.
|
|
23
|
+
* The DefaultProviderRegistry currently resides in the Engine and must never be called separately.
|
|
24
|
+
*
|
|
25
|
+
* @class
|
|
26
|
+
* @extends sap.ui.base.Object
|
|
27
|
+
*
|
|
28
|
+
* @author SAP SE
|
|
29
|
+
* @version 1.106.0
|
|
30
|
+
*
|
|
31
|
+
* @private
|
|
32
|
+
* @since 1.104
|
|
33
|
+
* @alias sap.m.p13n.modules.DefaultProviderRegistry
|
|
34
|
+
*/
|
|
35
|
+
var DefaultProviderRegistry = BaseObject.extend("sap.m.p13n.modules.DefaultProviderRegistry", {
|
|
36
|
+
constructor: function(oEngine) {
|
|
37
|
+
|
|
38
|
+
if (oDefaultProviderRegistry) {
|
|
39
|
+
throw Error(ERROR_INSTANCING);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
BaseObject.call(this);
|
|
43
|
+
this._mDefaultProviders = {};
|
|
44
|
+
this._oEngine = oEngine;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @override
|
|
50
|
+
* @inheritDoc
|
|
51
|
+
*/
|
|
52
|
+
DefaultProviderRegistry.prototype.destroy = function() {
|
|
53
|
+
Object.keys(this._mDefaultProviders).forEach(function (sProviderName) {
|
|
54
|
+
this._mDefaultProviders[sProviderName].destroy();
|
|
55
|
+
delete this._mDefaultProviders[sProviderName];
|
|
56
|
+
}.bind(this));
|
|
57
|
+
this._oEngine = null;
|
|
58
|
+
oDefaultProviderRegistry = null;
|
|
59
|
+
BaseObject.prototype.destroy.apply(this, arguments);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @private
|
|
64
|
+
* @ui5-restricted sap.m
|
|
65
|
+
*
|
|
66
|
+
* Attaches a control to a default persistence provider held inside the DefaultProviderRegistry for the given <code>PersistenceMode</code>
|
|
67
|
+
*
|
|
68
|
+
* @param {sap.ui.core.Control|string} vElement The control instance or a control id.
|
|
69
|
+
* @param {sap.m.enum.PersistenceMode} sPersistenceMode Desired persistence mode for the retrieved persistence provider
|
|
70
|
+
* @returns {sap.m.p13n.PersistenceProvider} Returns a persistence provider instance, if possible
|
|
71
|
+
*/
|
|
72
|
+
DefaultProviderRegistry.prototype.attach = function (vElement, sPersistenceMode) {
|
|
73
|
+
if (this._oEngine.isRegisteredForModification(vElement)) { // Modification settings for a registered element are only determined once in the Engine
|
|
74
|
+
throw new Error("DefaultProviderRegistry: You must not change the modificationSettings for an already registered element");
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var oElement = typeof vElement === "string" ? sap.ui.getCore().byId(vElement) : vElement, sElementId = typeof vElement === "string" ? vElement : vElement.getId();
|
|
78
|
+
var oDefaultProvider = this._retrieveDefaultProvider(oElement, sPersistenceMode);
|
|
79
|
+
|
|
80
|
+
if (oDefaultProvider.getFor().indexOf(sElementId) === -1) {
|
|
81
|
+
oDefaultProvider.addFor(vElement);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return oDefaultProvider;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @private
|
|
89
|
+
* @ui5-restricted sap.m
|
|
90
|
+
*
|
|
91
|
+
* Detaches a control from any existing default persistence provider
|
|
92
|
+
*
|
|
93
|
+
* @param {sap.ui.core.Control|string} vControl The control instance or a control id.
|
|
94
|
+
*/
|
|
95
|
+
DefaultProviderRegistry.prototype.detach = function (vControl) {
|
|
96
|
+
Object.keys(this._mDefaultProviders).forEach(function (sMode) {
|
|
97
|
+
var oDefaultProvider = this._mDefaultProviders[sMode];
|
|
98
|
+
oDefaultProvider.removeFor(vControl);
|
|
99
|
+
}.bind(this));
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @private
|
|
104
|
+
* @ui5-restricted sap.ui.mdc
|
|
105
|
+
*
|
|
106
|
+
* Returns a promise resolving a default persistence provider for the given <code>Control</code> and <code>PersistenceMode</code>.
|
|
107
|
+
* @param {sap.ui.core.Element} oElement The element instance.
|
|
108
|
+
* @param {sap.ui.mdc.enum.PersistenceMode} sPersistenceMode Desired persistence mode for the retrieved persistence provider
|
|
109
|
+
* @returns {Promise} Returns a <code>Promise</code> returning a persistence provider instance, if possible
|
|
110
|
+
*/
|
|
111
|
+
DefaultProviderRegistry.prototype._retrieveDefaultProvider = function (oElement, sPersistenceMode) {
|
|
112
|
+
|
|
113
|
+
if (!this._mDefaultProviders[sPersistenceMode]) {
|
|
114
|
+
var oProvider = new PersistenceProvider("defaultProviderRegistry" + sPersistenceMode, {
|
|
115
|
+
mode: sPersistenceMode
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
var fnAttachVariantModel = function(){
|
|
119
|
+
var oModel = oElement.getModel(FLUtils.VARIANT_MODEL_NAME);
|
|
120
|
+
if (oModel) {
|
|
121
|
+
oProvider.setModel(oModel, FLUtils.VARIANT_MODEL_NAME);
|
|
122
|
+
oElement.detachEvent("modelContextChange", fnAttachVariantModel);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
oElement.attachEvent("modelContextChange", fnAttachVariantModel);
|
|
127
|
+
this._mDefaultProviders[sPersistenceMode] = oProvider;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return this._mDefaultProviders[sPersistenceMode];
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* @private
|
|
135
|
+
* @ui5-restricted sap.m
|
|
136
|
+
*
|
|
137
|
+
* This method is the central point of access to the DefaultProviderRegistry Singleton.
|
|
138
|
+
*/
|
|
139
|
+
DefaultProviderRegistry.getInstance = function(Engine) {
|
|
140
|
+
if (!oDefaultProviderRegistry) {
|
|
141
|
+
oDefaultProviderRegistry = new DefaultProviderRegistry(Engine);
|
|
142
|
+
}
|
|
143
|
+
return oDefaultProviderRegistry;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
return DefaultProviderRegistry;
|
|
147
|
+
});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ui/base/EventProvider"
|
|
9
|
+
], function (EventProvider) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
var ERROR_INSTANCING = "StateHandlerRegistry: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().stateHandlerRegistry' instead";
|
|
13
|
+
|
|
14
|
+
//Singleton storage
|
|
15
|
+
var oStateHandlerRegistry;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Constructor for a new StateHandlerRegistry.
|
|
19
|
+
*
|
|
20
|
+
* @class
|
|
21
|
+
* @extends sap.ui.base.Object
|
|
22
|
+
*
|
|
23
|
+
* @author SAP SE
|
|
24
|
+
* @version 1.106.0
|
|
25
|
+
*
|
|
26
|
+
* @private
|
|
27
|
+
* @since 1.104
|
|
28
|
+
* @alias sap.m.p13n.modules.StateHandlerRegistry
|
|
29
|
+
*/
|
|
30
|
+
var StateHandlerRegistry = EventProvider.extend("sap.m.p13n.modules.StateHandlerRegistry", {
|
|
31
|
+
constructor: function() {
|
|
32
|
+
|
|
33
|
+
if (oStateHandlerRegistry) {
|
|
34
|
+
throw Error(ERROR_INSTANCING);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
EventProvider.call(this);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* @ui5-restricted sap.m
|
|
44
|
+
*
|
|
45
|
+
* Attaches an event handler to the <code>StateHandlerRegistry</code> class.
|
|
46
|
+
* The event handler may be fired every time a user triggers a personalization change for a control instance during runtime.
|
|
47
|
+
*
|
|
48
|
+
* @param {function} fnStateEventHandler The handler function to call when the event occurs
|
|
49
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
50
|
+
*/
|
|
51
|
+
StateHandlerRegistry.prototype.attachChange = function(fnStateEventHandler) {
|
|
52
|
+
return EventProvider.prototype.attachEvent.call(this, "stateChange", fnStateEventHandler);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @private
|
|
57
|
+
* @ui5-restricted sap.m
|
|
58
|
+
*
|
|
59
|
+
* Removes a previously attached state change event handler from the <code>StateHandlerRegistry</code> class.
|
|
60
|
+
* The passed parameters must match those used for registration with {@link StateHandlerRegistry#attachChange} beforehand.
|
|
61
|
+
*
|
|
62
|
+
* @param {function} fnStateEventHandler The handler function to detach from the event
|
|
63
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
64
|
+
*/
|
|
65
|
+
StateHandlerRegistry.prototype.detachChange = function(fnStateEventHandler) {
|
|
66
|
+
return EventProvider.prototype.detachEvent.call(this, "stateChange", fnStateEventHandler);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @private
|
|
71
|
+
* @ui5-restricted sap.m
|
|
72
|
+
*
|
|
73
|
+
* Fires an {@link sap.ui.base.Event event} with the given settings and notifies all attached event handlers.
|
|
74
|
+
*
|
|
75
|
+
* @param {sap.ui.core.Control} oControl The control instance
|
|
76
|
+
* @param {object} oState The updated state
|
|
77
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
78
|
+
*/
|
|
79
|
+
StateHandlerRegistry.prototype.fireChange = function(oControl, oState) {
|
|
80
|
+
return EventProvider.prototype.fireEvent.call(this, "stateChange", {
|
|
81
|
+
control: oControl,
|
|
82
|
+
state: oState
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
* @ui5-restricted sap.m
|
|
89
|
+
*
|
|
90
|
+
* This method is the central point of access to the DefaultProviderRegistry Singleton.
|
|
91
|
+
* @returns {this} Returns the <code>StateHandlerRegistry</code> instance.
|
|
92
|
+
*/
|
|
93
|
+
StateHandlerRegistry.getInstance = function () {
|
|
94
|
+
if (!oStateHandlerRegistry) {
|
|
95
|
+
oStateHandlerRegistry = new StateHandlerRegistry();
|
|
96
|
+
}
|
|
97
|
+
return oStateHandlerRegistry;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
return StateHandlerRegistry;
|
|
101
|
+
});
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ui/base/Object",
|
|
9
|
+
"sap/ui/mdc/util/loadModules",
|
|
10
|
+
"sap/base/Log"
|
|
11
|
+
], function (BaseObject, loadModules, Log) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
var ERROR_INSTANCING = "UIManager: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().uimanager' instead";
|
|
15
|
+
|
|
16
|
+
//Singleton storage
|
|
17
|
+
var oUIManager;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Constructor for a new UIManager.
|
|
21
|
+
* This manager creates and manages <code>sap.m.p13n.Popup</code> instances in order to personalize a certain control instance.
|
|
22
|
+
* The <cod>UIManager</code> serves as additional implementation for the <code>sap.m.p13n.Engine</code> to visualize p13n UIs for end user personalization.
|
|
23
|
+
*
|
|
24
|
+
* <b>Note:</b>The UIManager resides in the Engine and must never be called separately.
|
|
25
|
+
* The Engine currently is being used to provide controller capabilities, accessed by the UIManager, the according is {@link sap.m.p13n.AdaptationProvider}.
|
|
26
|
+
*
|
|
27
|
+
* @class
|
|
28
|
+
* @extends sap.ui.base.Object
|
|
29
|
+
*
|
|
30
|
+
* @author SAP SE
|
|
31
|
+
* @version 1.106.0
|
|
32
|
+
*
|
|
33
|
+
* @private
|
|
34
|
+
*
|
|
35
|
+
* @since 1.104
|
|
36
|
+
* @alias sap.m.p13n.modules.UIManager
|
|
37
|
+
*/
|
|
38
|
+
var UIManager = BaseObject.extend("sap.m.p13n.UIManager", {
|
|
39
|
+
constructor: function(oAdaptationProvider) {
|
|
40
|
+
|
|
41
|
+
if (oUIManager) {
|
|
42
|
+
throw Error(ERROR_INSTANCING);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
this.oAdaptationProvider = oAdaptationProvider;
|
|
46
|
+
|
|
47
|
+
BaseObject.call(this);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param {sap.ui.core.Control} oControl The control instance to be personalized
|
|
54
|
+
* @param {string|string[]} vPanelKeys The affected panels that should be added to the <code>sap.m.p13n.Popup</code>
|
|
55
|
+
* @param {object} mSettings The settings object for the personalization
|
|
56
|
+
* @param {string} [mSettings.title] The title for the <code>sap.m.p13n.Popup</code> control
|
|
57
|
+
* @param {object} [mSettings.source] The source contro to be used by the <code>sap.m.p13n.Popup</code> control (only necessary in case the mode is set to <code>ResponsivePopover</code>)
|
|
58
|
+
* @param {object} [mSettings.mode] The mode to be used by the <code>sap.m.p13n.Popup</code> control
|
|
59
|
+
* @param {object} [mSettings.contentHeight] Height configuration for the related popup container
|
|
60
|
+
* @param {object} [mSettings.contentWidth] Width configuration for the related popup container
|
|
61
|
+
*
|
|
62
|
+
* @returns {Promise} Promise resolving in the <code>sap.m.p13n.Popup</code> instance.
|
|
63
|
+
*/
|
|
64
|
+
UIManager.prototype.show = function(oControl, vPanelKeys, mSettings) {
|
|
65
|
+
var aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
|
|
66
|
+
var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
|
|
67
|
+
var that = this;
|
|
68
|
+
mSettings = Object.assign({}, mSettings);
|
|
69
|
+
|
|
70
|
+
if (!this.hasActiveP13n(oControl)){
|
|
71
|
+
this.setActiveP13n(oControl, vPanelKeys);
|
|
72
|
+
|
|
73
|
+
return this.create(oControl, vPanelKeys, mSettings)
|
|
74
|
+
.then(function(aInitializedPanels){
|
|
75
|
+
return loadModules(["sap/m/p13n/Popup"]).then(function(aModules){
|
|
76
|
+
|
|
77
|
+
//if there is no title provided and only one panel created, use it's title as the Popup title
|
|
78
|
+
var sTitle;
|
|
79
|
+
if (!mSettings.title && aPanelKeys.length === 1) {
|
|
80
|
+
sTitle = aInitializedPanels[0].getTitle();
|
|
81
|
+
} else {
|
|
82
|
+
sTitle = mSettings.title || oResourceBundle.getText("p13n.VIEW_SETTINGS");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
//Enrich Popup with AdaptationProvider functionality --> add controller logic (reset and appliance)
|
|
86
|
+
var Popup = aModules[0];
|
|
87
|
+
var oP13nContainer = new Popup({
|
|
88
|
+
mode: mSettings.mode,
|
|
89
|
+
warningText: mSettings.warningText || oResourceBundle.getText("p13n.RESET_WARNING_TEXT"),
|
|
90
|
+
title: sTitle,
|
|
91
|
+
close: function(oEvt){
|
|
92
|
+
var sReason = oEvt.getParameter("reason");
|
|
93
|
+
if (sReason == "Ok") {
|
|
94
|
+
that.oAdaptationProvider.handleP13n(oControl, aPanelKeys);
|
|
95
|
+
}
|
|
96
|
+
oP13nContainer.removeAllPanels();//TODO
|
|
97
|
+
that.setActiveP13n(oControl, null);
|
|
98
|
+
|
|
99
|
+
oP13nContainer.destroy();
|
|
100
|
+
},
|
|
101
|
+
reset: function(){
|
|
102
|
+
that.oAdaptationProvider.reset(oControl, aPanelKeys);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
aInitializedPanels.forEach(function(oPanel, iIndex){
|
|
107
|
+
oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
oControl.addDependent(oP13nContainer);
|
|
111
|
+
oP13nContainer.open(mSettings.source, mSettings);
|
|
112
|
+
return oP13nContainer._oPopup;
|
|
113
|
+
|
|
114
|
+
});
|
|
115
|
+
}, function(eContainerFailure){
|
|
116
|
+
this.setActiveP13n(oControl, null);
|
|
117
|
+
Log.error("UIManager failure:" + eContainerFailure.stack);
|
|
118
|
+
}.bind(this));
|
|
119
|
+
} else {
|
|
120
|
+
return Promise.resolve();
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
UIManager.prototype.create = function(oControl, vPanelKeys) {
|
|
125
|
+
var aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
|
|
126
|
+
var that = this;
|
|
127
|
+
|
|
128
|
+
return this.oAdaptationProvider.initAdaptation(oControl, aPanelKeys)
|
|
129
|
+
.then(function(){
|
|
130
|
+
var vSettings = this.oAdaptationProvider.getUISettings(oControl, aPanelKeys);
|
|
131
|
+
|
|
132
|
+
//if condition only temporarly necessary until sap.ui.comp adjusted
|
|
133
|
+
if (vSettings instanceof Promise) {
|
|
134
|
+
return vSettings;
|
|
135
|
+
} else {
|
|
136
|
+
var aPanelPromises = [], aPanelSettings = [];
|
|
137
|
+
Object.keys(vSettings).forEach(function(sSetting){
|
|
138
|
+
var vSetting = vSettings[sSetting];
|
|
139
|
+
if (vSetting && vSetting.hasOwnProperty("adaptationUI")) {
|
|
140
|
+
var pCreation = vSetting.adaptationUI;
|
|
141
|
+
aPanelPromises.push(pCreation);
|
|
142
|
+
|
|
143
|
+
aPanelSettings.push({
|
|
144
|
+
key: sSetting,
|
|
145
|
+
settings: vSetting
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return Promise.all(aPanelPromises).then(function(aPanels){
|
|
150
|
+
var mMappedSetting = {};
|
|
151
|
+
aPanels.forEach(function(oPanel, iIndex){
|
|
152
|
+
if (oPanel) {
|
|
153
|
+
var oPanelSetting = aPanelSettings[iIndex];
|
|
154
|
+
var mContainerSettings = oPanelSetting.settings.containerSettings;
|
|
155
|
+
if (mContainerSettings.title) {
|
|
156
|
+
oPanel.setTitle(mContainerSettings.title);
|
|
157
|
+
}
|
|
158
|
+
mMappedSetting[oPanelSetting.key] = {
|
|
159
|
+
panel: oPanel
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
return mMappedSetting;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}.bind(this))
|
|
167
|
+
|
|
168
|
+
.then(function(mSettings){
|
|
169
|
+
var aInitializedPanels = [];
|
|
170
|
+
|
|
171
|
+
//Attach state validation during personalization
|
|
172
|
+
Object.keys(mSettings).forEach(function(sPanel, iIndex){
|
|
173
|
+
var oPanel = mSettings[sPanel].panel;
|
|
174
|
+
|
|
175
|
+
//not every panel used is a p13n.BasePanel (comp.FilterPanel, AdaptationFilterBar) these panels might not provide a change event
|
|
176
|
+
if (oPanel.attachChange instanceof Function) {
|
|
177
|
+
oPanel.attachChange(function(oEvt){
|
|
178
|
+
that.oAdaptationProvider.validateP13n(oControl, aPanelKeys[iIndex], oEvt.getSource());
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
aInitializedPanels.push(oPanel);
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
return aInitializedPanels;
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
UIManager.getInstance = function(oAdaptationProvider) {
|
|
189
|
+
if (!oUIManager) {
|
|
190
|
+
this._checkValidInterface(oAdaptationProvider);
|
|
191
|
+
oUIManager = new UIManager(oAdaptationProvider);
|
|
192
|
+
}
|
|
193
|
+
return oUIManager;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
UIManager.prototype.setActiveP13n = function(vControl, vKeys) {
|
|
197
|
+
if (this.oAdaptationProvider.setActiveP13n instanceof Function) {
|
|
198
|
+
this.oAdaptationProvider.setActiveP13n(vControl, vKeys);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
UIManager.prototype.hasActiveP13n = function(vControl) {
|
|
203
|
+
var bActiveP13n = false;
|
|
204
|
+
if (this.oAdaptationProvider.hasActiveP13n instanceof Function) {
|
|
205
|
+
bActiveP13n = this.oAdaptationProvider.hasActiveP13n(vControl);
|
|
206
|
+
}
|
|
207
|
+
return bActiveP13n;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Checks if the UIManager has been initialized with a valid AdaptationProvider interface.
|
|
212
|
+
*
|
|
213
|
+
* @private
|
|
214
|
+
* @ui5-restricted sap.m
|
|
215
|
+
*
|
|
216
|
+
* @param {sap.m.AdaptationProvider} oAdaptationProvider Object implementing the <code>sap.m.AdaptationProvider</code> interface to provide personalization capabilites.
|
|
217
|
+
*/
|
|
218
|
+
UIManager._checkValidInterface = function(oAdaptationProvider) {
|
|
219
|
+
if (!oAdaptationProvider || !oAdaptationProvider.isA("sap.m.p13n.AdaptationProvider")){
|
|
220
|
+
throw Error("The UIManager singleton must not be accessed without an AdaptationProvider interface!");
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
UIManager.prototype.destroy = function() {
|
|
225
|
+
BaseObject.prototype.destroy.apply(this, arguments);
|
|
226
|
+
oUIManager = null;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
return UIManager;
|
|
230
|
+
});
|