@openui5/sap.m 1.94.0 → 1.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.reuse/dep5 +12 -12
- package/THIRDPARTY.txt +21 -17
- 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 +10 -2
- package/src/sap/m/AvatarRenderer.js +3 -0
- package/src/sap/m/Bar.js +13 -7
- package/src/sap/m/Breadcrumbs.js +2 -2
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +34 -1
- package/src/sap/m/Carousel.js +11 -3
- 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 +6 -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 +39 -6
- package/src/sap/m/ComboBoxBase.js +125 -16
- package/src/sap/m/ComboBoxRenderer.js +25 -9
- package/src/sap/m/ComboBoxTextField.js +21 -7
- 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 +72 -18
- package/src/sap/m/DatePickerRenderer.js +14 -1
- 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 +53 -60
- package/src/sap/m/Dialog.js +35 -49
- package/src/sap/m/DialogRenderer.js +1 -1
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +1 -1
- package/src/sap/m/DynamicDateFormat.js +5 -5
- package/src/sap/m/DynamicDateOption.js +3 -2
- package/src/sap/m/DynamicDateRange.js +20 -8
- package/src/sap/m/DynamicDateUtil.js +14 -9
- 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 +8 -1
- package/src/sap/m/GenericTagRenderer.js +1 -1
- package/src/sap/m/GenericTile.js +236 -56
- package/src/sap/m/GenericTileRenderer.js +229 -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 +8 -1
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +2 -2
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +25 -6
- 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 +67 -16
- package/src/sap/m/InputBase.js +96 -14
- 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 +2 -2
- package/src/sap/m/ListItemBase.js +12 -4
- 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 +7 -1
- package/src/sap/m/MenuButtonRenderer.js +1 -0
- 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 +35 -6
- package/src/sap/m/MessagePopover.js +1 -4
- 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 +16 -27
- package/src/sap/m/MultiComboBox.js +412 -150
- package/src/sap/m/MultiComboBoxRenderer.js +4 -0
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +78 -6
- 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/NotificationListGroupRenderer.js +1 -0
- 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/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 +19 -2
- package/src/sap/m/ObjectNumber.js +1 -1
- package/src/sap/m/ObjectNumberRenderer.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 +10 -6
- 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 +4 -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 +14 -5
- 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 +70 -35
- package/src/sap/m/PlanningCalendarHeader.js +5 -8
- package/src/sap/m/PlanningCalendarLegend.js +25 -10
- package/src/sap/m/PlanningCalendarLegendRenderer.js +2 -7
- package/src/sap/m/PlanningCalendarRow.js +8 -3
- 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 +10 -8
- 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 +31 -19
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/SegmentedButtonRenderer.js +6 -0
- package/src/sap/m/Select.js +34 -13
- 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 +9 -17
- 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 +29 -34
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +34 -22
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +7 -8
- 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 +31 -3
- package/src/sap/m/SlideTileRenderer.js +9 -0
- 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 +98 -69
- package/src/sap/m/StandardListItem.js +33 -21
- package/src/sap/m/StandardListItemRenderer.js +21 -9
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +17 -12
- package/src/sap/m/Suggest.js +25 -25
- 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 +33 -3
- package/src/sap/m/TabStrip.js +1 -1
- package/src/sap/m/TabStripItem.js +11 -15
- package/src/sap/m/TabStripRenderer.js +1 -1
- package/src/sap/m/Table.js +4 -3
- 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 +1 -1
- package/src/sap/m/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +2 -2
- 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 +45 -6
- package/src/sap/m/TimePickerClock.js +2 -2
- package/src/sap/m/TimePickerClocks.js +1 -1
- package/src/sap/m/TimePickerInputs.js +3 -3
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerRenderer.js +4 -0
- package/src/sap/m/TimePickerSlider.js +2 -2
- 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/ToggleButtonRenderer.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 +1 -1
- package/src/sap/m/UploadCollection.js +2 -7
- 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 +18 -6
- 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 +2 -2
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +18 -8
- 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 +98 -0
- package/src/sap/m/changeHandler/SplitMenuButton.js +5 -2
- 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 +86 -2
- package/src/sap/m/designtime/IconTabBarSelectTab.fragment.xml +17 -0
- package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
- package/src/sap/m/designtime/messagebundle.properties +9 -0
- package/src/sap/m/designtime/messagebundle_ar.properties +6 -0
- package/src/sap/m/designtime/messagebundle_bg.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ca.properties +6 -0
- package/src/sap/m/designtime/messagebundle_cs.properties +6 -0
- package/src/sap/m/designtime/messagebundle_cy.properties +6 -0
- package/src/sap/m/designtime/messagebundle_da.properties +6 -0
- package/src/sap/m/designtime/messagebundle_de.properties +8 -2
- package/src/sap/m/designtime/messagebundle_el.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_GB.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es_MX.properties +6 -0
- package/src/sap/m/designtime/messagebundle_et.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fr_CA.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hu.properties +6 -0
- package/src/sap/m/designtime/messagebundle_id.properties +6 -0
- package/src/sap/m/designtime/messagebundle_it.properties +6 -0
- package/src/sap/m/designtime/messagebundle_iw.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ja.properties +6 -0
- package/src/sap/m/designtime/messagebundle_kk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ko.properties +6 -0
- package/src/sap/m/designtime/messagebundle_lt.properties +6 -0
- package/src/sap/m/designtime/messagebundle_lv.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ms.properties +6 -0
- package/src/sap/m/designtime/messagebundle_nl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_no.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pt.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pt_PT.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ro.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ru.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sh.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sv.properties +6 -0
- package/src/sap/m/designtime/messagebundle_th.properties +6 -0
- package/src/sap/m/designtime/messagebundle_tr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_uk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_vi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_zh_CN.properties +6 -0
- package/src/sap/m/designtime/messagebundle_zh_TW.properties +6 -0
- package/src/sap/m/flexibility/IconTabBar.flexibility.js +21 -0
- 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 +122 -35
- package/src/sap/m/messagebundle.properties +83 -5
- package/src/sap/m/messagebundle_ar.properties +64 -2
- package/src/sap/m/messagebundle_bg.properties +64 -2
- package/src/sap/m/messagebundle_ca.properties +69 -7
- package/src/sap/m/messagebundle_cs.properties +75 -13
- package/src/sap/m/messagebundle_cy.properties +64 -2
- package/src/sap/m/messagebundle_da.properties +64 -2
- package/src/sap/m/messagebundle_de.properties +64 -2
- package/src/sap/m/messagebundle_el.properties +64 -2
- package/src/sap/m/messagebundle_en.properties +64 -2
- package/src/sap/m/messagebundle_en_GB.properties +64 -2
- package/src/sap/m/messagebundle_en_US_sappsd.properties +65 -3
- package/src/sap/m/messagebundle_en_US_saptrc.properties +65 -3
- package/src/sap/m/messagebundle_es.properties +67 -5
- package/src/sap/m/messagebundle_es_MX.properties +65 -3
- package/src/sap/m/messagebundle_et.properties +64 -2
- package/src/sap/m/messagebundle_fi.properties +64 -2
- package/src/sap/m/messagebundle_fr.properties +84 -22
- package/src/sap/m/messagebundle_fr_CA.properties +65 -3
- package/src/sap/m/messagebundle_hi.properties +64 -2
- package/src/sap/m/messagebundle_hr.properties +64 -2
- package/src/sap/m/messagebundle_hu.properties +64 -2
- package/src/sap/m/messagebundle_id.properties +65 -3
- package/src/sap/m/messagebundle_it.properties +70 -8
- package/src/sap/m/messagebundle_iw.properties +64 -2
- package/src/sap/m/messagebundle_ja.properties +64 -2
- package/src/sap/m/messagebundle_kk.properties +64 -2
- package/src/sap/m/messagebundle_ko.properties +65 -3
- package/src/sap/m/messagebundle_lt.properties +64 -2
- package/src/sap/m/messagebundle_lv.properties +64 -2
- package/src/sap/m/messagebundle_ms.properties +65 -3
- package/src/sap/m/messagebundle_nl.properties +65 -3
- package/src/sap/m/messagebundle_no.properties +76 -14
- package/src/sap/m/messagebundle_pl.properties +68 -6
- package/src/sap/m/messagebundle_pt.properties +67 -5
- package/src/sap/m/messagebundle_pt_PT.properties +65 -3
- package/src/sap/m/messagebundle_ro.properties +70 -8
- package/src/sap/m/messagebundle_ru.properties +66 -4
- package/src/sap/m/messagebundle_sh.properties +66 -4
- package/src/sap/m/messagebundle_sk.properties +64 -2
- package/src/sap/m/messagebundle_sl.properties +64 -2
- package/src/sap/m/messagebundle_sv.properties +64 -2
- package/src/sap/m/messagebundle_th.properties +64 -2
- package/src/sap/m/messagebundle_tr.properties +64 -2
- package/src/sap/m/messagebundle_uk.properties +71 -9
- package/src/sap/m/messagebundle_vi.properties +65 -3
- package/src/sap/m/messagebundle_zh_CN.properties +64 -2
- package/src/sap/m/messagebundle_zh_TW.properties +64 -2
- package/src/sap/m/p13n/AbstractContainer.js +286 -0
- package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
- package/src/sap/m/p13n/BasePanel.js +644 -0
- package/src/sap/m/p13n/Container.js +301 -0
- package/src/sap/m/p13n/GroupPanel.js +121 -0
- package/src/sap/m/p13n/Popup.js +358 -0
- package/src/sap/m/p13n/QueryPanel.js +316 -0
- package/src/sap/m/p13n/SelectionPanel.js +403 -0
- package/src/sap/m/p13n/SortPanel.js +141 -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 +9 -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/ActionItem.js +69 -0
- package/src/sap/m/table/ColumnMenu.js +377 -0
- package/src/sap/m/table/ColumnMenuEntry.js +101 -0
- package/src/sap/m/table/ColumnMenuRenderer.js +82 -0
- package/src/sap/m/table/Item.js +130 -0
- package/src/sap/m/table/ItemBase.js +153 -0
- package/src/sap/m/table/QuickAction.js +53 -0
- package/src/sap/m/table/QuickActionBase.js +53 -0
- package/src/sap/m/table/Util.js +192 -0
- package/src/sap/m/themes/base/AbstractContainer.less +32 -0
- package/src/sap/m/themes/base/Breadcrumbs.less +2 -2
- package/src/sap/m/themes/base/Carousel.less +37 -2
- package/src/sap/m/themes/base/ColumnListItem.less +2 -2
- package/src/sap/m/themes/base/ColumnMenu.less +41 -0
- package/src/sap/m/themes/base/ComboBox.less +2 -2
- package/src/sap/m/themes/base/ComboBoxBase.less +20 -0
- package/src/sap/m/themes/base/DatePicker.less +4 -0
- package/src/sap/m/themes/base/DateTimePicker.less +20 -1
- package/src/sap/m/themes/base/Dialog.less +12 -12
- package/src/sap/m/themes/base/GenericTile.less +464 -18
- package/src/sap/m/themes/base/IconTabBar.less +17 -16
- package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
- package/src/sap/m/themes/base/Input.less +2 -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/ListBase.less +7 -5
- package/src/sap/m/themes/base/ListItemBase.less +4 -2
- package/src/sap/m/themes/base/MessageView.less +4 -0
- package/src/sap/m/themes/base/MultiComboBox.less +19 -2
- 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/ObjectAttribute.less +3 -4
- package/src/sap/m/themes/base/ObjectNumber.less +10 -2
- package/src/sap/m/themes/base/ObjectStatus.less +14 -0
- package/src/sap/m/themes/base/P13nContainer.less +17 -0
- package/src/sap/m/themes/base/P13nDialog.less +1 -1
- package/src/sap/m/themes/base/ProgressIndicator.less +3 -2
- package/src/sap/m/themes/base/ScrollContainer.less +1 -3
- 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/Select.less +2 -1
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +17 -18
- package/src/sap/m/themes/base/SlideTile.less +15 -0
- package/src/sap/m/themes/base/StandardListItem.less +6 -1
- package/src/sap/m/themes/base/Table.less +16 -27
- package/src/sap/m/themes/base/Text.less +6 -0
- package/src/sap/m/themes/base/TextArea.less +2 -2
- package/src/sap/m/themes/base/TileContent.less +20 -0
- package/src/sap/m/themes/base/TimePicker.less +3 -0
- package/src/sap/m/themes/base/Token.less +0 -3
- package/src/sap/m/themes/base/ValueStateHeader.less +1 -3
- package/src/sap/m/themes/base/ViewSettingsDialog.less +5 -5
- package/src/sap/m/themes/base/WizardProgressNavigator.less +1 -1
- package/src/sap/m/themes/base/library.source.less +5 -0
- package/src/sap/m/themes/base/p13n.Container.less +21 -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/ComboBox.less +9 -0
- package/src/sap/m/themes/sap_hcb/Input.less +4 -0
- package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
- package/src/sap/m/themes/sap_hcb/MultiComboBox.less +8 -0
- package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +3 -0
- package/src/sap/m/themes/sap_hcb/WizardProgressNavigator.less +0 -4
- package/src/sap/m/themes/sap_hcb/library.source.less +2 -0
- package/src/sap/m/upload/UploadSet.js +16 -19
- package/src/sap/m/upload/UploadSetItem.js +22 -2
- package/ui5.yaml +4 -1
- package/src/sap/m/ios7.js +0 -199
package/src/sap/m/Input.js
CHANGED
|
@@ -159,7 +159,7 @@ function(
|
|
|
159
159
|
*
|
|
160
160
|
* @extends sap.m.InputBase
|
|
161
161
|
* @author SAP SE
|
|
162
|
-
* @version 1.
|
|
162
|
+
* @version 1.97.0
|
|
163
163
|
*
|
|
164
164
|
* @constructor
|
|
165
165
|
* @public
|
|
@@ -328,7 +328,13 @@ function(
|
|
|
328
328
|
* Specifies whether the clear icon should be shown/hidden on user interaction.
|
|
329
329
|
* @private
|
|
330
330
|
*/
|
|
331
|
-
effectiveShowClearIcon: { type: "boolean", defaultValue: false, visibility: "hidden" }
|
|
331
|
+
effectiveShowClearIcon: { type: "boolean", defaultValue: false, visibility: "hidden" },
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Specifies whether to display separators in tabular suggestions.
|
|
335
|
+
* @private
|
|
336
|
+
*/
|
|
337
|
+
separateSuggestions: { type: "boolean", defaultValue: false, visibility: "hidden" }
|
|
332
338
|
},
|
|
333
339
|
defaultAggregation : "suggestionItems",
|
|
334
340
|
aggregations : {
|
|
@@ -586,6 +592,10 @@ function(
|
|
|
586
592
|
// indicates whether input is clicked (on mobile) or the clear button
|
|
587
593
|
// used for identifying whether dialog should be open.
|
|
588
594
|
this._bClearButtonPressed = false;
|
|
595
|
+
|
|
596
|
+
// indicates whether input's popover has finished opening
|
|
597
|
+
// we asume that after open its content has been rendered => we don't have the power user scenario
|
|
598
|
+
this._bAfterOpenFinisihed = false;
|
|
589
599
|
};
|
|
590
600
|
|
|
591
601
|
/**
|
|
@@ -627,7 +637,7 @@ function(
|
|
|
627
637
|
Input.prototype.onBeforeRendering = function() {
|
|
628
638
|
var sSelectedKey = this.getSelectedKey(),
|
|
629
639
|
bShowValueHelpIcon = this.getShowValueHelp() && this.getEnabled() && this.getEditable(),
|
|
630
|
-
bShowClearIcon = this.
|
|
640
|
+
bShowClearIcon = this.getProperty("effectiveShowClearIcon") && this.getEnabled() && this.getEditable(),
|
|
631
641
|
oIcon = this._oValueHelpIcon,
|
|
632
642
|
oSuggestionsPopover = this._getSuggestionsPopover(),
|
|
633
643
|
bSuggestionsPopoverIsOpen = oSuggestionsPopover && this._isSuggestionsPopoverOpen(),
|
|
@@ -637,13 +647,15 @@ function(
|
|
|
637
647
|
|
|
638
648
|
InputBase.prototype.onBeforeRendering.call(this);
|
|
639
649
|
|
|
640
|
-
if (
|
|
641
|
-
this._getClearIcon().setProperty("visible",
|
|
650
|
+
if (this.getShowClearIcon()) {
|
|
651
|
+
this._getClearIcon().setProperty("visible", bShowClearIcon);
|
|
652
|
+
} else if (this._oClearButton) {
|
|
653
|
+
this._getClearIcon().setProperty("visible", false);
|
|
642
654
|
}
|
|
643
655
|
|
|
644
656
|
this._deregisterEvents();
|
|
645
657
|
|
|
646
|
-
if (sSelectedKey) {
|
|
658
|
+
if (sSelectedKey && !this.getSelectedItem() && this.getSuggestionItemByKey(sSelectedKey)) {
|
|
647
659
|
this.setSelectedKey(sSelectedKey);
|
|
648
660
|
}
|
|
649
661
|
|
|
@@ -1461,7 +1473,7 @@ function(
|
|
|
1461
1473
|
// There's no typeahead for mobile devices.
|
|
1462
1474
|
// If the popup has been focused, then the list would take care of that functionality.
|
|
1463
1475
|
// There should be a matching item (proposed text in order to continue)
|
|
1464
|
-
if (!this.isMobileDevice() && this._sProposedItemText) {
|
|
1476
|
+
if (!this.isMobileDevice() && this._sProposedItemText && !this._bAfterOpenFinisihed) {
|
|
1465
1477
|
// Update selections for poweruser
|
|
1466
1478
|
var oSelectedItem = this.getSuggestionItems()
|
|
1467
1479
|
.filter(function (oItem) {
|
|
@@ -1738,8 +1750,6 @@ function(
|
|
|
1738
1750
|
// always focus input field when typing in it
|
|
1739
1751
|
this.addStyleClass("sapMFocus");
|
|
1740
1752
|
|
|
1741
|
-
this.setProperty("effectiveShowClearIcon", !!sValue);
|
|
1742
|
-
|
|
1743
1753
|
// No need to fire suggest event when suggestion feature isn't enabled or runs on the phone.
|
|
1744
1754
|
// Because suggest event should only be fired by the input in dialog when runs on the phone.
|
|
1745
1755
|
if (this.getShowSuggestion() && !this.isMobileDevice()) {
|
|
@@ -1765,6 +1775,18 @@ function(
|
|
|
1765
1775
|
this._bDoTypeAhead = !Device.os.android && this.getAutocomplete() && (oEvent.which !== KeyCodes.BACKSPACE) && (oEvent.which !== KeyCodes.DELETE);
|
|
1766
1776
|
};
|
|
1767
1777
|
|
|
1778
|
+
Input.prototype.onkeyup = function (oEvent) {
|
|
1779
|
+
var sValue = this.getValue();
|
|
1780
|
+
var sLastValue = this.getLastValue();
|
|
1781
|
+
|
|
1782
|
+
if ([KeyCodes.BACKSPACE, KeyCodes.DELETE].indexOf(oEvent.which) !== -1 && !sValue) {
|
|
1783
|
+
this.getShowSuggestion() && this.setSelectedKey(null);
|
|
1784
|
+
(sLastValue !== sValue) && this.setLastValue(sLastValue);
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
this.getShowClearIcon() && this.setProperty("effectiveShowClearIcon", !!sValue);
|
|
1788
|
+
};
|
|
1789
|
+
|
|
1768
1790
|
/**
|
|
1769
1791
|
* Gets the input value.
|
|
1770
1792
|
*
|
|
@@ -2284,7 +2306,7 @@ function(
|
|
|
2284
2306
|
var oSuggestionsTable = new Table(this.getId() + "-popup-table", {
|
|
2285
2307
|
mode: ListMode.SingleSelectMaster,
|
|
2286
2308
|
showNoData: false,
|
|
2287
|
-
showSeparators: ListSeparators.None,
|
|
2309
|
+
showSeparators: this.getProperty("separateSuggestions") ? ListSeparators.Inner : ListSeparators.None,
|
|
2288
2310
|
width: "100%",
|
|
2289
2311
|
enableBusyIndicator: false,
|
|
2290
2312
|
rememberSelections : false,
|
|
@@ -2460,6 +2482,7 @@ function(
|
|
|
2460
2482
|
*/
|
|
2461
2483
|
Input.prototype.getAccessibilityInfo = function() {
|
|
2462
2484
|
var oInfo = InputBase.prototype.getAccessibilityInfo.apply(this, arguments);
|
|
2485
|
+
|
|
2463
2486
|
oInfo.description = ((oInfo.description || "") + " " + this.getDescription()).trim();
|
|
2464
2487
|
return oInfo;
|
|
2465
2488
|
};
|
|
@@ -2783,10 +2806,8 @@ function(
|
|
|
2783
2806
|
bPreviosFocusOnGroup = oPreviousItem && oPreviousItem.isA("sap.m.GroupHeaderListItem"),
|
|
2784
2807
|
iSelectionStart = calculateSelectionStart(selectionRange(oFocusDomRef, bPreviosFocusOnGroup), sNewValue, sTypedValue, bPreviosFocusOnGroup);
|
|
2785
2808
|
|
|
2786
|
-
if (!oItem) { // When out of the list, reset to user's input
|
|
2809
|
+
if (!oItem || bIsGroupItem) { // When out of the list or a GroupHeader item, reset to user's input
|
|
2787
2810
|
this.setDOMValue(sTypedValue);
|
|
2788
|
-
} else if (bIsGroupItem) { // If it's a GroupHeader item, reset the input
|
|
2789
|
-
this.setDOMValue("");
|
|
2790
2811
|
} else { // Replace the value and highlight it
|
|
2791
2812
|
this.setDOMValue(sNewValue);
|
|
2792
2813
|
|
|
@@ -2888,8 +2909,9 @@ function(
|
|
|
2888
2909
|
} else {
|
|
2889
2910
|
oPopover
|
|
2890
2911
|
.attachAfterClose(function() {
|
|
2891
|
-
var oList = this._getSuggestionsPopover().getItemsContainer()
|
|
2892
|
-
|
|
2912
|
+
var oList = this._getSuggestionsPopover().getItemsContainer();
|
|
2913
|
+
var oSelectedItem = oList && oList.getSelectedItem();
|
|
2914
|
+
var oDomRef = this.getDomRef();
|
|
2893
2915
|
|
|
2894
2916
|
if (this.getSelectionUpdatedFromList()) {
|
|
2895
2917
|
this.updateSelectionFromList(oSelectedItem);
|
|
@@ -2899,6 +2921,8 @@ function(
|
|
|
2899
2921
|
return;
|
|
2900
2922
|
}
|
|
2901
2923
|
|
|
2924
|
+
this._bAfterOpenFinisihed = false;
|
|
2925
|
+
|
|
2902
2926
|
// only destroy items in simple suggestion mode
|
|
2903
2927
|
if (oList instanceof Table) {
|
|
2904
2928
|
oSelectedItem && oSelectedItem.removeStyleClass("sapMLIBFocused");
|
|
@@ -2908,13 +2932,20 @@ function(
|
|
|
2908
2932
|
}
|
|
2909
2933
|
|
|
2910
2934
|
this._deregisterPopupResize();
|
|
2911
|
-
|
|
2935
|
+
|
|
2936
|
+
if (oDomRef && oDomRef.contains(document.activeElement)) {
|
|
2937
|
+
this.addStyleClass("sapMFocus");
|
|
2938
|
+
}
|
|
2912
2939
|
}, this)
|
|
2913
2940
|
.attachBeforeOpen(function () {
|
|
2914
2941
|
oSuggPopover._sPopoverContentWidth = this.getMaxSuggestionWidth();
|
|
2915
2942
|
|
|
2916
2943
|
oSuggPopover.resizePopup(this);
|
|
2917
2944
|
this._registerPopupResize();
|
|
2945
|
+
this._bAfterOpenFinisihed = false;
|
|
2946
|
+
}, this)
|
|
2947
|
+
.attachAfterOpen(function () {
|
|
2948
|
+
this._bAfterOpenFinisihed = true;
|
|
2918
2949
|
}, this);
|
|
2919
2950
|
}
|
|
2920
2951
|
|
|
@@ -3236,6 +3267,26 @@ function(
|
|
|
3236
3267
|
return this._sTypedInValue;
|
|
3237
3268
|
};
|
|
3238
3269
|
|
|
3270
|
+
/**
|
|
3271
|
+
* Setter for the separateSuggestions property representing whether to display separators in tabular suggestions.
|
|
3272
|
+
*
|
|
3273
|
+
* @private
|
|
3274
|
+
* @ui5-restricted sap.ui.comp.smartfield.SmartField
|
|
3275
|
+
* @param {boolean} bValue The new value for the property.
|
|
3276
|
+
* @returns {this} <code>this</code> to allow method chaining.
|
|
3277
|
+
*/
|
|
3278
|
+
Input.prototype._setSeparateSuggestions = function (bValue) {
|
|
3279
|
+
var oSuggestionsTable = this._getSuggestionsTable();
|
|
3280
|
+
|
|
3281
|
+
this.setProperty("separateSuggestions", bValue);
|
|
3282
|
+
|
|
3283
|
+
if (oSuggestionsTable) {
|
|
3284
|
+
oSuggestionsTable.setShowSeparators(bValue ? ListSeparators.Inner : ListSeparators.None);
|
|
3285
|
+
}
|
|
3286
|
+
|
|
3287
|
+
return this;
|
|
3288
|
+
};
|
|
3289
|
+
|
|
3239
3290
|
return Input;
|
|
3240
3291
|
|
|
3241
3292
|
});
|
package/src/sap/m/InputBase.js
CHANGED
|
@@ -11,6 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
'sap/ui/core/IconPool',
|
|
12
12
|
'./delegate/ValueStateMessage',
|
|
13
13
|
'sap/ui/core/message/MessageMixin',
|
|
14
|
+
'sap/ui/core/InvisibleMessage',
|
|
14
15
|
'sap/ui/core/library',
|
|
15
16
|
'sap/ui/Device',
|
|
16
17
|
'./InputBaseRenderer',
|
|
@@ -31,6 +32,7 @@ function(
|
|
|
31
32
|
IconPool,
|
|
32
33
|
ValueStateMessage,
|
|
33
34
|
MessageMixin,
|
|
35
|
+
InvisibleMessage,
|
|
34
36
|
coreLibrary,
|
|
35
37
|
Device,
|
|
36
38
|
InputBaseRenderer,
|
|
@@ -62,7 +64,7 @@ function(
|
|
|
62
64
|
* @implements sap.ui.core.IFormContent
|
|
63
65
|
*
|
|
64
66
|
* @author SAP SE
|
|
65
|
-
* @version 1.
|
|
67
|
+
* @version 1.97.0
|
|
66
68
|
*
|
|
67
69
|
* @constructor
|
|
68
70
|
* @public
|
|
@@ -300,6 +302,9 @@ function(
|
|
|
300
302
|
// handle composition events & validation of composition symbols
|
|
301
303
|
this._bIsComposingCharacter = false;
|
|
302
304
|
|
|
305
|
+
this.setLastValueStateText("");
|
|
306
|
+
this.setErrorMessageAnnouncementState(false);
|
|
307
|
+
|
|
303
308
|
this.fnCloseValueStateOnClick = function() {
|
|
304
309
|
this.closeValueStateMessage();
|
|
305
310
|
};
|
|
@@ -343,23 +348,39 @@ function(
|
|
|
343
348
|
};
|
|
344
349
|
|
|
345
350
|
InputBase.prototype.onBeforeRendering = function() {
|
|
351
|
+
var oFocusDomRef = this.getFocusDomRef();
|
|
346
352
|
var oFormattedVSText = this.getFormattedValueStateText();
|
|
347
|
-
var
|
|
348
|
-
var oFormattedVSTextAcc = this.getAggregation("_invisibleFormattedValueStateText");
|
|
349
|
-
var oFormattedVSTextAccContent = oFormattedVSTextAcc && oFormattedVSTextAcc.getHtmlText();
|
|
353
|
+
var bFormattedValueStateUpdated;
|
|
350
354
|
|
|
351
|
-
if (
|
|
355
|
+
if (!this._oInvisibleMessage) {
|
|
356
|
+
this._oInvisibleMessage = InvisibleMessage.getInstance();
|
|
357
|
+
}
|
|
352
358
|
|
|
359
|
+
if (this._bCheckDomValue && !this.bRenderingPhase) {
|
|
353
360
|
// remember dom value in case of invalidation during keystrokes
|
|
354
361
|
// so the following should only be used onAfterRendering
|
|
355
362
|
if (this.isActive()) {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
363
|
+
this._sDomValue = this._getInputValue();
|
|
364
|
+
} else {
|
|
365
|
+
this._bCheckDomValue = false;
|
|
366
|
+
}
|
|
360
367
|
}
|
|
361
368
|
|
|
362
|
-
if (oFormattedVSText
|
|
369
|
+
if (!oFormattedVSText) {
|
|
370
|
+
bFormattedValueStateUpdated = false;
|
|
371
|
+
} else {
|
|
372
|
+
var oFormattedVSTextAcc = this.getAggregation("_invisibleFormattedValueStateText");
|
|
373
|
+
bFormattedValueStateUpdated = oFormattedVSText.getHtmlText() !== (oFormattedVSTextAcc && oFormattedVSTextAcc.getHtmlText());
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// The value state error should be announced, when there are dynamic changes
|
|
377
|
+
// to value state error or value state error message, due to user interaction
|
|
378
|
+
if (this.getValueState() === ValueState.Error && oFocusDomRef) {
|
|
379
|
+
var bValueStateUpdated = bFormattedValueStateUpdated || this.getValueStateText() !== this.getLastValueStateText();
|
|
380
|
+
this.setErrorMessageAnnouncementState(!oFocusDomRef.hasAttribute('aria-invalid') || bValueStateUpdated);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
if (bFormattedValueStateUpdated) {
|
|
363
384
|
oFormattedVSTextAcc && oFormattedVSTextAcc.destroy();
|
|
364
385
|
this.setAggregation("_invisibleFormattedValueStateText", oFormattedVSText.clone());
|
|
365
386
|
}
|
|
@@ -372,6 +393,7 @@ function(
|
|
|
372
393
|
var sValueState = this.getValueState();
|
|
373
394
|
var bIsFocused = this.getFocusDomRef() === document.activeElement;
|
|
374
395
|
var bClosedValueState = sValueState === ValueState.None;
|
|
396
|
+
var sValueStateMessageHiddenText = document.getElementById(this.getValueStateMessageId() + '-sr');
|
|
375
397
|
|
|
376
398
|
// maybe control is invalidated on keystrokes and
|
|
377
399
|
// even the value property did not change
|
|
@@ -383,6 +405,12 @@ function(
|
|
|
383
405
|
this.$("inner").val(this._sDomValue);
|
|
384
406
|
}
|
|
385
407
|
|
|
408
|
+
// Announce error value state update, only when the visual focus is in the input field
|
|
409
|
+
if (this.getErrorMessageAnnouncementState() && this.hasStyleClass("sapMFocus")) {
|
|
410
|
+
sValueStateMessageHiddenText && this._oInvisibleMessage.announce(sValueStateMessageHiddenText.textContent);
|
|
411
|
+
this.setErrorMessageAnnouncementState(false);
|
|
412
|
+
}
|
|
413
|
+
|
|
386
414
|
this.$("message").text(this.getValueStateText());
|
|
387
415
|
|
|
388
416
|
// now dom value is up-to-date
|
|
@@ -400,6 +428,8 @@ function(
|
|
|
400
428
|
oControl.getDomRef() && oControl.getDomRef().setAttribute("tabindex", -1);
|
|
401
429
|
});
|
|
402
430
|
}
|
|
431
|
+
|
|
432
|
+
this.setLastValueStateText(this.getValueStateText());
|
|
403
433
|
};
|
|
404
434
|
|
|
405
435
|
InputBase.prototype.exit = function() {
|
|
@@ -408,8 +438,12 @@ function(
|
|
|
408
438
|
this._oValueStateMessage.destroy();
|
|
409
439
|
}
|
|
410
440
|
|
|
441
|
+
if (this.oInvisibleMessage) {
|
|
442
|
+
this.oInvisibleMessage.destroy();
|
|
443
|
+
this.oInvisibleMessage = null;
|
|
444
|
+
}
|
|
445
|
+
|
|
411
446
|
this._oValueStateMessage = null;
|
|
412
|
-
this._oDomRefBeforeRendering = null;
|
|
413
447
|
};
|
|
414
448
|
|
|
415
449
|
/* =========================================================== */
|
|
@@ -514,7 +548,7 @@ function(
|
|
|
514
548
|
mParameters = mParameters || this.getChangeEventParams();
|
|
515
549
|
|
|
516
550
|
// check the control is editable or not
|
|
517
|
-
if (!this.getEditable() || !this.getEnabled()) {
|
|
551
|
+
if (this.getDomRef() && (!this.getEditable() || !this.getEnabled())) {
|
|
518
552
|
return;
|
|
519
553
|
}
|
|
520
554
|
|
|
@@ -952,6 +986,42 @@ function(
|
|
|
952
986
|
return this.getId() + "-message";
|
|
953
987
|
};
|
|
954
988
|
|
|
989
|
+
/**
|
|
990
|
+
* Gets the state of the value state message announcemnt.
|
|
991
|
+
*
|
|
992
|
+
* @returns {boolean} True, if the error value state should be announced.
|
|
993
|
+
*/
|
|
994
|
+
InputBase.prototype.getErrorMessageAnnouncementState = function() {
|
|
995
|
+
return this._bErrorStateShouldBeAnnounced;
|
|
996
|
+
};
|
|
997
|
+
|
|
998
|
+
/**
|
|
999
|
+
* Sets the state of the value state message announcemnt.
|
|
1000
|
+
*
|
|
1001
|
+
* @param {boolean} bAnnounce Determines, if the error value state message should be announced.
|
|
1002
|
+
*/
|
|
1003
|
+
InputBase.prototype.setErrorMessageAnnouncementState = function(bAnnounce) {
|
|
1004
|
+
this._bErrorStateShouldBeAnnounced = bAnnounce;
|
|
1005
|
+
};
|
|
1006
|
+
|
|
1007
|
+
/**
|
|
1008
|
+
* Sets the last value state text.
|
|
1009
|
+
*
|
|
1010
|
+
* @param {string} sValueStateText The Last Value State Text to be set
|
|
1011
|
+
*/
|
|
1012
|
+
InputBase.prototype.setLastValueStateText = function(sValueStateText) {
|
|
1013
|
+
this._sLastValueStateText = sValueStateText;
|
|
1014
|
+
};
|
|
1015
|
+
|
|
1016
|
+
/**
|
|
1017
|
+
* Gets the last stored value state text.
|
|
1018
|
+
*
|
|
1019
|
+
* @returns {string} The value state text
|
|
1020
|
+
*/
|
|
1021
|
+
InputBase.prototype.getLastValueStateText = function() {
|
|
1022
|
+
return this._sLastValueStateText;
|
|
1023
|
+
};
|
|
1024
|
+
|
|
955
1025
|
/**
|
|
956
1026
|
* Gets the labels referencing this control.
|
|
957
1027
|
*
|
|
@@ -1016,12 +1086,14 @@ function(
|
|
|
1016
1086
|
var oEndIcon = this.getAggregation("_endIcon") || [],
|
|
1017
1087
|
oBeginIcon = this.getAggregation("_beginIcon") || [],
|
|
1018
1088
|
aIcons = oEndIcon.concat(oBeginIcon),
|
|
1089
|
+
iIconMargin,
|
|
1019
1090
|
iIconWidth;
|
|
1020
1091
|
|
|
1021
1092
|
return aIcons.reduce(function(iAcc, oIcon){
|
|
1093
|
+
iIconMargin = oIcon && oIcon.getDomRef() ? parseFloat(getComputedStyle(oIcon.getDomRef()).marginRight) : 0;
|
|
1022
1094
|
iIconWidth = oIcon && oIcon.getDomRef() ? oIcon.getDomRef().offsetWidth : 0;
|
|
1023
1095
|
|
|
1024
|
-
return iAcc + iIconWidth;
|
|
1096
|
+
return iAcc + iIconWidth + iIconMargin;
|
|
1025
1097
|
}, 0);
|
|
1026
1098
|
};
|
|
1027
1099
|
|
|
@@ -1080,13 +1152,23 @@ function(
|
|
|
1080
1152
|
return {
|
|
1081
1153
|
role: oRenderer.getAriaRole(this),
|
|
1082
1154
|
type: sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_INPUT"),
|
|
1083
|
-
description: [this.
|
|
1155
|
+
description: [this.getValueDescriptionInfo(), oRenderer.getLabelledByAnnouncement(this), oRenderer.getDescribedByAnnouncement(this), sRequired].join(" ").trim(),
|
|
1084
1156
|
focusable: this.getEnabled(),
|
|
1085
1157
|
enabled: this.getEnabled(),
|
|
1086
1158
|
editable: this.getEnabled() && this.getEditable()
|
|
1087
1159
|
};
|
|
1088
1160
|
};
|
|
1089
1161
|
|
|
1162
|
+
/**
|
|
1163
|
+
* Gets the value of the accessibility description info field.
|
|
1164
|
+
*
|
|
1165
|
+
* @protected
|
|
1166
|
+
* @returns {string} The value of the accessibility description info
|
|
1167
|
+
*/
|
|
1168
|
+
InputBase.prototype.getValueDescriptionInfo = function () {
|
|
1169
|
+
return this.getValue() || sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("INPUTBASE_VALUE_EMPTY");
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1090
1172
|
/**
|
|
1091
1173
|
* Adds an icon to be rendered
|
|
1092
1174
|
* @param {string} sIconPosition a position for the icon to be rendered - begin or end
|
|
@@ -316,32 +316,20 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/Core', 'sap/ui/core/library'
|
|
|
316
316
|
*/
|
|
317
317
|
InputBaseRenderer.renderValueStateAccDom = function(oRm, oControl) {
|
|
318
318
|
var sValueState = oControl.getValueState();
|
|
319
|
-
|
|
320
319
|
if (sValueState === ValueState.None || !oControl.getEditable() || !oControl.getEnabled()) {
|
|
321
320
|
return;
|
|
322
321
|
}
|
|
323
322
|
|
|
324
|
-
var bShouldBeLiveRegion = document.activeElement !== oControl.getFocusDomRef() || sValueState === ValueState.Error;
|
|
325
|
-
var sAccDomNodeId = oControl.getValueStateMessageId() + "-sr";
|
|
326
323
|
var oFormattedValueStateText = oControl.getAggregation("_invisibleFormattedValueStateText");
|
|
327
|
-
var sValueStateTypeText
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
if (bShouldBeLiveRegion) {
|
|
335
|
-
oRm.attr("aria-live", "assertive");
|
|
336
|
-
}
|
|
324
|
+
var sValueStateTypeText;
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
sValueStateTypeText = Core.getLibraryResourceBundle("sap.m").getText("INPUTBASE_VALUE_STATE_" + sValueState.toUpperCase());
|
|
328
|
+
|
|
329
|
+
oRm.openStart("div", oControl.getValueStateMessageId() + "-sr")
|
|
330
|
+
.class("sapUiPseudoInvisibleText");
|
|
337
331
|
|
|
338
|
-
|
|
339
|
-
// This is needed because of the way semantic renderer works - it won't replace text content if it is the same -
|
|
340
|
-
// the so called in-place DOM patching - and the control will get rerendered when value state is not changed.
|
|
341
|
-
// For example if only the value state type is changed and not the text, if aria-atomic is not set to 'true'
|
|
342
|
-
// the value state text won't be announced.
|
|
343
|
-
oRm.attr("aria-atomic", "true")
|
|
344
|
-
.openEnd()
|
|
332
|
+
oRm.openEnd()
|
|
345
333
|
.text(sValueStateTypeText).text(" ");
|
|
346
334
|
|
|
347
335
|
if (oFormattedValueStateText) {
|
package/src/sap/m/Label.js
CHANGED
package/src/sap/m/LightBox.js
CHANGED
package/src/sap/m/Link.js
CHANGED
package/src/sap/m/List.js
CHANGED
package/src/sap/m/ListBase.js
CHANGED
|
@@ -90,7 +90,7 @@ function(
|
|
|
90
90
|
* @extends sap.ui.core.Control
|
|
91
91
|
*
|
|
92
92
|
* @author SAP SE
|
|
93
|
-
* @version 1.
|
|
93
|
+
* @version 1.97.0
|
|
94
94
|
*
|
|
95
95
|
* @constructor
|
|
96
96
|
* @public
|
|
@@ -1588,7 +1588,7 @@ function(
|
|
|
1588
1588
|
|
|
1589
1589
|
if (!this._mRangeSelection) {
|
|
1590
1590
|
this._mRangeSelection = {
|
|
1591
|
-
index:
|
|
1591
|
+
index: this.indexOfItem(oItem),
|
|
1592
1592
|
selected: oItem.getSelected()
|
|
1593
1593
|
};
|
|
1594
1594
|
}
|
|
@@ -76,7 +76,7 @@ function(
|
|
|
76
76
|
* @extends sap.ui.core.Control
|
|
77
77
|
*
|
|
78
78
|
* @author SAP SE
|
|
79
|
-
* @version 1.
|
|
79
|
+
* @version 1.97.0
|
|
80
80
|
*
|
|
81
81
|
* @constructor
|
|
82
82
|
* @public
|
|
@@ -505,7 +505,9 @@ function(
|
|
|
505
505
|
}
|
|
506
506
|
|
|
507
507
|
if (!this.DeleteIconURI) {
|
|
508
|
-
ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
|
|
508
|
+
ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
|
|
509
|
+
ThemeParameters.get({name: "_sap_m_ListItemBase_DeleteIcon"}) || "decline"
|
|
510
|
+
);
|
|
509
511
|
}
|
|
510
512
|
|
|
511
513
|
this._oDeleteControl = new Button({
|
|
@@ -526,7 +528,9 @@ function(
|
|
|
526
528
|
};
|
|
527
529
|
|
|
528
530
|
ListItemBase.prototype.onThemeChanged = function() {
|
|
529
|
-
ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
|
|
531
|
+
ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
|
|
532
|
+
ThemeParameters.get({name: "_sap_m_ListItemBase_DeleteIcon"})
|
|
533
|
+
);
|
|
530
534
|
if (this._oDeleteControl) {
|
|
531
535
|
this._oDeleteControl.setIcon(this.DeleteIconURI);
|
|
532
536
|
}
|
|
@@ -992,6 +996,10 @@ function(
|
|
|
992
996
|
if (this._eventHandledByControl ||
|
|
993
997
|
oEvent.touches.length != 1 ||
|
|
994
998
|
!this.hasActiveType()) {
|
|
999
|
+
if (this.getListProperty("includeItemInSelection") && this.getList()._mRangeSelection) {
|
|
1000
|
+
// prevet text selection when rangeSelection is detected
|
|
1001
|
+
oEvent.preventDefault();
|
|
1002
|
+
}
|
|
995
1003
|
return;
|
|
996
1004
|
}
|
|
997
1005
|
|
|
@@ -1267,6 +1275,7 @@ function(
|
|
|
1267
1275
|
}
|
|
1268
1276
|
|
|
1269
1277
|
this.informList("FocusIn", oEvent.srcControl);
|
|
1278
|
+
oEvent.setMarked();
|
|
1270
1279
|
|
|
1271
1280
|
if (oEvent.srcControl === this) {
|
|
1272
1281
|
return;
|
|
@@ -1279,7 +1288,6 @@ function(
|
|
|
1279
1288
|
|
|
1280
1289
|
// inform the list async that this item should be focusable
|
|
1281
1290
|
setTimeout(oList["setItemFocusable"].bind(oList, this), 0);
|
|
1282
|
-
oEvent.setMarked();
|
|
1283
1291
|
};
|
|
1284
1292
|
|
|
1285
1293
|
// inform the list for the vertical navigation
|