@openui5/sap.m 1.92.0 → 1.93.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.reuse/dep5 +5 -0
- package/THIRDPARTY.txt +10 -1
- 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 +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +1 -1
- package/src/sap/m/Bar.js +14 -1
- package/src/sap/m/Breadcrumbs.js +1 -1
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +9 -6
- package/src/sap/m/Carousel.js +1 -1
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +9 -4
- package/src/sap/m/CheckBoxRenderer.js +1 -1
- package/src/sap/m/ColorPalette.js +1 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +9 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +8 -2
- package/src/sap/m/ColumnPopoverActionItem.js +1 -1
- package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
- package/src/sap/m/ColumnPopoverItem.js +1 -1
- package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
- package/src/sap/m/ColumnPopoverSortItem.js +1 -1
- package/src/sap/m/ComboBox.js +1 -1
- package/src/sap/m/ComboBoxBase.js +1 -1
- package/src/sap/m/ComboBoxTextField.js +1 -1
- 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 +1 -1
- package/src/sap/m/DatePicker.js +9 -2
- package/src/sap/m/DateRangeSelection.js +2 -2
- package/src/sap/m/DateTimeField.js +69 -1
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +15 -8
- package/src/sap/m/Dialog.js +3 -3
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +53 -8
- package/src/sap/m/DynamicDateFormat.js +12 -1
- package/src/sap/m/DynamicDateOption.js +1 -1
- package/src/sap/m/DynamicDateRange.js +96 -17
- package/src/sap/m/DynamicDateUtil.js +20 -2
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +4 -2
- package/src/sap/m/FacetFilter.js +1 -1
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +2 -2
- package/src/sap/m/FeedContent.js +1 -1
- package/src/sap/m/FeedInput.js +5 -2
- 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 +32 -67
- 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 +1 -1
- package/src/sap/m/GenericTileRenderer.js +46 -8
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingEnablement.js +31 -34
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +1 -1
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +1 -2
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +68 -32
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +18 -7
- package/src/sap/m/IconTabHeaderRenderer.js +1 -0
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/Image.js +1 -1
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/Input.js +23 -15
- package/src/sap/m/InputBase.js +4 -2
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/Label.js +1 -1
- package/src/sap/m/LightBox.js +1 -1
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +2 -2
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +50 -20
- package/src/sap/m/ListItemBase.js +8 -7
- package/src/sap/m/MaskEnabler.js +1 -1
- package/src/sap/m/MaskInput.js +1 -1
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +1 -1
- package/src/sap/m/MenuButton.js +2 -2
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageBox.js +30 -0
- package/src/sap/m/MessageItem.js +1 -16
- package/src/sap/m/MessageListItem.js +1 -1
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +1 -4
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +1 -1
- package/src/sap/m/MessageStripUtilities.js +15 -2
- package/src/sap/m/MessageToast.js +2 -2
- package/src/sap/m/MessageView.js +17 -28
- package/src/sap/m/MultiComboBox.js +169 -164
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +2 -3
- package/src/sap/m/NavContainer.js +9 -7
- package/src/sap/m/NewsContent.js +1 -1
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +1 -1
- package/src/sap/m/NotificationListGroup.js +1 -1
- package/src/sap/m/NotificationListItem.js +1 -1
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/ObjectAttribute.js +1 -1
- package/src/sap/m/ObjectHeader.js +1 -1
- package/src/sap/m/ObjectHeaderRenderer.js +10 -7
- package/src/sap/m/ObjectIdentifier.js +1 -1
- package/src/sap/m/ObjectListItem.js +1 -1
- package/src/sap/m/ObjectMarker.js +1 -1
- package/src/sap/m/ObjectNumber.js +1 -1
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/OverflowToolbar.js +10 -6
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- 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 +1 -1
- package/src/sap/m/P13nColumnsItem.js +1 -1
- package/src/sap/m/P13nColumnsPanel.js +1 -1
- package/src/sap/m/P13nConditionPanel.js +1 -1
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +1 -1
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -1
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -1
- package/src/sap/m/P13nItem.js +1 -1
- package/src/sap/m/P13nPanel.js +1 -1
- package/src/sap/m/P13nSelectionItem.js +1 -1
- package/src/sap/m/P13nSelectionPanel.js +1 -1
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +1 -1
- package/src/sap/m/PDFViewer.js +1 -1
- package/src/sap/m/Page.js +1 -1
- 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 +167 -44
- package/src/sap/m/PlanningCalendarHeader.js +36 -5
- package/src/sap/m/PlanningCalendarLegend.js +1 -1
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +26 -2
- package/src/sap/m/Popover.js +11 -2
- package/src/sap/m/ProgressIndicator.js +1 -1
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/QuickView.js +1 -1
- package/src/sap/m/QuickViewBase.js +1 -1
- package/src/sap/m/QuickViewCard.js +1 -1
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +1 -1
- package/src/sap/m/QuickViewPage.js +5 -5
- package/src/sap/m/RadioButton.js +1 -1
- package/src/sap/m/RadioButtonGroup.js +1 -1
- package/src/sap/m/RangeSlider.js +1 -1
- package/src/sap/m/RatingIndicator.js +69 -29
- package/src/sap/m/ResponsivePopover.js +1 -1
- 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 +34 -19
- package/src/sap/m/SearchFieldRenderer.js +13 -3
- package/src/sap/m/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/SegmentedButtonRenderer.js +6 -0
- package/src/sap/m/Select.js +21 -13
- package/src/sap/m/SelectDialog.js +21 -49
- package/src/sap/m/SelectDialogBase.js +148 -0
- package/src/sap/m/SelectList.js +13 -3
- package/src/sap/m/SelectRenderer.js +19 -3
- package/src/sap/m/SelectionDetails.js +5 -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 +4 -1
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +48 -5
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +27 -19
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +11 -1
- 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 +3 -3
- package/src/sap/m/Slider.js +1 -1
- package/src/sap/m/SliderRenderer.js +2 -2
- package/src/sap/m/SliderTooltip.js +1 -1
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipContainer.js +1 -1
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +1 -1
- package/src/sap/m/SplitButtonRenderer.js +5 -1
- package/src/sap/m/SplitContainer.js +1 -1
- package/src/sap/m/StandardDynamicDateOption.js +1 -1
- package/src/sap/m/StandardListItem.js +1 -1
- 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 +44 -1
- package/src/sap/m/Switch.js +9 -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 +48 -6
- package/src/sap/m/TablePersoController.js +1 -1
- package/src/sap/m/TablePersoDialog.js +1 -1
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +3 -2
- package/src/sap/m/TableSelectDialog.js +21 -46
- package/src/sap/m/Text.js +2 -2
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +2 -2
- package/src/sap/m/TileContent.js +1 -1
- package/src/sap/m/TimePicker.js +8 -3
- package/src/sap/m/TimePickerClock.js +1 -1
- package/src/sap/m/TimePickerClocks.js +3 -1
- package/src/sap/m/TimePickerInputs.js +3 -1
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +1 -1
- package/src/sap/m/TimePickerSliders.js +1 -1
- package/src/sap/m/TimePickerSlidersRenderer.js +0 -1
- package/src/sap/m/Title.js +1 -1
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/ToggleButton.js +1 -1
- package/src/sap/m/Token.js +1 -1
- package/src/sap/m/Tokenizer.js +2 -1
- package/src/sap/m/TokenizerRenderer.js +1 -0
- 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 +1 -1
- package/src/sap/m/TreeItemBase.js +4 -4
- package/src/sap/m/UploadCollection.js +1 -1
- 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/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +7 -7
- 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 -1
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardStep.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +76 -44
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +18 -23
- package/src/sap/m/changeHandler/CombineButtons.js +280 -173
- package/src/sap/m/changeHandler/MoveTableColumns.js +143 -111
- package/src/sap/m/changeHandler/SplitMenuButton.js +141 -93
- package/src/sap/m/inputUtils/calculateSelectionStart.js +1 -1
- package/src/sap/m/inputUtils/wordStartsWithValue.js +5 -1
- package/src/sap/m/library.js +26 -2
- package/src/sap/m/messagebundle.properties +10 -1
- package/src/sap/m/messagebundle_ar.properties +7 -0
- package/src/sap/m/messagebundle_bg.properties +7 -0
- package/src/sap/m/messagebundle_ca.properties +7 -0
- package/src/sap/m/messagebundle_cs.properties +7 -0
- package/src/sap/m/messagebundle_cy.properties +7 -0
- package/src/sap/m/messagebundle_da.properties +7 -0
- package/src/sap/m/messagebundle_de.properties +11 -4
- package/src/sap/m/messagebundle_el.properties +7 -0
- package/src/sap/m/messagebundle_en.properties +7 -0
- package/src/sap/m/messagebundle_en_GB.properties +7 -0
- package/src/sap/m/messagebundle_en_US_sappsd.properties +6 -0
- package/src/sap/m/messagebundle_en_US_saptrc.properties +7 -0
- package/src/sap/m/messagebundle_es.properties +7 -0
- package/src/sap/m/messagebundle_es_MX.properties +7 -0
- package/src/sap/m/messagebundle_et.properties +7 -0
- package/src/sap/m/messagebundle_fi.properties +7 -0
- package/src/sap/m/messagebundle_fr.properties +7 -0
- package/src/sap/m/messagebundle_fr_CA.properties +7 -0
- package/src/sap/m/messagebundle_hi.properties +7 -0
- package/src/sap/m/messagebundle_hr.properties +7 -0
- package/src/sap/m/messagebundle_hu.properties +7 -0
- package/src/sap/m/messagebundle_id.properties +7 -0
- package/src/sap/m/messagebundle_it.properties +7 -0
- package/src/sap/m/messagebundle_iw.properties +7 -0
- package/src/sap/m/messagebundle_ja.properties +7 -0
- package/src/sap/m/messagebundle_kk.properties +7 -0
- package/src/sap/m/messagebundle_ko.properties +7 -0
- package/src/sap/m/messagebundle_lt.properties +7 -0
- package/src/sap/m/messagebundle_lv.properties +7 -0
- package/src/sap/m/messagebundle_ms.properties +7 -0
- package/src/sap/m/messagebundle_nl.properties +7 -0
- package/src/sap/m/messagebundle_no.properties +7 -0
- package/src/sap/m/messagebundle_pl.properties +7 -0
- package/src/sap/m/messagebundle_pt.properties +7 -0
- package/src/sap/m/messagebundle_pt_PT.properties +7 -0
- package/src/sap/m/messagebundle_ro.properties +7 -0
- package/src/sap/m/messagebundle_ru.properties +7 -0
- package/src/sap/m/messagebundle_sh.properties +7 -0
- package/src/sap/m/messagebundle_sk.properties +7 -0
- package/src/sap/m/messagebundle_sl.properties +7 -0
- package/src/sap/m/messagebundle_sv.properties +7 -0
- package/src/sap/m/messagebundle_th.properties +7 -0
- package/src/sap/m/messagebundle_tr.properties +7 -0
- package/src/sap/m/messagebundle_uk.properties +7 -0
- package/src/sap/m/messagebundle_vi.properties +7 -0
- package/src/sap/m/messagebundle_zh_CN.properties +7 -0
- package/src/sap/m/messagebundle_zh_TW.properties +7 -0
- package/src/sap/m/plugins/ColumnResizer.js +1 -1
- package/src/sap/m/plugins/DataStateIndicator.js +5 -3
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- 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 +1 -1
- 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 -1
- package/src/sap/m/semantic/SendEmailAction.js +1 -1
- package/src/sap/m/semantic/SendMessageAction.js +1 -1
- package/src/sap/m/semantic/ShareInJamAction.js +1 -1
- package/src/sap/m/semantic/ShareMenu.js +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/themes/base/Carousel.less +37 -2
- package/src/sap/m/themes/base/CheckBox.less +1 -1
- package/src/sap/m/themes/base/Dialog.less +11 -5
- package/src/sap/m/themes/base/FeedInput.less +5 -6
- package/src/sap/m/themes/base/GenericTile.less +130 -7
- package/src/sap/m/themes/base/IconTabBar.less +179 -64
- package/src/sap/m/themes/base/IconTabBarSelectList.less +12 -2
- package/src/sap/m/themes/base/InputBase.less +0 -24
- package/src/sap/m/themes/base/Label.less +6 -0
- package/src/sap/m/themes/base/ListItemBase.less +4 -2
- package/src/sap/m/themes/base/NotificationListBase.less +1 -1
- package/src/sap/m/themes/base/ObjectHeader.less +2 -1
- package/src/sap/m/themes/base/ObjectStatus.less +9 -2
- package/src/sap/m/themes/base/PlanningCalendar.less +23 -7
- package/src/sap/m/themes/base/Popover.less +1 -1
- package/src/sap/m/themes/base/ProgressIndicator.less +7 -6
- package/src/sap/m/themes/base/RadioButton.less +3 -0
- package/src/sap/m/themes/base/SearchField.less +22 -15
- package/src/sap/m/themes/base/SegmentedButton.less +1 -1
- package/src/sap/m/themes/base/StandardListItem.less +5 -1
- package/src/sap/m/themes/base/Table.less +14 -12
- package/src/sap/m/themes/base/Text.less +6 -0
- package/src/sap/m/themes/base/TimePicker.less +5 -1
- package/src/sap/m/themes/base/TimePickerSliders.less +1 -5
- package/src/sap/m/themes/base/Toolbar.less +6 -0
- package/src/sap/m/themes/base/ViewSettingsDialog.less +1 -1
- package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
- package/src/sap/m/upload/UploadSet.js +1 -1
- package/src/sap/m/upload/UploadSetItem.js +16 -1
|
@@ -12,7 +12,7 @@ sap.ui.define([
|
|
|
12
12
|
'./List',
|
|
13
13
|
'./SearchField',
|
|
14
14
|
'./library',
|
|
15
|
-
'
|
|
15
|
+
'./SelectDialogBase',
|
|
16
16
|
'sap/ui/core/InvisibleText',
|
|
17
17
|
'sap/ui/Device',
|
|
18
18
|
'sap/m/Toolbar',
|
|
@@ -29,7 +29,7 @@ function(
|
|
|
29
29
|
List,
|
|
30
30
|
SearchField,
|
|
31
31
|
library,
|
|
32
|
-
|
|
32
|
+
SelectDialogBase,
|
|
33
33
|
InvisibleText,
|
|
34
34
|
Device,
|
|
35
35
|
Toolbar,
|
|
@@ -109,10 +109,10 @@ function(
|
|
|
109
109
|
* <li> On desktop and tablet devices, the select dialog appears as a popover. </li>
|
|
110
110
|
* </ul>
|
|
111
111
|
* When using the <code>sap.m.SelectDialog</code> in SAP Quartz themes, the breakpoints and layout paddings could be determined by the dialog's width. To enable this concept and add responsive paddings to an element of the control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
|
|
112
|
-
* @extends sap.
|
|
112
|
+
* @extends sap.m.SelectDialogBase
|
|
113
113
|
*
|
|
114
114
|
* @author SAP SE
|
|
115
|
-
* @version 1.
|
|
115
|
+
* @version 1.93.3
|
|
116
116
|
*
|
|
117
117
|
* @constructor
|
|
118
118
|
* @public
|
|
@@ -120,7 +120,7 @@ function(
|
|
|
120
120
|
* @see {@link fiori:https://experience.sap.com/fiori-design-web/select-dialog/ Select Dialog}
|
|
121
121
|
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
122
122
|
*/
|
|
123
|
-
var SelectDialog =
|
|
123
|
+
var SelectDialog = SelectDialogBase.extend("sap.m.SelectDialog", /** @lends sap.m.SelectDialog.prototype */ { metadata : {
|
|
124
124
|
|
|
125
125
|
library : "sap.m",
|
|
126
126
|
properties : {
|
|
@@ -342,7 +342,9 @@ function(
|
|
|
342
342
|
})
|
|
343
343
|
]
|
|
344
344
|
}),
|
|
345
|
-
selectionChange: this._selectionChange.bind(this)
|
|
345
|
+
selectionChange: this._selectionChange.bind(this),
|
|
346
|
+
updateStarted: this._updateStarted.bind(this),
|
|
347
|
+
updateFinished: this._updateFinished.bind(this)
|
|
346
348
|
});
|
|
347
349
|
|
|
348
350
|
this._oList.getInfoToolbar().addEventDelegate({
|
|
@@ -353,10 +355,6 @@ function(
|
|
|
353
355
|
|
|
354
356
|
this._list = this._oList; // for downward compatibility
|
|
355
357
|
|
|
356
|
-
// attach events to listen to model updates and show/hide a busy indicator
|
|
357
|
-
this._oList.attachUpdateStarted(this._updateStarted, this);
|
|
358
|
-
this._oList.attachUpdateFinished(this._updateFinished, this);
|
|
359
|
-
|
|
360
358
|
// store a reference to the busyIndicator to display when data is currently loaded by a service
|
|
361
359
|
this._oBusyIndicator = new BusyIndicator(this.getId() + "-busyIndicator").addStyleClass("sapMSelectDialogBusyIndicator", true);
|
|
362
360
|
|
|
@@ -414,7 +412,6 @@ function(
|
|
|
414
412
|
subHeader: this._oSubHeader,
|
|
415
413
|
content: [this._oBusyIndicator, this._oList],
|
|
416
414
|
leftButton: this._getCancelButton(),
|
|
417
|
-
initialFocus: (Device.system.desktop ? this._oSearchField : null),
|
|
418
415
|
draggable: this.getDraggable() && Device.system.desktop,
|
|
419
416
|
resizable: this.getResizable() && Device.system.desktop,
|
|
420
417
|
escapeHandler: function (oPromiseWrapper) {
|
|
@@ -432,8 +429,6 @@ function(
|
|
|
432
429
|
this._sSearchFieldValue = "";
|
|
433
430
|
|
|
434
431
|
// flags to control the busy indicator behaviour because the growing list will always show the no data text when updating
|
|
435
|
-
this._bFirstRequest = true; // to only show the busy indicator for the first request when the dialog has been openend
|
|
436
|
-
this._bLiveChange = false; // to check if the triggered event is LiveChange
|
|
437
432
|
this._iListUpdateRequested = 0; // to only show the busy indicator when we initiated the change
|
|
438
433
|
};
|
|
439
434
|
|
|
@@ -534,10 +529,8 @@ function(
|
|
|
534
529
|
this._oBusyIndicator = null;
|
|
535
530
|
this._sSearchFieldValue = null;
|
|
536
531
|
this._iListUpdateRequested = 0;
|
|
537
|
-
this._bFirstRequest = false;
|
|
538
532
|
this._bInitBusy = false;
|
|
539
533
|
this._bFirstRender = false;
|
|
540
|
-
this._bFirstRequest = false;
|
|
541
534
|
|
|
542
535
|
// sap.ui.core.Popup removes its content on close()/destroy() automatically from the static UIArea,
|
|
543
536
|
// but only if it added it there itself. As we did that, we have to remove it also on our own
|
|
@@ -593,7 +586,7 @@ function(
|
|
|
593
586
|
if (this._oDialog && (!arguments[0] || arguments[0] && arguments[0].getId() !== this.getId() + "-dialog")) {
|
|
594
587
|
this._oDialog.invalidate(arguments);
|
|
595
588
|
} else {
|
|
596
|
-
|
|
589
|
+
SelectDialogBase.prototype.invalidate.apply(this, arguments);
|
|
597
590
|
}
|
|
598
591
|
|
|
599
592
|
return this;
|
|
@@ -618,14 +611,12 @@ function(
|
|
|
618
611
|
this._bAppendedToUIArea = true;
|
|
619
612
|
}
|
|
620
613
|
|
|
621
|
-
// reset internal variables
|
|
622
|
-
this._bFirstRequest = true;
|
|
623
|
-
|
|
624
614
|
// set the search value
|
|
625
615
|
this._oSearchField.setValue(sSearchValue);
|
|
626
616
|
this._sSearchFieldValue = sSearchValue || "";
|
|
627
617
|
|
|
628
618
|
// open the dialog
|
|
619
|
+
this._setInitialFocus();
|
|
629
620
|
this._oDialog.open();
|
|
630
621
|
|
|
631
622
|
// open dialog with busy state if a list update is still in progress
|
|
@@ -907,7 +898,7 @@ function(
|
|
|
907
898
|
|
|
908
899
|
// pass the model to the list and also to the local control to allow binding of own properties
|
|
909
900
|
this._oList.setModel(oModel, sModelName);
|
|
910
|
-
|
|
901
|
+
SelectDialogBase.prototype.setModel.apply(this, arguments);
|
|
911
902
|
|
|
912
903
|
// clear the selection label when setting the model
|
|
913
904
|
this._updateSelectionIndicator();
|
|
@@ -928,7 +919,7 @@ function(
|
|
|
928
919
|
SelectDialog.prototype.setBindingContext = function (oContext, sModelName) {
|
|
929
920
|
// pass the model to the list and also to the local control to allow binding of own properties
|
|
930
921
|
this._oList.setBindingContext(oContext, sModelName);
|
|
931
|
-
|
|
922
|
+
SelectDialogBase.prototype.setBindingContext.apply(this, arguments);
|
|
932
923
|
|
|
933
924
|
return this;
|
|
934
925
|
};
|
|
@@ -955,11 +946,6 @@ function(
|
|
|
955
946
|
oBinding = (oList ? oList.getBinding("items") : undefined),
|
|
956
947
|
bSearchValueDifferent = (this._sSearchFieldValue !== sValue); // to prevent unwanted duplicate requests
|
|
957
948
|
|
|
958
|
-
// BCP #1472004019/2015: focus after liveChange event is not changed
|
|
959
|
-
if (sEventType === "liveChange") {
|
|
960
|
-
this._bLiveChange = true;
|
|
961
|
-
}
|
|
962
|
-
|
|
963
949
|
// fire either the Search event or the liveChange event when dialog is opened.
|
|
964
950
|
// 1) when the clear icon is called then both liveChange and search events are fired but we only want to process the first one
|
|
965
951
|
// 2) when a livechange has been triggered by typing we don't want the next search event to be processed (typing + enter or typing + search button)
|
|
@@ -1018,6 +1004,8 @@ function(
|
|
|
1018
1004
|
* @param {jQuery.Event} oEvent The event object
|
|
1019
1005
|
*/
|
|
1020
1006
|
SelectDialog.prototype._updateStarted = function (oEvent) {
|
|
1007
|
+
this.fireUpdateStarted(oEvent.getParameters());
|
|
1008
|
+
|
|
1021
1009
|
if (this.getModel() && this.getModel() instanceof sap.ui.model.odata.ODataModel) {
|
|
1022
1010
|
if (this._oDialog.isOpen() && this._iListUpdateRequested) {
|
|
1023
1011
|
// only set busy mode when we have an OData model
|
|
@@ -1035,34 +1023,14 @@ function(
|
|
|
1035
1023
|
* @param {jQuery.Event} oEvent The event object
|
|
1036
1024
|
*/
|
|
1037
1025
|
SelectDialog.prototype._updateFinished = function (oEvent) {
|
|
1026
|
+
this.fireUpdateFinished(oEvent.getParameters());
|
|
1027
|
+
|
|
1038
1028
|
// only reset busy mode when we have an OData model
|
|
1039
1029
|
this._updateSelectionIndicator();
|
|
1040
1030
|
if (this.getModel() && this.getModel() instanceof sap.ui.model.odata.ODataModel) {
|
|
1041
1031
|
this._setBusy(false);
|
|
1042
1032
|
this._bInitBusy = false;
|
|
1043
1033
|
}
|
|
1044
|
-
if (Device.system.desktop) {
|
|
1045
|
-
|
|
1046
|
-
if (this._oList.getItems()[0]) {
|
|
1047
|
-
this._oDialog.setInitialFocus(this._oList.getItems()[0]);
|
|
1048
|
-
} else {
|
|
1049
|
-
this._oDialog.setInitialFocus(this._oSearchField);
|
|
1050
|
-
}
|
|
1051
|
-
|
|
1052
|
-
// set initial focus manually after all items are visible
|
|
1053
|
-
if (this._bFirstRequest && !this._bLiveChange) {
|
|
1054
|
-
var oFocusControl = this._oList.getItems()[0];
|
|
1055
|
-
if (!oFocusControl) {
|
|
1056
|
-
oFocusControl = this._oSearchField;
|
|
1057
|
-
}
|
|
1058
|
-
|
|
1059
|
-
if (oFocusControl.getFocusDomRef()) {
|
|
1060
|
-
oFocusControl.getFocusDomRef().focus();
|
|
1061
|
-
}
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
this._bFirstRequest = false;
|
|
1066
1034
|
|
|
1067
1035
|
// we received a request (from this or from another control) so set the counter to 0
|
|
1068
1036
|
this._iListUpdateRequested = 0;
|
|
@@ -1239,7 +1207,11 @@ function(
|
|
|
1239
1207
|
*
|
|
1240
1208
|
* @private
|
|
1241
1209
|
*/
|
|
1242
|
-
SelectDialog.prototype._selectionChange = function () {
|
|
1210
|
+
SelectDialog.prototype._selectionChange = function (oEvent) {
|
|
1211
|
+
if (oEvent.getParameters) {
|
|
1212
|
+
this.fireSelectionChange(oEvent.getParameters());
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1243
1215
|
if (!this._oDialog) {
|
|
1244
1216
|
return;
|
|
1245
1217
|
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides control sap.m.SelectDialogBase.
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
'sap/ui/Device',
|
|
10
|
+
'sap/ui/core/Control'
|
|
11
|
+
],
|
|
12
|
+
function(
|
|
13
|
+
Device,
|
|
14
|
+
Control
|
|
15
|
+
) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Constructor for a new SelectDialogBase.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
22
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
23
|
+
*
|
|
24
|
+
* @class
|
|
25
|
+
* The <code>sap.m.SelectDialogBase</code> control provides a base functionality of the
|
|
26
|
+
* <code>sap.m.SelectDialog</code> and <code>sap.m.TableSelectDialog</code> controls.
|
|
27
|
+
* @extends sap.ui.core.Control
|
|
28
|
+
*
|
|
29
|
+
* @author SAP SE
|
|
30
|
+
* @version 1.93.3
|
|
31
|
+
*
|
|
32
|
+
* @constructor
|
|
33
|
+
* @public
|
|
34
|
+
* @abstract
|
|
35
|
+
* @since 1.93
|
|
36
|
+
* @alias sap.m.SelectDialogBase
|
|
37
|
+
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
38
|
+
*/
|
|
39
|
+
var SelectDialogBase = Control.extend("sap.m.SelectDialogBase", /** @lends sap.m.SelectDialogBase.prototype */ {
|
|
40
|
+
metadata: {
|
|
41
|
+
library: "sap.m",
|
|
42
|
+
"abstract": true,
|
|
43
|
+
properties: {},
|
|
44
|
+
aggregations: {},
|
|
45
|
+
events: {
|
|
46
|
+
/**
|
|
47
|
+
* Fires before <code>items</code> binding is updated (e.g. sorting, filtering)
|
|
48
|
+
*
|
|
49
|
+
* <b>Note:</b> Event handler should not invalidate the control. *
|
|
50
|
+
* @since 1.93
|
|
51
|
+
*/
|
|
52
|
+
updateStarted : {
|
|
53
|
+
parameters : {
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The reason of the update, e.g. Binding, Filter, Sort, Growing, Change, Refresh, Context.
|
|
57
|
+
*/
|
|
58
|
+
reason : {type : "string"},
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Actual number of items.
|
|
62
|
+
*/
|
|
63
|
+
actual : {type : "int"},
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The total count of bound items. This can be used if the <code>growing</code> property is set to <code>true</code>.
|
|
67
|
+
*/
|
|
68
|
+
total : {type : "int"}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Fires after <code>items</code> binding is updated and processed by the control.
|
|
74
|
+
* @since 1.93
|
|
75
|
+
*/
|
|
76
|
+
updateFinished : {
|
|
77
|
+
parameters : {
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The reason of the update, e.g. Binding, Filter, Sort, Growing, Change, Refresh, Context.
|
|
81
|
+
*/
|
|
82
|
+
reason : {type : "string"},
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Actual number of items.
|
|
86
|
+
*/
|
|
87
|
+
actual : {type : "int"},
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The total count of bound items. This can be used if the <code>growing</code> property is set to <code>true</code>.
|
|
91
|
+
*/
|
|
92
|
+
total : {type : "int"}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Fires when selection is changed via user interaction inside the control.
|
|
98
|
+
* @since 1.93
|
|
99
|
+
*/
|
|
100
|
+
selectionChange : {
|
|
101
|
+
parameters : {
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* The item whose selection has changed. In <code>MultiSelect</code> mode, only the up-most selected item is returned. This parameter can be used for single-selection modes.
|
|
105
|
+
*/
|
|
106
|
+
listItem : {type : "sap.m.ListItemBase"},
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Array of items whose selection has changed. This parameter can be used for <code>MultiSelect</code> mode.
|
|
110
|
+
*/
|
|
111
|
+
listItems : {type : "sap.m.ListItemBase[]"},
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Indicates whether the <code>listItem</code> parameter is selected or not.
|
|
115
|
+
*/
|
|
116
|
+
selected : {type : "boolean"},
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Indicates whether the select all action is triggered or not.
|
|
120
|
+
*/
|
|
121
|
+
selectAll : {type : "boolean"}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
renderer: {
|
|
127
|
+
apiVersion: 2,
|
|
128
|
+
render: function () {
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
SelectDialogBase.prototype._setInitialFocus = function () {
|
|
134
|
+
if (!Device.system.desktop) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
var oInitiallyFocusedControl = this._oSearchField;
|
|
139
|
+
|
|
140
|
+
if (this.getItems().length) {
|
|
141
|
+
oInitiallyFocusedControl = this.getItems()[0];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
this._oDialog.setInitialFocus(oInitiallyFocusedControl);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
return SelectDialogBase;
|
|
148
|
+
});
|
package/src/sap/m/SelectList.js
CHANGED
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
* @extends sap.ui.core.Control
|
|
38
38
|
*
|
|
39
39
|
* @author SAP SE
|
|
40
|
-
* @version 1.
|
|
40
|
+
* @version 1.93.3
|
|
41
41
|
*
|
|
42
42
|
* @constructor
|
|
43
43
|
* @public
|
|
@@ -256,7 +256,7 @@ sap.ui.define([
|
|
|
256
256
|
}
|
|
257
257
|
};
|
|
258
258
|
|
|
259
|
-
SelectList.prototype.updateItems = function(sReason) {
|
|
259
|
+
SelectList.prototype.updateItems = function(sReason, oEventInfo) {
|
|
260
260
|
this.bItemsUpdated = false;
|
|
261
261
|
|
|
262
262
|
// note: for backward compatibility and to keep the old data binding behavior,
|
|
@@ -265,6 +265,16 @@ sap.ui.define([
|
|
|
265
265
|
this.updateAggregation("items");
|
|
266
266
|
this.bItemsUpdated = true;
|
|
267
267
|
|
|
268
|
+
// Do not try to synchronize selection when updateItems is called with reason Add/Remove VirtualContext,
|
|
269
|
+
// as in some cases, when forceSelection is "true", unwanted PATCH requests with null value may be triggered
|
|
270
|
+
if (oEventInfo && (oEventInfo.detailedReason === "AddVirtualContext"
|
|
271
|
+
|| oEventInfo.detailedReason === "RemoveVirtualContext")) {
|
|
272
|
+
this._bHasVirtualContext = true;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
this._bHasVirtualContext = false;
|
|
277
|
+
|
|
268
278
|
// Try to synchronize the selection (synchronous), but if any item's key match with the value of the "selectedKey" property,
|
|
269
279
|
// don't force the first enabled item to be selected when the forceSelection property is set to true.
|
|
270
280
|
// It could be possible that the items' properties (models and bindingContext) are not propagated at this point.
|
|
@@ -612,7 +622,7 @@ sap.ui.define([
|
|
|
612
622
|
|
|
613
623
|
// the aggregation items is not bound or
|
|
614
624
|
// it is bound and the data is already available
|
|
615
|
-
} else if (bForceSelection && this.getDefaultSelectedItem() && (!this.isBound("items") || this.bItemsUpdated)) {
|
|
625
|
+
} else if (bForceSelection && !this._bHasVirtualContext && this.getDefaultSelectedItem() && (!this.isBound("items") || this.bItemsUpdated)) {
|
|
616
626
|
try {
|
|
617
627
|
this.setSelection(this.getDefaultSelectedItem());
|
|
618
628
|
} catch (e) {
|
|
@@ -86,6 +86,10 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
|
|
|
86
86
|
|
|
87
87
|
oRm.style("max-width", oSelect.getMaxWidth());
|
|
88
88
|
|
|
89
|
+
if (bEnabled) {
|
|
90
|
+
oRm.attr("tabindex", "-1");
|
|
91
|
+
}
|
|
92
|
+
|
|
89
93
|
oRm.openEnd();
|
|
90
94
|
this.renderFocusElement(oRm, oSelect);
|
|
91
95
|
// Used in case control is in a form submitted by input[type="submit"].
|
|
@@ -178,6 +182,9 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
|
|
|
178
182
|
oRm.attr("tabindex", "-1");
|
|
179
183
|
oRm.attr("aria-hidden", "true");
|
|
180
184
|
|
|
185
|
+
//The hidden field is not shown to the user, but the data is sent when the form is submitted.
|
|
186
|
+
oRm.attr("type", "hidden");
|
|
187
|
+
|
|
181
188
|
// Classes
|
|
182
189
|
oRm.class("sapUiPseudoInvisibleText");
|
|
183
190
|
|
|
@@ -196,12 +203,19 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
|
|
|
196
203
|
sTextDir = oSelect.getTextDirection(),
|
|
197
204
|
sTextAlign = Renderer.getTextAlign(oSelect.getTextAlign(), sTextDir),
|
|
198
205
|
CSS_CLASS = SelectRenderer.CSS_CLASS,
|
|
199
|
-
bEditabledAndEnabled = oSelect.getEnabled() && oSelect.getEditable()
|
|
206
|
+
bEditabledAndEnabled = oSelect.getEnabled() && oSelect.getEditable(),
|
|
207
|
+
sTooltip = oSelect.getTooltip_AsString();
|
|
200
208
|
|
|
201
209
|
oRm.openStart("span", oSelect.getId() + "-label");
|
|
202
210
|
oRm.attr("aria-hidden", true);
|
|
203
211
|
oRm.class(CSS_CLASS + "Label");
|
|
204
212
|
|
|
213
|
+
// since focusable element has sapUiPseudoInvisibleText class
|
|
214
|
+
// the tooltip is also set to the label element to be visually displayed
|
|
215
|
+
if (sTooltip) {
|
|
216
|
+
oRm.attr("title", sTooltip);
|
|
217
|
+
}
|
|
218
|
+
|
|
205
219
|
if (oSelect.getValueState() !== ValueState.None && bEditabledAndEnabled) {
|
|
206
220
|
oRm.class(CSS_CLASS + "LabelState");
|
|
207
221
|
oRm.class(CSS_CLASS + "Label" + oSelect.getValueState());
|
|
@@ -264,11 +278,13 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
|
|
|
264
278
|
* @private
|
|
265
279
|
*/
|
|
266
280
|
SelectRenderer.renderIcon = function(oRm, oSelect) {
|
|
267
|
-
var sTooltip = oSelect.getTooltip_AsString()
|
|
281
|
+
var sTooltip = oSelect.getTooltip_AsString(),
|
|
282
|
+
oIconInfo = IconPool.getIconInfo(oSelect.getIcon()),
|
|
283
|
+
sIconText = oIconInfo && oIconInfo.text;
|
|
268
284
|
|
|
269
285
|
oRm.icon(oSelect.getIcon(), SelectRenderer.CSS_CLASS + "Icon", {
|
|
270
286
|
id: oSelect.getId() + "-icon",
|
|
271
|
-
title: sTooltip || null
|
|
287
|
+
title: sTooltip || sIconText || null
|
|
272
288
|
});
|
|
273
289
|
};
|
|
274
290
|
|
|
@@ -39,7 +39,7 @@ function(
|
|
|
39
39
|
* <b><i>Note:</i></b>It is protected and should only be used within the framework itself.
|
|
40
40
|
*
|
|
41
41
|
* @author SAP SE
|
|
42
|
-
* @version 1.
|
|
42
|
+
* @version 1.93.3
|
|
43
43
|
*
|
|
44
44
|
* @extends sap.ui.core.Control
|
|
45
45
|
* @constructor
|
|
@@ -617,7 +617,10 @@ function(
|
|
|
617
617
|
* @private
|
|
618
618
|
*/
|
|
619
619
|
SelectionDetails.prototype._getNavContainer = function(NavContainer) {
|
|
620
|
-
|
|
620
|
+
if (!this._oNavContainer) {
|
|
621
|
+
this._oNavContainer = new NavContainer(this.getId() + "-nav-container");
|
|
622
|
+
}
|
|
623
|
+
return this._oNavContainer;
|
|
621
624
|
};
|
|
622
625
|
|
|
623
626
|
/**
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @since 1.48.0
|
|
11
11
|
* @public
|
|
12
12
|
* @author SAP SE
|
|
13
|
-
* @version 1.
|
|
13
|
+
* @version 1.93.3
|
|
14
14
|
* @borrows sap.ui.core.Element#addCustomData as #addCustomData
|
|
15
15
|
* @borrows sap.ui.core.Element#getCustomData as #getCustomData
|
|
16
16
|
* @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* @since 1.48.0
|
|
46
46
|
* @public
|
|
47
47
|
* @author SAP SE
|
|
48
|
-
* @version 1.
|
|
48
|
+
* @version 1.93.3
|
|
49
49
|
* @borrows sap.ui.core.Element#addCustomData as #addCustomData
|
|
50
50
|
* @borrows sap.ui.core.Element#getCustomData as #getCustomData
|
|
51
51
|
* @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
|
package/src/sap/m/Shell.js
CHANGED
|
@@ -35,7 +35,7 @@ sap.ui.define([
|
|
|
35
35
|
* The Shell control can be used as root element of applications. It can contain an App or a <code>SplitApp</code> control.
|
|
36
36
|
* The Shell provides some overarching functionality for the overall application and takes care of visual adaptation, such as a frame around the App, on desktop browser platforms.
|
|
37
37
|
* @extends sap.ui.core.Control
|
|
38
|
-
* @version 1.
|
|
38
|
+
* @version 1.93.3
|
|
39
39
|
*
|
|
40
40
|
* @constructor
|
|
41
41
|
* @public
|
|
@@ -105,7 +105,7 @@ function(
|
|
|
105
105
|
* @extends sap.ui.core.Control
|
|
106
106
|
*
|
|
107
107
|
* @author SAP SE
|
|
108
|
-
* @version 1.
|
|
108
|
+
* @version 1.93.3
|
|
109
109
|
*
|
|
110
110
|
* @constructor
|
|
111
111
|
* @public
|
|
@@ -217,6 +217,9 @@ function(
|
|
|
217
217
|
* The appointments to be displayed in the grid. Appointments outside the visible time frame are not rendered.
|
|
218
218
|
* Appointments, longer than a day, will be displayed in all of the affected days.
|
|
219
219
|
* To display an all-day appointment, the appointment must start at 00:00 and end on any day in the future in 00:00h.
|
|
220
|
+
*
|
|
221
|
+
* Note: The <code>customContent</code> functionality of the <code>CalendarAppointment</code> is not available
|
|
222
|
+
* in the <code>SinglePlanningCalendar</code>. If set, it will not make any effect.
|
|
220
223
|
*/
|
|
221
224
|
appointments : {
|
|
222
225
|
type: "sap.ui.unified.CalendarAppointment",
|
|
@@ -101,7 +101,7 @@ sap.ui.define([
|
|
|
101
101
|
* @extends sap.ui.core.Control
|
|
102
102
|
*
|
|
103
103
|
* @author SAP SE
|
|
104
|
-
* @version 1.
|
|
104
|
+
* @version 1.93.3
|
|
105
105
|
*
|
|
106
106
|
* @constructor
|
|
107
107
|
* @private
|
|
@@ -587,9 +587,14 @@ sap.ui.define([
|
|
|
587
587
|
}
|
|
588
588
|
|
|
589
589
|
var oDragSession = oEvent.getParameter("dragSession"),
|
|
590
|
-
|
|
590
|
+
oDragControl = oDragSession.getDragControl(),
|
|
591
|
+
oEventTarget = oEvent.getParameter("browserEvent") && oEvent.getParameter("browserEvent").target || null;
|
|
592
|
+
|
|
593
|
+
oDragControl._sAppointmentPartSuffix = oEventTarget && oEventTarget.id ? oEventTarget.id.replace(oDragControl.getId() + "-", "") : "";
|
|
594
|
+
|
|
595
|
+
var $SPCGridOverlay = this.$().find(".sapMSinglePCOverlay"),
|
|
591
596
|
$Indicator = jQuery(oDragSession.getIndicator()),
|
|
592
|
-
$DraggedControl =
|
|
597
|
+
$DraggedControl = oDragControl.$();
|
|
593
598
|
|
|
594
599
|
if (this._isResizeHandleBottomMouseDownTarget) {
|
|
595
600
|
oDragSession.setComplexData("bottomHandle", "true");
|
|
@@ -640,7 +645,7 @@ sap.ui.define([
|
|
|
640
645
|
iVariableBoundaryY,
|
|
641
646
|
mDraggedControlConfig;
|
|
642
647
|
|
|
643
|
-
|
|
648
|
+
if (!oAppointmentStartingBoundaries) {
|
|
644
649
|
oAppointmentStartingBoundaries = {
|
|
645
650
|
top: oAppointmentRef.offsetTop,
|
|
646
651
|
bottom: oAppointmentRef.offsetTop + oAppointmentRef.getBoundingClientRect().height,
|
|
@@ -1020,6 +1025,12 @@ sap.ui.define([
|
|
|
1020
1025
|
aVisibleAppsInDay,
|
|
1021
1026
|
i, j;
|
|
1022
1027
|
|
|
1028
|
+
// directly focus appointment part, if there is any selected
|
|
1029
|
+
if (this._sSelectedAppointment) {
|
|
1030
|
+
this._sSelectedAppointment.focus();
|
|
1031
|
+
return this;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1023
1034
|
// Search amongst the visible blockers
|
|
1024
1035
|
for (i = 0; i < aVisibleBlockers.length; ++i) {
|
|
1025
1036
|
if (aVisibleBlockers[i].getId() === oFocusInfo.id) {
|
|
@@ -1072,6 +1083,7 @@ sap.ui.define([
|
|
|
1072
1083
|
*/
|
|
1073
1084
|
SinglePlanningCalendarGrid.prototype._toggleAppointmentSelection = function (oAppointment, bRemoveOldSelection) {
|
|
1074
1085
|
var aChangedApps = [],
|
|
1086
|
+
oAppointmentDomRef = oAppointment && oAppointment.getDomRef(),
|
|
1075
1087
|
aAppointments,
|
|
1076
1088
|
iAppointmentsLength,
|
|
1077
1089
|
i;
|
|
@@ -1091,6 +1103,9 @@ sap.ui.define([
|
|
|
1091
1103
|
if (oAppointment) {
|
|
1092
1104
|
oAppointment.setProperty("selected", !oAppointment.getSelected());
|
|
1093
1105
|
aChangedApps.push(oAppointment);
|
|
1106
|
+
this._sSelectedAppointment = oAppointment.getSelected() && oAppointmentDomRef ? oAppointment : undefined;
|
|
1107
|
+
} else {
|
|
1108
|
+
this._sSelectedAppointment = undefined;
|
|
1094
1109
|
}
|
|
1095
1110
|
|
|
1096
1111
|
return aChangedApps;
|
|
@@ -1194,13 +1209,28 @@ sap.ui.define([
|
|
|
1194
1209
|
}
|
|
1195
1210
|
};
|
|
1196
1211
|
|
|
1212
|
+
SinglePlanningCalendarGrid.prototype._findSrcControl = function (oEvent) {
|
|
1213
|
+
if (!oEvent.target.parentElement || !oEvent.target.parentElement.classList.contains("sapUiCalendarRowApps")) {
|
|
1214
|
+
return oEvent.srcControl;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
// data-sap-ui-related - This is a relation to appointment object.
|
|
1218
|
+
// This is the connection between the DOM Element and the Object representing an appointment.
|
|
1219
|
+
var sAppointmentId = oEvent.target.parentElement.getAttribute("data-sap-ui-related");
|
|
1220
|
+
|
|
1221
|
+
// finding the appointment
|
|
1222
|
+
return this.getAppointments().find(function (oAppointment) {
|
|
1223
|
+
return oAppointment.sId === sAppointmentId;
|
|
1224
|
+
});
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1197
1227
|
/**
|
|
1198
1228
|
* Helper function handling <code>keydown</code> or <code>tap</code> event on the grid.
|
|
1199
1229
|
*
|
|
1200
1230
|
* @param {jQuery.Event} oEvent The event object.
|
|
1201
1231
|
*/
|
|
1202
1232
|
SinglePlanningCalendarGrid.prototype._fireSelectionEvent = function (oEvent) {
|
|
1203
|
-
var oControl = oEvent
|
|
1233
|
+
var oControl = this._findSrcControl(oEvent),
|
|
1204
1234
|
oGridCell = oEvent.target;
|
|
1205
1235
|
|
|
1206
1236
|
if (oEvent.target.classList.contains("sapMSinglePCRow") ||
|
|
@@ -1216,6 +1246,19 @@ sap.ui.define([
|
|
|
1216
1246
|
appointments: this._toggleAppointmentSelection(undefined, true)
|
|
1217
1247
|
});
|
|
1218
1248
|
} else if (oControl && oControl.isA("sap.ui.unified.CalendarAppointment")) {
|
|
1249
|
+
|
|
1250
|
+
// add suffix in appointment
|
|
1251
|
+
if (oGridCell.parentElement && oGridCell.parentElement.getAttribute("id")) {
|
|
1252
|
+
var sTargetId = oGridCell.parentElement.getAttribute("id");
|
|
1253
|
+
|
|
1254
|
+
// data-sap-ui-related - This is a relation to appointment object.
|
|
1255
|
+
// This is the connection between the DOM Element and the Object representing an appointment.
|
|
1256
|
+
var sBaseIDPart = oGridCell.parentElement.getAttribute("data-sap-ui-related");
|
|
1257
|
+
var sSuffix = sTargetId.replace(sBaseIDPart + "-", "");
|
|
1258
|
+
|
|
1259
|
+
oControl._setAppointmentPartSuffix(sSuffix);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1219
1262
|
this.fireAppointmentSelect({
|
|
1220
1263
|
appointment: oControl,
|
|
1221
1264
|
appointments: this._toggleAppointmentSelection(oControl, !(oEvent.ctrlKey || oEvent.metaKey))
|