@openui5/sap.m 1.102.0 → 1.102.4
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/THIRDPARTY.txt +1 -1
- 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 +1 -1
- package/src/sap/m/App.js +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +1 -1
- package/src/sap/m/Bar.js +1 -1
- package/src/sap/m/Breadcrumbs.js +1 -1
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +1 -1
- package/src/sap/m/Carousel.js +1 -1
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +1 -1
- package/src/sap/m/ColorPalette.js +1 -1
- package/src/sap/m/ColorPalettePopover.js +1 -1
- package/src/sap/m/Column.js +1 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- package/src/sap/m/ColumnListItemRenderer.js +6 -2
- package/src/sap/m/ColumnPopoverActionItem.js +1 -1
- package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
- package/src/sap/m/ColumnPopoverItem.js +1 -1
- package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
- package/src/sap/m/ColumnPopoverSortItem.js +1 -1
- package/src/sap/m/ComboBox.js +1 -1
- package/src/sap/m/ComboBoxBase.js +1 -1
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/CustomDynamicDateOption.js +1 -1
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTreeItem.js +1 -1
- package/src/sap/m/DatePicker.js +21 -23
- package/src/sap/m/DateRangeSelection.js +45 -38
- package/src/sap/m/DateTimeField.js +48 -28
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +26 -20
- package/src/sap/m/Dialog.js +2 -2
- 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 +36 -1
- package/src/sap/m/DynamicDateOption.js +38 -13
- package/src/sap/m/DynamicDateRange.js +33 -20
- package/src/sap/m/DynamicDateUtil.js +23 -2
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +1 -1
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +1 -1
- package/src/sap/m/FeedContent.js +1 -1
- package/src/sap/m/FeedInput.js +1 -1
- package/src/sap/m/FeedListItem.js +1 -1
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/Fiori20Adapter.js +2 -2
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +1 -1
- package/src/sap/m/GenericTag.js +1 -1
- package/src/sap/m/GenericTile.js +67 -15
- package/src/sap/m/GenericTileRenderer.js +75 -55
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingEnablement.js +80 -19
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +48 -44
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +54 -22
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +1 -1
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +3 -2
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/IllustratedMessage.js +1 -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 +1 -1
- package/src/sap/m/InputBase.js +1 -1
- 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 +21 -5
- package/src/sap/m/LinkRenderer.js +17 -9
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +4 -1
- package/src/sap/m/ListItemBase.js +1 -1
- 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 +1 -1
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageItem.js +1 -1
- package/src/sap/m/MessageListItem.js +1 -1
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +1 -1
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +1 -1
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +1 -1
- package/src/sap/m/MultiComboBox.js +1 -1
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +1 -1
- package/src/sap/m/NavContainer.js +1 -1
- package/src/sap/m/NewsContent.js +1 -1
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +1 -1
- package/src/sap/m/NotificationListGroup.js +1 -1
- package/src/sap/m/NotificationListItem.js +1 -1
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/NumericInput.js +1 -1
- package/src/sap/m/ObjectAttribute.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 +1 -1
- package/src/sap/m/ObjectNumber.js +1 -1
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/OverflowToolbar.js +5 -2
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- package/src/sap/m/OverflowToolbarButton.js +1 -1
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +1 -1
- package/src/sap/m/P13nColumnsItem.js +1 -1
- package/src/sap/m/P13nColumnsPanel.js +1 -1
- package/src/sap/m/P13nConditionPanel.js +8 -1
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +1 -1
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -1
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -1
- package/src/sap/m/P13nItem.js +1 -1
- package/src/sap/m/P13nPanel.js +1 -1
- package/src/sap/m/P13nSelectionItem.js +1 -1
- package/src/sap/m/P13nSelectionPanel.js +1 -1
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +1 -1
- package/src/sap/m/PDFViewer.js +2 -2
- 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 +1 -1
- package/src/sap/m/PlanningCalendarHeader.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/src/sap/m/RadioButtonGroup.js +1 -1
- package/src/sap/m/RangeSlider.js +1 -1
- package/src/sap/m/RatingIndicator.js +1 -1
- package/src/sap/m/ResponsivePopover.js +1 -1
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +1 -1
- package/src/sap/m/ScrollContainer.js +1 -1
- package/src/sap/m/SearchField.js +1 -1
- package/src/sap/m/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +1 -1
- 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/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 +1 -1
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
- package/src/sap/m/SlideTile.js +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 +1 -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 +9 -5
- package/src/sap/m/StandardListItem.js +1 -1
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +1 -1
- package/src/sap/m/SuggestionItem.js +1 -1
- package/src/sap/m/SuggestionsPopover.js +1 -1
- package/src/sap/m/Switch.js +1 -1
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -1
- package/src/sap/m/TabStrip.js +1 -1
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/Table.js +7 -1
- package/src/sap/m/TablePersoController.js +1 -1
- package/src/sap/m/TablePersoDialog.js +1 -1
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +27 -0
- package/src/sap/m/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +1 -1
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +1 -1
- package/src/sap/m/TileContent.js +26 -16
- package/src/sap/m/TileContentRenderer.js +15 -5
- package/src/sap/m/TimePicker.js +14 -2
- package/src/sap/m/TimePickerClock.js +1 -1
- package/src/sap/m/TimePickerClocks.js +5 -3
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +1 -1
- package/src/sap/m/TimePickerSliders.js +1 -1
- package/src/sap/m/Title.js +1 -1
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/ToggleButton.js +1 -1
- package/src/sap/m/Token.js +1 -1
- package/src/sap/m/Tokenizer.js +1 -1
- package/src/sap/m/Toolbar.js +1 -1
- package/src/sap/m/ToolbarLayoutData.js +1 -1
- package/src/sap/m/ToolbarSeparator.js +1 -1
- package/src/sap/m/ToolbarSpacer.js +1 -1
- package/src/sap/m/Tree.js +1 -1
- package/src/sap/m/TreeItemBase.js +1 -1
- package/src/sap/m/UploadCollection.js +1 -1
- package/src/sap/m/UploadCollectionItem.js +1 -1
- package/src/sap/m/UploadCollectionParameter.js +1 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +1 -1
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +1 -1
- package/src/sap/m/VisibleItem.js +1 -1
- package/src/sap/m/WheelSlider.js +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +1 -1
- package/src/sap/m/WizardProgressNavigator.js +1 -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 +1 -1
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- package/src/sap/m/library.js +69 -2
- package/src/sap/m/messagebundle.properties +11 -9
- 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 +1 -1
- package/src/sap/m/p13n/Container.js +1 -1
- package/src/sap/m/p13n/GroupPanel.js +1 -1
- package/src/sap/m/p13n/Popup.js +1 -1
- package/src/sap/m/p13n/QueryPanel.js +1 -1
- package/src/sap/m/p13n/SelectionPanel.js +2 -2
- package/src/sap/m/p13n/SortPanel.js +1 -1
- package/src/sap/m/plugins/ColumnResizer.js +15 -1
- package/src/sap/m/plugins/DataStateIndicator.js +1 -1
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/semantic/AddAction.js +1 -1
- package/src/sap/m/semantic/CancelAction.js +1 -1
- package/src/sap/m/semantic/DeleteAction.js +1 -1
- package/src/sap/m/semantic/DetailPage.js +1 -1
- package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/m/semantic/EditAction.js +1 -1
- package/src/sap/m/semantic/FavoriteAction.js +1 -1
- package/src/sap/m/semantic/FilterAction.js +1 -1
- package/src/sap/m/semantic/FilterSelect.js +1 -1
- package/src/sap/m/semantic/FlagAction.js +1 -1
- package/src/sap/m/semantic/ForwardAction.js +1 -1
- package/src/sap/m/semantic/FullscreenPage.js +1 -1
- package/src/sap/m/semantic/GroupAction.js +1 -1
- package/src/sap/m/semantic/GroupSelect.js +1 -1
- package/src/sap/m/semantic/MainAction.js +1 -1
- package/src/sap/m/semantic/MasterPage.js +1 -1
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +1 -1
- package/src/sap/m/semantic/NegativeAction.js +1 -1
- package/src/sap/m/semantic/OpenInAction.js +1 -1
- package/src/sap/m/semantic/PositiveAction.js +1 -1
- package/src/sap/m/semantic/PrintAction.js +1 -1
- package/src/sap/m/semantic/SaveAction.js +1 -1
- package/src/sap/m/semantic/Segment.js +1 -1
- package/src/sap/m/semantic/SegmentedContainer.js +1 -1
- package/src/sap/m/semantic/SemanticButton.js +1 -1
- package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
- package/src/sap/m/semantic/SemanticControl.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/semantic/SemanticPage.js +1 -1
- package/src/sap/m/semantic/SemanticSelect.js +1 -1
- package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
- package/src/sap/m/semantic/SendEmailAction.js +1 -1
- package/src/sap/m/semantic/SendMessageAction.js +1 -1
- package/src/sap/m/semantic/ShareInJamAction.js +1 -1
- package/src/sap/m/semantic/ShareMenu.js +1 -1
- package/src/sap/m/semantic/ShareMenuPage.js +1 -1
- package/src/sap/m/semantic/SortAction.js +1 -1
- package/src/sap/m/semantic/SortSelect.js +1 -1
- package/src/sap/m/table/Util.js +7 -7
- package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/Entry.js +1 -1
- package/src/sap/m/table/columnmenu/Item.js +1 -1
- package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
- package/src/sap/m/table/columnmenu/Menu.js +1 -1
- package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
- package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
- package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
- package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
- package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
- package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
- package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
- package/src/sap/m/themes/base/GenericTile.less +143 -27
- package/src/sap/m/themes/base/SlideTile.less +16 -0
- package/src/sap/m/themes/base/Table.less +11 -1
- package/src/sap/m/themes/base/TileContent.less +17 -0
- package/src/sap/m/upload/UploadSet.js +93 -15
- package/src/sap/m/upload/UploadSetItem.js +15 -2
- package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
|
@@ -59,7 +59,7 @@ sap.ui.define([
|
|
|
59
59
|
* @extends sap.m.InputBase
|
|
60
60
|
*
|
|
61
61
|
* @author SAP SE
|
|
62
|
-
* @version 1.102.
|
|
62
|
+
* @version 1.102.4
|
|
63
63
|
*
|
|
64
64
|
* @constructor
|
|
65
65
|
* @public
|
|
@@ -123,8 +123,18 @@ sap.ui.define([
|
|
|
123
123
|
this.setLastValue(sValue);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
//
|
|
127
|
-
this.
|
|
126
|
+
// convert to date object and check validity on output
|
|
127
|
+
var oDate = this._parseAndValidateValue(sValue);
|
|
128
|
+
this.setProperty("dateValue", oDate, this._bPreferUserInteraction);
|
|
129
|
+
|
|
130
|
+
// do not call InputBase.setValue because the displayed value and the output value might have different pattern
|
|
131
|
+
this._formatValueAndUpdateOutput(oDate, sValue);
|
|
132
|
+
this.setProperty("value", sValue, this._bPreferUserInteraction);
|
|
133
|
+
|
|
134
|
+
return this;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
DateTimeField.prototype._parseAndValidateValue = function(sValue) {
|
|
128
138
|
this._bValid = true;
|
|
129
139
|
|
|
130
140
|
// convert to date object
|
|
@@ -146,25 +156,26 @@ sap.ui.define([
|
|
|
146
156
|
}
|
|
147
157
|
}
|
|
148
158
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// do not call InputBase.setValue because the displayed value and the output value might have different pattern
|
|
152
|
-
if (this.getDomRef()) {
|
|
153
|
-
// convert to output
|
|
154
|
-
var sOutputValue;
|
|
155
|
-
if (oDate) {
|
|
156
|
-
sOutputValue = this._formatValue(oDate);
|
|
157
|
-
} else {
|
|
158
|
-
sOutputValue = sValue;
|
|
159
|
-
}
|
|
159
|
+
return oDate;
|
|
160
|
+
};
|
|
160
161
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
DateTimeField.prototype._formatValueAndUpdateOutput = function(oDate, sValue) {
|
|
163
|
+
if (!this.getDomRef()) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// convert to output
|
|
167
|
+
var sOutputValue = oDate ? this._formatValue(oDate) : sValue;
|
|
168
|
+
|
|
169
|
+
if (this._bPreferUserInteraction) {
|
|
170
|
+
// Handle the value concurrency before setting the value property of the control,
|
|
171
|
+
// in order to distinguish whether the user only focused the input field or typed in it
|
|
172
|
+
this.handleInputValueConcurrency(sOutputValue);
|
|
173
|
+
} else if (this._$input.val() !== sOutputValue) {
|
|
174
|
+
// update the DOM value when necessary
|
|
175
|
+
// otherwise cursor can go to the end of text unnecessarily
|
|
176
|
+
this._$input.val(sOutputValue);
|
|
177
|
+
this._curpos = this._$input.cursorPos();
|
|
165
178
|
}
|
|
166
|
-
|
|
167
|
-
return this;
|
|
168
179
|
};
|
|
169
180
|
|
|
170
181
|
DateTimeField.prototype.setDateValue = function (oDate) {
|
|
@@ -301,6 +312,14 @@ sap.ui.define([
|
|
|
301
312
|
).getDatePattern(sPlaceholder);
|
|
302
313
|
};
|
|
303
314
|
|
|
315
|
+
DateTimeField.prototype._getTimezoneFormatter = function() {
|
|
316
|
+
if (!this._timezoneFormatter) {
|
|
317
|
+
this._timezoneFormatter = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return this._timezoneFormatter;
|
|
321
|
+
};
|
|
322
|
+
|
|
304
323
|
DateTimeField.prototype._parseValue = function (sValue, bDisplayFormat) {
|
|
305
324
|
var oBinding = this.getBinding("value"),
|
|
306
325
|
oBindingType = oBinding && oBinding.getType && oBinding.getType(),
|
|
@@ -309,7 +328,8 @@ sap.ui.define([
|
|
|
309
328
|
oFormatter = this._getFormatter(bDisplayFormat),
|
|
310
329
|
oFormatOptions,
|
|
311
330
|
oDateLocal,
|
|
312
|
-
oDate
|
|
331
|
+
oDate,
|
|
332
|
+
sFormatted;
|
|
313
333
|
|
|
314
334
|
if (this._isSupportedBindingType(oBindingType)) {
|
|
315
335
|
try {
|
|
@@ -332,10 +352,10 @@ sap.ui.define([
|
|
|
332
352
|
|
|
333
353
|
if (oDate && ((oBindingType.oFormatOptions && this._isFormatOptionsUTC(oBindingType.oFormatOptions)) || (oBindingType.oConstraints && oBindingType.oConstraints.isDateOnly))) {
|
|
334
354
|
// convert to local date because it was parsed as UTC date
|
|
335
|
-
|
|
336
|
-
|
|
355
|
+
sFormatted = this._getTimezoneFormatter().format(oDate, "UTC");
|
|
356
|
+
oDateLocal = this._getTimezoneFormatter().parse(sFormatted,
|
|
357
|
+
sap.ui.getCore().getConfiguration().getTimezone())[0];
|
|
337
358
|
|
|
338
|
-
oDateLocal.setFullYear(oDate.getUTCFullYear());
|
|
339
359
|
oDate = oDateLocal;
|
|
340
360
|
}
|
|
341
361
|
return oDate;
|
|
@@ -353,15 +373,15 @@ sap.ui.define([
|
|
|
353
373
|
var oBinding = this.getBinding("value"),
|
|
354
374
|
oBindingType = oBinding && oBinding.getType && oBinding.getType(),
|
|
355
375
|
oFormatOptions,
|
|
356
|
-
oDateUTC
|
|
376
|
+
oDateUTC,
|
|
377
|
+
sFormatted;
|
|
357
378
|
|
|
358
379
|
if (this._isSupportedBindingType(oBindingType)) {
|
|
359
380
|
if ((oBindingType.oFormatOptions && oBindingType.oFormatOptions.UTC) || (oBindingType.oConstraints && oBindingType.oConstraints.isDateOnly)) {
|
|
360
381
|
// convert to UTC date because it will be formatted as UTC date
|
|
361
|
-
|
|
362
|
-
|
|
382
|
+
sFormatted = this._getTimezoneFormatter().format(oDate, sap.ui.getCore().getConfiguration().getTimezone());
|
|
383
|
+
oDateUTC = this._getTimezoneFormatter().parse(sFormatted, "UTC")[ 0 ];
|
|
363
384
|
|
|
364
|
-
oDateUTC.setUTCFullYear(oDate.getFullYear());
|
|
365
385
|
oDate = oDateUTC;
|
|
366
386
|
}
|
|
367
387
|
|
|
@@ -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.102.
|
|
148
|
+
* @version 1.102.4
|
|
149
149
|
*
|
|
150
150
|
* @constructor
|
|
151
151
|
* @public
|
|
@@ -377,29 +377,34 @@ sap.ui.define([
|
|
|
377
377
|
this._bOnlyCalendar = false;
|
|
378
378
|
};
|
|
379
379
|
|
|
380
|
-
DateTimePicker.prototype.
|
|
381
|
-
var sFallbackValue;
|
|
382
|
-
|
|
383
|
-
DatePicker.prototype.setValue.apply(this, arguments);
|
|
384
|
-
|
|
380
|
+
DateTimePicker.prototype._formatValueAndUpdateOutput = function(oDate, sValue) {
|
|
385
381
|
delete this._prefferedValue;
|
|
386
382
|
|
|
387
|
-
if (!this.
|
|
388
|
-
|
|
383
|
+
if (!this.getDomRef()) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
389
386
|
|
|
387
|
+
// convert to output
|
|
388
|
+
var sOutputValue = oDate ? this._formatValue(oDate) : sValue;
|
|
389
|
+
if (!oDate) {
|
|
390
|
+
var sFallbackValue = this._fallbackParse(sValue);
|
|
390
391
|
if (typeof sFallbackValue === "string") {
|
|
391
392
|
this._bValid = true;
|
|
392
393
|
this._prefferedValue = sFallbackValue;
|
|
393
|
-
|
|
394
|
-
// there is a re-render comming, but this updates the dom immediately to avoid flickering
|
|
395
|
-
if (this.getDomRef() && this._$input.val() !== sFallbackValue) {
|
|
396
|
-
this._$input.val(sFallbackValue);
|
|
397
|
-
this._curpos = this._$input.cursorPos();
|
|
398
|
-
}
|
|
394
|
+
sOutputValue = sFallbackValue;
|
|
399
395
|
}
|
|
400
396
|
}
|
|
401
397
|
|
|
402
|
-
|
|
398
|
+
if (this._bPreferUserInteraction) {
|
|
399
|
+
// Handle the value concurrency before setting the value property of the control,
|
|
400
|
+
// in order to distinguish whether the user only focused the input field or typed in it
|
|
401
|
+
this.handleInputValueConcurrency(sOutputValue);
|
|
402
|
+
} else if (this._$input.val() !== sOutputValue) {
|
|
403
|
+
// update the DOM value when necessary
|
|
404
|
+
// otherwise cursor can go to the end of text unnecessarily
|
|
405
|
+
this._$input.val(sOutputValue);
|
|
406
|
+
this._curpos = this._$input.cursorPos();
|
|
407
|
+
}
|
|
403
408
|
};
|
|
404
409
|
|
|
405
410
|
DateTimePicker.prototype.setTimezone = function(sTimezone) {
|
|
@@ -445,6 +450,8 @@ sap.ui.define([
|
|
|
445
450
|
};
|
|
446
451
|
|
|
447
452
|
DateTimePicker.prototype.onAfterRendering = function() {
|
|
453
|
+
DatePicker.prototype.onAfterRendering.apply(this, arguments);
|
|
454
|
+
|
|
448
455
|
if (this._getShowTimezone()) {
|
|
449
456
|
waitForThemeApplied().then(function() {
|
|
450
457
|
var oDummyContentDomRef = this.$().find(".sapMDummyContent"),
|
|
@@ -976,14 +983,13 @@ sap.ui.define([
|
|
|
976
983
|
|
|
977
984
|
DateTimePicker.prototype._getSelectedDate = function(){
|
|
978
985
|
var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
|
|
979
|
-
|
|
986
|
+
oDateTime,
|
|
987
|
+
sPattern;
|
|
980
988
|
|
|
981
989
|
if (oDate) {
|
|
982
|
-
|
|
983
|
-
|
|
990
|
+
oDateTime = this._oClocks.getTimeValues();
|
|
991
|
+
sPattern = this._oClocks._getDisplayFormatPattern();
|
|
984
992
|
|
|
985
|
-
var oDateTime = this._oClocks.getTimeValues();
|
|
986
|
-
var sPattern = this._oClocks._getDisplayFormatPattern();
|
|
987
993
|
if (sPattern.search("h") >= 0 || sPattern.search("H") >= 0) {
|
|
988
994
|
oDate.setHours(oDateTime.getHours());
|
|
989
995
|
}
|
package/src/sap/m/Dialog.js
CHANGED
|
@@ -175,7 +175,7 @@ function(
|
|
|
175
175
|
*
|
|
176
176
|
* @implements sap.ui.core.PopupInterface
|
|
177
177
|
* @author SAP SE
|
|
178
|
-
* @version 1.102.
|
|
178
|
+
* @version 1.102.4
|
|
179
179
|
*
|
|
180
180
|
* @constructor
|
|
181
181
|
* @public
|
|
@@ -1244,7 +1244,7 @@ function(
|
|
|
1244
1244
|
$this = this.$(),
|
|
1245
1245
|
iHeaderHeight = $this.find(".sapMDialogTitle").height() || 0,
|
|
1246
1246
|
iSubHeaderHeight = $this.find(".sapMDialogSubHeader").height() || 0,
|
|
1247
|
-
iFooterHeight = $this.find("footer").height() || 0,
|
|
1247
|
+
iFooterHeight = $this.find("> footer").height() || 0,
|
|
1248
1248
|
iHeightAsPadding = iHeaderHeight + iSubHeaderHeight + iFooterHeight,
|
|
1249
1249
|
iMaxHeight,
|
|
1250
1250
|
iMaxWidth;
|
package/src/sap/m/DynamicDate.js
CHANGED
|
@@ -14,9 +14,10 @@ sap.ui.define([
|
|
|
14
14
|
"sap/base/util/deepExtend",
|
|
15
15
|
"sap/base/util/isEmptyObject",
|
|
16
16
|
"sap/ui/core/date/UniversalDateUtils",
|
|
17
|
+
"sap/ui/unified/calendar/CalendarUtils",
|
|
17
18
|
"./library"
|
|
18
19
|
],
|
|
19
|
-
function(DateFormat, NumberFormat, Locale, LocaleData, Log, deepExtend, isEmptyObject, UniversalDateUtils, library) {
|
|
20
|
+
function(DateFormat, NumberFormat, Locale, LocaleData, Log, deepExtend, isEmptyObject, UniversalDateUtils, CalendarUtils, library) {
|
|
20
21
|
"use strict";
|
|
21
22
|
|
|
22
23
|
/**
|
|
@@ -279,6 +280,15 @@ sap.ui.define([
|
|
|
279
280
|
break;
|
|
280
281
|
}
|
|
281
282
|
|
|
283
|
+
if (oVal && (sType === "date" || sType === "datetime")) {
|
|
284
|
+
// for date/datetime types, if year is outside the allowed range [1-9999], return null as invalid result
|
|
285
|
+
try {
|
|
286
|
+
CalendarUtils._checkYearInValidRange(oVal.getFullYear());
|
|
287
|
+
} catch (e) {
|
|
288
|
+
oVal = null;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
282
292
|
if (!oVal && oVal !== 0) {
|
|
283
293
|
aResult = null;
|
|
284
294
|
break;
|
|
@@ -294,5 +304,30 @@ sap.ui.define([
|
|
|
294
304
|
}
|
|
295
305
|
};
|
|
296
306
|
|
|
307
|
+
/**
|
|
308
|
+
* Checks if a UTC flag is set to a specific formatter.
|
|
309
|
+
*
|
|
310
|
+
* @param {string} sOption The key of specific option
|
|
311
|
+
* @return {boolean} If the format for this option has UTC flag set to true
|
|
312
|
+
* @private
|
|
313
|
+
*/
|
|
314
|
+
DynamicDateFormat.prototype._checkFormatterUTCTimezone = function(sOption) {
|
|
315
|
+
var sType = "";
|
|
316
|
+
if (aParameterTypesByStandardOptionKey[sOption]) {
|
|
317
|
+
sType = aParameterTypesByStandardOptionKey[sOption][0];
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// ensure that in options like last/next days or +/- days we still use correct timezone when formatting the dates.
|
|
321
|
+
if (sType === "" || sType[0] === "int") {
|
|
322
|
+
sType = "date";
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (this.oOriginalFormatOptions[sType]) {
|
|
326
|
+
return this.oOriginalFormatOptions[sType].UTC;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return false;
|
|
330
|
+
};
|
|
331
|
+
|
|
297
332
|
return DynamicDateFormat;
|
|
298
333
|
});
|
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
* @extends sap.ui.core.Element
|
|
37
37
|
*
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.102.
|
|
39
|
+
* @version 1.102.4
|
|
40
40
|
*
|
|
41
41
|
* @public
|
|
42
42
|
* @since 1.92
|
|
@@ -131,7 +131,12 @@ sap.ui.define([
|
|
|
131
131
|
);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
var bUTC = false;
|
|
135
|
+
if (oControl && oValue) {
|
|
136
|
+
bUTC = oControl._checkFormatterUTCTimezone(oValue.operator);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
oInputControl = this._createControl(i, aParams[i].getType(), oValue, fnControlsUpdated, valueHelpUiTypesCount, bUTC);
|
|
135
140
|
|
|
136
141
|
aControls.push(oInputControl);
|
|
137
142
|
oControl.aControlsByParameters[this.getKey()].push(oInputControl);
|
|
@@ -318,7 +323,7 @@ sap.ui.define([
|
|
|
318
323
|
|
|
319
324
|
// PRIVATE
|
|
320
325
|
|
|
321
|
-
DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated, valueHelpUiTypesCount) {
|
|
326
|
+
DynamicDateOption.prototype._createControl = function(iIndex, sUIType, oValue, fnControlsUpdated, valueHelpUiTypesCount, bUTC) {
|
|
322
327
|
var oInputControl;
|
|
323
328
|
|
|
324
329
|
switch (sUIType) {
|
|
@@ -326,18 +331,18 @@ sap.ui.define([
|
|
|
326
331
|
oInputControl = this._createIntegerControl(oValue, iIndex, fnControlsUpdated);
|
|
327
332
|
break;
|
|
328
333
|
case "date":
|
|
329
|
-
oInputControl = this._createDateControl(oValue, iIndex, fnControlsUpdated);
|
|
334
|
+
oInputControl = this._createDateControl(oValue, iIndex, fnControlsUpdated, bUTC);
|
|
330
335
|
break;
|
|
331
336
|
case "datetime":
|
|
332
337
|
if (valueHelpUiTypesCount === 1) {
|
|
333
338
|
// Returns DateTimePicker PopupContent control (single "datetime" option)
|
|
334
|
-
oInputControl = this._createDateTimeInnerControl(oValue, iIndex, fnControlsUpdated);
|
|
339
|
+
oInputControl = this._createDateTimeInnerControl(oValue, iIndex, fnControlsUpdated, bUTC);
|
|
335
340
|
} else if (valueHelpUiTypesCount === 2) {
|
|
336
|
-
oInputControl = this._createDateTimeControl(oValue, iIndex, fnControlsUpdated);
|
|
341
|
+
oInputControl = this._createDateTimeControl(oValue, iIndex, fnControlsUpdated, bUTC);
|
|
337
342
|
}
|
|
338
343
|
break;
|
|
339
344
|
case "daterange":
|
|
340
|
-
oInputControl = this._createDateRangeControl(oValue, iIndex, fnControlsUpdated);
|
|
345
|
+
oInputControl = this._createDateRangeControl(oValue, iIndex, fnControlsUpdated, bUTC);
|
|
341
346
|
break;
|
|
342
347
|
case "month":
|
|
343
348
|
oInputControl = this._createMonthControl(oValue, iIndex, fnControlsUpdated);
|
|
@@ -386,14 +391,21 @@ sap.ui.define([
|
|
|
386
391
|
return oControl;
|
|
387
392
|
};
|
|
388
393
|
|
|
389
|
-
DynamicDateOption.prototype._createDateControl = function(oValue, iIndex, fnControlsUpdated) {
|
|
394
|
+
DynamicDateOption.prototype._createDateControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
|
|
390
395
|
var oControl = new Calendar({
|
|
391
396
|
width: "100%"
|
|
392
397
|
});
|
|
398
|
+
var oInputControlValue;
|
|
393
399
|
|
|
394
400
|
if (oValue && this.getKey() === oValue.operator) {
|
|
401
|
+
oInputControlValue = new Date(oValue.values[iIndex].getTime());
|
|
402
|
+
|
|
403
|
+
if (bUTC) {
|
|
404
|
+
oInputControlValue.setMinutes(oInputControlValue.getMinutes() + new Date().getTimezoneOffset());
|
|
405
|
+
}
|
|
406
|
+
|
|
395
407
|
oControl.addSelectedDate(new DateRange({
|
|
396
|
-
startDate:
|
|
408
|
+
startDate: oInputControlValue
|
|
397
409
|
}));
|
|
398
410
|
}
|
|
399
411
|
|
|
@@ -409,7 +421,7 @@ sap.ui.define([
|
|
|
409
421
|
/**
|
|
410
422
|
* Returns DateTimePicker PopupContent control (single "datetime" option)
|
|
411
423
|
*/
|
|
412
|
-
DynamicDateOption.prototype._createDateTimeInnerControl = function(oValue, iIndex, fnControlsUpdated) {
|
|
424
|
+
DynamicDateOption.prototype._createDateTimeInnerControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
|
|
413
425
|
var oControl = new DateTimePicker({
|
|
414
426
|
width: "100%"
|
|
415
427
|
}),
|
|
@@ -424,6 +436,11 @@ sap.ui.define([
|
|
|
424
436
|
|
|
425
437
|
if (oValue && this.getKey() === oValue.operator) {
|
|
426
438
|
var oValueCopy = new Date(oValue.values[iIndex]); // a copy is used to prevent time setting on pressing Cancel button
|
|
439
|
+
|
|
440
|
+
if (bUTC) {
|
|
441
|
+
oValueCopy.setMinutes(oValueCopy.getMinutes() + new Date().getTimezoneOffset());
|
|
442
|
+
}
|
|
443
|
+
|
|
427
444
|
oPopupContent.getCalendar().addSelectedDate(new DateRange({
|
|
428
445
|
startDate: oValueCopy
|
|
429
446
|
}));
|
|
@@ -453,7 +470,7 @@ sap.ui.define([
|
|
|
453
470
|
return oPopupContent;
|
|
454
471
|
};
|
|
455
472
|
|
|
456
|
-
DynamicDateOption.prototype._createDateRangeControl = function(oValue, iIndex, fnControlsUpdated) {
|
|
473
|
+
DynamicDateOption.prototype._createDateRangeControl = function(oValue, iIndex, fnControlsUpdated, bUTC) {
|
|
457
474
|
var oControl = new Calendar({
|
|
458
475
|
intervalSelection: true,
|
|
459
476
|
width: "100%"
|
|
@@ -461,9 +478,17 @@ sap.ui.define([
|
|
|
461
478
|
if (oValue && this.getKey() === oValue.operator) {
|
|
462
479
|
// a date range UI type maps to 2 consecutive date parameters from the value
|
|
463
480
|
// they also should be the last 2 parameters
|
|
481
|
+
var oInputControlStartValue = new Date(oValue.values[iIndex].getTime());
|
|
482
|
+
var oInputControlEndValue = new Date(oValue.values[iIndex + 1].getTime());
|
|
483
|
+
|
|
484
|
+
if (bUTC) {
|
|
485
|
+
oInputControlStartValue.setMinutes(oInputControlStartValue.getMinutes() + new Date().getTimezoneOffset());
|
|
486
|
+
oInputControlEndValue.setMinutes(oInputControlEndValue.getMinutes() + new Date().getTimezoneOffset());
|
|
487
|
+
}
|
|
488
|
+
|
|
464
489
|
oControl.addSelectedDate(new DateRange({
|
|
465
|
-
startDate:
|
|
466
|
-
endDate:
|
|
490
|
+
startDate: oInputControlStartValue,
|
|
491
|
+
endDate: oInputControlEndValue
|
|
467
492
|
}));
|
|
468
493
|
}
|
|
469
494
|
|
|
@@ -121,7 +121,7 @@ sap.ui.define([
|
|
|
121
121
|
* is opened. The dialog is closed via a date time period value selection or by pressing the "Cancel" button.
|
|
122
122
|
*
|
|
123
123
|
* @author SAP SE
|
|
124
|
-
* @version 1.102.
|
|
124
|
+
* @version 1.102.4
|
|
125
125
|
*
|
|
126
126
|
* @constructor
|
|
127
127
|
* @public
|
|
@@ -631,9 +631,12 @@ sap.ui.define([
|
|
|
631
631
|
* @private
|
|
632
632
|
*/
|
|
633
633
|
DynamicDateRange.prototype._addSuggestionItem = function(oSuggestValue) {
|
|
634
|
-
var
|
|
635
|
-
|
|
636
|
-
|
|
634
|
+
var bTimezone = this._checkFormatterUTCTimezone(oSuggestValue);
|
|
635
|
+
var aValueDates = DynamicDateUtil.toDates(oSuggestValue);
|
|
636
|
+
var aResultingDates = [];
|
|
637
|
+
for (var i = 0; i < aValueDates.length; i++) {
|
|
638
|
+
aResultingDates[i] = this._convertDate(aValueDates[i], bTimezone);
|
|
639
|
+
}
|
|
637
640
|
|
|
638
641
|
var oItem = new ListItem({
|
|
639
642
|
text: DynamicDateUtil.getOption(oSuggestValue.operator).format(oSuggestValue, this._getFormatter()),
|
|
@@ -702,18 +705,22 @@ sap.ui.define([
|
|
|
702
705
|
};
|
|
703
706
|
|
|
704
707
|
DynamicDateRange.prototype._toDatesString = function(oValue) {
|
|
705
|
-
var
|
|
706
|
-
|
|
707
|
-
|
|
708
|
+
var bTimezone = this._checkFormatterUTCTimezone(oValue);
|
|
709
|
+
var aValueDates = DynamicDateUtil.toDates(oValue);
|
|
710
|
+
var aDates = [];
|
|
711
|
+
for (var i = 0; i < aValueDates.length; i++) {
|
|
712
|
+
aDates[i] = this._convertDate(aValueDates[i], bTimezone);
|
|
713
|
+
}
|
|
708
714
|
|
|
709
715
|
return this._getDatesLabelFormatter().format(aDates);
|
|
710
716
|
};
|
|
711
717
|
|
|
712
|
-
DynamicDateRange.prototype._convertDate = function(oDate) {
|
|
718
|
+
DynamicDateRange.prototype._convertDate = function(oDate, bUTCTimezone) {
|
|
713
719
|
var sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
|
|
720
|
+
var sFormatTimezone = bUTCTimezone ? "UTC" : sap.ui.getCore().getConfiguration().getTimezone();
|
|
714
721
|
var oParts = this._getPickerParser().parse(
|
|
715
722
|
sFormattedDate,
|
|
716
|
-
|
|
723
|
+
sFormatTimezone
|
|
717
724
|
);
|
|
718
725
|
var oNewDate = oParts ? new Date(oParts[0].getTime()) : oParts;
|
|
719
726
|
|
|
@@ -954,16 +961,19 @@ sap.ui.define([
|
|
|
954
961
|
|
|
955
962
|
DynamicDateRange.prototype._updateDatesLabel = function() {
|
|
956
963
|
var oOutputValue = this._oSelectedOption.getValueHelpOutput(this),
|
|
957
|
-
|
|
964
|
+
bTimezone = this._checkFormatterUTCTimezone(oOutputValue),
|
|
965
|
+
aResultDates = [],
|
|
958
966
|
sFormattedDates;
|
|
959
967
|
|
|
968
|
+
var aValueDates = DynamicDateUtil.toDates(oOutputValue);
|
|
969
|
+
|
|
960
970
|
if (!oOutputValue || !oOutputValue.operator || !DynamicDateUtil.getOption(oOutputValue.operator)) {
|
|
961
971
|
return;
|
|
962
972
|
}
|
|
963
973
|
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
}
|
|
974
|
+
for (var i = 0; i < aValueDates.length; i++) {
|
|
975
|
+
aResultDates[i] = this._convertDate(aValueDates[i], bTimezone);
|
|
976
|
+
}
|
|
967
977
|
|
|
968
978
|
if (aResultDates) {
|
|
969
979
|
if (this._oSelectedOption.getKey() === "FROMDATETIME" || this._oSelectedOption.getKey() === "TODATETIME"
|
|
@@ -1177,14 +1187,13 @@ sap.ui.define([
|
|
|
1177
1187
|
|
|
1178
1188
|
DynamicDateRange.prototype._applyValue = function() {
|
|
1179
1189
|
this._oOutput = this._oSelectedOption.getValueHelpOutput(this);
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1190
|
+
var sTimezone = this._checkFormatterUTCTimezone(this._oOutput);
|
|
1191
|
+
var aValueDates = DynamicDateUtil.toDates(this._oOutput);
|
|
1192
|
+
for (var i = 0; i < aValueDates.length; i++) {
|
|
1193
|
+
if (this._oOutput.values[i] instanceof Date) {
|
|
1194
|
+
this._oOutput.values[i] = this._convertDate(aValueDates[i], sTimezone);
|
|
1184
1195
|
}
|
|
1185
|
-
|
|
1186
|
-
return val;
|
|
1187
|
-
}, this);
|
|
1196
|
+
}
|
|
1188
1197
|
|
|
1189
1198
|
var prevValue = this.getValue();
|
|
1190
1199
|
this.setValue(this._oOutput);
|
|
@@ -1320,6 +1329,10 @@ sap.ui.define([
|
|
|
1320
1329
|
return oNewValue;
|
|
1321
1330
|
};
|
|
1322
1331
|
|
|
1332
|
+
DynamicDateRange.prototype._checkFormatterUTCTimezone = function(oValue) {
|
|
1333
|
+
return this._getFormatter()._checkFormatterUTCTimezone(oValue.operator);
|
|
1334
|
+
};
|
|
1335
|
+
|
|
1323
1336
|
var DynamicDateRangeInputRenderer = Renderer.extend(InputRenderer);
|
|
1324
1337
|
|
|
1325
1338
|
DynamicDateRangeInputRenderer.apiVersion = 2;
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"./StandardDynamicDateOption",
|
|
10
10
|
"sap/base/Log",
|
|
11
|
-
"./library"
|
|
11
|
+
"./library",
|
|
12
|
+
'sap/ui/core/format/TimezoneUtil',
|
|
13
|
+
'sap/ui/core/Core'
|
|
12
14
|
], function(
|
|
13
|
-
StandardDynamicDateOption, Log, library) {
|
|
15
|
+
StandardDynamicDateOption, Log, library, TimezoneUtil, Core) {
|
|
14
16
|
"use strict";
|
|
15
17
|
|
|
16
18
|
var STANDARD_KEYS_ARRAY = [
|
|
@@ -242,6 +244,25 @@ sap.ui.define([
|
|
|
242
244
|
return DynamicDateUtil._options[sKey].toDates(oValue);
|
|
243
245
|
};
|
|
244
246
|
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Returns a date in machine timezone setting, removing the offset added by the application configuration.
|
|
250
|
+
*
|
|
251
|
+
* @param {Object} oDate A local JS date with added offset
|
|
252
|
+
* @returns {Object} A local JS date with removed offset
|
|
253
|
+
* @static
|
|
254
|
+
* @public
|
|
255
|
+
*/
|
|
256
|
+
DynamicDateUtil.removeTimezoneOffset = function(oDate) {
|
|
257
|
+
var oNewDate = new Date(oDate);
|
|
258
|
+
var sTimezone = Core.getConfiguration().getTimezone();
|
|
259
|
+
var iOffsetInSeconds = TimezoneUtil.calculateOffset(oNewDate, sTimezone) - oNewDate.getTimezoneOffset() * 60;
|
|
260
|
+
|
|
261
|
+
oNewDate.setSeconds(oNewDate.getSeconds() - iOffsetInSeconds);
|
|
262
|
+
|
|
263
|
+
return oNewDate;
|
|
264
|
+
};
|
|
265
|
+
|
|
245
266
|
return DynamicDateUtil;
|
|
246
267
|
|
|
247
268
|
}, true);
|
package/src/sap/m/FacetFilter.js
CHANGED
|
@@ -20,7 +20,7 @@ sap.ui.define(['./ListItemBase', './library', './FacetFilterItemRenderer'],
|
|
|
20
20
|
* @class
|
|
21
21
|
* Represents a value for the {@link sap.m.FacetFilterList} control.
|
|
22
22
|
* @extends sap.m.ListItemBase
|
|
23
|
-
* @version 1.102.
|
|
23
|
+
* @version 1.102.4
|
|
24
24
|
*
|
|
25
25
|
* @constructor
|
|
26
26
|
* @public
|