@openui5/sap.m 1.103.0 → 1.105.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 +18 -1
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
- package/THIRDPARTY.txt +36 -3
- package/package.json +4 -4
- package/src/sap/m/.library +1 -1
- package/src/sap/m/AccButton.js +1 -1
- package/src/sap/m/ActionListItem.js +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/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 +1 -1
- 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 +1 -5
- 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 +14 -24
- 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 +52 -28
- package/src/sap/m/Dialog.js +38 -1
- 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 +67 -16
- package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
- package/src/sap/m/GenericTileRenderer.js +16 -4
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingEnablement.js +37 -11
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +3 -3
- 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 +5 -1
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +64 -25
- package/src/sap/m/IllustratedMessageRenderer.js +10 -6
- package/src/sap/m/Illustration.js +1 -1
- package/src/sap/m/IllustrationPool.js +1 -0
- package/src/sap/m/IllustrationRenderer.js +1 -1
- package/src/sap/m/Image.js +2 -2
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/Input.js +51 -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/Label.js +34 -4
- package/src/sap/m/LabelRenderer.js +7 -2
- package/src/sap/m/LightBox.js +1 -1
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +95 -10
- package/src/sap/m/LinkRenderer.js +26 -12
- package/src/sap/m/List.js +38 -1
- package/src/sap/m/ListBase.js +104 -40
- 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 +8 -4
- 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 +3 -3
- 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 -3
- package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +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 -19
- 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/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +7 -13
- 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 +5 -7
- 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 +1 -1
- 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 +1 -5
- 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 +43 -6
- package/src/sap/m/TimePickerClock.js +2 -3
- package/src/sap/m/TimePickerClocks.js +5 -3
- package/src/sap/m/TimePickerClocksRenderer.js +1 -1
- 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 +665 -570
- 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 +1 -3
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardStep.js +1 -1
- 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 +30 -6
- package/src/sap/m/messagebundle.properties +30 -3
- package/src/sap/m/messagebundle_ar.properties +26 -8
- package/src/sap/m/messagebundle_bg.properties +20 -2
- package/src/sap/m/messagebundle_ca.properties +19 -1
- package/src/sap/m/messagebundle_cs.properties +20 -2
- package/src/sap/m/messagebundle_cy.properties +21 -3
- package/src/sap/m/messagebundle_da.properties +19 -1
- package/src/sap/m/messagebundle_de.properties +19 -1
- package/src/sap/m/messagebundle_el.properties +22 -4
- package/src/sap/m/messagebundle_en.properties +21 -3
- package/src/sap/m/messagebundle_en_GB.properties +21 -3
- package/src/sap/m/messagebundle_en_US_sappsd.properties +20 -2
- package/src/sap/m/messagebundle_en_US_saprigi.properties +18 -2
- package/src/sap/m/messagebundle_en_US_saptrc.properties +20 -2
- package/src/sap/m/messagebundle_es.properties +20 -2
- package/src/sap/m/messagebundle_es_MX.properties +19 -1
- package/src/sap/m/messagebundle_et.properties +19 -1
- package/src/sap/m/messagebundle_fi.properties +23 -5
- package/src/sap/m/messagebundle_fr.properties +20 -2
- package/src/sap/m/messagebundle_fr_CA.properties +21 -3
- package/src/sap/m/messagebundle_hi.properties +21 -3
- package/src/sap/m/messagebundle_hr.properties +23 -5
- package/src/sap/m/messagebundle_hu.properties +21 -3
- package/src/sap/m/messagebundle_id.properties +21 -3
- package/src/sap/m/messagebundle_it.properties +20 -2
- package/src/sap/m/messagebundle_iw.properties +21 -3
- package/src/sap/m/messagebundle_ja.properties +20 -2
- package/src/sap/m/messagebundle_kk.properties +19 -1
- package/src/sap/m/messagebundle_ko.properties +27 -9
- package/src/sap/m/messagebundle_lt.properties +19 -1
- package/src/sap/m/messagebundle_lv.properties +19 -1
- package/src/sap/m/messagebundle_ms.properties +20 -2
- package/src/sap/m/messagebundle_nl.properties +33 -15
- package/src/sap/m/messagebundle_no.properties +21 -3
- package/src/sap/m/messagebundle_pl.properties +20 -2
- package/src/sap/m/messagebundle_pt.properties +24 -6
- package/src/sap/m/messagebundle_pt_PT.properties +19 -1
- package/src/sap/m/messagebundle_ro.properties +20 -2
- package/src/sap/m/messagebundle_ru.properties +20 -2
- package/src/sap/m/messagebundle_sh.properties +20 -2
- package/src/sap/m/messagebundle_sk.properties +19 -1
- package/src/sap/m/messagebundle_sl.properties +20 -2
- package/src/sap/m/messagebundle_sv.properties +19 -1
- package/src/sap/m/messagebundle_th.properties +52 -34
- package/src/sap/m/messagebundle_tr.properties +23 -5
- package/src/sap/m/messagebundle_uk.properties +20 -2
- package/src/sap/m/messagebundle_vi.properties +20 -2
- package/src/sap/m/messagebundle_zh_CN.properties +20 -2
- package/src/sap/m/messagebundle_zh_TW.properties +19 -1
- 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 +8 -7
- 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 +15 -3
- package/src/sap/m/p13n/SortController.js +153 -0
- package/src/sap/m/p13n/SortPanel.js +13 -3
- 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/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 +14 -7
- 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 +8 -2
- 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 +21 -3
- 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 +1 -3
- package/src/sap/m/table/columnmenu/QuickTotal.js +21 -3
- 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/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/DynamicDateRange.less +4 -0
- package/src/sap/m/themes/base/FeedContent.less +13 -5
- package/src/sap/m/themes/base/GenericTile.less +49 -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 +110 -21
- 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,161 @@
|
|
|
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
|
+
], function () {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
var FlexUtil = {
|
|
11
|
+
|
|
12
|
+
getPropertySetterChanges: function(mDeltaInfo) {
|
|
13
|
+
var oControl = mDeltaInfo.control;
|
|
14
|
+
var aExistingState = mDeltaInfo.existingState;
|
|
15
|
+
var aChangedState = mDeltaInfo.changedState;
|
|
16
|
+
var sOperation = mDeltaInfo.operation;
|
|
17
|
+
var sSetAttribute = mDeltaInfo.deltaAttribute;
|
|
18
|
+
|
|
19
|
+
var aSetterChanges = [];
|
|
20
|
+
|
|
21
|
+
aChangedState.forEach(function(oItem){
|
|
22
|
+
//check if the provided state item holds the value to check for
|
|
23
|
+
if (oItem.hasOwnProperty(sSetAttribute)) {
|
|
24
|
+
var oExistingItem = aExistingState.find(function(oExisting){return oExisting.name == oItem.name;});
|
|
25
|
+
|
|
26
|
+
//compare to identify delta (only create a change if really necessary)
|
|
27
|
+
var vOldValue = oExistingItem && oExistingItem.hasOwnProperty(sSetAttribute) && oExistingItem[sSetAttribute];
|
|
28
|
+
var vNewValue = oItem[sSetAttribute];
|
|
29
|
+
var bValueChanged = vOldValue !== vNewValue;
|
|
30
|
+
if (bValueChanged) {
|
|
31
|
+
aSetterChanges.push(this.createChange(oControl, sOperation, {
|
|
32
|
+
name: oItem.name,
|
|
33
|
+
value: oItem[sSetAttribute]
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}.bind(this));
|
|
38
|
+
|
|
39
|
+
return aSetterChanges;
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Method which reduces a propertyinfo map to changecontent relevant attributes.
|
|
44
|
+
* <b>Note:</b> This method determines the attributes stored in the changeContent.
|
|
45
|
+
*
|
|
46
|
+
* @param {object} oProperty Object containing all values prior to change creation
|
|
47
|
+
* @param {array} aDeltaAttributes Array containing all attributes that are necessary for the delta calculation
|
|
48
|
+
*
|
|
49
|
+
* @returns {object} Object containing reduced content
|
|
50
|
+
*/
|
|
51
|
+
_getChangeContent: function (oProperty, aDeltaAttributes) {
|
|
52
|
+
|
|
53
|
+
var oChangeContent = {};
|
|
54
|
+
|
|
55
|
+
// Index
|
|
56
|
+
if (oProperty.index >= 0) {
|
|
57
|
+
oChangeContent.index = oProperty.index;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
aDeltaAttributes.forEach(function(sAttribute) {
|
|
61
|
+
if (oProperty.hasOwnProperty(sAttribute)){
|
|
62
|
+
oChangeContent[sAttribute] = oProperty[sAttribute];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
return oChangeContent;
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
_hasProperty: function(aPropertyInfo, sName) {
|
|
70
|
+
return aPropertyInfo.some(function(oProperty){
|
|
71
|
+
//First check unique name
|
|
72
|
+
var bValid = oProperty.name === sName || sName == "$search";
|
|
73
|
+
|
|
74
|
+
//Use path as Fallback
|
|
75
|
+
bValid = bValid ? bValid : oProperty.path === sName;
|
|
76
|
+
|
|
77
|
+
return bValid;
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
createChange: function(oControl, sOperation, oContent){
|
|
82
|
+
var oAddRemoveChange = {
|
|
83
|
+
selectorElement: oControl,
|
|
84
|
+
changeSpecificData: {
|
|
85
|
+
changeType: sOperation,
|
|
86
|
+
content: oContent
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
return oAddRemoveChange;
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
createConditionChange: function(sChangeType, oControl, sFieldPath, oCondition) {
|
|
93
|
+
delete oCondition.filtered;
|
|
94
|
+
var oConditionChange = {
|
|
95
|
+
selectorElement: oControl,
|
|
96
|
+
changeSpecificData: {
|
|
97
|
+
changeType: sChangeType,
|
|
98
|
+
content: {
|
|
99
|
+
name: sFieldPath,
|
|
100
|
+
condition: oCondition
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
return oConditionChange;
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
handleChanges: function (aChanges, bIgnoreVM, bUseStaticArea) {
|
|
109
|
+
return new Promise(function (resolve, reject) {
|
|
110
|
+
sap.ui.require([
|
|
111
|
+
"sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
|
|
112
|
+
], function (ControlPersonalizationWriteAPI) {
|
|
113
|
+
ControlPersonalizationWriteAPI.add({
|
|
114
|
+
changes: aChanges,
|
|
115
|
+
ignoreVariantManagement: bIgnoreVM,
|
|
116
|
+
useStaticArea: bUseStaticArea
|
|
117
|
+
}).then(function (aDirtyChanges) {
|
|
118
|
+
resolve(aDirtyChanges);
|
|
119
|
+
}, reject);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
saveChanges: function (oControl, aDirtyChanges) {
|
|
125
|
+
return new Promise(function (resolve, reject) {
|
|
126
|
+
sap.ui.require([
|
|
127
|
+
"sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
|
|
128
|
+
], function (ControlPersonalizationWriteAPI) {
|
|
129
|
+
ControlPersonalizationWriteAPI.save({
|
|
130
|
+
selector: oControl, changes: aDirtyChanges
|
|
131
|
+
}).then(resolve);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
restore: function(mPropertyBag) {
|
|
137
|
+
return new Promise(function (resolve, reject) {
|
|
138
|
+
sap.ui.require([
|
|
139
|
+
"sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
|
|
140
|
+
], function (ControlPersonalizationWriteAPI) {
|
|
141
|
+
ControlPersonalizationWriteAPI.restore(mPropertyBag).then(function () {
|
|
142
|
+
resolve();
|
|
143
|
+
}, reject);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
reset: function(mPropertyBag) {
|
|
149
|
+
return new Promise(function (resolve, reject) {
|
|
150
|
+
sap.ui.require([
|
|
151
|
+
"sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
|
|
152
|
+
], function (ControlPersonalizationWriteAPI) {
|
|
153
|
+
ControlPersonalizationWriteAPI.reset(mPropertyBag).then(function () {
|
|
154
|
+
resolve();
|
|
155
|
+
}, reject);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
return FlexUtil;
|
|
161
|
+
});
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
'sap/m/p13n/SelectionController', 'sap/m/p13n/GroupPanel', 'sap/m/p13n/modules/xConfigAPI'
|
|
8
|
+
], function (BaseController, GroupPanel, xConfigAPI) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructor for a new <code>GroupController</code>.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
15
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
16
|
+
* @param {sap.ui.core.Control} mSettings.control The control instance to be personalized by this controller
|
|
17
|
+
*
|
|
18
|
+
* @class
|
|
19
|
+
* The <code>GroupController</code> serves as base class to create sort specific personalization implementations.
|
|
20
|
+
*
|
|
21
|
+
* @extends sap.ui.base.Object
|
|
22
|
+
*
|
|
23
|
+
* @author SAP SE
|
|
24
|
+
* @version 1.105.0
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
* @experimental
|
|
28
|
+
* @since 1.104
|
|
29
|
+
* @alias sap.m.p13n.GroupController
|
|
30
|
+
*/
|
|
31
|
+
var GroupController = BaseController.extend("sap.m.p13n.subcontroller.GroupController");
|
|
32
|
+
|
|
33
|
+
GroupController.prototype.getStateKey = function () {
|
|
34
|
+
return "groupLevels";
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
GroupController.prototype.getCurrentState = function(bExternalize) {
|
|
38
|
+
var oXConfig = xConfigAPI.readConfig(this.getAdaptationControl()) || {};
|
|
39
|
+
var aSortConditions = oXConfig.hasOwnProperty("properties") ? oXConfig.properties.groupConditions : [];
|
|
40
|
+
|
|
41
|
+
return aSortConditions || [];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
GroupController.prototype.initAdaptationUI = function(oPropertyHelper){
|
|
45
|
+
var oGroupPanel = new GroupPanel();
|
|
46
|
+
var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
|
|
47
|
+
var oAdaptationControl = this.getAdaptationControl();
|
|
48
|
+
|
|
49
|
+
if (oAdaptationControl.isA("sap.m.Table")) {
|
|
50
|
+
oGroupPanel.setQueryLimit(1);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
oGroupPanel.setP13nData(oAdaptationData.items);
|
|
54
|
+
this._oPanel = oGroupPanel;
|
|
55
|
+
|
|
56
|
+
return Promise.resolve(oGroupPanel);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
GroupController.prototype.model2State = function() {
|
|
60
|
+
var aItems = [];
|
|
61
|
+
this._oPanel.getP13nData(true).forEach(function(oItem){
|
|
62
|
+
if (oItem.grouped){
|
|
63
|
+
aItems.push({
|
|
64
|
+
key: oItem.key
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return aItems;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
GroupController.prototype.getChangeOperations = function () {
|
|
72
|
+
return {
|
|
73
|
+
add: "addGroup",
|
|
74
|
+
remove: "removeGroup",
|
|
75
|
+
move: "moveGroup"
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
GroupController.prototype._getPresenceAttribute = function () {
|
|
80
|
+
return "grouped";
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
GroupController.prototype._createAddRemoveChange = function(oControl, sOperation, oContent){
|
|
84
|
+
var oAddRemoveChange = {
|
|
85
|
+
selectorElement: oControl,
|
|
86
|
+
changeSpecificData: {
|
|
87
|
+
changeType: sOperation,
|
|
88
|
+
content: oContent
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
return oAddRemoveChange;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
GroupController.prototype._createMoveChange = function(sId, sPropertykey, iNewIndex, sMoveOperation, oControl, bPersistId){
|
|
95
|
+
var oMoveChange = {
|
|
96
|
+
selectorElement: oControl,
|
|
97
|
+
changeSpecificData: {
|
|
98
|
+
changeType: sMoveOperation,
|
|
99
|
+
content: {
|
|
100
|
+
id: sId,
|
|
101
|
+
key: sPropertykey,
|
|
102
|
+
index: iNewIndex
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
if (!bPersistId) {
|
|
108
|
+
delete oMoveChange.changeSpecificData.content.id;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return oMoveChange;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
GroupController.prototype.mixInfoAndState = function(oPropertyHelper) {
|
|
115
|
+
|
|
116
|
+
var aItemState = this.getCurrentState();
|
|
117
|
+
var mItemState = this.arrayToMap(aItemState);
|
|
118
|
+
var oController = this.getAdaptationControl();
|
|
119
|
+
var oAggregations = oController.getAggregateConditions ? oController.getAggregateConditions() || {} : {};
|
|
120
|
+
|
|
121
|
+
var oP13nData = this.prepareAdaptationData(oPropertyHelper, function(mItem, oProperty){
|
|
122
|
+
var oExisting = mItemState[oProperty.key];
|
|
123
|
+
mItem.grouped = !!oExisting;
|
|
124
|
+
mItem.position = oExisting ? oExisting.position : -1;
|
|
125
|
+
return !(oProperty.groupable === false || oAggregations[oProperty.key]);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
this.sortP13nData({
|
|
129
|
+
visible: "grouped",
|
|
130
|
+
position: "position"
|
|
131
|
+
}, oP13nData.items);
|
|
132
|
+
|
|
133
|
+
oP13nData.presenceAttribute = this._getPresenceAttribute();
|
|
134
|
+
oP13nData.items.forEach(function(oItem){delete oItem.position;});
|
|
135
|
+
|
|
136
|
+
return oP13nData;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
GroupController.prototype.applyChange = function(aSortState){
|
|
140
|
+
return Promise.resolve();
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
return GroupController;
|
|
144
|
+
|
|
145
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
3
|
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
@@ -21,17 +21,24 @@ sap.ui.define([
|
|
|
21
21
|
* @extends sap.m.p13n.QueryPanel
|
|
22
22
|
*
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.105.0
|
|
25
25
|
*
|
|
26
26
|
* @public
|
|
27
|
-
* @experimental Since 1.
|
|
28
|
-
* @since 1.96
|
|
27
|
+
* @experimental Since 1.104. Please note that the API of this control is not yet finalized!
|
|
29
28
|
* @alias sap.m.p13n.GroupPanel
|
|
30
29
|
*/
|
|
31
30
|
var GroupPanel = QueryPanel.extend("sap.m.p13n.GroupPanel", {
|
|
32
31
|
metadata: {
|
|
33
32
|
library: "sap.m",
|
|
34
33
|
properties: {
|
|
34
|
+
/**
|
|
35
|
+
* A short text describing the panel.
|
|
36
|
+
* <b>Note:</b> This text will only be displayed if the panel is being used in a <code>sap.m.p13n.Popup</code>.
|
|
37
|
+
*/
|
|
38
|
+
title: {
|
|
39
|
+
type: "string",
|
|
40
|
+
defaultValue: sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("p13n.DEFAULT_TITLE_GROUP")
|
|
41
|
+
},
|
|
35
42
|
/**
|
|
36
43
|
* Toggles an additional checkbox in the group panel to define whether items are made visible.
|
|
37
44
|
*/
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
], function (BaseObject) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
var MetadataHelper = BaseObject.extend("sap.m.p13n.MetadataHelper", {
|
|
13
|
+
constructor: function(aProperties) {
|
|
14
|
+
BaseObject.apply(this, arguments);
|
|
15
|
+
this._aProperties = aProperties;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
MetadataHelper.prototype.getProperties = function() {
|
|
20
|
+
return this._aProperties;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
MetadataHelper.prototype.getProperty = function(sKey) {
|
|
24
|
+
return this._aProperties.find(function(oProp){
|
|
25
|
+
return oProp.key === sKey;
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
MetadataHelper.prototype.getPath = function(sKey) {
|
|
30
|
+
return this.getProperty(sKey).path;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return MetadataHelper;
|
|
34
|
+
|
|
35
|
+
});
|
|
@@ -0,0 +1,160 @@
|
|
|
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/core/Control", "sap/ui/fl/variants/VariantManagement", "sap/ui/fl/Utils", "sap/m/p13n/enum/PersistenceMode", "sap/ui/layout/VerticalLayout"
|
|
8
|
+
], function(CoreControl, VariantManagement, Utils, mode, VerticalLayout) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The <code>PersistenceProvider</code> control provides certain persistence capabilities, such as transient personalization and global persistence.
|
|
13
|
+
* The <code>PersistenceProvider</code> control can be used in a similar way as <code>sap.ui.fl.variants.VariantManagement</code>,
|
|
14
|
+
* since any control that is a direct or indirect descendant of the provided <code>for</code> association is affected by this configuration.
|
|
15
|
+
* For example, this controller can be used for <code>sap.ui.mdc</code> controls.
|
|
16
|
+
*
|
|
17
|
+
* @private
|
|
18
|
+
*
|
|
19
|
+
* @experimental
|
|
20
|
+
* @since 1.104
|
|
21
|
+
*/
|
|
22
|
+
var PersistenceProvider = CoreControl.extend("sap.m.p13n.PersistenceProvider", /** @lends sap.ui.mdc.p13n.PersistenceProvider.prototype */ {
|
|
23
|
+
metadata: {
|
|
24
|
+
library: "sap.m",
|
|
25
|
+
designtime: "sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime",
|
|
26
|
+
properties: {
|
|
27
|
+
/**
|
|
28
|
+
* Provides the mode setting for the <code>PersistenceProvider</code>.
|
|
29
|
+
* Allowed options are {@link sap.ui.mdc.enum.PersistenceMode}
|
|
30
|
+
*/
|
|
31
|
+
mode: {
|
|
32
|
+
type: "sap.m.p13n.enum.PersistenceMode",
|
|
33
|
+
group: "Data",
|
|
34
|
+
defaultValue: mode.Auto
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
associations: {
|
|
38
|
+
/**
|
|
39
|
+
* Contains the controls for which the variant management is responsible.
|
|
40
|
+
*/
|
|
41
|
+
"for": {
|
|
42
|
+
type: "sap.ui.core.Control",
|
|
43
|
+
multiple: true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
renderer: {
|
|
48
|
+
apiVersion: 2,
|
|
49
|
+
render: function(oRm, oControl) {
|
|
50
|
+
oRm.openStart("div", oControl);
|
|
51
|
+
oRm.openEnd();
|
|
52
|
+
oRm.close("div");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
PersistenceProvider.prototype.init = function () {
|
|
58
|
+
CoreControl.prototype.init.apply(this, arguments);
|
|
59
|
+
this.attachModelContextChange(this._setModel, this);
|
|
60
|
+
|
|
61
|
+
this._oModelPromise = new Promise(function (resolve, reject) {
|
|
62
|
+
this._fnResolveModel = resolve;
|
|
63
|
+
}.bind(this));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
PersistenceProvider.prototype._setModel = function () {
|
|
67
|
+
|
|
68
|
+
var oModel = this.getModel(Utils.VARIANT_MODEL_NAME);
|
|
69
|
+
if (oModel) {
|
|
70
|
+
this._fnResolveModel(oModel);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
PersistenceProvider.prototype.applySettings = function () {
|
|
75
|
+
CoreControl.prototype.applySettings.apply(this, arguments);
|
|
76
|
+
this._bmodeLocked = true;
|
|
77
|
+
|
|
78
|
+
if (this.getMode() === mode.Transient) {
|
|
79
|
+
var oVM = new VariantManagement(this.getId() + "--vm", {"for": this.getAssociation("for")});
|
|
80
|
+
this._oModelPromise.then(function (oModel) {
|
|
81
|
+
oVM.setModel(oModel, Utils.VARIANT_MODEL_NAME);
|
|
82
|
+
});
|
|
83
|
+
this._oWrapper = new VerticalLayout(this.getId() + "--accWrapper", {
|
|
84
|
+
visible: true,
|
|
85
|
+
content: [
|
|
86
|
+
oVM
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
this._oWrapper.onAfterRendering = function() {
|
|
91
|
+
VerticalLayout.prototype.onAfterRendering.apply(this, arguments);
|
|
92
|
+
this.getDomRef().setAttribute("aria-hidden", true);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var oStatic = sap.ui.getCore().getUIArea(sap.ui.getCore().getStaticAreaRef());
|
|
96
|
+
oStatic.addContent(this._oWrapper);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return this;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
PersistenceProvider.prototype.addFor = function (sControlId) {
|
|
103
|
+
this.addAssociation("for", sControlId);
|
|
104
|
+
|
|
105
|
+
var oVM = sap.ui.getCore().byId(this.getId() + "--vm");
|
|
106
|
+
if (this.getMode() === mode.Transient && oVM) {
|
|
107
|
+
oVM.addFor(sControlId);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return this;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
PersistenceProvider.prototype.removeFor = function (sControlId) {
|
|
114
|
+
this.removeAssociation("for", sControlId);
|
|
115
|
+
|
|
116
|
+
var oVM = sap.ui.getCore().byId(this.getId() + "--vm");
|
|
117
|
+
if (this.getMode() === mode.Transient && oVM) {
|
|
118
|
+
oVM.removeFor(sControlId);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return this;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Set the mode for the <code>PersistenceProvider</code>.
|
|
126
|
+
*
|
|
127
|
+
* @override
|
|
128
|
+
* @private
|
|
129
|
+
* @ui5-restricted sap.fe
|
|
130
|
+
* @MDC_PUBLIC_CANDIDATE
|
|
131
|
+
*/
|
|
132
|
+
PersistenceProvider.prototype.setMode = function (sValue) {
|
|
133
|
+
|
|
134
|
+
if (this._bmodeLocked && sValue !== this.getMode()) {
|
|
135
|
+
throw new Error("mode is a final property.");
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
this.setProperty("mode", sValue);
|
|
139
|
+
|
|
140
|
+
return this;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
PersistenceProvider.prototype.exit = function () {
|
|
144
|
+
if (this._oWrapper) {
|
|
145
|
+
var oStatic = sap.ui.getCore().getUIArea(sap.ui.getCore().getStaticAreaRef());
|
|
146
|
+
oStatic.removeContent(this._oWrapper);
|
|
147
|
+
|
|
148
|
+
this._oWrapper.destroy();
|
|
149
|
+
this._oWrapper = null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
this._oModelPromise = null;
|
|
153
|
+
this._fnResolveModel = null;
|
|
154
|
+
this._bmodeLocked = null;
|
|
155
|
+
|
|
156
|
+
CoreControl.prototype.exit.apply(this, arguments);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
return PersistenceProvider;
|
|
160
|
+
});
|
package/src/sap/m/p13n/Popup.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
3
|
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
-
*/
|
|
5
|
+
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"sap/ui/core/Control",
|
|
8
8
|
"sap/m/Button",
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @extends sap.ui.core.Control
|
|
35
35
|
*
|
|
36
36
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.105.0
|
|
38
38
|
*
|
|
39
39
|
* @public
|
|
40
40
|
* @experimental Since 1.97.
|
|
@@ -149,6 +149,22 @@ sap.ui.define([
|
|
|
149
149
|
return this;
|
|
150
150
|
};
|
|
151
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Set the reset functionality callback
|
|
154
|
+
* <b>Note:</b> The Reset button will only be shown in case this callback is provided.
|
|
155
|
+
*
|
|
156
|
+
* @param {function} fnReset callback that will be executed once a reset has been triggered.
|
|
157
|
+
* @returns {sap.m.p13n.Popup} The <code>Popup</code> instance
|
|
158
|
+
*/
|
|
159
|
+
Popup.prototype.setReset = function(fnReset) {
|
|
160
|
+
if (this._oPopup) {
|
|
161
|
+
this._oPopup.setCustomHeader(this._createTitle());
|
|
162
|
+
this._oPopup.invalidate();
|
|
163
|
+
}
|
|
164
|
+
this.setProperty("reset", fnReset);
|
|
165
|
+
return this;
|
|
166
|
+
};
|
|
167
|
+
|
|
152
168
|
/**
|
|
153
169
|
* Opens the <code>Popup</code> control.
|
|
154
170
|
*
|
|
@@ -184,9 +200,10 @@ sap.ui.define([
|
|
|
184
200
|
*
|
|
185
201
|
* @public
|
|
186
202
|
* @param {sap.m.p13n.IContent} oPanel The panel instance
|
|
203
|
+
* @param {string} [sKey] Optional key to be used for the panel registration instead of using the id
|
|
187
204
|
* @returns {sap.m.p13n.Popup} The popup instance
|
|
188
205
|
*/
|
|
189
|
-
Popup.prototype.addPanel = function(oPanel) {
|
|
206
|
+
Popup.prototype.addPanel = function(oPanel, sKey) {
|
|
190
207
|
var oPanelTitleBindingInfo = oPanel.getBindingInfo("title"), oBindingInfo;
|
|
191
208
|
if (oPanelTitleBindingInfo && oPanelTitleBindingInfo.parts) {
|
|
192
209
|
oBindingInfo = {
|
|
@@ -194,8 +211,8 @@ sap.ui.define([
|
|
|
194
211
|
};
|
|
195
212
|
}
|
|
196
213
|
this._getContainer().addView(new AbstractContainerItem({
|
|
197
|
-
key: oPanel.getId(),
|
|
198
|
-
text: oBindingInfo || oPanel.getTitle(), //oBindinfInfo is undefined in case no binding is provided
|
|
214
|
+
key: sKey || oPanel.getId(),
|
|
215
|
+
text: oBindingInfo || (oPanel.getTitle instanceof Function ? oPanel.getTitle() : undefined), //oBindinfInfo is undefined in case no binding is provided
|
|
199
216
|
content: oPanel
|
|
200
217
|
}));
|
|
201
218
|
this._aPanels.push(oPanel);
|
|
@@ -211,10 +228,19 @@ sap.ui.define([
|
|
|
211
228
|
*/
|
|
212
229
|
Popup.prototype.removePanel = function(oPanel) {
|
|
213
230
|
this._aPanels.splice(this._aPanels.indexOf(oPanel), 1);
|
|
214
|
-
this._getContainer().removeView(this._getContainer().getView(oPanel
|
|
231
|
+
this._getContainer().removeView(this._getContainer().getView(oPanel));
|
|
215
232
|
return this;
|
|
216
233
|
};
|
|
217
234
|
|
|
235
|
+
/**
|
|
236
|
+
* Removes all panels from the <code>panels</code> aggregation
|
|
237
|
+
*/
|
|
238
|
+
Popup.prototype.removeAllPanels = function() {
|
|
239
|
+
this.getPanels().forEach(function(oPanel){
|
|
240
|
+
this.removePanel(oPanel);
|
|
241
|
+
}.bind(this));
|
|
242
|
+
};
|
|
243
|
+
|
|
218
244
|
/**
|
|
219
245
|
* Removes the current panels in the <code>panels</code> aggregation.
|
|
220
246
|
* @public
|
|
@@ -226,7 +252,12 @@ sap.ui.define([
|
|
|
226
252
|
|
|
227
253
|
Popup.prototype._createContainer = function(mDialogSettings) {
|
|
228
254
|
mDialogSettings = mDialogSettings ? mDialogSettings : {};
|
|
229
|
-
|
|
255
|
+
var oPopup = this["_create" + this.getMode()].call(this, mDialogSettings);
|
|
256
|
+
oPopup.addStyleClass("sapMP13nPopup");
|
|
257
|
+
oPopup.isPopupAdaptationAllowed = function () {
|
|
258
|
+
return false;
|
|
259
|
+
};
|
|
260
|
+
return oPopup;
|
|
230
261
|
};
|
|
231
262
|
|
|
232
263
|
Popup.prototype._createResponsivePopover = function(mDialogSettings) {
|
|
@@ -239,7 +270,10 @@ sap.ui.define([
|
|
|
239
270
|
resizable: mDialogSettings.hasOwnProperty("resizable") ? mDialogSettings.resizable : true,
|
|
240
271
|
contentHeight: mDialogSettings.contentHeight ? mDialogSettings.contentHeight : "35rem",
|
|
241
272
|
placement: mDialogSettings.placement ? mDialogSettings.placement : "Bottom",
|
|
242
|
-
content: this._getContainer()
|
|
273
|
+
content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
|
|
274
|
+
afterClose: function() {
|
|
275
|
+
this._onClose(oPopover, "AutoClose");
|
|
276
|
+
}.bind(this)
|
|
243
277
|
});
|
|
244
278
|
|
|
245
279
|
oPopover.setCustomHeader(this._createTitle());
|
|
@@ -260,7 +294,10 @@ sap.ui.define([
|
|
|
260
294
|
draggable: true,
|
|
261
295
|
resizable: true,
|
|
262
296
|
stretch: Device.system.phone,
|
|
263
|
-
content: this._getContainer(),
|
|
297
|
+
content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
|
|
298
|
+
escapeHandler: function() {
|
|
299
|
+
this._onClose(oContainer, "Escape");
|
|
300
|
+
},
|
|
264
301
|
buttons: [
|
|
265
302
|
new Button(this.getId() + "-confirmBtn", {
|
|
266
303
|
text: mDialogSettings.confirm && mDialogSettings.confirm.text ? mDialogSettings.confirm.text : oResourceBundle.getText("p13n.POPUP_OK"),
|
|
@@ -295,7 +332,7 @@ sap.ui.define([
|
|
|
295
332
|
|
|
296
333
|
var oBar;
|
|
297
334
|
|
|
298
|
-
if (fnReset) {
|
|
335
|
+
if (fnReset instanceof Function) {
|
|
299
336
|
|
|
300
337
|
oBar = new Bar({
|
|
301
338
|
contentLeft: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
3
|
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @extends sap.m.p13n.BasePanel
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.105.0
|
|
28
28
|
*
|
|
29
29
|
* @private
|
|
30
30
|
* @ui5-restricted
|