@openui5/sap.m 1.100.0 → 1.102.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +18 -0
- package/THIRDPARTY.txt +5 -5
- package/package.json +4 -4
- package/src/sap/m/.library +2 -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 +10 -3
- 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 +12 -21
- package/src/sap/m/Breadcrumbs.js +3 -3
- package/src/sap/m/BreadcrumbsRenderer.js +0 -5
- 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 +4 -1
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CarouselRenderer.js +2 -1
- package/src/sap/m/CheckBox.js +1 -1
- package/src/sap/m/ColorPalette.js +13 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +10 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- package/src/sap/m/ColumnListItemRenderer.js +1 -0
- 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 +22 -2
- package/src/sap/m/ComboBoxBase.js +4 -2
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/CustomDynamicDateOption.js +1 -1
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTreeItem.js +1 -1
- package/src/sap/m/DatePicker.js +53 -7
- package/src/sap/m/DatePickerRenderer.js +0 -1
- package/src/sap/m/DateRangeSelection.js +42 -4
- package/src/sap/m/DateTimeField.js +5 -2
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +40 -53
- package/src/sap/m/DateTimePickerRenderer.js +2 -2
- package/src/sap/m/Dialog.js +21 -8
- 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 -4
- package/src/sap/m/DynamicDateOption.js +12 -2
- package/src/sap/m/DynamicDateRange.js +107 -16
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +8 -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 +2 -2
- package/src/sap/m/FeedListItem.js +1 -1
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/Fiori20Adapter.js +2 -2
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +10 -10
- package/src/sap/m/GenericTag.js +1 -1
- package/src/sap/m/GenericTagRenderer.js +10 -2
- package/src/sap/m/GenericTile.js +132 -16
- package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
- package/src/sap/m/GenericTileRenderer.js +174 -87
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingEnablement.js +127 -93
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +41 -21
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +3 -3
- 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 +1 -1
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +19 -1
- package/src/sap/m/Illustration.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 +4 -10
- package/src/sap/m/InputBase.js +5 -5
- 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 +52 -20
- package/src/sap/m/ListBaseRenderer.js +19 -3
- package/src/sap/m/ListItemBase.js +7 -5
- package/src/sap/m/MaskEnabler.js +1 -1
- package/src/sap/m/MaskInput.js +1 -1
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +1 -1
- package/src/sap/m/MenuButton.js +5 -1
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageBox.js +1 -1
- package/src/sap/m/MessageItem.js +1 -1
- package/src/sap/m/MessageListItem.js +1 -1
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +18 -36
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +1 -1
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +1 -1
- package/src/sap/m/MultiComboBox.js +3 -2
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +8 -3
- package/src/sap/m/NavContainer.js +40 -40
- package/src/sap/m/NewsContent.js +1 -1
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +175 -79
- package/src/sap/m/NotificationListGroup.js +1 -2
- package/src/sap/m/NotificationListGroupRenderer.js +4 -16
- package/src/sap/m/NotificationListItem.js +5 -16
- package/src/sap/m/NotificationListItemRenderer.js +0 -1
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/NumericInput.js +3 -2
- package/src/sap/m/NumericInputRenderer.js +13 -1
- package/src/sap/m/ObjectAttribute.js +1 -1
- package/src/sap/m/ObjectAttributeRenderer.js +1 -1
- package/src/sap/m/ObjectHeader.js +1 -1
- package/src/sap/m/ObjectIdentifier.js +1 -1
- package/src/sap/m/ObjectListItem.js +1 -1
- package/src/sap/m/ObjectMarker.js +34 -10
- package/src/sap/m/ObjectMarkerRenderer.js +14 -2
- package/src/sap/m/ObjectNumber.js +1 -1
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/OverflowToolbar.js +17 -1
- package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +1 -1
- package/src/sap/m/P13nColumnsItem.js +1 -1
- package/src/sap/m/P13nColumnsPanel.js +1 -1
- package/src/sap/m/P13nConditionPanel.js +9 -12
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +1 -1
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -1
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -1
- package/src/sap/m/P13nItem.js +1 -1
- package/src/sap/m/P13nPanel.js +1 -1
- package/src/sap/m/P13nSelectionItem.js +1 -1
- package/src/sap/m/P13nSelectionPanel.js +1 -1
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +1 -1
- package/src/sap/m/PDFViewer.js +3 -3
- package/src/sap/m/PDFViewerRenderer.js +15 -7
- package/src/sap/m/Page.js +4 -4
- 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 +14 -14
- package/src/sap/m/PlanningCalendarHeader.js +1 -4
- package/src/sap/m/PlanningCalendarLegend.js +1 -1
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -1
- package/src/sap/m/Popover.js +15 -10
- package/src/sap/m/ProgressIndicator.js +1 -1
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/QuickView.js +1 -1
- package/src/sap/m/QuickViewBase.js +1 -1
- package/src/sap/m/QuickViewCard.js +1 -1
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +1 -1
- package/src/sap/m/QuickViewPage.js +1 -1
- package/src/sap/m/RadioButton.js +2 -2
- package/src/sap/m/RadioButtonGroup.js +3 -2
- package/src/sap/m/RangeSlider.js +19 -4
- 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 +1 -1
- package/src/sap/m/SegmentedButton.js +5 -3
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +24 -3
- package/src/sap/m/SelectDialog.js +14 -18
- package/src/sap/m/SelectDialogBase.js +1 -1
- package/src/sap/m/SelectList.js +1 -1
- package/src/sap/m/SelectionDetails.js +1 -1
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +1 -1
- package/src/sap/m/SelectionDetailsItemLine.js +1 -1
- package/src/sap/m/Shell.js +1 -1
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +1 -1
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
- package/src/sap/m/SlideTile.js +1 -1
- 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 +5 -1
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +1 -1
- package/src/sap/m/SplitContainer.js +1 -1
- package/src/sap/m/StandardDynamicDateOption.js +36 -13
- package/src/sap/m/StandardListItem.js +3 -3
- package/src/sap/m/StandardListItemRenderer.js +1 -1
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +3 -3
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +5 -13
- package/src/sap/m/Switch.js +1 -1
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -1
- package/src/sap/m/TabStrip.js +5 -3
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/Table.js +34 -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 +9 -4
- package/src/sap/m/TableSelectDialog.js +13 -9
- 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 +8 -14
- package/src/sap/m/TileContentRenderer.js +16 -7
- package/src/sap/m/TimePicker.js +52 -60
- 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/TimePickerRenderer.js +0 -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 +15 -3
- package/src/sap/m/Toolbar.js +7 -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 -1
- package/src/sap/m/UploadCollectionItem.js +2 -1
- package/src/sap/m/UploadCollectionParameter.js +2 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/VariantManagement.js +2492 -0
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +8 -9
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +1 -1
- package/src/sap/m/VisibleItem.js +2 -2
- package/src/sap/m/WheelSlider.js +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +22 -4
- package/src/sap/m/WizardProgressNavigator.js +10 -3
- package/src/sap/m/WizardStep.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
- 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 +1 -1
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- package/src/sap/m/designtime/ListBase.designtime.js +3 -0
- package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
- package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
- package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
- package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
- package/src/sap/m/library.js +55 -19
- package/src/sap/m/messagebundle.properties +168 -27
- package/src/sap/m/messagebundle_ar.properties +104 -14
- package/src/sap/m/messagebundle_bg.properties +104 -14
- package/src/sap/m/messagebundle_ca.properties +104 -14
- package/src/sap/m/messagebundle_cs.properties +104 -14
- package/src/sap/m/messagebundle_cy.properties +104 -14
- package/src/sap/m/messagebundle_da.properties +104 -14
- package/src/sap/m/messagebundle_de.properties +104 -14
- package/src/sap/m/messagebundle_el.properties +104 -14
- package/src/sap/m/messagebundle_en.properties +103 -13
- package/src/sap/m/messagebundle_en_GB.properties +103 -13
- package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -12
- package/src/sap/m/messagebundle_en_US_saprigi.properties +102 -12
- package/src/sap/m/messagebundle_en_US_saptrc.properties +102 -12
- package/src/sap/m/messagebundle_es.properties +104 -14
- package/src/sap/m/messagebundle_es_MX.properties +104 -14
- package/src/sap/m/messagebundle_et.properties +104 -14
- package/src/sap/m/messagebundle_fi.properties +103 -13
- package/src/sap/m/messagebundle_fr.properties +105 -15
- package/src/sap/m/messagebundle_fr_CA.properties +104 -14
- package/src/sap/m/messagebundle_hi.properties +104 -14
- package/src/sap/m/messagebundle_hr.properties +104 -14
- package/src/sap/m/messagebundle_hu.properties +104 -14
- package/src/sap/m/messagebundle_id.properties +104 -14
- package/src/sap/m/messagebundle_it.properties +112 -22
- package/src/sap/m/messagebundle_iw.properties +104 -14
- package/src/sap/m/messagebundle_ja.properties +104 -14
- package/src/sap/m/messagebundle_kk.properties +104 -14
- package/src/sap/m/messagebundle_ko.properties +105 -15
- package/src/sap/m/messagebundle_lt.properties +104 -14
- package/src/sap/m/messagebundle_lv.properties +103 -13
- package/src/sap/m/messagebundle_ms.properties +104 -14
- package/src/sap/m/messagebundle_nl.properties +103 -13
- package/src/sap/m/messagebundle_no.properties +104 -14
- package/src/sap/m/messagebundle_pl.properties +104 -14
- package/src/sap/m/messagebundle_pt.properties +112 -22
- package/src/sap/m/messagebundle_pt_PT.properties +104 -14
- package/src/sap/m/messagebundle_ro.properties +104 -14
- package/src/sap/m/messagebundle_ru.properties +104 -14
- package/src/sap/m/messagebundle_sh.properties +104 -14
- package/src/sap/m/messagebundle_sk.properties +104 -14
- package/src/sap/m/messagebundle_sl.properties +104 -14
- package/src/sap/m/messagebundle_sv.properties +105 -15
- package/src/sap/m/messagebundle_th.properties +104 -14
- package/src/sap/m/messagebundle_tr.properties +104 -14
- package/src/sap/m/messagebundle_uk.properties +104 -14
- package/src/sap/m/messagebundle_vi.properties +104 -14
- package/src/sap/m/messagebundle_zh_CN.properties +104 -14
- package/src/sap/m/messagebundle_zh_TW.properties +104 -14
- package/src/sap/m/p13n/AbstractContainer.js +2 -2
- package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
- package/src/sap/m/p13n/BasePanel.js +9 -3
- package/src/sap/m/p13n/Container.js +11 -4
- package/src/sap/m/p13n/GroupPanel.js +17 -5
- package/src/sap/m/p13n/Popup.js +9 -2
- package/src/sap/m/p13n/QueryPanel.js +89 -37
- package/src/sap/m/p13n/SelectionPanel.js +30 -5
- package/src/sap/m/p13n/SortPanel.js +27 -13
- package/src/sap/m/plugins/ColumnResizer.js +41 -6
- package/src/sap/m/plugins/DataStateIndicator.js +3 -2
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/rules/CheckBox.support.js +1 -1
- package/src/sap/m/rules/Image.support.js +1 -1
- package/src/sap/m/rules/Link.support.js +1 -1
- package/src/sap/m/rules/MessagePage.support.js +1 -1
- package/src/sap/m/rules/ObjectHeader.support.js +6 -6
- package/src/sap/m/rules/ObjectListItem.support.js +1 -1
- package/src/sap/m/rules/ObjectMarker.support.js +1 -1
- package/src/sap/m/rules/ObjectStatus.support.js +1 -1
- package/src/sap/m/rules/Select.support.js +1 -1
- package/src/sap/m/rules/Table.support.js +3 -3
- package/src/sap/m/semantic/AddAction.js +1 -1
- package/src/sap/m/semantic/CancelAction.js +1 -1
- package/src/sap/m/semantic/DeleteAction.js +1 -1
- package/src/sap/m/semantic/DetailPage.js +1 -1
- package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/m/semantic/EditAction.js +1 -1
- package/src/sap/m/semantic/FavoriteAction.js +1 -1
- package/src/sap/m/semantic/FilterAction.js +1 -1
- package/src/sap/m/semantic/FilterSelect.js +1 -1
- package/src/sap/m/semantic/FlagAction.js +1 -1
- package/src/sap/m/semantic/ForwardAction.js +1 -1
- package/src/sap/m/semantic/FullscreenPage.js +1 -1
- package/src/sap/m/semantic/GroupAction.js +1 -1
- package/src/sap/m/semantic/GroupSelect.js +1 -1
- package/src/sap/m/semantic/MainAction.js +1 -1
- package/src/sap/m/semantic/MasterPage.js +1 -1
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +1 -1
- package/src/sap/m/semantic/NegativeAction.js +1 -1
- package/src/sap/m/semantic/OpenInAction.js +1 -1
- package/src/sap/m/semantic/PositiveAction.js +1 -1
- package/src/sap/m/semantic/PrintAction.js +1 -1
- package/src/sap/m/semantic/SaveAction.js +1 -1
- package/src/sap/m/semantic/Segment.js +1 -1
- package/src/sap/m/semantic/SegmentedContainer.js +1 -1
- package/src/sap/m/semantic/SemanticButton.js +1 -1
- package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
- 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 +98 -16
- package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/Entry.js +1 -11
- package/src/sap/m/table/columnmenu/Item.js +1 -1
- package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
- package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
- package/src/sap/m/table/columnmenu/Menu.js +222 -34
- package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
- package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
- package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
- package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
- package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
- package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
- package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
- package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
- package/src/sap/m/themes/base/ActionListItem.less +1 -1
- package/src/sap/m/themes/base/Avatar.less +11 -5
- package/src/sap/m/themes/base/Button.less +1 -6
- package/src/sap/m/themes/base/Carousel.less +72 -87
- package/src/sap/m/themes/base/CheckBox.less +0 -1
- package/src/sap/m/themes/base/ColumnListItem.less +0 -3
- package/src/sap/m/themes/base/ColumnMenu.less +12 -4
- package/src/sap/m/themes/base/Dialog.less +10 -6
- package/src/sap/m/themes/base/GenericTile.less +758 -179
- package/src/sap/m/themes/base/IconTabBar.less +45 -14
- package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
- package/src/sap/m/themes/base/Input.less +1 -1
- package/src/sap/m/themes/base/InputBase.less +114 -11
- package/src/sap/m/themes/base/Label.less +3 -0
- package/src/sap/m/themes/base/LightBox.less +9 -7
- package/src/sap/m/themes/base/Link.less +12 -4
- package/src/sap/m/themes/base/ListBase.less +4 -0
- package/src/sap/m/themes/base/ListItemBase.less +1 -12
- package/src/sap/m/themes/base/MenuButton.less +16 -0
- package/src/sap/m/themes/base/MessageBox.less +5 -5
- package/src/sap/m/themes/base/MultiInput.less +1 -1
- package/src/sap/m/themes/base/NewsContent.less +0 -9
- package/src/sap/m/themes/base/NotificationListBase.less +9 -14
- package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
- package/src/sap/m/themes/base/NotificationListItem.less +14 -18
- package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
- package/src/sap/m/themes/base/ObjectListItem.less +3 -0
- package/src/sap/m/themes/base/ObjectMarker.less +3 -1
- package/src/sap/m/themes/base/ObjectStatus.less +8 -0
- package/src/sap/m/themes/base/Panel.less +1 -1
- package/src/sap/m/themes/base/Popover.less +10 -7
- package/src/sap/m/themes/base/QuickView.less +14 -2
- package/src/sap/m/themes/base/RadioButton.less +21 -3
- package/src/sap/m/themes/base/RatingIndicator.less +4 -0
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
- package/src/sap/m/themes/base/SlideTile.less +18 -0
- package/src/sap/m/themes/base/Slider.less +18 -18
- package/src/sap/m/themes/base/StandardListItem.less +5 -9
- package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
- package/src/sap/m/themes/base/Table.less +18 -21
- package/src/sap/m/themes/base/TextArea.less +32 -0
- package/src/sap/m/themes/base/Token.less +17 -15
- package/src/sap/m/themes/base/Tokenizer.less +2 -2
- package/src/sap/m/themes/base/Toolbar.less +1 -1
- package/src/sap/m/themes/base/UploadCollection.less +2 -0
- package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
- package/src/sap/m/themes/base/VariantManagement.less +97 -0
- package/src/sap/m/themes/base/Wizard.less +5 -4
- package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
- package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
- package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
- package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
- package/src/sap/m/themes/base/library.source.less +1 -0
- package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
- package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
- package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
- package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
- package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
- package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
- package/src/sap/m/themes/sap_hcb/Token.less +4 -0
- package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
- package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
- package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
- package/src/sap/m/upload/UploadSet.js +162 -17
- package/src/sap/m/upload/UploadSetItem.js +24 -1
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
package/src/sap/m/DatePicker.js
CHANGED
|
@@ -9,6 +9,8 @@ sap.ui.define([
|
|
|
9
9
|
'sap/ui/thirdparty/jquery',
|
|
10
10
|
'sap/ui/Device',
|
|
11
11
|
"sap/ui/core/Element",
|
|
12
|
+
"sap/ui/core/format/TimezoneUtil",
|
|
13
|
+
"sap/ui/core/format/DateFormat",
|
|
12
14
|
'./InputBase',
|
|
13
15
|
'./DateTimeField',
|
|
14
16
|
'./Button',
|
|
@@ -38,6 +40,8 @@ sap.ui.define([
|
|
|
38
40
|
jQuery,
|
|
39
41
|
Device,
|
|
40
42
|
Element,
|
|
43
|
+
TimezoneUtil,
|
|
44
|
+
DateFormat,
|
|
41
45
|
InputBase,
|
|
42
46
|
DateTimeField,
|
|
43
47
|
Button,
|
|
@@ -148,7 +152,7 @@ sap.ui.define([
|
|
|
148
152
|
* the close event), or select Cancel.
|
|
149
153
|
*
|
|
150
154
|
* @extends sap.m.DateTimeField
|
|
151
|
-
* @version 1.
|
|
155
|
+
* @version 1.102.1
|
|
152
156
|
*
|
|
153
157
|
* @constructor
|
|
154
158
|
* @public
|
|
@@ -283,7 +287,19 @@ sap.ui.define([
|
|
|
283
287
|
afterPopupOpened : {type : "boolean"}
|
|
284
288
|
|
|
285
289
|
}
|
|
286
|
-
}
|
|
290
|
+
},
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Fired when <code>value help</code> dialog opens.
|
|
294
|
+
* @since 1.102.0
|
|
295
|
+
*/
|
|
296
|
+
afterValueHelpOpen : {},
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Fired when <code>value help</code> dialog closes.
|
|
300
|
+
* @since 1.102.0
|
|
301
|
+
*/
|
|
302
|
+
afterValueHelpClose : {}
|
|
287
303
|
},
|
|
288
304
|
designtime: "sap/m/designtime/DatePicker.designtime",
|
|
289
305
|
dnd: { draggable: false, droppable: true }
|
|
@@ -1184,7 +1200,7 @@ sap.ui.define([
|
|
|
1184
1200
|
if (!oDomRef) {
|
|
1185
1201
|
oDomRef = this.getDomRef();
|
|
1186
1202
|
}
|
|
1187
|
-
this._oPopup._getPopup().
|
|
1203
|
+
this._oPopup._getPopup().setExtraContent([oDomRef]);
|
|
1188
1204
|
this._oPopup.openBy(oDomRef || this);
|
|
1189
1205
|
};
|
|
1190
1206
|
|
|
@@ -1248,7 +1264,6 @@ sap.ui.define([
|
|
|
1248
1264
|
this._getCalendar().addSelectedDate(this._oDateRange);
|
|
1249
1265
|
this._getCalendar()._setSpecialDatesControlOrigin(this);
|
|
1250
1266
|
this._getCalendar().attachCancel(_cancel, this);
|
|
1251
|
-
this._getCalendar().setPopupMode(true);
|
|
1252
1267
|
|
|
1253
1268
|
if (this.$().closest(".sapUiSizeCompact").length > 0) {
|
|
1254
1269
|
this._getCalendar().addStyleClass("sapUiSizeCompact");
|
|
@@ -1320,13 +1335,19 @@ sap.ui.define([
|
|
|
1320
1335
|
};
|
|
1321
1336
|
|
|
1322
1337
|
DatePicker.prototype._fillDateRange = function(){
|
|
1323
|
-
|
|
1338
|
+
var sFormattedDate;
|
|
1324
1339
|
var oDate = this.getDateValue();
|
|
1325
1340
|
|
|
1326
1341
|
if (oDate &&
|
|
1327
1342
|
oDate.getTime() >= this._oMinDate.getTime() &&
|
|
1328
1343
|
oDate.getTime() <= this._oMaxDate.getTime()) {
|
|
1329
1344
|
|
|
1345
|
+
sFormattedDate = this._getPickerParser().format(
|
|
1346
|
+
oDate,
|
|
1347
|
+
this._getTimezone(true)
|
|
1348
|
+
);
|
|
1349
|
+
oDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
|
|
1350
|
+
|
|
1330
1351
|
this._getCalendar().focusDate(new Date(oDate.getTime()));
|
|
1331
1352
|
if (!this._oDateRange.getStartDate() || this._oDateRange.getStartDate().getTime() != oDate.getTime()) {
|
|
1332
1353
|
this._oDateRange.setStartDate(new Date(oDate.getTime()));
|
|
@@ -1335,6 +1356,12 @@ sap.ui.define([
|
|
|
1335
1356
|
var oInitialFocusedDateValue = this.getInitialFocusedDateValue();
|
|
1336
1357
|
var oFocusDate = oInitialFocusedDateValue ? oInitialFocusedDateValue : new Date();
|
|
1337
1358
|
|
|
1359
|
+
sFormattedDate = this._getPickerParser().format(
|
|
1360
|
+
oFocusDate,
|
|
1361
|
+
this._getTimezone(true)
|
|
1362
|
+
);
|
|
1363
|
+
oFocusDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
|
|
1364
|
+
|
|
1338
1365
|
if (oFocusDate.getTime() < this._oMinDate.getTime()) {
|
|
1339
1366
|
oFocusDate = this._oMinDate;
|
|
1340
1367
|
} else if (oFocusDate.getTime() > this._oMaxDate.getTime()) {
|
|
@@ -1374,6 +1401,13 @@ sap.ui.define([
|
|
|
1374
1401
|
oDate = this._getSelectedDate(),
|
|
1375
1402
|
sValue = "";
|
|
1376
1403
|
|
|
1404
|
+
var sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
|
|
1405
|
+
var oParts = this._getPickerParser().parse(
|
|
1406
|
+
sFormattedDate,
|
|
1407
|
+
this._getTimezone(true)
|
|
1408
|
+
);
|
|
1409
|
+
oDate = oParts && oParts[0];
|
|
1410
|
+
|
|
1377
1411
|
// do not use this.onChange() because output pattern will change date (e.g. only last 2 number of year -> 1966 -> 2066 )
|
|
1378
1412
|
if (!deepEqual(oDate, oDateOld)) {
|
|
1379
1413
|
this.setDateValue(new Date(oDate.getTime()));
|
|
@@ -1414,6 +1448,10 @@ sap.ui.define([
|
|
|
1414
1448
|
this._selectDate();
|
|
1415
1449
|
};
|
|
1416
1450
|
|
|
1451
|
+
DatePicker.prototype._getTimezone = function(bUseDefaultAsFallback) {
|
|
1452
|
+
return sap.ui.getCore().getConfiguration().getTimezone();
|
|
1453
|
+
};
|
|
1454
|
+
|
|
1417
1455
|
/* sets cursor inside the input in order to focus it */
|
|
1418
1456
|
DatePicker.prototype._focusInput = function(){
|
|
1419
1457
|
|
|
@@ -1571,11 +1609,11 @@ sap.ui.define([
|
|
|
1571
1609
|
this._renderedDays = this._getCalendar().$("-Month0-days").find(".sapUiCalItem").length;
|
|
1572
1610
|
|
|
1573
1611
|
this.$("inner").attr("aria-owns", this.getId() + "-cal");
|
|
1574
|
-
this.$("inner").attr("aria-expanded", true);
|
|
1575
1612
|
|
|
1576
1613
|
InstanceManager.addPopoverInstance(this._oPopup);
|
|
1577
1614
|
|
|
1578
1615
|
this._oCalendar.focus();
|
|
1616
|
+
this.fireAfterValueHelpOpen();
|
|
1579
1617
|
}
|
|
1580
1618
|
|
|
1581
1619
|
function _handleClose() {
|
|
@@ -1583,11 +1621,11 @@ sap.ui.define([
|
|
|
1583
1621
|
this._oPopup.getBeginButton().setEnabled(false);
|
|
1584
1622
|
}
|
|
1585
1623
|
this.removeStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
|
|
1586
|
-
this.$("inner").attr("aria-expanded", false);
|
|
1587
1624
|
|
|
1588
1625
|
this._getCalendar()._closePickers();
|
|
1589
1626
|
|
|
1590
1627
|
InstanceManager.removePopoverInstance(this._oPopup);
|
|
1628
|
+
this.fireAfterValueHelpClose();
|
|
1591
1629
|
}
|
|
1592
1630
|
|
|
1593
1631
|
function _resizeCalendar(oEvent){
|
|
@@ -1624,6 +1662,14 @@ sap.ui.define([
|
|
|
1624
1662
|
|
|
1625
1663
|
}
|
|
1626
1664
|
|
|
1665
|
+
DatePicker.prototype._getPickerParser = function() {
|
|
1666
|
+
if (!this._calendarParser) {
|
|
1667
|
+
this._calendarParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1670
|
+
return this._calendarParser;
|
|
1671
|
+
};
|
|
1672
|
+
|
|
1627
1673
|
/**
|
|
1628
1674
|
* Fired when the input operation has finished and the value has changed.
|
|
1629
1675
|
*
|
|
@@ -49,7 +49,6 @@ sap.ui.define(['sap/ui/core/Renderer', './InputBaseRenderer', 'sap/ui/core/libra
|
|
|
49
49
|
mAccessibilityState["roledescription"] = sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATEINPUT");
|
|
50
50
|
mAccessibilityState["autocomplete"] = "none";
|
|
51
51
|
mAccessibilityState["haspopup"] = coreLibrary.aria.HasPopup.Grid.toLowerCase();
|
|
52
|
-
mAccessibilityState["expanded"] = false;
|
|
53
52
|
// aria-disabled is not necessary if we already have a native 'disabled' attribute
|
|
54
53
|
mAccessibilityState["disabled"] = null;
|
|
55
54
|
|
|
@@ -11,6 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
'./library',
|
|
12
12
|
'sap/ui/core/LocaleData',
|
|
13
13
|
'sap/ui/core/format/DateFormat',
|
|
14
|
+
'sap/ui/core/format/TimezoneUtil',
|
|
14
15
|
'sap/ui/core/date/UniversalDate',
|
|
15
16
|
'./DateRangeSelectionRenderer',
|
|
16
17
|
"sap/ui/unified/calendar/CustomMonthPicker",
|
|
@@ -26,6 +27,7 @@ sap.ui.define([
|
|
|
26
27
|
library,
|
|
27
28
|
LocaleData,
|
|
28
29
|
DateFormat,
|
|
30
|
+
TimezoneUtil,
|
|
29
31
|
UniversalDate,
|
|
30
32
|
DateRangeSelectionRenderer,
|
|
31
33
|
CustomMonthPicker,
|
|
@@ -126,8 +128,8 @@ sap.ui.define([
|
|
|
126
128
|
* compact mode and provides a touch-friendly size in cozy mode.
|
|
127
129
|
*
|
|
128
130
|
* @extends sap.m.DatePicker
|
|
129
|
-
* @version 1.
|
|
130
|
-
* @version 1.
|
|
131
|
+
* @version 1.102.1
|
|
132
|
+
* @version 1.102.1
|
|
131
133
|
*
|
|
132
134
|
* @constructor
|
|
133
135
|
* @public
|
|
@@ -200,6 +202,7 @@ sap.ui.define([
|
|
|
200
202
|
oCalendar._getYearPicker().setIntervalSelection(true);
|
|
201
203
|
}
|
|
202
204
|
|
|
205
|
+
this._getCalendar().detachWeekNumberSelect(this._handleWeekSelect, this);
|
|
203
206
|
this._getCalendar().attachWeekNumberSelect(this._handleWeekSelect, this);
|
|
204
207
|
this._getCalendar().getSelectedDates()[0].setStartDate(this._oDateRange.getStartDate());
|
|
205
208
|
this._getCalendar().getSelectedDates()[0].setEndDate(this._oDateRange.getEndDate());
|
|
@@ -807,11 +810,18 @@ sap.ui.define([
|
|
|
807
810
|
DatePicker.prototype._fillDateRange.apply(this, arguments);
|
|
808
811
|
|
|
809
812
|
var oEndDate = this.getSecondDateValue();
|
|
813
|
+
var sFormattedEndDate;
|
|
810
814
|
|
|
811
815
|
if (oEndDate &&
|
|
812
816
|
oEndDate.getTime() >= this._oMinDate.getTime() &&
|
|
813
817
|
oEndDate.getTime() <= this._oMaxDate.getTime()) {
|
|
814
818
|
if (!this._oDateRange.getEndDate() || this._oDateRange.getEndDate().getTime() !== oEndDate.getTime()) {
|
|
819
|
+
sFormattedEndDate = this._getPickerParser().format(
|
|
820
|
+
oEndDate,
|
|
821
|
+
sap.ui.getCore().getConfiguration().getTimezone()
|
|
822
|
+
);
|
|
823
|
+
oEndDate = this._getPickerParser().parse(sFormattedEndDate, TimezoneUtil.getLocalTimezone())[0];
|
|
824
|
+
|
|
815
825
|
this._oDateRange.setEndDate(new Date(oEndDate.getTime()));
|
|
816
826
|
}
|
|
817
827
|
} else {
|
|
@@ -824,6 +834,8 @@ sap.ui.define([
|
|
|
824
834
|
|
|
825
835
|
DateRangeSelection.prototype._selectDate = function () {
|
|
826
836
|
var aSelectedDates = this._getCalendar().getSelectedDates();
|
|
837
|
+
var sFormattedDate, oParts;
|
|
838
|
+
var sTimezone = sap.ui.getCore().getConfiguration().getTimezone();
|
|
827
839
|
|
|
828
840
|
if (aSelectedDates.length > 0) {
|
|
829
841
|
var oDate1 = aSelectedDates[0].getStartDate();
|
|
@@ -836,6 +848,17 @@ sap.ui.define([
|
|
|
836
848
|
// the selected range includes all of the hours from the second date
|
|
837
849
|
oDate2.setHours(23, 59, 59, 999);
|
|
838
850
|
|
|
851
|
+
sFormattedDate = this._getPickerParser().format(oDate1, TimezoneUtil.getLocalTimezone());
|
|
852
|
+
oParts = this._getPickerParser().parse(sFormattedDate, sTimezone);
|
|
853
|
+
oDate1 = oParts && oParts[0];
|
|
854
|
+
|
|
855
|
+
sFormattedDate = this._getPickerParser().format(oDate2, TimezoneUtil.getLocalTimezone());
|
|
856
|
+
oParts = this._getPickerParser().parse(sFormattedDate, sTimezone);
|
|
857
|
+
oDate2 = oParts && oParts[0];
|
|
858
|
+
|
|
859
|
+
//the parser does not include milliseconds, so restore them
|
|
860
|
+
oDate2.setMilliseconds(999);
|
|
861
|
+
|
|
839
862
|
var sValue;
|
|
840
863
|
if (!deepEqual(oDate1, oDate1Old) || !deepEqual(oDate2, oDate2Old)) {
|
|
841
864
|
// compare Dates because value can be the same if only 2 digits for year
|
|
@@ -888,8 +911,15 @@ sap.ui.define([
|
|
|
888
911
|
|
|
889
912
|
DateRangeSelection.prototype._handleWeekSelect = function(oEvent){
|
|
890
913
|
var oSelectedDates = oEvent.getParameter("weekDays"),
|
|
891
|
-
oSelectedStartDate
|
|
892
|
-
oSelectedEndDate
|
|
914
|
+
oSelectedStartDate,
|
|
915
|
+
oSelectedEndDate;
|
|
916
|
+
|
|
917
|
+
if (!oSelectedDates) {
|
|
918
|
+
return;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
oSelectedStartDate = oSelectedDates.getStartDate();
|
|
922
|
+
oSelectedEndDate = oSelectedDates.getEndDate();
|
|
893
923
|
|
|
894
924
|
if (this.getShowFooter()) {
|
|
895
925
|
this._oPopup.getBeginButton().setEnabled(!!(oSelectedStartDate && oSelectedEndDate));
|
|
@@ -1058,6 +1088,14 @@ sap.ui.define([
|
|
|
1058
1088
|
}
|
|
1059
1089
|
};
|
|
1060
1090
|
|
|
1091
|
+
DateRangeSelection.prototype._getPickerParser = function() {
|
|
1092
|
+
if (!this._calendarParser) {
|
|
1093
|
+
this._calendarParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
return this._calendarParser;
|
|
1097
|
+
};
|
|
1098
|
+
|
|
1061
1099
|
function _getIncrementedDate(oOldDate, iNumber, sUnit) {
|
|
1062
1100
|
// use UniversalDate to calculate new date based on used calendar
|
|
1063
1101
|
var oBinding = this.getBinding("value"),
|
|
@@ -59,7 +59,7 @@ sap.ui.define([
|
|
|
59
59
|
* @extends sap.m.InputBase
|
|
60
60
|
*
|
|
61
61
|
* @author SAP SE
|
|
62
|
-
* @version 1.
|
|
62
|
+
* @version 1.102.1
|
|
63
63
|
*
|
|
64
64
|
* @constructor
|
|
65
65
|
* @public
|
|
@@ -239,7 +239,10 @@ sap.ui.define([
|
|
|
239
239
|
// open value state message popup when focus is in the input
|
|
240
240
|
this.openValueStateMessage();
|
|
241
241
|
} else if (this._oValueStateHeader) {
|
|
242
|
-
this._oValueStateHeader
|
|
242
|
+
this._oValueStateHeader
|
|
243
|
+
.setValueState(this.getValueState())
|
|
244
|
+
.setText(this._getTextForPickerValueStateContent())
|
|
245
|
+
.setVisible(this.getValueState() !== ValueState.None);
|
|
243
246
|
}
|
|
244
247
|
|
|
245
248
|
};
|
|
@@ -16,9 +16,9 @@ sap.ui.define([
|
|
|
16
16
|
'sap/ui/core/Control',
|
|
17
17
|
'sap/ui/Device',
|
|
18
18
|
'sap/ui/core/format/DateFormat',
|
|
19
|
-
'sap/ui/core/format/DateFormatTimezoneDisplay',
|
|
20
19
|
'sap/ui/core/LocaleData',
|
|
21
20
|
'sap/ui/core/Core',
|
|
21
|
+
'sap/ui/core/format/TimezoneUtil',
|
|
22
22
|
'./TimePickerClocks',
|
|
23
23
|
'./DateTimePickerRenderer',
|
|
24
24
|
'./SegmentedButton',
|
|
@@ -39,9 +39,9 @@ sap.ui.define([
|
|
|
39
39
|
Control,
|
|
40
40
|
Device,
|
|
41
41
|
DateFormat,
|
|
42
|
-
DateFormatTimezoneDisplay,
|
|
43
42
|
LocaleData,
|
|
44
43
|
Core,
|
|
44
|
+
TimezoneUtil,
|
|
45
45
|
TimePickerClocks,
|
|
46
46
|
DateTimePickerRenderer,
|
|
47
47
|
SegmentedButton,
|
|
@@ -145,7 +145,7 @@ sap.ui.define([
|
|
|
145
145
|
* mobile devices, it opens in full screen.
|
|
146
146
|
*
|
|
147
147
|
* @extends sap.m.DatePicker
|
|
148
|
-
* @version 1.
|
|
148
|
+
* @version 1.102.1
|
|
149
149
|
*
|
|
150
150
|
* @constructor
|
|
151
151
|
* @public
|
|
@@ -313,19 +313,14 @@ sap.ui.define([
|
|
|
313
313
|
if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
|
|
314
314
|
oSwitcher.setVisible(true);
|
|
315
315
|
oSwitcher.setSelectedKey("Cal");
|
|
316
|
+
this.getCalendar().addDelegate({
|
|
317
|
+
onAfterRendering: function() {
|
|
318
|
+
this._switchVisibility(oSwitcher.getSelectedKey());
|
|
319
|
+
}.bind(this)
|
|
320
|
+
});
|
|
316
321
|
} else {
|
|
317
322
|
oSwitcher.setVisible(false);
|
|
318
323
|
}
|
|
319
|
-
|
|
320
|
-
},
|
|
321
|
-
|
|
322
|
-
onAfterRendering: function() {
|
|
323
|
-
if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
|
|
324
|
-
var oSwitcher = this.getAggregation("_switcher");
|
|
325
|
-
var sKey = oSwitcher.getSelectedKey();
|
|
326
|
-
this._switchVisibility(sKey);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
324
|
},
|
|
330
325
|
|
|
331
326
|
_handleSelect: function(oEvent) {
|
|
@@ -349,7 +344,7 @@ sap.ui.define([
|
|
|
349
344
|
}
|
|
350
345
|
|
|
351
346
|
if (sKey === "Cal") {
|
|
352
|
-
oCalendar.$().css("display", "");
|
|
347
|
+
oCalendar.$().css("display", "flex");
|
|
353
348
|
oClocks.$().css("display", "none");
|
|
354
349
|
oCalendar.getFocusDomRef() && oCalendar.getFocusDomRef().focus();
|
|
355
350
|
} else {
|
|
@@ -373,21 +368,6 @@ sap.ui.define([
|
|
|
373
368
|
|
|
374
369
|
return this._oDateTimePicker.getSpecialDates();
|
|
375
370
|
|
|
376
|
-
},
|
|
377
|
-
|
|
378
|
-
onkeydown: function(oEvent) {
|
|
379
|
-
var bIsTabForward = oEvent.keyCode === KeyCodes.TAB && !oEvent.shiftKey;
|
|
380
|
-
var bIsTabBackward = oEvent.keyCode === KeyCodes.TAB && oEvent.shiftKey;
|
|
381
|
-
if (bIsTabForward) {
|
|
382
|
-
if (oEvent.target.classList.contains('sapUiCalHeadToday')
|
|
383
|
-
|| (oEvent.target.classList.contains('sapUiCalHeadBLast') && !this._oDateTimePicker._oCalendar.getShowCurrentDateButton())) {
|
|
384
|
-
this.getAggregation('clocks').getDomRef().children[0].children[0].focus();
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
if (bIsTabBackward && oEvent.target.classList.contains('sapUiCalItem')) {
|
|
388
|
-
var iLastElementIndex = this.oParent.getAggregation("footer").getAggregation("content").length - 1;
|
|
389
|
-
this.oParent.getAggregation("footer").getAggregation("content")[iLastElementIndex].focus();
|
|
390
|
-
}
|
|
391
371
|
}
|
|
392
372
|
});
|
|
393
373
|
|
|
@@ -578,6 +558,7 @@ sap.ui.define([
|
|
|
578
558
|
var oResourceBundle;
|
|
579
559
|
|
|
580
560
|
if (this._oTimezonePopup) {
|
|
561
|
+
this._oTimezonePopup.setTitle(this._getTimezone(true));
|
|
581
562
|
return this._oTimezonePopup;
|
|
582
563
|
}
|
|
583
564
|
|
|
@@ -659,7 +640,7 @@ sap.ui.define([
|
|
|
659
640
|
|
|
660
641
|
if (bDisplayFormat || !this._getTimezone() ||
|
|
661
642
|
(oBindingType && !oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"]))) {
|
|
662
|
-
oFormatOptions.showTimezone =
|
|
643
|
+
oFormatOptions.showTimezone = false;
|
|
663
644
|
}
|
|
664
645
|
|
|
665
646
|
if (oFormatOptions.relative === undefined) {
|
|
@@ -703,7 +684,7 @@ sap.ui.define([
|
|
|
703
684
|
oBindingType = oBinding && oBinding.getType();
|
|
704
685
|
|
|
705
686
|
if (this.getShowTimezone() === undefined && oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
|
|
706
|
-
return oBindingType.getFormatOptions().showTimezone !==
|
|
687
|
+
return oBindingType.getFormatOptions().showTimezone !== false;
|
|
707
688
|
}
|
|
708
689
|
|
|
709
690
|
return this.getShowTimezone();
|
|
@@ -804,12 +785,24 @@ sap.ui.define([
|
|
|
804
785
|
|
|
805
786
|
DateTimePicker.prototype._getFallbackParser = function() {
|
|
806
787
|
if (!this._fallbackParser) {
|
|
807
|
-
this._fallbackParser = DateFormat.getDateTimeWithTimezoneInstance({
|
|
788
|
+
this._fallbackParser = DateFormat.getDateTimeWithTimezoneInstance({
|
|
789
|
+
showDate: false,
|
|
790
|
+
showTime: false,
|
|
791
|
+
showTimezone: true
|
|
792
|
+
});
|
|
808
793
|
}
|
|
809
794
|
|
|
810
795
|
return this._fallbackParser;
|
|
811
796
|
};
|
|
812
797
|
|
|
798
|
+
DateTimePicker.prototype._getPickerParser = function() {
|
|
799
|
+
if (!this._clocksParser) {
|
|
800
|
+
this._clocksParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
return this._clocksParser;
|
|
804
|
+
};
|
|
805
|
+
|
|
813
806
|
DateTimePicker.prototype._getLocaleBasedPattern = function(sPlaceholder) {
|
|
814
807
|
var oLocaleData = LocaleData.getInstance(
|
|
815
808
|
Core.getConfiguration().getFormatSettings().getFormatLocale()
|
|
@@ -899,7 +892,7 @@ sap.ui.define([
|
|
|
899
892
|
this.addStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
|
|
900
893
|
|
|
901
894
|
var oPopover = this._oPopup.getAggregation("_popup");
|
|
902
|
-
oPopover.oPopup.
|
|
895
|
+
oPopover.oPopup.setExtraContent([oDomRef]);
|
|
903
896
|
|
|
904
897
|
this._oPopup.openBy(oDomRef || this);
|
|
905
898
|
};
|
|
@@ -966,6 +959,10 @@ sap.ui.define([
|
|
|
966
959
|
this._oOKButton.setEnabled(false);
|
|
967
960
|
}
|
|
968
961
|
|
|
962
|
+
// convert the date to local date for the calendar and the clocks
|
|
963
|
+
sFormattedDate = this._getPickerParser().format(oDate, this._getTimezone(true));
|
|
964
|
+
oDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
|
|
965
|
+
|
|
969
966
|
this._oCalendar.focusDate(oDate);
|
|
970
967
|
|
|
971
968
|
if (bDateFound) {
|
|
@@ -974,19 +971,18 @@ sap.ui.define([
|
|
|
974
971
|
}
|
|
975
972
|
}
|
|
976
973
|
|
|
977
|
-
sFormattedDate = this._formatValue(oDate, false);
|
|
978
|
-
oDate = this._parseValue(sFormattedDate, true, Core.getConfiguration().getTimezone());
|
|
979
974
|
this._oClocks._setTimeValues(oDate);
|
|
980
975
|
};
|
|
981
976
|
|
|
982
977
|
DateTimePicker.prototype._getSelectedDate = function(){
|
|
983
|
-
|
|
984
978
|
var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
|
|
985
|
-
|
|
979
|
+
oDateTime,
|
|
980
|
+
sPattern;
|
|
986
981
|
|
|
987
982
|
if (oDate) {
|
|
988
|
-
|
|
989
|
-
|
|
983
|
+
oDateTime = this._oClocks.getTimeValues();
|
|
984
|
+
sPattern = this._oClocks._getDisplayFormatPattern();
|
|
985
|
+
|
|
990
986
|
if (sPattern.search("h") >= 0 || sPattern.search("H") >= 0) {
|
|
991
987
|
oDate.setHours(oDateTime.getHours());
|
|
992
988
|
}
|
|
@@ -1004,9 +1000,6 @@ sap.ui.define([
|
|
|
1004
1000
|
}
|
|
1005
1001
|
}
|
|
1006
1002
|
|
|
1007
|
-
sFormattedDate = this._formatValue(oDate, false, Core.getConfiguration().getTimezone());
|
|
1008
|
-
oDate = this._parseValue(sFormattedDate, true, this._getTimezone(true));
|
|
1009
|
-
|
|
1010
1003
|
return oDate;
|
|
1011
1004
|
};
|
|
1012
1005
|
|
|
@@ -1053,23 +1046,23 @@ sap.ui.define([
|
|
|
1053
1046
|
} else {
|
|
1054
1047
|
oSwitcher.setVisible(false);
|
|
1055
1048
|
oClocks.$().css("display", "");
|
|
1056
|
-
oCalendar.$().css("display", "");
|
|
1049
|
+
oCalendar.$().css("display", "flex");
|
|
1057
1050
|
}
|
|
1058
1051
|
};
|
|
1059
1052
|
|
|
1060
1053
|
function _handleAfterOpen(oEvent){
|
|
1061
|
-
this.$("inner").attr("aria-expanded", true);
|
|
1062
1054
|
this._oCalendar.focus();
|
|
1063
1055
|
|
|
1064
1056
|
Device.media.attachHandler(this._handleWindowResize, this);
|
|
1057
|
+
this.fireAfterValueHelpOpen();
|
|
1065
1058
|
}
|
|
1066
1059
|
|
|
1067
1060
|
function _handleAfterClose(){
|
|
1068
1061
|
this.removeStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
|
|
1069
|
-
this.$("inner").attr("aria-expanded", false);
|
|
1070
1062
|
|
|
1071
1063
|
this._oCalendar._closePickers();
|
|
1072
1064
|
Device.media.detachHandler(this._handleWindowResize, this);
|
|
1065
|
+
this.fireAfterValueHelpClose();
|
|
1073
1066
|
}
|
|
1074
1067
|
|
|
1075
1068
|
function _getTimePattern(){
|
|
@@ -1108,15 +1101,9 @@ sap.ui.define([
|
|
|
1108
1101
|
}
|
|
1109
1102
|
|
|
1110
1103
|
function _handleCalendarSelect(oEvent) {
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
this._oPopupContent.getCalendar().getAggregation("month")[0].removeEventDelegate(oDelegate, this);
|
|
1114
|
-
this._oPopupContent.switchToTime();
|
|
1115
|
-
this._oPopupContent.getClocks()._focusActiveButton();
|
|
1116
|
-
}
|
|
1117
|
-
};
|
|
1104
|
+
this._oPopupContent.switchToTime();
|
|
1105
|
+
this._oPopupContent.getClocks()._focusActiveButton();
|
|
1118
1106
|
this._oOKButton.setEnabled(true);
|
|
1119
|
-
this._oPopupContent.getCalendar().getAggregation("month")[0].addEventDelegate(oDelegate, this);
|
|
1120
1107
|
}
|
|
1121
1108
|
|
|
1122
1109
|
return DateTimePicker;
|
|
@@ -62,8 +62,8 @@ sap.ui.define(['sap/ui/core/Renderer', './DatePickerRenderer', './InputBaseRende
|
|
|
62
62
|
|
|
63
63
|
// try to choose the date that is the longest when formatted
|
|
64
64
|
oRm.text(oControl._getFormatter(true).format(
|
|
65
|
-
new Date(2000, 10, 20, 10, 10, 10),
|
|
66
|
-
|
|
65
|
+
new Date(Date.UTC(2000, 10, 20, 10, 10, 10)),
|
|
66
|
+
"UTC"));
|
|
67
67
|
oRm.close("span");
|
|
68
68
|
};
|
|
69
69
|
|
package/src/sap/m/Dialog.js
CHANGED
|
@@ -164,7 +164,7 @@ function(
|
|
|
164
164
|
* <li>If the <code>contentWidth</code> and/or <code>contentHeight</code> properties are set, the Dialog will try to fill those sizes.</li>
|
|
165
165
|
* <li>If there is no specific sizing, the Dialog will try to adjust its size to its content.</li>
|
|
166
166
|
* </ul>
|
|
167
|
-
* When using the <code>sap.m.Dialog</code> in SAP Quartz themes, the breakpoints and layout paddings could be determined by the Dialog's width. To enable this concept and add responsive paddings to an element of the Dialog control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
|
|
167
|
+
* When using the <code>sap.m.Dialog</code> in SAP Quartz and Horizon themes, the breakpoints and layout paddings could be determined by the Dialog's width. To enable this concept and add responsive paddings to an element of the Dialog control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
|
|
168
168
|
* <h4>Smartphones</h4>
|
|
169
169
|
* If the Dialog has one or two actions, they will cover the entire footer. If there are more actions, they will overflow.
|
|
170
170
|
* <h4>Tablets</h4>
|
|
@@ -175,7 +175,7 @@ function(
|
|
|
175
175
|
*
|
|
176
176
|
* @implements sap.ui.core.PopupInterface
|
|
177
177
|
* @author SAP SE
|
|
178
|
-
* @version 1.
|
|
178
|
+
* @version 1.102.1
|
|
179
179
|
*
|
|
180
180
|
* @constructor
|
|
181
181
|
* @public
|
|
@@ -325,13 +325,23 @@ function(
|
|
|
325
325
|
customHeader: {type: "sap.m.IBar", multiple: false},
|
|
326
326
|
|
|
327
327
|
/**
|
|
328
|
-
* The button which is rendered to the left side (right side in RTL mode) of the <code>endButton</code> in the footer area inside the Dialog.
|
|
328
|
+
* The button which is rendered to the left side (right side in RTL mode) of the <code>endButton</code> in the footer area inside the Dialog.
|
|
329
|
+
* As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of the Dialog.
|
|
330
|
+
* If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore.
|
|
331
|
+
* With the Belize themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the center of the footer area.
|
|
332
|
+
* While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered on the right side of the footer area.
|
|
333
|
+
* When running on other platforms, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
|
|
329
334
|
* @since 1.15.1
|
|
330
335
|
*/
|
|
331
336
|
beginButton: {type: "sap.m.Button", multiple: false},
|
|
332
337
|
|
|
333
338
|
/**
|
|
334
|
-
* The button which is rendered to the right side (left side in RTL mode) of the <code>beginButton</code> in the footer area inside the Dialog.
|
|
339
|
+
* The button which is rendered to the right side (left side in RTL mode) of the <code>beginButton</code> in the footer area inside the Dialog.
|
|
340
|
+
* As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of Dialog.
|
|
341
|
+
* If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore.
|
|
342
|
+
* With the Belize themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the center of the footer area.
|
|
343
|
+
* While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered on the right side of the footer area.
|
|
344
|
+
* When running on other platforms, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
|
|
335
345
|
* @since 1.15.1
|
|
336
346
|
*/
|
|
337
347
|
endButton: {type: "sap.m.Button", multiple: false},
|
|
@@ -550,10 +560,13 @@ function(
|
|
|
550
560
|
this._createToolbarButtons();
|
|
551
561
|
|
|
552
562
|
if (Core.getConfiguration().getAccessibility() && this.getState() != ValueState.None) {
|
|
553
|
-
|
|
563
|
+
if (!this._oValueState) {
|
|
564
|
+
this._oValueState = new InvisibleText();
|
|
554
565
|
|
|
555
|
-
|
|
556
|
-
|
|
566
|
+
this.setAggregation("_valueState", this._oValueState);
|
|
567
|
+
this.addAriaLabelledBy(this._oValueState.getId());
|
|
568
|
+
}
|
|
569
|
+
this._oValueState.setText(this.getValueStateString(this.getState()));
|
|
557
570
|
}
|
|
558
571
|
|
|
559
572
|
// title alignment
|
|
@@ -1231,7 +1244,7 @@ function(
|
|
|
1231
1244
|
$this = this.$(),
|
|
1232
1245
|
iHeaderHeight = $this.find(".sapMDialogTitle").height() || 0,
|
|
1233
1246
|
iSubHeaderHeight = $this.find(".sapMDialogSubHeader").height() || 0,
|
|
1234
|
-
iFooterHeight = $this.find("footer").height() || 0,
|
|
1247
|
+
iFooterHeight = $this.find("> footer").height() || 0,
|
|
1235
1248
|
iHeightAsPadding = iHeaderHeight + iSubHeaderHeight + iFooterHeight,
|
|
1236
1249
|
iMaxHeight,
|
|
1237
1250
|
iMaxWidth;
|
|
@@ -151,7 +151,7 @@ sap.ui.define([
|
|
|
151
151
|
if (Device.system.desktop) {
|
|
152
152
|
|
|
153
153
|
if (oDialog.getResizable() && !bStretch) {
|
|
154
|
-
oRM.icon("sap-icon://resize-corner", ["sapMDialogResizeHandler"], {
|
|
154
|
+
oRM.icon("sap-icon://resize-corner", ["sapMDialogResizeHandler"], {"title": "", "aria-label": ""});
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
// Invisible element which is used to determine when desktop keyboard navigation
|