@openui5/sap.ui.core 1.115.1 → 1.116.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dtsgenrc +18 -0
- package/.eslintrc.json +11 -0
- package/.reuse/dep5 +0 -5
- package/THIRDPARTY.txt +1 -7
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.sjax.js +2 -2
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +106 -0
- package/src/sap/base/Eventing.js +320 -0
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/Formatting.js +991 -0
- package/src/sap/base/i18n/LanguageTag.js +189 -0
- package/src/sap/base/i18n/Localization.js +711 -0
- package/src/sap/base/i18n/ResourceBundle.js +5 -20
- package/src/sap/base/i18n/date/CalendarType.js +54 -0
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
- package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +4 -12
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +8 -12
- package/src/sap/ui/base/ManagedObjectMetadata.js +30 -7
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +10 -5
- package/src/sap/ui/core/.library +2 -2
- package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
- package/src/sap/ui/core/AnimationMode.js +49 -0
- package/src/sap/ui/core/BusyIndicator.js +33 -42
- package/src/sap/ui/core/CalendarType.js +11 -37
- package/src/sap/ui/core/Component.js +4 -5
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +409 -1270
- package/src/sap/ui/core/Control.js +4 -12
- package/src/sap/ui/core/ControlBehavior.js +157 -0
- package/src/sap/ui/core/Core.js +124 -132
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +14 -3
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +5 -7
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +12 -12
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +109 -22
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +151 -430
- package/src/sap/ui/core/LocaleData.js +39 -11
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/StaticArea.js +31 -17
- package/src/sap/ui/core/Theming.js +451 -0
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +1 -0
- package/src/sap/ui/core/_IconRegistry.js +7 -1
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
- package/src/sap/ui/core/date/UI5Date.js +2 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
- package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +20 -15
- package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +1 -1
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_da.properties +1 -1
- package/src/sap/ui/core/messagebundle_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -1
- package/src/sap/ui/core/messagebundle_en.properties +1 -1
- package/src/sap/ui/core/messagebundle_en_GB.properties +1 -1
- package/src/sap/ui/core/messagebundle_es.properties +1 -1
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
- package/src/sap/ui/core/messagebundle_et.properties +1 -1
- package/src/sap/ui/core/messagebundle_id.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +49 -49
- package/src/sap/ui/core/messagebundle_iw.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +1 -1
- package/src/sap/ui/core/messagebundle_ms.properties +8 -8
- package/src/sap/ui/core/messagebundle_nl.properties +1 -1
- package/src/sap/ui/core/messagebundle_no.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +1 -1
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +1 -1
- package/src/sap/ui/core/messagebundle_uk.properties +21 -21
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +14 -16
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/HashChanger.js +1 -0
- package/src/sap/ui/core/routing/Route.js +1 -0
- package/src/sap/ui/core/routing/Router.js +3 -1
- package/src/sap/ui/core/rules/Config.support.js +2 -2
- package/src/sap/ui/core/rules/Model.support.js +3 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
- package/src/sap/ui/core/themes/base/base.less +41 -20
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -5
- package/src/sap/ui/core/theming/ThemeManager.js +310 -447
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/events/PseudoEvents.js +17 -9
- package/src/sap/ui/model/Binding.js +19 -15
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +57 -19
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +42 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -4
- package/src/sap/ui/model/PropertyBinding.js +10 -0
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +4 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +8 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +3 -3
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +3 -2
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +45 -31
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +7 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +68 -39
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -8
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +30 -8
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +10 -14
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +64 -31
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +21 -16
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +2 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +37 -14
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +11 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +7 -4
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
- package/src/sap/ui/test/matchers/LabelFor.js +1 -0
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
- package/src/sap/ui/util/ActivityDetection.js +7 -1
- package/src/sap/ui/util/Mobile.js +11 -8
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +5 -2
- package/src/ui5loader.js +169 -185
- package/test/sap/ui/core/FormatHelper.js +3 -2
- package/test/sap/ui/core/demokit/docuindex.json +6 -0
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +69 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
- package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
- package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
- package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
- package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
- package/test/sap/ui/core/qunit/Theming.qunit.js +229 -0
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +275 -0
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +259 -0
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
- package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +388 -254
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
- package/test/sap/ui/core/qunit/component/Models.qunit.js +7 -28
- package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
- package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
- package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
- package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
- package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -1
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +14 -24
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
- package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
- package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
- package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
- package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +1 -6
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
- package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +28 -19
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +45 -17
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +152 -151
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +55 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +119 -4
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +754 -195
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +42 -53
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +3 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +87 -58
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +3 -1
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +124 -22
- package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
- package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
- package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
- package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
- package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +397 -607
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
- package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
- package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
- package/test/sap/ui/core/relnotes/changes-1.116.json +82 -0
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
- package/test/testsuite/js/samples.js +2 -0
- package/ui5.yaml +1 -1
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
'sap/base/assert',
|
|
8
8
|
'sap/base/Log',
|
|
9
|
+
'sap/base/i18n/Localization',
|
|
9
10
|
'sap/base/strings/formatMessage',
|
|
10
11
|
'sap/base/util/Properties',
|
|
11
12
|
'sap/base/util/merge'
|
|
12
13
|
],
|
|
13
|
-
function(assert, Log, formatMessage, Properties, merge) {
|
|
14
|
+
function(assert, Log, Localization, formatMessage, Properties, merge) {
|
|
14
15
|
"use strict";
|
|
15
16
|
|
|
16
17
|
/* global Promise */
|
|
@@ -159,28 +160,12 @@ sap.ui.define([
|
|
|
159
160
|
function defaultLocale(sFallbackLocale) {
|
|
160
161
|
var sLocale;
|
|
161
162
|
// use the current session locale, if available
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
sLocale = normalize(sLocale);
|
|
165
|
-
}
|
|
163
|
+
sLocale = Localization.getLanguage();
|
|
164
|
+
sLocale = normalize(sLocale);
|
|
166
165
|
// last fallback is fallbackLocale if no or no valid locale is given
|
|
167
166
|
return sLocale || sFallbackLocale;
|
|
168
167
|
}
|
|
169
168
|
|
|
170
|
-
/**
|
|
171
|
-
* Returns the supported locales from the configuration.
|
|
172
|
-
* @returns {string[]} supported locales from the configuration. Otherwise, an empty array is returned.
|
|
173
|
-
* @private
|
|
174
|
-
*/
|
|
175
|
-
function defaultSupportedLocales() {
|
|
176
|
-
if (window.sap && window.sap.ui && sap.ui.getCore) {
|
|
177
|
-
return sap.ui.getCore().getConfiguration().getSupportedLanguages();
|
|
178
|
-
}
|
|
179
|
-
return [];
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
169
|
/**
|
|
185
170
|
* Helper to normalize the given locale (java.util.Locale format) to the BCP-47 syntax.
|
|
186
171
|
*
|
|
@@ -299,7 +284,7 @@ sap.ui.define([
|
|
|
299
284
|
this._aFallbackLocales = calculateFallbackChain(
|
|
300
285
|
this.sLocale,
|
|
301
286
|
// bundle specific supported locales will be favored over configuration ones
|
|
302
|
-
aSupportedLocales ||
|
|
287
|
+
aSupportedLocales || Localization.getSupportedLanguages(),
|
|
303
288
|
sFallbackLocale,
|
|
304
289
|
" of the bundle '" + this.oUrlInfo.url + "'",
|
|
305
290
|
bSkipFallbackLocaleAndRaw
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides type sap.base.i18n.date.CalendarType.
|
|
8
|
+
sap.ui.define([], function() {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The types of <code>Calendar</code>.
|
|
13
|
+
*
|
|
14
|
+
* @enum {string}
|
|
15
|
+
* @alias module:sap/base/i18n/date/CalendarType
|
|
16
|
+
* @private
|
|
17
|
+
* @ui5-restricted sap.ui.core sap/base/i18n
|
|
18
|
+
*/
|
|
19
|
+
var CalendarType = {
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The Gregorian calendar
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
Gregorian: "Gregorian",
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The Islamic calendar
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
Islamic: "Islamic",
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The Japanese emperor calendar
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
Japanese: "Japanese",
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The Persian Jalali calendar
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
Persian: "Persian",
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The Thai buddhist calendar
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
Buddhist: "Buddhist"
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
return CalendarType;
|
|
53
|
+
|
|
54
|
+
});
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides type sap.base.i18n.date.CalendarWeekNumbering.
|
|
8
|
+
sap.ui.define([], function() {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
|
|
13
|
+
* value defines:
|
|
14
|
+
* <ul>
|
|
15
|
+
* <li>The first day of the week,</li>
|
|
16
|
+
* <li>the first week of the year.</li>
|
|
17
|
+
* </ul>
|
|
18
|
+
*
|
|
19
|
+
* @enum {string}
|
|
20
|
+
* @private
|
|
21
|
+
* @ui5-restricted sap.ui.core sap/base/i18n
|
|
22
|
+
* @alias module:sap/base/i18n/date/CalendarWeekNumbering
|
|
23
|
+
*/
|
|
24
|
+
var CalendarWeekNumbering = {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The default calendar week numbering:
|
|
28
|
+
*
|
|
29
|
+
* The framework determines the week numbering scheme; currently it is derived from the
|
|
30
|
+
* active format locale. Future versions of UI5 might select a different week numbering
|
|
31
|
+
* scheme.
|
|
32
|
+
*
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
Default : "Default",
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Official calendar week numbering in most of Europe (ISO 8601 standard):
|
|
39
|
+
* <ul>
|
|
40
|
+
* <li>Monday is first day of the week,
|
|
41
|
+
* <li>the week containing January 4th is first week of the year.
|
|
42
|
+
* </ul>
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
ISO_8601 : "ISO_8601",
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Official calendar week numbering in much of the Middle East (Middle Eastern calendar):
|
|
50
|
+
* <ul>
|
|
51
|
+
* <li>Saturday is first day of the week,
|
|
52
|
+
* <li>the week containing January 1st is first week of the year.
|
|
53
|
+
* </ul>
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
MiddleEastern : "MiddleEastern",
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Official calendar week numbering in the United States, Canada, Brazil, Israel, Japan, and
|
|
61
|
+
* other countries (Western traditional calendar):
|
|
62
|
+
* <ul>
|
|
63
|
+
* <li>Sunday is first day of the week,
|
|
64
|
+
* <li>the week containing January 1st is first week of the year.
|
|
65
|
+
* </ul>
|
|
66
|
+
*
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
WesternTraditional : "WesternTraditional"
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns an object containing the week configuration values for the given calendar week
|
|
74
|
+
* numbering algorithm.
|
|
75
|
+
*
|
|
76
|
+
* @param {module:sap/base/i18n/date/CalendarWeekNumbering} [sCalendarWeekNumbering=Default]
|
|
77
|
+
* The calendar week numbering algorithm
|
|
78
|
+
* @returns {{firstDayOfWeek: 0|1|2|3|4|5|6, minimalDaysInFirstWeek: 1|2|3|4|5|6|7}|undefined}
|
|
79
|
+
* The week configuration values or <code>undefined</code> if the given calendar week
|
|
80
|
+
* numbering algorithm is "Default"
|
|
81
|
+
*
|
|
82
|
+
* @function
|
|
83
|
+
* @name module:sap/base/i18n/date/CalendarWeekNumbering.getWeekConfigurationValues
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
Object.defineProperty(CalendarWeekNumbering, "getWeekConfigurationValues", {
|
|
87
|
+
// configurable : false,
|
|
88
|
+
// enumerable : false,
|
|
89
|
+
value : function (sCalendarWeekNumbering) {
|
|
90
|
+
switch (sCalendarWeekNumbering) {
|
|
91
|
+
case CalendarWeekNumbering.ISO_8601 :
|
|
92
|
+
return {firstDayOfWeek : 1, minimalDaysInFirstWeek : 4};
|
|
93
|
+
case CalendarWeekNumbering.MiddleEastern :
|
|
94
|
+
return {firstDayOfWeek : 6, minimalDaysInFirstWeek : 1};
|
|
95
|
+
case CalendarWeekNumbering.WesternTraditional :
|
|
96
|
+
return {firstDayOfWeek : 0, minimalDaysInFirstWeek : 1};
|
|
97
|
+
default:
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// writable : false
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
return CalendarWeekNumbering;
|
|
105
|
+
});
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([], function() {
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Static collection of utility functions to handle time zone related conversions
|
|
11
|
+
*
|
|
12
|
+
* @author SAP SE
|
|
13
|
+
* @version 1.116.0
|
|
14
|
+
* @namespace
|
|
15
|
+
* @alias module:sap/base/i18n/date/TimezoneUtils
|
|
16
|
+
* @private
|
|
17
|
+
* @ui5-restricted sap.ui.core.Configuration, sap/base/i18n/format/DateFormat
|
|
18
|
+
*/
|
|
19
|
+
var TimezoneUtils = {};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Cache for the (browser's) local IANA timezone ID
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
*/
|
|
26
|
+
var sLocalTimezone = "";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Cache for valid time zones provided by <code>Intl.supportedValuesOf("timeZone")</code>
|
|
30
|
+
*
|
|
31
|
+
* @type {Array}
|
|
32
|
+
*/
|
|
33
|
+
var aSupportedTimezoneIDs;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Cache for Intl.DateTimeFormat instances
|
|
37
|
+
*/
|
|
38
|
+
var oIntlDateTimeFormatCache = {
|
|
39
|
+
_oCache: new Map(),
|
|
40
|
+
/**
|
|
41
|
+
* When cache limit is reached, it gets cleared
|
|
42
|
+
*/
|
|
43
|
+
_iCacheLimit: 10,
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Creates or gets an instance of Intl.DateTimeFormat.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} sTimezone IANA timezone ID
|
|
49
|
+
* @returns {Intl.DateTimeFormat} Intl.DateTimeFormat instance
|
|
50
|
+
*/
|
|
51
|
+
get: function (sTimezone) {
|
|
52
|
+
var cacheEntry = this._oCache.get(sTimezone);
|
|
53
|
+
if (cacheEntry) {
|
|
54
|
+
return cacheEntry;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var oOptions = {
|
|
58
|
+
hourCycle: "h23",
|
|
59
|
+
hour: "2-digit",
|
|
60
|
+
minute: "2-digit",
|
|
61
|
+
second: "2-digit",
|
|
62
|
+
fractionalSecondDigits: 3,
|
|
63
|
+
day: "2-digit",
|
|
64
|
+
month: "2-digit",
|
|
65
|
+
year: "numeric",
|
|
66
|
+
timeZone: sTimezone,
|
|
67
|
+
timeZoneName: 'short',
|
|
68
|
+
era: 'narrow',
|
|
69
|
+
weekday: "short"
|
|
70
|
+
};
|
|
71
|
+
var oInstance = new Intl.DateTimeFormat("en-US", oOptions);
|
|
72
|
+
|
|
73
|
+
// only store a limited number of entries in the cache
|
|
74
|
+
if (this._oCache.size === this._iCacheLimit) {
|
|
75
|
+
this._oCache = new Map();
|
|
76
|
+
}
|
|
77
|
+
this._oCache.set(sTimezone, oInstance);
|
|
78
|
+
return oInstance;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Uses the <code>Intl.supportedValuesOf('timeZone')</code> and <code>Intl.DateTimeFormat</code>
|
|
84
|
+
* API to check if the browser can handle the given IANA timezone ID.
|
|
85
|
+
* <code>Intl.supportedValuesOf('timeZone')</code> offers direct access to the list of supported
|
|
86
|
+
* time zones. It is not yet supported by all browsers but if it is supported and the given time
|
|
87
|
+
* zone is in the list it is faster than probing.
|
|
88
|
+
*
|
|
89
|
+
* <code>Intl.supportedValuesOf('timeZone')</code> does not return all IANA timezone IDs which
|
|
90
|
+
* the <code>Intl.DateTimeFormat</code> can handle, e.g. "Japan", "Etc/UTC".
|
|
91
|
+
*
|
|
92
|
+
* @param {string} sTimezone The IANA timezone ID which is checked, e.g <code>"Europe/Berlin"</code>
|
|
93
|
+
* @returns {boolean} Whether the time zone is a valid IANA timezone ID
|
|
94
|
+
* @private
|
|
95
|
+
* @ui5-restricted sap.ui.core.Configuration, sap.ui.core.format.DateFormat
|
|
96
|
+
*/
|
|
97
|
+
TimezoneUtils.isValidTimezone = function(sTimezone) {
|
|
98
|
+
if (!sTimezone) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (Intl.supportedValuesOf) {
|
|
103
|
+
try {
|
|
104
|
+
aSupportedTimezoneIDs = aSupportedTimezoneIDs || Intl.supportedValuesOf('timeZone');
|
|
105
|
+
if (aSupportedTimezoneIDs.includes(sTimezone)) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
// although not contained in the supportedValues it still can be valid, therefore continue
|
|
109
|
+
} catch (oError) {
|
|
110
|
+
// ignore error
|
|
111
|
+
aSupportedTimezoneIDs = [];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
oIntlDateTimeFormatCache.get(sTimezone);
|
|
117
|
+
return true;
|
|
118
|
+
} catch (oError) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Converts a date to a specific time zone.
|
|
125
|
+
* The resulting date reflects the given time zone such that the "UTC" Date methods
|
|
126
|
+
* can be used, e.g. Date#getUTCHours() to display the hours in the given time zone.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* var oDate = new Date("2021-10-13T15:22:33Z"); // UTC
|
|
130
|
+
* // time zone difference UTC-4 (DST)
|
|
131
|
+
* TimezoneUtils.convertToTimezone(oDate, "America/New_York");
|
|
132
|
+
* // result is:
|
|
133
|
+
* // 2021-10-13 11:22:33 in America/New_York
|
|
134
|
+
* // same as new Date("2021-10-13T11:22:33Z"); // UTC
|
|
135
|
+
*
|
|
136
|
+
* @param {Date} oDate The date which should be converted.
|
|
137
|
+
* @param {string} sTargetTimezone The target IANA timezone ID, e.g <code>"Europe/Berlin"</code>
|
|
138
|
+
* @returns {Date} The new date in the target time zone.
|
|
139
|
+
* @private
|
|
140
|
+
* @ui5-restricted sap.ui.core.format.DateFormat, sap.ui.unified, sap.m
|
|
141
|
+
*/
|
|
142
|
+
TimezoneUtils.convertToTimezone = function(oDate, sTargetTimezone) {
|
|
143
|
+
var oFormatParts = this._getParts(oDate, sTargetTimezone);
|
|
144
|
+
return TimezoneUtils._getDateFromParts(oFormatParts);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Uses the <code>Intl.DateTimeFormat</code> API to convert a date to a specific time zone.
|
|
149
|
+
*
|
|
150
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts
|
|
151
|
+
* @param {Date} oDate The date which should be converted.
|
|
152
|
+
* @param {string} sTargetTimezone The target IANA timezone ID, e.g <code>"Europe/Berlin"</code>
|
|
153
|
+
* @returns {{
|
|
154
|
+
* day: string,
|
|
155
|
+
* era: string,
|
|
156
|
+
* fractionalSecond: string,
|
|
157
|
+
* hour: string,
|
|
158
|
+
* minute: string,
|
|
159
|
+
* month: string,
|
|
160
|
+
* second: string,
|
|
161
|
+
* timeZoneName: string,
|
|
162
|
+
* weekday: string,
|
|
163
|
+
* year: string
|
|
164
|
+
* }} An object containing the date and time fields considering the target time zone.
|
|
165
|
+
* @private
|
|
166
|
+
*/
|
|
167
|
+
TimezoneUtils._getParts = function(oDate, sTargetTimezone) {
|
|
168
|
+
var sKey, oPart,
|
|
169
|
+
oDateParts = Object.create(null),
|
|
170
|
+
oIntlDate = oIntlDateTimeFormatCache.get(sTargetTimezone),
|
|
171
|
+
// clone the date object before passing it to the Intl API, to ensure that no
|
|
172
|
+
// UniversalDate gets passed to it;
|
|
173
|
+
// no need to use UI5Date.getInstance as only the UTC timestamp is used
|
|
174
|
+
oParts = oIntlDate.formatToParts(new Date(oDate.getTime()));
|
|
175
|
+
|
|
176
|
+
for (sKey in oParts) {
|
|
177
|
+
oPart = oParts[sKey];
|
|
178
|
+
if (oPart.type !== "literal") {
|
|
179
|
+
oDateParts[oPart.type] = oPart.value;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return oDateParts;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Creates a Date from the provided date parts.
|
|
187
|
+
*
|
|
188
|
+
* @param {object} oParts Separated date and time fields as object, see {@link #_getParts}.
|
|
189
|
+
* @returns {Date} Returns the date object created from the provided parts.
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
TimezoneUtils._getDateFromParts = function(oParts) {
|
|
193
|
+
// no need to use UI5Date.getInstance as only the UTC timestamp is used
|
|
194
|
+
var oDate = new Date(0),
|
|
195
|
+
iUTCYear = parseInt(oParts.year);
|
|
196
|
+
|
|
197
|
+
if (oParts.era === "B") {
|
|
198
|
+
// The JS Date uses astronomical year numbering which supports year zero and negative
|
|
199
|
+
// year numbers.
|
|
200
|
+
// The Intl.DateTimeFormat API uses eras (no year zero and no negative year numbers).
|
|
201
|
+
// years around zero overview:
|
|
202
|
+
// | Astronomical | In Era
|
|
203
|
+
// | 2 | 2 Anno Domini (era: "A")
|
|
204
|
+
// | 1 | 1 Anno Domini (era: "A")
|
|
205
|
+
// | 0 | 1 Before Christ (era: "B")
|
|
206
|
+
// | -1 | 2 Before Christ (era: "B")
|
|
207
|
+
// | -2 | 3 Before Christ (era: "B")
|
|
208
|
+
// For the conversion to the JS Date the parts returned by the Intl.DateTimeFormat API
|
|
209
|
+
// need to be adapted.
|
|
210
|
+
iUTCYear = (iUTCYear * -1) + 1;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Date.UTC cannot be used here to be able to support dates before the UNIX epoch
|
|
214
|
+
oDate.setUTCFullYear(iUTCYear,
|
|
215
|
+
parseInt(oParts.month) - 1,
|
|
216
|
+
parseInt(oParts.day));
|
|
217
|
+
oDate.setUTCHours(
|
|
218
|
+
parseInt(oParts.hour),
|
|
219
|
+
parseInt(oParts.minute),
|
|
220
|
+
parseInt(oParts.second),
|
|
221
|
+
parseInt(oParts.fractionalSecond || 0)); // some older browsers don't support fractionalSecond, e.g. Safari < 14.1 */
|
|
222
|
+
|
|
223
|
+
return oDate;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Gets the offset to UTC in seconds for a given date in the time zone specified.
|
|
228
|
+
*
|
|
229
|
+
* For non-unique points in time, the daylight saving time takes precedence over the standard
|
|
230
|
+
* time shortly after the switch back (e.g. clock gets set back 1 hour, duplicate hour).
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* var oDate = new Date("2021-10-13T13:22:33Z");
|
|
234
|
+
* TimezoneUtils.calculateOffset(oDate, "America/New_York");
|
|
235
|
+
* // => +14400 seconds (4 * 60 * 60 seconds)
|
|
236
|
+
*
|
|
237
|
+
* TimezoneUtils.calculateOffset(oDate, "Europe/Berlin");
|
|
238
|
+
* // => -7200 seconds (-2 * 60 * 60 seconds)
|
|
239
|
+
*
|
|
240
|
+
* // daylight saving time (2018 Sun, 25 Mar, 02:00 CET → CEST +1 hour (DST start) UTC+2h)
|
|
241
|
+
* // the given date is taken as it is in the time zone
|
|
242
|
+
* TimezoneUtils.calculateOffset(new Date("2018-03-25T00:00:00Z"), "Europe/Berlin");
|
|
243
|
+
* // => -3600 seconds (-1 * 60 * 60 seconds), interpreted as: 2018-03-25 00:00:00 (CET)
|
|
244
|
+
*
|
|
245
|
+
* TimezoneUtils.calculateOffset(new Date("2018-03-25T03:00:00Z"), "Europe/Berlin");
|
|
246
|
+
* // => -7200 seconds (-2 * 60 * 60 seconds)
|
|
247
|
+
*
|
|
248
|
+
* var oHistoricalDate = new Date("1800-10-13T13:22:33Z");
|
|
249
|
+
* TimezoneUtils.calculateOffset(oHistoricalDate, "Europe/Berlin");
|
|
250
|
+
* // => -3208 seconds (-3208 seconds)
|
|
251
|
+
*
|
|
252
|
+
* @param {Date} oDate The date in the time zone used to calculate the offset to UTC.
|
|
253
|
+
* @param {string} sTimezoneSource The source IANA timezone ID, e.g <code>"Europe/Berlin"</code>
|
|
254
|
+
* @returns {number} The difference to UTC between the date in the time zone.
|
|
255
|
+
* @private
|
|
256
|
+
* @ui5-restricted sap.ui.core.format.DateFormat
|
|
257
|
+
*/
|
|
258
|
+
TimezoneUtils.calculateOffset = function(oDate, sTimezoneSource) {
|
|
259
|
+
var oFirstGuess = this.convertToTimezone(oDate, sTimezoneSource),
|
|
260
|
+
iInitialOffset = oDate.getTime() - oFirstGuess.getTime(),
|
|
261
|
+
// to get the correct summer/wintertime (daylight saving time) handling use the source
|
|
262
|
+
// date (apply the diff);
|
|
263
|
+
// no need to use UI5Date.getInstance as only the UTC timestamp is used
|
|
264
|
+
oDateSource = new Date(oDate.getTime() + iInitialOffset),
|
|
265
|
+
oDateTarget = this.convertToTimezone(oDateSource, sTimezoneSource);
|
|
266
|
+
|
|
267
|
+
return (oDateSource.getTime() - oDateTarget.getTime()) / 1000;
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Retrieves the browser's local IANA timezone ID.
|
|
272
|
+
*
|
|
273
|
+
* @returns {string} The local IANA timezone ID of the browser, e.g <code>"Europe/Berlin"</code>
|
|
274
|
+
* @private
|
|
275
|
+
* @ui5-restricted sap.ui.core.Configuration,sap.m.DateTimeField
|
|
276
|
+
*/
|
|
277
|
+
TimezoneUtils.getLocalTimezone = function() {
|
|
278
|
+
if (sLocalTimezone) {
|
|
279
|
+
return sLocalTimezone;
|
|
280
|
+
}
|
|
281
|
+
sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
282
|
+
return sLocalTimezone;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
return TimezoneUtils;
|
|
287
|
+
});
|