@openui5/sap.m 1.95.0 → 1.96.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 +10 -5
- package/THIRDPARTY.txt +17 -8
- 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 +1 -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 +1 -1
- package/src/sap/m/Carousel.js +1 -1
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +1 -1
- package/src/sap/m/ColorPalette.js +7 -11
- package/src/sap/m/ColorPalettePopover.js +1 -6
- package/src/sap/m/Column.js +5 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- 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 +9 -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 +12 -10
- package/src/sap/m/DateRangeSelection.js +6 -9
- package/src/sap/m/DateTimeField.js +1 -1
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +6 -9
- package/src/sap/m/Dialog.js +16 -37
- 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/DynamicDateOption.js +3 -2
- package/src/sap/m/DynamicDateRange.js +7 -4
- package/src/sap/m/DynamicDateUtil.js +6 -3
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +1 -1
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +1 -1
- 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 +264 -57
- package/src/sap/m/GenericTileRenderer.js +228 -84
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- 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 +7 -1
- 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 +13 -4
- 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 +18 -7
- package/src/sap/m/InputBase.js +95 -13
- package/src/sap/m/InputBaseRenderer.js +8 -20
- 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 +1 -1
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +1 -1
- package/src/sap/m/ListItemBase.js +2 -2
- package/src/sap/m/MaskEnabler.js +106 -4
- package/src/sap/m/MaskInput.js +19 -4
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +8 -6
- 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/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 -1
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +7 -3
- package/src/sap/m/MessageStripRenderer.js +2 -2
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +12 -23
- package/src/sap/m/MultiComboBox.js +348 -115
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +30 -4
- package/src/sap/m/NavContainer.js +13 -5
- package/src/sap/m/NewsContent.js +19 -10
- package/src/sap/m/NewsContentRenderer.js +1 -2
- 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/NumericContentRenderer.js +34 -17
- package/src/sap/m/NumericInput.js +138 -0
- package/src/sap/m/NumericInputRenderer.js +120 -0
- package/src/sap/m/ObjectAttribute.js +46 -5
- package/src/sap/m/ObjectHeader.js +3 -3
- 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/ObjectStatusRenderer.js +4 -1
- package/src/sap/m/OverflowToolbar.js +3 -5
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- package/src/sap/m/OverflowToolbarButton.js +4 -2
- 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 +3 -3
- package/src/sap/m/P13nConditionPanel.js +22 -52
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +3 -3
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -3
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -3
- 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 -3
- 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 +46 -31
- package/src/sap/m/PlanningCalendarHeader.js +5 -8
- package/src/sap/m/PlanningCalendarLegend.js +1 -6
- package/src/sap/m/PlanningCalendarLegendRenderer.js +0 -5
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -6
- package/src/sap/m/Popover.js +3 -3
- package/src/sap/m/PopoverRenderer.js +3 -2
- package/src/sap/m/ProgressIndicator.js +13 -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 +1 -1
- 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 +1 -1
- 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 +2 -33
- 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 +3 -4
- package/src/sap/m/SelectDialog.js +1 -1
- package/src/sap/m/SelectDialogBase.js +1 -1
- package/src/sap/m/SelectList.js +1 -1
- package/src/sap/m/SelectRenderer.js +10 -1
- package/src/sap/m/SelectionDetails.js +7 -9
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +8 -4
- package/src/sap/m/SelectionDetailsItemLine.js +1 -1
- package/src/sap/m/Shell.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +7 -10
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +1 -6
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
- package/src/sap/m/SlideTile.js +46 -3
- package/src/sap/m/SlideTileRenderer.js +13 -2
- package/src/sap/m/Slider.js +1 -1
- 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 +10 -4
- package/src/sap/m/StandardDynamicDateOption.js +6 -3
- package/src/sap/m/StandardListItem.js +11 -18
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +67 -166
- package/src/sap/m/SuggestionItem.js +1 -7
- 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 +1 -1
- 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/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +1 -1
- package/src/sap/m/TileContent.js +22 -4
- package/src/sap/m/TileContentRenderer.js +73 -5
- package/src/sap/m/TimePicker.js +1 -1
- package/src/sap/m/TimePickerClock.js +1 -1
- package/src/sap/m/TimePickerClocks.js +1 -1
- package/src/sap/m/TimePickerInputs.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 +1 -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/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 +1 -1
- package/src/sap/m/UploadCollection.js +1 -6
- 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 +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 +40 -12
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
- package/src/sap/m/WizardStep.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
- package/src/sap/m/changeHandler/CombineButtons.js +1 -1
- package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +24 -15
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- package/src/sap/m/delegate/DateNavigation.js +4 -5
- package/src/sap/m/delegate/ValueStateMessage.js +4 -7
- package/src/sap/m/designtime/IconTabBar.designtime.js +4 -1
- package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
- package/src/sap/m/designtime/messagebundle_ar.properties +3 -3
- package/src/sap/m/designtime/messagebundle_bg.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ca.properties +3 -3
- package/src/sap/m/designtime/messagebundle_cs.properties +3 -3
- package/src/sap/m/designtime/messagebundle_cy.properties +3 -3
- package/src/sap/m/designtime/messagebundle_da.properties +3 -3
- package/src/sap/m/designtime/messagebundle_de.properties +5 -5
- package/src/sap/m/designtime/messagebundle_el.properties +3 -3
- package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es.properties +3 -3
- package/src/sap/m/designtime/messagebundle_es_MX.properties +3 -3
- package/src/sap/m/designtime/messagebundle_et.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fr_CA.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hu.properties +3 -3
- package/src/sap/m/designtime/messagebundle_id.properties +3 -3
- package/src/sap/m/designtime/messagebundle_it.properties +3 -3
- package/src/sap/m/designtime/messagebundle_iw.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ja.properties +3 -3
- package/src/sap/m/designtime/messagebundle_kk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ko.properties +3 -3
- package/src/sap/m/designtime/messagebundle_lt.properties +3 -3
- package/src/sap/m/designtime/messagebundle_lv.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ms.properties +3 -3
- package/src/sap/m/designtime/messagebundle_nl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_no.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pt.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pt_PT.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ro.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ru.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sh.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sv.properties +3 -3
- package/src/sap/m/designtime/messagebundle_th.properties +3 -3
- package/src/sap/m/designtime/messagebundle_tr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_uk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_vi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_zh_CN.properties +3 -3
- package/src/sap/m/designtime/messagebundle_zh_TW.properties +3 -3
- package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
- package/src/sap/m/inputUtils/ListHelpers.js +16 -3
- package/src/sap/m/library.js +58 -31
- package/src/sap/m/messagebundle.properties +50 -3
- package/src/sap/m/messagebundle_ar.properties +29 -6
- package/src/sap/m/messagebundle_bg.properties +29 -6
- package/src/sap/m/messagebundle_ca.properties +33 -10
- package/src/sap/m/messagebundle_cs.properties +31 -8
- package/src/sap/m/messagebundle_cy.properties +31 -8
- package/src/sap/m/messagebundle_da.properties +31 -8
- package/src/sap/m/messagebundle_de.properties +30 -7
- package/src/sap/m/messagebundle_el.properties +30 -7
- package/src/sap/m/messagebundle_en.properties +30 -7
- package/src/sap/m/messagebundle_en_GB.properties +30 -7
- package/src/sap/m/messagebundle_en_US_sappsd.properties +17 -1
- package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
- package/src/sap/m/messagebundle_en_US_saptrc.properties +3 -1
- package/src/sap/m/messagebundle_es.properties +29 -6
- package/src/sap/m/messagebundle_es_MX.properties +31 -8
- package/src/sap/m/messagebundle_et.properties +30 -7
- package/src/sap/m/messagebundle_fi.properties +31 -8
- package/src/sap/m/messagebundle_fr.properties +37 -14
- package/src/sap/m/messagebundle_fr_CA.properties +31 -8
- package/src/sap/m/messagebundle_hi.properties +31 -8
- package/src/sap/m/messagebundle_hr.properties +30 -7
- package/src/sap/m/messagebundle_hu.properties +30 -7
- package/src/sap/m/messagebundle_id.properties +31 -8
- package/src/sap/m/messagebundle_it.properties +29 -6
- package/src/sap/m/messagebundle_iw.properties +29 -6
- package/src/sap/m/messagebundle_ja.properties +30 -7
- package/src/sap/m/messagebundle_kk.properties +31 -8
- package/src/sap/m/messagebundle_ko.properties +31 -8
- package/src/sap/m/messagebundle_lt.properties +31 -8
- package/src/sap/m/messagebundle_lv.properties +31 -8
- package/src/sap/m/messagebundle_ms.properties +29 -6
- package/src/sap/m/messagebundle_nl.properties +29 -6
- package/src/sap/m/messagebundle_no.properties +29 -6
- package/src/sap/m/messagebundle_pl.properties +31 -8
- package/src/sap/m/messagebundle_pt.properties +31 -8
- package/src/sap/m/messagebundle_pt_PT.properties +29 -6
- package/src/sap/m/messagebundle_ro.properties +31 -8
- package/src/sap/m/messagebundle_ru.properties +31 -8
- package/src/sap/m/messagebundle_sh.properties +30 -7
- package/src/sap/m/messagebundle_sk.properties +30 -7
- package/src/sap/m/messagebundle_sl.properties +30 -7
- package/src/sap/m/messagebundle_sv.properties +30 -7
- package/src/sap/m/messagebundle_th.properties +31 -8
- package/src/sap/m/messagebundle_tr.properties +27 -4
- package/src/sap/m/messagebundle_uk.properties +35 -12
- package/src/sap/m/messagebundle_vi.properties +31 -8
- package/src/sap/m/messagebundle_zh_CN.properties +29 -6
- package/src/sap/m/messagebundle_zh_TW.properties +31 -8
- package/src/sap/m/p13n/AbstractContainer.js +243 -0
- package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
- package/src/sap/m/p13n/BasePanel.js +643 -0
- package/src/sap/m/p13n/Container.js +239 -0
- package/src/sap/m/p13n/GroupPanel.js +119 -0
- package/src/sap/m/p13n/QueryPanel.js +312 -0
- package/src/sap/m/p13n/SelectionPanel.js +403 -0
- package/src/sap/m/p13n/SortPanel.js +139 -0
- package/src/sap/m/plugins/ColumnResizer.js +1 -1
- package/src/sap/m/plugins/DataStateIndicator.js +1 -1
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/routing/TargetHandler.js +9 -4
- 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 -5
- package/src/sap/m/semantic/SemanticControl.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/semantic/SemanticPage.js +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/table/Util.js +192 -0
- package/src/sap/m/themes/base/AbstractContainer.less +17 -0
- package/src/sap/m/themes/base/Carousel.less +37 -2
- package/src/sap/m/themes/base/Dialog.less +11 -5
- package/src/sap/m/themes/base/GenericTile.less +441 -18
- package/src/sap/m/themes/base/IconTabBar.less +13 -7
- package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -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/MultiComboBox.less +17 -0
- package/src/sap/m/themes/base/NewsContent.less +48 -1
- package/src/sap/m/themes/base/NotificationListBase.less +1 -1
- package/src/sap/m/themes/base/NumericContent.less +87 -0
- package/src/sap/m/themes/base/ObjectNumber.less +10 -2
- package/src/sap/m/themes/base/ObjectStatus.less +5 -1
- package/src/sap/m/themes/base/P13nContainer.less +17 -0
- package/src/sap/m/themes/base/P13nDialog.less +4 -0
- package/src/sap/m/themes/base/SearchField.less +21 -14
- package/src/sap/m/themes/base/SegmentedButton.less +1 -1
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
- package/src/sap/m/themes/base/SlideTile.less +15 -0
- package/src/sap/m/themes/base/StandardListItem.less +1 -1
- package/src/sap/m/themes/base/Table.less +9 -8
- package/src/sap/m/themes/base/Text.less +6 -0
- package/src/sap/m/themes/base/TileContent.less +20 -0
- package/src/sap/m/themes/base/Token.less +0 -3
- package/src/sap/m/themes/base/library.source.less +4 -0
- package/src/sap/m/themes/base/p13n.Container.less +17 -0
- package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
- package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
- package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
- package/src/sap/m/upload/UploadSet.js +14 -18
- package/src/sap/m/upload/UploadSetItem.js +7 -2
- package/ui5.yaml +4 -1
- package/src/sap/m/ios7.js +0 -199
package/src/sap/m/MultiInput.js
CHANGED
|
@@ -121,7 +121,7 @@ function(
|
|
|
121
121
|
* @implements sap.ui.core.ISemanticFormContent
|
|
122
122
|
*
|
|
123
123
|
* @author SAP SE
|
|
124
|
-
* @version 1.
|
|
124
|
+
* @version 1.96.3
|
|
125
125
|
*
|
|
126
126
|
* @constructor
|
|
127
127
|
* @public
|
|
@@ -992,7 +992,7 @@ function(
|
|
|
992
992
|
this._validateCurrentText();
|
|
993
993
|
}
|
|
994
994
|
|
|
995
|
-
if (oEvent && oEvent.setMarked && this._bTokenIsValidated) {
|
|
995
|
+
if (oEvent && oEvent.setMarked && (this._bTokenIsValidated || this.getDOMValue())) {
|
|
996
996
|
oEvent.setMarked();
|
|
997
997
|
}
|
|
998
998
|
|
|
@@ -1403,10 +1403,36 @@ function(
|
|
|
1403
1403
|
|
|
1404
1404
|
var oInfo = Input.prototype.getAccessibilityInfo.apply(this, arguments);
|
|
1405
1405
|
oInfo.type = oRb.getText("ACC_CTR_TYPE_MULTIINPUT");
|
|
1406
|
-
oInfo.description = ((
|
|
1406
|
+
oInfo.description = (this.getValueDescriptionInfo() + " " + sText).trim();
|
|
1407
1407
|
return oInfo;
|
|
1408
1408
|
};
|
|
1409
1409
|
|
|
1410
|
+
/**
|
|
1411
|
+
* Gets the value of the accessibility description info field.
|
|
1412
|
+
*
|
|
1413
|
+
* @protected
|
|
1414
|
+
* @override
|
|
1415
|
+
* @returns {string} The value of the accessibility description info
|
|
1416
|
+
*/
|
|
1417
|
+
MultiInput.prototype.getValueDescriptionInfo = function () {
|
|
1418
|
+
var iTokensLength = this.getTokens().length;
|
|
1419
|
+
var sDescriptionText = this.getDescription() || "";
|
|
1420
|
+
var sValue = this.getValue();
|
|
1421
|
+
|
|
1422
|
+
if (sValue) {
|
|
1423
|
+
return sValue;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
// Empty string or the description text should be set as acc description in case there are no tokens and no value.
|
|
1427
|
+
// This way the tokens will be announced as the control's value.
|
|
1428
|
+
if (iTokensLength > 0) {
|
|
1429
|
+
return sDescriptionText;
|
|
1430
|
+
} else {
|
|
1431
|
+
// "Empty" or the description text should be set as acc description in case there are no tokens and no value.
|
|
1432
|
+
return sDescriptionText ? sDescriptionText : sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("INPUTBASE_VALUE_EMPTY");
|
|
1433
|
+
}
|
|
1434
|
+
};
|
|
1435
|
+
|
|
1410
1436
|
/**
|
|
1411
1437
|
* Decorates Input
|
|
1412
1438
|
*
|
|
@@ -1660,7 +1686,7 @@ function(
|
|
|
1660
1686
|
}
|
|
1661
1687
|
|
|
1662
1688
|
iSummedIconsWidth = this._calculateIconsSpace();
|
|
1663
|
-
iTokenizerWidth =
|
|
1689
|
+
iTokenizerWidth = oTokenizer.getDomRef().scrollWidth;
|
|
1664
1690
|
oFocusDomRef.style.width = 'calc(100% - ' + Math.floor(iSummedIconsWidth + iTokenizerWidth) + "px";
|
|
1665
1691
|
};
|
|
1666
1692
|
|
|
@@ -43,7 +43,7 @@ sap.ui.define([
|
|
|
43
43
|
* @extends sap.ui.core.Control
|
|
44
44
|
*
|
|
45
45
|
* @author SAP SE
|
|
46
|
-
* @version 1.
|
|
46
|
+
* @version 1.96.3
|
|
47
47
|
*
|
|
48
48
|
* @constructor
|
|
49
49
|
* @public
|
|
@@ -1815,21 +1815,28 @@ sap.ui.define([
|
|
|
1815
1815
|
* Shows the placeholder if NavContainer is rendered.
|
|
1816
1816
|
* Otherwise, registers the 'onAfterRendering' delegate which shows the placeholder.
|
|
1817
1817
|
*
|
|
1818
|
-
* @param {object} mSettings Object containing the placeholder instance
|
|
1818
|
+
* @param {object} [mSettings] Object containing the placeholder instance.
|
|
1819
|
+
* Can be omitted if a placeholder instance is already created by <code>sap.ui.core.routing.async.Target</code>.
|
|
1820
|
+
* @param {object} [mSettings.placeholder] The placeholder instance
|
|
1819
1821
|
* @param {sap.ui.core.Placeholder} mSettings.placeholder The placeholder instance
|
|
1820
1822
|
* @return {Promise} Promise that resolves with the placeholder
|
|
1821
1823
|
*
|
|
1822
|
-
* @
|
|
1824
|
+
* @private
|
|
1825
|
+
* @ui5-restricted SAPUI5 Distribution libraries only
|
|
1823
1826
|
* @since 1.91
|
|
1824
1827
|
*/
|
|
1825
1828
|
NavContainer.prototype.showPlaceholder = function(mSettings) {
|
|
1826
1829
|
var pLoaded;
|
|
1827
1830
|
|
|
1831
|
+
if (!sap.ui.getCore().getConfiguration().getPlaceholder()) {
|
|
1832
|
+
return;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1828
1835
|
if (this._placeholder) {
|
|
1829
1836
|
this.hidePlaceholder();
|
|
1830
1837
|
}
|
|
1831
1838
|
|
|
1832
|
-
if (mSettings.placeholder) {
|
|
1839
|
+
if (mSettings && mSettings.placeholder) {
|
|
1833
1840
|
this._placeholder = mSettings.placeholder;
|
|
1834
1841
|
pLoaded = this._placeholder._load();
|
|
1835
1842
|
} else {
|
|
@@ -1848,7 +1855,8 @@ sap.ui.define([
|
|
|
1848
1855
|
/**
|
|
1849
1856
|
* Hides the placeholder and removes the 'onAfterRendering' placeholder delegate.
|
|
1850
1857
|
*
|
|
1851
|
-
* @
|
|
1858
|
+
* @private
|
|
1859
|
+
* @ui5-restricted SAP internal apps
|
|
1852
1860
|
* @since 1.91
|
|
1853
1861
|
*/
|
|
1854
1862
|
NavContainer.prototype.hidePlaceholder = function() {
|
package/src/sap/m/NewsContent.js
CHANGED
|
@@ -8,11 +8,12 @@ sap.ui.define([
|
|
|
8
8
|
'./library',
|
|
9
9
|
'sap/ui/core/Control',
|
|
10
10
|
'sap/m/Text',
|
|
11
|
+
'sap/m/FormattedText',
|
|
11
12
|
'sap/ui/Device',
|
|
12
13
|
'./NewsContentRenderer',
|
|
13
14
|
"sap/ui/events/KeyCodes"
|
|
14
15
|
],
|
|
15
|
-
function(library, Control, Text, Device, NewsContentRenderer, KeyCodes) {
|
|
16
|
+
function(library, Control, Text, FormattedText, Device, NewsContentRenderer, KeyCodes) {
|
|
16
17
|
"use strict";
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -25,7 +26,7 @@ sap.ui.define([
|
|
|
25
26
|
* @extends sap.ui.core.Control
|
|
26
27
|
*
|
|
27
28
|
* @author SAP SE
|
|
28
|
-
* @version 1.
|
|
29
|
+
* @version 1.96.3
|
|
29
30
|
* @since 1.34
|
|
30
31
|
*
|
|
31
32
|
* @public
|
|
@@ -56,7 +57,11 @@ sap.ui.define([
|
|
|
56
57
|
/**
|
|
57
58
|
* The hidden aggregation for the content text.
|
|
58
59
|
*/
|
|
59
|
-
"_contentText" : {type : "sap.m.
|
|
60
|
+
"_contentText" : {type : "sap.m.FormattedText", multiple : false, visibility : "hidden"},
|
|
61
|
+
/**
|
|
62
|
+
* The hidden aggregation for the subHeader text.
|
|
63
|
+
*/
|
|
64
|
+
"_subHeaderText" : {type : "sap.m.FormattedText", multiple : false, visibility : "hidden"}
|
|
60
65
|
},
|
|
61
66
|
events : {
|
|
62
67
|
/**
|
|
@@ -73,11 +78,10 @@ sap.ui.define([
|
|
|
73
78
|
* Init function for the control
|
|
74
79
|
*/
|
|
75
80
|
NewsContent.prototype.init = function() {
|
|
76
|
-
this._oContentText = new
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
this._oContentText.cacheLineHeight = false;
|
|
81
|
+
this._oContentText = new FormattedText(this.getId() + "-content-text");
|
|
82
|
+
this._oSubHeaderText = new FormattedText(this.getId() + "-subheader-text");
|
|
80
83
|
this.setAggregation("_contentText", this._oContentText, true);
|
|
84
|
+
this.setAggregation("_subHeaderText", this._oSubHeaderText, true);
|
|
81
85
|
this.setTooltip("{AltText}");
|
|
82
86
|
};
|
|
83
87
|
|
|
@@ -131,8 +135,8 @@ sap.ui.define([
|
|
|
131
135
|
NewsContent.prototype.getAltText = function() {
|
|
132
136
|
var sAltText = "";
|
|
133
137
|
var bIsFirst = true;
|
|
134
|
-
if (this.
|
|
135
|
-
sAltText += this.
|
|
138
|
+
if (this.getContentText()) {
|
|
139
|
+
sAltText += this.getContentText();
|
|
136
140
|
bIsFirst = false;
|
|
137
141
|
}
|
|
138
142
|
if (this.getSubheader()) {
|
|
@@ -160,10 +164,15 @@ sap.ui.define([
|
|
|
160
164
|
};
|
|
161
165
|
|
|
162
166
|
NewsContent.prototype.setContentText = function(text) {
|
|
163
|
-
this._oContentText.
|
|
167
|
+
this._oContentText.setHtmlText(text);
|
|
164
168
|
return this.setProperty("contentText", text, true);
|
|
165
169
|
};
|
|
166
170
|
|
|
171
|
+
NewsContent.prototype.setSubheader = function(text) {
|
|
172
|
+
this._oSubHeaderText.setHtmlText(text);
|
|
173
|
+
return this.setProperty("subheader", text, true);
|
|
174
|
+
};
|
|
175
|
+
|
|
167
176
|
/* --- Event Handling --- */
|
|
168
177
|
|
|
169
178
|
/**
|
|
@@ -23,7 +23,6 @@ sap.ui.define([],
|
|
|
23
23
|
* @param {sap.m.GenericTile} oControl the control to be rendered
|
|
24
24
|
*/
|
|
25
25
|
NewsContentRenderer.render = function(oRm, oControl) {
|
|
26
|
-
var sSubheader = oControl.getSubheader();
|
|
27
26
|
var sTooltip = oControl.getTooltip_AsString();
|
|
28
27
|
if (typeof sTooltip !== "string") {
|
|
29
28
|
sTooltip = "";
|
|
@@ -49,7 +48,7 @@ sap.ui.define([],
|
|
|
49
48
|
oRm.openStart("div", oControl.getId() + "-subheader");
|
|
50
49
|
oRm.class("sapMNwCSbh");
|
|
51
50
|
oRm.openEnd();
|
|
52
|
-
oRm.
|
|
51
|
+
oRm.renderControl(oControl._oSubHeaderText);
|
|
53
52
|
oRm.close("div");
|
|
54
53
|
oRm.close("div");
|
|
55
54
|
};
|
|
@@ -184,28 +184,45 @@ sap.ui.define([
|
|
|
184
184
|
oRm.class(oControl.getState());
|
|
185
185
|
oRm.openEnd();
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
oRm.
|
|
194
|
-
|
|
195
|
-
|
|
187
|
+
if (oControl.getState() === LoadState.Loading) {
|
|
188
|
+
oRm.openStart("div").class("sapMNCContentShimmerPlaceholderItem");
|
|
189
|
+
oRm.openEnd();
|
|
190
|
+
oRm.openStart("div")
|
|
191
|
+
.class("sapMNCContentShimmerPlaceholderRows")
|
|
192
|
+
.openEnd();
|
|
193
|
+
oRm.openStart("div")
|
|
194
|
+
.class("sapMNCContentShimmerPlaceholderItemHeader")
|
|
195
|
+
.class("sapMNCLoadingShimmer")
|
|
196
|
+
.openEnd()
|
|
197
|
+
.close("div");
|
|
196
198
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
oRm.
|
|
199
|
+
oRm.close("div");
|
|
200
|
+
oRm.close("div");
|
|
201
|
+
oRm.close("div");
|
|
200
202
|
} else {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
+
var oMaxDigitsData = oControl._getMaxDigitsData();
|
|
204
|
+
this._prepareAndRenderIcon(oRm, oControl, oControl._oIcon, oMaxDigitsData.fontClass);
|
|
203
205
|
|
|
204
|
-
|
|
206
|
+
var iChar = oControl.getTruncateValueTo() || oMaxDigitsData.maxLength;
|
|
207
|
+
oRm.openStart("span" , oControl.getId() + "-value-inner");
|
|
208
|
+
if (oMaxDigitsData.fontClass) {
|
|
209
|
+
oRm.class(oMaxDigitsData.fontClass);
|
|
210
|
+
}
|
|
211
|
+
oRm.openEnd();
|
|
205
212
|
|
|
206
|
-
|
|
213
|
+
//Control shows only iChar characters. If the last shown character is decimal separator - show only first N-1 characters. So "144.5" is shown like "144" and not like "144.".
|
|
214
|
+
if (sValue.length >= iChar && (sValue[iChar - 1] === "." || sValue[iChar - 1] === ",")) {
|
|
215
|
+
oRm.text(sValue.substring(0, iChar - 1));
|
|
216
|
+
} else {
|
|
217
|
+
oRm.text(sValue ? sValue.substring(0, iChar) : sEmptyValue);
|
|
218
|
+
}
|
|
207
219
|
|
|
208
|
-
|
|
220
|
+
oRm.close("span");
|
|
221
|
+
|
|
222
|
+
this._renderScaleAndIndicator(oRm, oControl, sWithoutMargin, sValue, sScale, oMaxDigitsData.fontClass);
|
|
223
|
+
|
|
224
|
+
oRm.close("div");
|
|
225
|
+
}
|
|
209
226
|
};
|
|
210
227
|
|
|
211
228
|
return NumericContentRenderer;
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
sap.ui.define([
|
|
8
|
+
"./InputBase",
|
|
9
|
+
"./Input",
|
|
10
|
+
"./NumericInputRenderer",
|
|
11
|
+
"./library",
|
|
12
|
+
"sap/ui/core/format/NumberFormat",
|
|
13
|
+
"sap/ui/Device",
|
|
14
|
+
"sap/ui/events/KeyCodes",
|
|
15
|
+
"sap/ui/dom/jquery/cursorPos"],
|
|
16
|
+
function(
|
|
17
|
+
InputBase,
|
|
18
|
+
Input,
|
|
19
|
+
NumericInputRenderer,
|
|
20
|
+
library,
|
|
21
|
+
NumberFormat,
|
|
22
|
+
Device,
|
|
23
|
+
KeyCodes) {
|
|
24
|
+
"use strict";
|
|
25
|
+
|
|
26
|
+
var InputType = library.InputType;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Constructor for a new <code>sap.m.NumericInput</code>.
|
|
30
|
+
* Only used inside a StepInput control.
|
|
31
|
+
*
|
|
32
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
33
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
34
|
+
*
|
|
35
|
+
* @class
|
|
36
|
+
* The <code>sap.m.NumericInput</code> control provides functionality for a editing numbers.
|
|
37
|
+
*
|
|
38
|
+
* @extends sap.m.Input
|
|
39
|
+
*
|
|
40
|
+
* @author SAP SE
|
|
41
|
+
* @version 1.96.3
|
|
42
|
+
*
|
|
43
|
+
* @constructor
|
|
44
|
+
* @private
|
|
45
|
+
* @since 1.97.0
|
|
46
|
+
* @alias sap.m.NumericInput
|
|
47
|
+
*/
|
|
48
|
+
var NumericInput = Input.extend("sap.m.NumericInput", {
|
|
49
|
+
metadata: {
|
|
50
|
+
library: "sap.m"
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
NumericInput.prototype.onBeforeRendering = function() {
|
|
55
|
+
InputBase.prototype.onBeforeRendering.call(this);
|
|
56
|
+
|
|
57
|
+
// The Input is handling its width in its onBeforeRendering method - if noting is set, the width is 100%.
|
|
58
|
+
// As the NumericInput is using the InputBase's onBeforeRendering method, the width must be handled here too.
|
|
59
|
+
// The real width of the StepInput is handled from its width property, so the NumericInput's width should be 100%.
|
|
60
|
+
this.setWidth("100%");
|
|
61
|
+
|
|
62
|
+
this._deregisterEvents();
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
NumericInput.prototype.setValue = function(sValue) {
|
|
66
|
+
Input.prototype.setValue.apply(this, arguments);
|
|
67
|
+
|
|
68
|
+
if (this.getDomRef()) {
|
|
69
|
+
this.getDomRef("inner").setAttribute("aria-valuenow", sValue);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return this;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
NumericInput.prototype.setType = function(sType) {
|
|
76
|
+
return Input.prototype.setType.call(this, InputType.Number);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
NumericInput.prototype.onkeydown = function(oEvent) {
|
|
80
|
+
var sTypedValue,
|
|
81
|
+
iCursorPos,
|
|
82
|
+
fParsedValue;
|
|
83
|
+
|
|
84
|
+
Input.prototype.onkeydown.apply(this, arguments);
|
|
85
|
+
|
|
86
|
+
if (!Device.system.desktop
|
|
87
|
+
|| oEvent.ctrlKey
|
|
88
|
+
|| oEvent.metaKey
|
|
89
|
+
|| (oEvent.originalEvent.key && oEvent.originalEvent.key.length !== 1)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
iCursorPos = this._$input.cursorPos();
|
|
94
|
+
|
|
95
|
+
// a special key that is meant to be a decimal separator, always
|
|
96
|
+
// so replace in the input if needed
|
|
97
|
+
if (oEvent.which === KeyCodes.NUMPAD_COMMA) {
|
|
98
|
+
oEvent.preventDefault();
|
|
99
|
+
|
|
100
|
+
sTypedValue = this.getValue().substring(0, iCursorPos) + this._getNumberFormat().oFormatOptions.decimalSeparator + this.getValue().substring(iCursorPos);
|
|
101
|
+
fParsedValue = this._getNumberFormat().parse(sTypedValue);
|
|
102
|
+
if (fParsedValue || fParsedValue === 0) {
|
|
103
|
+
this.setDOMValue(sTypedValue);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
sTypedValue = this.getValue().substring(0, iCursorPos) + oEvent.originalEvent.key + this.getValue().substring(iCursorPos);
|
|
110
|
+
fParsedValue = this._getNumberFormat().parse(sTypedValue);
|
|
111
|
+
if (!isKeyAllowed(oEvent.which) || (!fParsedValue && fParsedValue !== 0)) {
|
|
112
|
+
oEvent.preventDefault();
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var aNotAllowedKeyCodeRanges = [
|
|
117
|
+
[KeyCodes.A, KeyCodes.Z],
|
|
118
|
+
[KeyCodes.OPEN_BRACKET, KeyCodes.OPEN_BRACKET],
|
|
119
|
+
[KeyCodes.PIPE, KeyCodes.SEMICOLON],
|
|
120
|
+
[KeyCodes.GREAT_ACCENT, KeyCodes.BACKSLASH]
|
|
121
|
+
];
|
|
122
|
+
|
|
123
|
+
function isKeyAllowed(iKeyCode) {
|
|
124
|
+
return Object.values(KeyCodes).includes(iKeyCode) && !aNotAllowedKeyCodeRanges.some(function(aRange) {
|
|
125
|
+
return iKeyCode >= aRange[0] && iKeyCode <= aRange[1];
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
NumericInput.prototype._getNumberFormat = function() {
|
|
130
|
+
if (!this._oNumberFormat) {
|
|
131
|
+
this._oNumberFormat = NumberFormat.getFloatInstance();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return this._oNumberFormat;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
return NumericInput;
|
|
138
|
+
});
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
sap.ui.define(["sap/ui/core/Renderer", "./InputRenderer", "sap/ui/Device", "sap/ui/core/LabelEnablement"],
|
|
8
|
+
function(Renderer, InputRenderer, Device, LabelEnablement) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* NumericInput renderer.
|
|
13
|
+
*
|
|
14
|
+
* NumericInputRenderer extends the InputRenderer.
|
|
15
|
+
*
|
|
16
|
+
* @namespace
|
|
17
|
+
*/
|
|
18
|
+
var NumericInputRenderer = Renderer.extend(InputRenderer);
|
|
19
|
+
NumericInputRenderer.apiVersion = 2;
|
|
20
|
+
|
|
21
|
+
NumericInputRenderer.writeInnerAttributes = function(oRm, oControl) {
|
|
22
|
+
var oStepInput = oControl.getParent(),
|
|
23
|
+
mAccAttributes = this.getAccessibilityState(oControl);
|
|
24
|
+
|
|
25
|
+
oRm.attr("type", Device.system.desktop ? "text" : "number");
|
|
26
|
+
|
|
27
|
+
// inside the Input this function also sets explicitly textAlign to "End" if the type
|
|
28
|
+
// of the Input is Numeric (our case)
|
|
29
|
+
// so we have to overwrite it by leaving only the text direction
|
|
30
|
+
// and the textAlign will be controlled by textAlign property of the StepInput
|
|
31
|
+
|
|
32
|
+
if (sap.ui.getCore().getConfiguration().getRTL()) {
|
|
33
|
+
oRm.attr("dir", "ltr");
|
|
34
|
+
}
|
|
35
|
+
// prevent rendering of aria-disabled attribute to avoid having
|
|
36
|
+
// both aria-disabled and disabled at the same time
|
|
37
|
+
mAccAttributes.disabled = null;
|
|
38
|
+
|
|
39
|
+
if (NumericInputRenderer._isStepInput(oStepInput)) {
|
|
40
|
+
oRm.accessibilityState(oStepInput, mAccAttributes);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
//Accessibility behavior of the Input needs to be extended
|
|
45
|
+
/**
|
|
46
|
+
* Overwrites the accessibility state using the <code>getAccessibilityState</code> method of the <code>InputBaseRenderer</code>.
|
|
47
|
+
*
|
|
48
|
+
* @param {NumericInput} oNumericInput The numeric input instance
|
|
49
|
+
* @returns {Array} mAccessibilityState
|
|
50
|
+
*/
|
|
51
|
+
NumericInputRenderer.getAccessibilityState = function(oNumericInput) {
|
|
52
|
+
var mAccessibilityState = InputRenderer.getAccessibilityState(oNumericInput),
|
|
53
|
+
fMin,
|
|
54
|
+
fMax,
|
|
55
|
+
fNow,
|
|
56
|
+
sDescription,
|
|
57
|
+
aAriaLabelledByRefs,
|
|
58
|
+
aReferencingLabels,
|
|
59
|
+
sDescribedBy,
|
|
60
|
+
sResultingLabelledBy,
|
|
61
|
+
oStepInput = oNumericInput.getParent(),
|
|
62
|
+
sValue = oNumericInput.getValue();
|
|
63
|
+
|
|
64
|
+
if (!NumericInputRenderer._isStepInput(oStepInput)) {
|
|
65
|
+
return mAccessibilityState;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
fMin = oStepInput._getMin();
|
|
69
|
+
fMax = oStepInput._getMax();
|
|
70
|
+
fNow = oStepInput.getValue();
|
|
71
|
+
sDescription = oStepInput.getDescription();
|
|
72
|
+
aAriaLabelledByRefs = oStepInput.getAriaLabelledBy();
|
|
73
|
+
// If we don't check this manually, we won't have the labels, which were referencing SI,
|
|
74
|
+
// in aria-labelledby (which normally comes out of the box). This is because writeAccessibilityState
|
|
75
|
+
// is called for NumericInput, while any labels will be for the parent StepInput.
|
|
76
|
+
aReferencingLabels = LabelEnablement.getReferencingLabels(oStepInput);
|
|
77
|
+
sDescribedBy = oStepInput.getAriaDescribedBy().join(" ");
|
|
78
|
+
|
|
79
|
+
mAccessibilityState.valuenow = fNow;
|
|
80
|
+
|
|
81
|
+
if (Device.system.desktop && sValue) {
|
|
82
|
+
mAccessibilityState.valuetext = sValue;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (sDescription) {
|
|
86
|
+
// If there is a description, we should add a reference to it in the aria-labelledby
|
|
87
|
+
aAriaLabelledByRefs.push(oStepInput._getInput().getId() + "-descr");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
sResultingLabelledBy = aReferencingLabels.concat(aAriaLabelledByRefs).join(" ");
|
|
91
|
+
|
|
92
|
+
if (typeof fMin === "number") {
|
|
93
|
+
mAccessibilityState.valuemin = fMin;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (typeof fMax === "number") {
|
|
97
|
+
mAccessibilityState.valuemax = fMax;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (!oStepInput.getEditable()) {
|
|
101
|
+
mAccessibilityState.readonly = true;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (sDescribedBy) {
|
|
105
|
+
mAccessibilityState.describedby = sDescribedBy;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (sResultingLabelledBy) {
|
|
109
|
+
mAccessibilityState.labelledby = sResultingLabelledBy;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return mAccessibilityState;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
NumericInputRenderer._isStepInput = function(oControl) {
|
|
116
|
+
return oControl && oControl.getMetadata().getName() === "sap.m.StepInput";
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
return NumericInputRenderer;
|
|
120
|
+
});
|
|
@@ -13,9 +13,10 @@ sap.ui.define([
|
|
|
13
13
|
'sap/ui/events/KeyCodes',
|
|
14
14
|
'./ObjectAttributeRenderer',
|
|
15
15
|
'sap/base/Log',
|
|
16
|
+
'sap/ui/base/ManagedObjectObserver',
|
|
16
17
|
'sap/ui/core/Core'
|
|
17
18
|
],
|
|
18
|
-
function(library, Control, coreLibrary, Text, KeyCodes, ObjectAttributeRenderer, Log, Core) {
|
|
19
|
+
function(library, Control, coreLibrary, Text, KeyCodes, ObjectAttributeRenderer, Log, ManagedObjectObserver, Core) {
|
|
19
20
|
"use strict";
|
|
20
21
|
|
|
21
22
|
// shortcut for sap.ui.core.TextDirection
|
|
@@ -38,7 +39,7 @@ function(library, Control, coreLibrary, Text, KeyCodes, ObjectAttributeRenderer,
|
|
|
38
39
|
* <code>text</code> property is styled and acts as a link. In this case the <code>text</code>
|
|
39
40
|
* property must also be set, as otherwise there will be no link displayed for the user.
|
|
40
41
|
* @extends sap.ui.core.Control
|
|
41
|
-
* @version 1.
|
|
42
|
+
* @version 1.96.3
|
|
42
43
|
*
|
|
43
44
|
* @constructor
|
|
44
45
|
* @public
|
|
@@ -116,13 +117,24 @@ function(library, Control, coreLibrary, Text, KeyCodes, ObjectAttributeRenderer,
|
|
|
116
117
|
this.setAggregation('_textControl', new Text());
|
|
117
118
|
};
|
|
118
119
|
|
|
120
|
+
ObjectAttribute.prototype.exit = function() {
|
|
121
|
+
if (this._oCustomContentObserver) {
|
|
122
|
+
this._oCustomContentObserver.disconnect();
|
|
123
|
+
this._oCustomContentObserver = null;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (this._oCustomContentCloning) {
|
|
127
|
+
this._oCustomContentCloning.destroy();
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
119
131
|
/**
|
|
120
132
|
* Delivers text control with updated title, text and maxLines properties.
|
|
121
133
|
*
|
|
122
134
|
* @private
|
|
123
135
|
*/
|
|
124
136
|
ObjectAttribute.prototype._getUpdatedTextControl = function() {
|
|
125
|
-
var oAttrAggregation = this.
|
|
137
|
+
var oAttrAggregation = this._oCustomContentCloning || this.getAggregation('_textControl'),
|
|
126
138
|
sTitle = this.getTitle(),
|
|
127
139
|
sText = this.getAggregation('customContent') ? this.getAggregation('customContent').getText() : this.getText(),
|
|
128
140
|
sTextDir = this.getTextDirection(),
|
|
@@ -280,11 +292,40 @@ function(library, Control, coreLibrary, Text, KeyCodes, ObjectAttributeRenderer,
|
|
|
280
292
|
};
|
|
281
293
|
|
|
282
294
|
ObjectAttribute.prototype.setCustomContent = function(oCustomContent) {
|
|
283
|
-
|
|
284
|
-
|
|
295
|
+
var oCurrentCustomContent = this.getCustomContent(),
|
|
296
|
+
fnGetTabIndex = function() {
|
|
285
297
|
return "-1";
|
|
286
298
|
};
|
|
299
|
+
|
|
300
|
+
//for the cases where the original custom content is rendered
|
|
301
|
+
if (oCustomContent && oCustomContent.isA('sap.m.Link')) {
|
|
302
|
+
oCustomContent._getTabindex = fnGetTabIndex;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// clone the new aggregation, but first destroy the previous cloning
|
|
306
|
+
if (this._oCustomContentCloning) {
|
|
307
|
+
this._oCustomContentCloning.destroy();
|
|
308
|
+
}
|
|
309
|
+
this._oCustomContentCloning = oCustomContent && oCustomContent.clone();
|
|
310
|
+
|
|
311
|
+
if (this._oCustomContentCloning && this._oCustomContentCloning.isA('sap.m.Link')) {
|
|
312
|
+
this._oCustomContentCloning._getTabindex = fnGetTabIndex;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
if (!this._oCustomContentObserver) {
|
|
316
|
+
this._oCustomContentObserver = new ManagedObjectObserver(function() {
|
|
317
|
+
this.invalidate();
|
|
318
|
+
}.bind(this));
|
|
287
319
|
}
|
|
320
|
+
|
|
321
|
+
// do not listen for property changes on the old control
|
|
322
|
+
if (oCurrentCustomContent) {
|
|
323
|
+
this._oCustomContentObserver.unobserve(oCurrentCustomContent);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// listen on the new one
|
|
327
|
+
oCustomContent && this._oCustomContentObserver.observe(oCustomContent, { properties: true });
|
|
328
|
+
|
|
288
329
|
return this.setAggregation('customContent', oCustomContent);
|
|
289
330
|
};
|
|
290
331
|
|