@openui5/sap.ui.core 1.103.1 → 1.106.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.reuse/dep5 +35 -15
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
- package/THIRDPARTY.txt +64 -21
- package/package.json +1 -1
- package/src/jquery.sap.dom.js +10 -10
- package/src/jquery.sap.global.js +24 -216
- package/src/jquery.sap.history.js +1 -1
- package/src/jquery.sap.properties.js +2 -2
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +4 -4
- package/src/sap/base/i18n/ResourceBundle.js +7 -11
- package/src/sap/base/util/LoaderExtensions.js +69 -61
- package/src/sap/base/util/ObjectPath.js +1 -1
- package/src/sap/base/util/Properties.js +1 -1
- package/src/sap/base/util/fetch.js +228 -0
- package/src/sap/base/util/mixedFetch.js +69 -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/base/util/syncFetch.js +66 -0
- package/src/sap/ui/Device.js +5 -5
- package/src/sap/ui/Global.js +7 -14
- package/src/sap/ui/VersionInfo.js +57 -54
- package/src/sap/ui/base/BindingInfo.js +198 -0
- package/src/sap/ui/base/DataType.js +1 -1
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +209 -979
- package/src/sap/ui/base/ManagedObjectMetadata.js +6 -6
- package/src/sap/ui/base/ManagedObjectObserver.js +2 -2
- 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/core/.library +72 -50
- package/src/sap/ui/core/AccessKeysEnablement.js +173 -0
- package/src/sap/ui/core/AppCacheBuster.js +65 -51
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +52 -25
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +16 -23
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +598 -358
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +126 -185
- 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 +68 -4
- package/src/sap/ui/core/ElementMetadata.js +6 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +2 -2
- package/src/sap/ui/core/FocusHandler.js +84 -39
- 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/IconPool.js +8 -8
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +4 -1
- 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/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +8 -51
- package/src/sap/ui/core/Manifest.js +3 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +13 -8
- package/src/sap/ui/core/RenderManager.js +17 -21
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +28 -49
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +12 -13
- package/src/sap/ui/core/UIArea.js +13 -12
- package/src/sap/ui/core/UIComponent.js +3 -3
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +5 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +7 -7
- package/src/sap/ui/core/_ConfigurationProvider.js +187 -0
- package/src/sap/ui/core/_IconRegistry.js +66 -55
- package/src/sap/ui/core/cache/CacheManager.js +20 -16
- package/src/sap/ui/core/cache/CacheManagerNOP.js +5 -2
- package/src/sap/ui/core/cache/LRUPersistentCache.js +15 -8
- package/src/sap/ui/core/cldr/en.json +0 -1
- package/src/sap/ui/core/cldr/es_BO.json +3 -3
- package/src/sap/ui/core/cldr/es_CL.json +3 -3
- package/src/sap/ui/core/cldr/es_MX.json +3 -3
- package/src/sap/ui/core/cldr/es_PE.json +3 -3
- package/src/sap/ui/core/cldr/es_UY.json +3 -3
- package/src/sap/ui/core/cldr/es_VE.json +2 -2
- package/src/sap/ui/core/date/Buddhist.js +15 -13
- package/src/sap/ui/core/date/Japanese.js +0 -6
- package/src/sap/ui/core/date/UniversalDate.js +144 -34
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +13 -9
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +3 -3
- 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 +36 -9
- package/src/sap/ui/core/format/NumberFormat.js +92 -26
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +44 -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.properties +2 -0
- package/src/sap/ui/core/messagebundle_ar.properties +54 -53
- package/src/sap/ui/core/messagebundle_bg.properties +54 -53
- package/src/sap/ui/core/messagebundle_ca.properties +28 -27
- package/src/sap/ui/core/messagebundle_cs.properties +37 -36
- package/src/sap/ui/core/messagebundle_cy.properties +57 -56
- package/src/sap/ui/core/messagebundle_da.properties +53 -52
- package/src/sap/ui/core/messagebundle_de.properties +54 -53
- package/src/sap/ui/core/messagebundle_el.properties +46 -45
- package/src/sap/ui/core/messagebundle_en.properties +57 -56
- package/src/sap/ui/core/messagebundle_en_GB.properties +57 -56
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +42 -41
- package/src/sap/ui/core/messagebundle_es_MX.properties +54 -53
- package/src/sap/ui/core/messagebundle_et.properties +51 -50
- package/src/sap/ui/core/messagebundle_fi.properties +48 -47
- package/src/sap/ui/core/messagebundle_fr.properties +37 -36
- package/src/sap/ui/core/messagebundle_fr_CA.properties +22 -21
- package/src/sap/ui/core/messagebundle_hi.properties +42 -41
- package/src/sap/ui/core/messagebundle_hr.properties +55 -54
- package/src/sap/ui/core/messagebundle_hu.properties +56 -55
- package/src/sap/ui/core/messagebundle_id.properties +55 -54
- package/src/sap/ui/core/messagebundle_it.properties +55 -54
- package/src/sap/ui/core/messagebundle_iw.properties +55 -54
- package/src/sap/ui/core/messagebundle_ja.properties +48 -47
- package/src/sap/ui/core/messagebundle_kk.properties +41 -40
- package/src/sap/ui/core/messagebundle_ko.properties +21 -20
- package/src/sap/ui/core/messagebundle_lt.properties +55 -54
- package/src/sap/ui/core/messagebundle_lv.properties +55 -54
- package/src/sap/ui/core/messagebundle_ms.properties +52 -51
- package/src/sap/ui/core/messagebundle_nl.properties +53 -52
- package/src/sap/ui/core/messagebundle_no.properties +53 -52
- package/src/sap/ui/core/messagebundle_pl.properties +52 -51
- package/src/sap/ui/core/messagebundle_pt.properties +54 -53
- package/src/sap/ui/core/messagebundle_pt_PT.properties +55 -54
- package/src/sap/ui/core/messagebundle_ro.properties +56 -55
- package/src/sap/ui/core/messagebundle_ru.properties +52 -51
- package/src/sap/ui/core/messagebundle_sh.properties +57 -56
- package/src/sap/ui/core/messagebundle_sk.properties +54 -53
- package/src/sap/ui/core/messagebundle_sl.properties +56 -55
- package/src/sap/ui/core/messagebundle_sv.properties +52 -51
- package/src/sap/ui/core/messagebundle_th.properties +25 -24
- package/src/sap/ui/core/messagebundle_tr.properties +56 -55
- package/src/sap/ui/core/messagebundle_uk.properties +55 -54
- package/src/sap/ui/core/messagebundle_vi.properties +56 -55
- package/src/sap/ui/core/messagebundle_zh_CN.properties +55 -54
- package/src/sap/ui/core/messagebundle_zh_TW.properties +55 -54
- package/src/sap/ui/core/mvc/Controller.js +17 -12
- 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 +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +7 -7
- package/src/sap/ui/core/mvc/XMLView.js +1 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +16 -14
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -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/Router.js +4 -4
- package/src/sap/ui/core/routing/async/TargetCache.js +4 -0
- package/src/sap/ui/core/rules/App.support.js +11 -13
- package/src/sap/ui/core/rules/Config.support.js +14 -14
- package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
- package/src/sap/ui/core/rules/Model.support.js +8 -8
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +8 -8
- package/src/sap/ui/core/rules/View.support.js +20 -13
- package/src/sap/ui/core/search/OpenSearchProvider.js +25 -12
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- 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/Hotkeys.js +2 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +3 -4
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Debugging.js +4 -4
- 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 +46 -33
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +3 -4
- package/src/sap/ui/core/support/support.html +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -3
- package/src/sap/ui/core/themes/base/Icon.less +4 -0
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +26 -26
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +5 -1
- package/src/sap/ui/core/themes/base/shared.less +6 -0
- package/src/sap/ui/core/theming/Parameters.js +52 -53
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +7 -5
- 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 +61 -42
- package/src/sap/ui/core/util/MockServer.js +45 -71
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +4 -3
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -3
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -4
- 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.css +1 -31
- package/src/sap/ui/debug/PropertyList.js +6 -240
- package/src/sap/ui/dom/getScrollbarSize.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +1 -0
- package/src/sap/ui/events/jquery/EventSimulation.js +4 -4
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +3 -0
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +3 -3
- package/src/sap/ui/model/ListBinding.js +2 -2
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +871 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +16 -5
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +2 -2
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/_Helper.js +3 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +2 -2
- package/src/sap/ui/model/base/ManagedObjectModel.js +2 -2
- package/src/sap/ui/model/json/JSONModel.js +2 -2
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- package/src/sap/ui/model/odata/ODataMetaModel.js +10 -10
- package/src/sap/ui/model/odata/ODataMetadata.js +6 -3
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +459 -268
- 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 +1 -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 +1 -1
- 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 +5 -5
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +5 -2
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +26 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +164 -125
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -2
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +3 -3
- package/src/sap/ui/model/odata/v4/Context.js +169 -79
- package/src/sap/ui/model/odata/v4/ODataBinding.js +51 -12
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +111 -92
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +206 -150
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -10
- package/src/sap/ui/model/odata/v4/ODataModel.js +249 -28
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +33 -18
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -11
- package/src/sap/ui/model/odata/v4/ODataUtils.js +7 -4
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +142 -35
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +167 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +388 -188
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +2 -3
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -43
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +2 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +13 -6
- package/src/sap/ui/model/resource/ResourceModel.js +2 -2
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +2 -2
- 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 +2 -2
- 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 +4 -2
- package/src/sap/ui/performance/trace/FESR.js +27 -24
- package/src/sap/ui/performance/trace/Interaction.js +66 -16
- package/src/sap/ui/qunit/QUnitUtils.js +1 -2
- package/src/sap/ui/qunit/sinon-qunit-bridge.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/OpaBuilder.js +1 -1
- package/src/sap/ui/test/TestUtils.js +35 -2
- package/src/sap/ui/test/actions/Press.js +7 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +2 -3
- package/src/sap/ui/test/matchers/AggregationFilled.js +2 -3
- package/src/sap/ui/test/matchers/AggregationLengthEquals.js +2 -3
- package/src/sap/ui/test/matchers/Matcher.js +9 -11
- package/src/sap/ui/test/opaQunit.js +15 -9
- package/src/sap/ui/test/pipelines/ActionPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -3
- package/src/sap/ui/thirdparty/IPv6.js +1 -1
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
- package/src/sap/ui/thirdparty/URI.js +8 -2
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/XMLHelper.js +1 -1
|
@@ -18,7 +18,7 @@ sap.ui.define([
|
|
|
18
18
|
/**
|
|
19
19
|
* @classdesc
|
|
20
20
|
* This object provides persistent caching functionality.
|
|
21
|
-
* The component is both private and
|
|
21
|
+
* The component is both private and restricted to framework core usage. It is currently supported to a limited set of environments:
|
|
22
22
|
* <ul>
|
|
23
23
|
* <li>Google Chrome(version >=49) for desktop</li>
|
|
24
24
|
* <li>Internet Explorer(version >=11) for desktop.</li>
|
|
@@ -55,7 +55,7 @@ sap.ui.define([
|
|
|
55
55
|
* </ul>
|
|
56
56
|
* @see sap.ui.core.Configuration
|
|
57
57
|
* @private
|
|
58
|
-
* @
|
|
58
|
+
* @ui5-restricted sap.ui.core
|
|
59
59
|
* @since 1.40.0
|
|
60
60
|
* @namespace
|
|
61
61
|
* @alias sap.ui.core.cache.CacheManager
|
|
@@ -129,10 +129,10 @@ sap.ui.define([
|
|
|
129
129
|
Log.debug("Cache Manager: Setting value of type[" + typeof value + "] with key [" + key + "]");
|
|
130
130
|
|
|
131
131
|
pSet = this._callInstanceMethod("set", arguments).then(function callInstanceHandler() {
|
|
132
|
-
|
|
132
|
+
this.logResolved("set");
|
|
133
133
|
oMsr.endAsync();
|
|
134
134
|
//nothing to return, just logging.
|
|
135
|
-
}, function (e) {
|
|
135
|
+
}.bind(this), function (e) {
|
|
136
136
|
Log.error("Cache Manager: Setting key [" + key + "] failed. Error:" + e);
|
|
137
137
|
oMsr.endAsync();
|
|
138
138
|
throw e;
|
|
@@ -144,11 +144,11 @@ sap.ui.define([
|
|
|
144
144
|
/**
|
|
145
145
|
* Retrieves a value for given key.
|
|
146
146
|
* @param key the key to retrieve a value for
|
|
147
|
-
* @returns {Promise} a promise that would be resolved in case of successful operation or rejected with
|
|
147
|
+
* @returns {Promise<any|undefined>} a promise that would be resolved in case of successful operation or rejected with
|
|
148
148
|
* value of the error message if the operation fails. It resolves with a value that is either:
|
|
149
149
|
* <ul>
|
|
150
150
|
* <li>undefined - the entry does not exist</li>
|
|
151
|
-
* <li>any other - the entry exists and value contains the
|
|
151
|
+
* <li>any other - the entry exists and value contains the actual one</li>
|
|
152
152
|
* </ul>
|
|
153
153
|
* @public
|
|
154
154
|
*/
|
|
@@ -159,10 +159,10 @@ sap.ui.define([
|
|
|
159
159
|
|
|
160
160
|
Log.debug("Cache Manager: Getting key [" + key + "]");
|
|
161
161
|
pGet = this._callInstanceMethod("get", arguments).then(function callInstanceHandler(v) {
|
|
162
|
-
|
|
162
|
+
this.logResolved("get");
|
|
163
163
|
oMsr.endAsync();
|
|
164
164
|
return v;
|
|
165
|
-
}, function (e) {
|
|
165
|
+
}.bind(this), function (e) {
|
|
166
166
|
Log.debug("Cache Manager: Getting key [" + key + "] failed. Error: " + e);
|
|
167
167
|
oMsr.endAsync();
|
|
168
168
|
throw e;
|
|
@@ -184,10 +184,10 @@ sap.ui.define([
|
|
|
184
184
|
Log.debug("Cache Manager: has key [" + key + "] called");
|
|
185
185
|
|
|
186
186
|
pHas = this._callInstanceMethod("has", arguments).then(function callInstanceHandler(result) {
|
|
187
|
+
this.logResolved("has");
|
|
187
188
|
oMsr.endAsync();
|
|
188
|
-
Log.debug("Cache Manager: has key [" + key + "] returned " + result);
|
|
189
189
|
return result;
|
|
190
|
-
});
|
|
190
|
+
}.bind(this));
|
|
191
191
|
oMsr.endSync();
|
|
192
192
|
return pHas;
|
|
193
193
|
},
|
|
@@ -204,10 +204,10 @@ sap.ui.define([
|
|
|
204
204
|
Log.debug("Cache Manager: del called.");
|
|
205
205
|
|
|
206
206
|
pDel = this._callInstanceMethod("del", arguments).then(function callInstanceHandler() {
|
|
207
|
-
|
|
207
|
+
this.logResolved("del");
|
|
208
208
|
oMsr.endAsync();
|
|
209
209
|
//nothing to return, just logging.
|
|
210
|
-
}, function (e) {
|
|
210
|
+
}.bind(this), function (e) {
|
|
211
211
|
Log.debug("Cache Manager: del failed. Error: " + e);
|
|
212
212
|
oMsr.endAsync();
|
|
213
213
|
throw e;
|
|
@@ -234,8 +234,8 @@ sap.ui.define([
|
|
|
234
234
|
Log.debug("Cache Manager: delWithFilters called.");
|
|
235
235
|
|
|
236
236
|
pDel = this._callInstanceMethod("delWithFilters", arguments).then(function callInstanceHandler() {
|
|
237
|
-
|
|
238
|
-
}, function (e) {
|
|
237
|
+
this.logResolved("delWithFilters");
|
|
238
|
+
}.bind(this), function (e) {
|
|
239
239
|
Log.debug("Cache Manager: delWithFilters failed. Error: " + e);
|
|
240
240
|
throw e;
|
|
241
241
|
});
|
|
@@ -254,10 +254,10 @@ sap.ui.define([
|
|
|
254
254
|
Log.debug("Cache Manager: Reset called.");
|
|
255
255
|
|
|
256
256
|
pReset = this._callInstanceMethod("reset", arguments).then(function callInstanceHandler() {
|
|
257
|
-
|
|
257
|
+
this.logResolved("reset");
|
|
258
258
|
oMsr.endAsync();
|
|
259
259
|
//nothing to return, just logging.
|
|
260
|
-
}, function (e) {
|
|
260
|
+
}.bind(this), function (e) {
|
|
261
261
|
Log.debug("Cache Manager: Reset failed. Error: " + e);
|
|
262
262
|
oMsr.endAsync();
|
|
263
263
|
throw e;
|
|
@@ -379,6 +379,10 @@ sap.ui.define([
|
|
|
379
379
|
});
|
|
380
380
|
}
|
|
381
381
|
return this._bSupportedEnvironment;
|
|
382
|
+
},
|
|
383
|
+
|
|
384
|
+
logResolved: function(sFnName) {
|
|
385
|
+
this._instance.logResolved && this._instance.logResolved(sFnName);
|
|
382
386
|
}
|
|
383
387
|
};
|
|
384
388
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
sap.ui.define([],
|
|
8
|
-
function () {
|
|
7
|
+
sap.ui.define(["sap/base/Log"],
|
|
8
|
+
function (Log) {
|
|
9
9
|
"use strict";
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -20,6 +20,9 @@ sap.ui.define([],
|
|
|
20
20
|
*/
|
|
21
21
|
var CacheManagerNOP = {
|
|
22
22
|
name: "CacheManagerNOP",
|
|
23
|
+
logResolved: function(sFnName) {
|
|
24
|
+
Log.debug("Cache Manager is not supported on this environment.");
|
|
25
|
+
},
|
|
23
26
|
set: function () {
|
|
24
27
|
return Promise.resolve();
|
|
25
28
|
},
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
8
|
-
function(Log, Measurement) {
|
|
7
|
+
sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement", "sap/ui/Global"],
|
|
8
|
+
function(Log, Measurement, Global) {
|
|
9
9
|
"use strict";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @classdesc
|
|
13
13
|
* This object provides cache functionality with persistence in IndexedDB.
|
|
14
|
-
* The component is
|
|
14
|
+
* The component is private and restricted to the factory class sap.ui.core.cache.CacheManager.
|
|
15
15
|
* Do not use outside UI5 framework itself.
|
|
16
16
|
* This implementation works with entries corresponding to a single ui5 version.
|
|
17
17
|
* If the cache is loaded with different ui5 version, all previous entries will be deleted. The latter behavior is about of a further changes (feature requests)
|
|
@@ -20,7 +20,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
|
20
20
|
*
|
|
21
21
|
* Do not use it directly, use {@link sap.ui.core.cache.CacheManager} instead
|
|
22
22
|
* @private
|
|
23
|
-
* @
|
|
23
|
+
* @ui5-restricted sap.ui.core.cache.CacheManager, sap.ui.core.Configuration
|
|
24
24
|
* @since 1.40.0
|
|
25
25
|
* @namespace
|
|
26
26
|
* @alias sap.ui.core.cache.LRUPersistentCache
|
|
@@ -28,6 +28,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
|
28
28
|
|
|
29
29
|
var LRUPersistentCache = {
|
|
30
30
|
name: "LRUPersistentCache",
|
|
31
|
+
logResolved: function(sFnName) {
|
|
32
|
+
Log.debug("Cache Manager: " + sFnName + " completed successfully.");
|
|
33
|
+
},
|
|
31
34
|
|
|
32
35
|
defaultOptions: {
|
|
33
36
|
databaseName: "ui5-cachemanager-db",
|
|
@@ -166,8 +169,12 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
|
166
169
|
Log.warning("Cache Manager ignored 'has' for key [" + key + "]");
|
|
167
170
|
return Promise.resolve(false);
|
|
168
171
|
}
|
|
169
|
-
return this.get(key).then(function
|
|
170
|
-
|
|
172
|
+
return this.get(key).then(function(value) {
|
|
173
|
+
var result = typeof value !== "undefined";
|
|
174
|
+
|
|
175
|
+
Log.debug("Cache Manager: has key [" + key + "] returned " + result);
|
|
176
|
+
|
|
177
|
+
return result;
|
|
171
178
|
});
|
|
172
179
|
},
|
|
173
180
|
|
|
@@ -366,7 +373,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
|
366
373
|
transaction.abort();
|
|
367
374
|
};
|
|
368
375
|
clearMetadataStoreReq.onsuccess = function () {
|
|
369
|
-
self._metadata = initMetadata(
|
|
376
|
+
self._metadata = initMetadata(Global.version);
|
|
370
377
|
assignRUCounters(self);
|
|
371
378
|
};
|
|
372
379
|
};
|
|
@@ -664,7 +671,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
|
|
|
664
671
|
}
|
|
665
672
|
|
|
666
673
|
function initIndexedDB(instance) {
|
|
667
|
-
instance._ui5version =
|
|
674
|
+
instance._ui5version = Global.version;
|
|
668
675
|
return new Promise(function executorInitIndexedDB(resolve, reject) {
|
|
669
676
|
var DBOpenRequest;
|
|
670
677
|
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "d/M/y",
|
|
1108
1108
|
"yMEd": "E d/M/y",
|
|
1109
1109
|
"yMM": "M/y",
|
|
1110
|
-
"yMMM": "
|
|
1111
|
-
"yMMMd": "d
|
|
1112
|
-
"yMMMEd": "E, d
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
|
+
"yMMMd": "d MMM y",
|
|
1112
|
+
"yMMMEd": "E, d MMM y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "dd-MM-y",
|
|
1108
1108
|
"yMEd": "E dd-MM-y",
|
|
1109
1109
|
"yMM": "M/y",
|
|
1110
|
-
"yMMM": "
|
|
1111
|
-
"yMMMd": "d
|
|
1112
|
-
"yMMMEd": "E, d
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
|
+
"yMMMd": "d MMM y",
|
|
1112
|
+
"yMMMEd": "E, d MMM y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "d/M/y",
|
|
1108
1108
|
"yMEd": "E, d/M/y",
|
|
1109
1109
|
"yMM": "MM/y",
|
|
1110
|
-
"yMMM": "
|
|
1111
|
-
"yMMMd": "d
|
|
1112
|
-
"yMMMEd": "EEE, d 'de'
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
|
+
"yMMMd": "d MMM y",
|
|
1112
|
+
"yMMMEd": "EEE, d 'de' MMM 'de' y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "d/M/y",
|
|
1108
1108
|
"yMEd": "E d/M/y",
|
|
1109
1109
|
"yMM": "M/y",
|
|
1110
|
-
"yMMM": "
|
|
1111
|
-
"yMMMd": "d
|
|
1112
|
-
"yMMMEd": "E, d
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
|
+
"yMMMd": "d MMM y",
|
|
1112
|
+
"yMMMEd": "E, d MMM y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "d/M/y",
|
|
1108
1108
|
"yMEd": "E d/M/y",
|
|
1109
1109
|
"yMM": "M/y",
|
|
1110
|
-
"yMMM": "
|
|
1111
|
-
"yMMMd": "d
|
|
1112
|
-
"yMMMEd": "E, d
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
|
+
"yMMMd": "d MMM y",
|
|
1112
|
+
"yMMMEd": "E, d MMM y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -1107,9 +1107,9 @@
|
|
|
1107
1107
|
"yMd": "d/M/y",
|
|
1108
1108
|
"yMEd": "E d/M/y",
|
|
1109
1109
|
"yMM": "M/y",
|
|
1110
|
-
"yMMM": "
|
|
1110
|
+
"yMMM": "MMM y",
|
|
1111
1111
|
"yMMMd": "d MMM y",
|
|
1112
|
-
"yMMMEd": "E, d
|
|
1112
|
+
"yMMMEd": "E, d MMM y",
|
|
1113
1113
|
"yMMMM": "MMMM 'de' y",
|
|
1114
1114
|
"yMMMMd": "d 'de' MMMM 'de' y",
|
|
1115
1115
|
"yMMMMEd": "EEE, d 'de' MMMM 'de' y",
|
|
@@ -9,13 +9,21 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
|
|
|
9
9
|
function(UniversalDate, CalendarType, _Calendars) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
/**
|
|
14
13
|
* The Buddhist date class
|
|
15
14
|
*
|
|
16
15
|
* @class
|
|
17
|
-
* The Buddhist date implements the Thai solar calendar (BE). In this calendar
|
|
18
|
-
*
|
|
16
|
+
* The Buddhist date implements the Thai solar calendar (BE - Buddhist Era). In this calendar
|
|
17
|
+
* the year is offset by 543 compared to the Gregorian calendar.
|
|
18
|
+
* e.g. Year 2022 CE corresponds to 2565 BE
|
|
19
|
+
*
|
|
20
|
+
*
|
|
21
|
+
* Before 1941 CE the year start was 1st of April, so Januar to March belong to the previous year.
|
|
22
|
+
* <pre>
|
|
23
|
+
* Month | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 |
|
|
24
|
+
* CE | 1939 | 1940 | 1941 | 1942 |
|
|
25
|
+
* BE 2481 | 2482 | 2483 | 2484 | 2485 |
|
|
26
|
+
* </pre>
|
|
19
27
|
*
|
|
20
28
|
* @private
|
|
21
29
|
* @alias sap.ui.core.date.Buddhist
|
|
@@ -44,8 +52,8 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
|
|
|
44
52
|
/**
|
|
45
53
|
* Find the matching Buddhist date for the given gregorian date
|
|
46
54
|
*
|
|
47
|
-
* @param {
|
|
48
|
-
* @return {
|
|
55
|
+
* @param {{year: int, month: int, day: int}} oGregorian Gregorian date
|
|
56
|
+
* @return {{year: int, month: int, day: int}} the resulting Buddhist date
|
|
49
57
|
*/
|
|
50
58
|
function toBuddhist(oGregorian) {
|
|
51
59
|
var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
|
|
@@ -67,8 +75,8 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
|
|
|
67
75
|
/**
|
|
68
76
|
* Calculate gregorian year from Buddhist year and month
|
|
69
77
|
*
|
|
70
|
-
* @param {
|
|
71
|
-
* @return {int}
|
|
78
|
+
* @param {{year: int, month: int, day: int}} oBuddhist Buddhist date
|
|
79
|
+
* @return {{year: int, month: int, day: int}} the resulting Gregorian date
|
|
72
80
|
*/
|
|
73
81
|
function toGregorian(oBuddhist) {
|
|
74
82
|
var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
|
|
@@ -188,12 +196,6 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
|
|
|
188
196
|
}
|
|
189
197
|
return this._setUTCBuddhist(oBuddhist);
|
|
190
198
|
};
|
|
191
|
-
Buddhist.prototype.getWeek = function() {
|
|
192
|
-
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getFullYear(), this.getMonth(), this.getDate());
|
|
193
|
-
};
|
|
194
|
-
Buddhist.prototype.getUTCWeek = function() {
|
|
195
|
-
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate());
|
|
196
|
-
};
|
|
197
199
|
|
|
198
200
|
_Calendars.set(CalendarType.Buddhist, Buddhist);
|
|
199
201
|
|
|
@@ -230,12 +230,6 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
|
|
|
230
230
|
}
|
|
231
231
|
return this._setUTCJapanese(oJapanese);
|
|
232
232
|
};
|
|
233
|
-
Japanese.prototype.getWeek = function() {
|
|
234
|
-
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getFullYear(), this.getMonth(), this.getDate());
|
|
235
|
-
};
|
|
236
|
-
Japanese.prototype.getUTCWeek = function() {
|
|
237
|
-
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate());
|
|
238
|
-
};
|
|
239
233
|
|
|
240
234
|
_Calendars.set(CalendarType.Japanese, Japanese);
|
|
241
235
|
|
|
@@ -153,18 +153,64 @@ sap.ui.define(['sap/ui/base/Object', 'sap/ui/core/LocaleData', './_Calendars'],
|
|
|
153
153
|
UniversalDate.prototype.setUTCEra = function(iEra) {
|
|
154
154
|
// The default implementation does not support setting the era
|
|
155
155
|
};
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Retrieves the calendar week
|
|
159
|
+
*
|
|
160
|
+
* @param {sap.ui.core.Locale} oLocale the locale used to get the calendar week calculation properties, defaults to the formatLocale
|
|
161
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} oWeekConfig calendar week calculation parameters,
|
|
162
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
163
|
+
* @returns {{week: number, year: number}} resulting calendar week, note: week index starts with <code>0</code>
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
UniversalDate.prototype.getWeek = function(oLocale, oWeekConfig) {
|
|
167
|
+
checkWeekConfig(oWeekConfig);
|
|
168
|
+
return UniversalDate.getWeekByDate(this.sCalendarType, this.getFullYear(), this.getMonth(), this.getDate(), oLocale, oWeekConfig);
|
|
158
169
|
};
|
|
159
|
-
|
|
160
|
-
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Sets the calendar week
|
|
173
|
+
*
|
|
174
|
+
* @param {{week: number, year: number}} oWeek the calendar week, note: week index starts with <code>0</code>,
|
|
175
|
+
* <code>oWeek.year</code> is optional and defaults to {@link sap.ui.core.date.UniversalDate#getFullYear}
|
|
176
|
+
* @param {sap.ui.core.Locale} oLocale the locale used to get the calendar week calculation properties, defaults to the formatLocale
|
|
177
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} oWeekConfig calendar week calculation parameters,
|
|
178
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
179
|
+
* @private
|
|
180
|
+
*/
|
|
181
|
+
UniversalDate.prototype.setWeek = function(oWeek, oLocale, oWeekConfig) {
|
|
182
|
+
checkWeekConfig(oWeekConfig);
|
|
183
|
+
var oDate = UniversalDate.getFirstDateOfWeek(this.sCalendarType, oWeek.year || this.getFullYear(), oWeek.week, oLocale, oWeekConfig);
|
|
161
184
|
this.setFullYear(oDate.year, oDate.month, oDate.day);
|
|
162
185
|
};
|
|
163
|
-
|
|
164
|
-
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Retrieves the UTC calendar week
|
|
189
|
+
*
|
|
190
|
+
* @param {sap.ui.core.Locale} oLocale the locale used to get the calendar week calculation properties, defaults to the formatLocale
|
|
191
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} oWeekConfig calendar week calculation parameters,
|
|
192
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
193
|
+
* @returns {{week: number, year: number}} resulting calendar week, note: week index starts with <code>0</code>
|
|
194
|
+
* @private
|
|
195
|
+
*/
|
|
196
|
+
UniversalDate.prototype.getUTCWeek = function(oLocale, oWeekConfig) {
|
|
197
|
+
checkWeekConfig(oWeekConfig);
|
|
198
|
+
return UniversalDate.getWeekByDate(this.sCalendarType, this.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate(), oLocale, oWeekConfig);
|
|
165
199
|
};
|
|
166
|
-
|
|
167
|
-
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Sets the UTC calendar week
|
|
203
|
+
*
|
|
204
|
+
* @param {{week: number, year: number}} oWeek the calendar week, note: week index starts with <code>0</code>,
|
|
205
|
+
* <code>oWeek.year</code> is optional and defaults to {@link sap.ui.core.date.UniversalDate#getFullYear}
|
|
206
|
+
* @param {sap.ui.core.Locale} oLocale the locale used to get the calendar week calculation properties, defaults to the formatLocale
|
|
207
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} oWeekConfig calendar week calculation parameters,
|
|
208
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
209
|
+
* @private
|
|
210
|
+
*/
|
|
211
|
+
UniversalDate.prototype.setUTCWeek = function(oWeek, oLocale, oWeekConfig) {
|
|
212
|
+
checkWeekConfig(oWeekConfig);
|
|
213
|
+
var oDate = UniversalDate.getFirstDateOfWeek(this.sCalendarType, oWeek.year || this.getFullYear(), oWeek.week, oLocale, oWeekConfig);
|
|
168
214
|
this.setUTCFullYear(oDate.year, oDate.month, oDate.day);
|
|
169
215
|
};
|
|
170
216
|
UniversalDate.prototype.getQuarter = function() {
|
|
@@ -207,22 +253,40 @@ sap.ui.define(['sap/ui/base/Object', 'sap/ui/core/LocaleData', './_Calendars'],
|
|
|
207
253
|
*/
|
|
208
254
|
var iMillisecondsInWeek = 7 * 24 * 60 * 60 * 1000;
|
|
209
255
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
256
|
+
/**
|
|
257
|
+
* Retrieves the calendar week for a given date, specified by year, month, and day.
|
|
258
|
+
*
|
|
259
|
+
* @param {string} sCalendarType the calendar type, e.g. <code>"Gregorian"</code>
|
|
260
|
+
* @param {int} iYear year, e.g. <code>2016</code>
|
|
261
|
+
* @param {int} iMonth the month, e.g. <code>2</code>
|
|
262
|
+
* @param {int} iDay the date, e.g. <code>3</code>
|
|
263
|
+
* @param {sap.ui.core.Locale} [oLocale] the locale used for the week calculation, if oWeekConfig is not provided (falls back to the formatLocale)
|
|
264
|
+
* e.g. <code>new Locale("de-DE")</code>
|
|
265
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} [oWeekConfig] calendar week calculation parameters,
|
|
266
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
267
|
+
* Both properties firstDayOfWeek and minimalDaysInFirstWeek must be provided, otherwise it will be ignored.
|
|
268
|
+
* If provided US split week is ignored.
|
|
269
|
+
* e.g. <code>{firstDayOfWeek: 1, minimalDaysInFirstWeek: 4}</code>
|
|
270
|
+
* @returns {{week: number, year: number}} resulting calendar week, note: week index starts with <code>0</code>, e.g. <code>{year: 2016, week: 8}</code>
|
|
271
|
+
* @private
|
|
272
|
+
*/
|
|
273
|
+
UniversalDate.getWeekByDate = function(sCalendarType, iYear, iMonth, iDay, oLocale, oWeekConfig) {
|
|
274
|
+
oLocale = oLocale || sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
|
|
275
|
+
var oLocaleData = LocaleData.getInstance(oLocale);
|
|
276
|
+
var clDate = this.getClass(sCalendarType);
|
|
277
|
+
var oFirstDay = getFirstDayOfFirstWeek(clDate, iYear, oLocale, oWeekConfig);
|
|
278
|
+
var oDate = new clDate(clDate.UTC(iYear, iMonth, iDay));
|
|
279
|
+
var iWeek, iLastYear, iNextYear, oLastFirstDay, oNextFirstDay;
|
|
217
280
|
// If region is US, always calculate the week for the current year, otherwise
|
|
218
281
|
// the week might be the last week of the previous year or first week of next year
|
|
219
|
-
|
|
282
|
+
var bSplitWeek = (!oWeekConfig || oWeekConfig.minimalDaysInFirstWeek === undefined || oWeekConfig.firstDayOfWeek === undefined) && oLocaleData.firstDayStartsFirstWeek();
|
|
283
|
+
if (bSplitWeek) {
|
|
220
284
|
iWeek = calculateWeeks(oFirstDay, oDate);
|
|
221
285
|
} else {
|
|
222
286
|
iLastYear = iYear - 1;
|
|
223
287
|
iNextYear = iYear + 1;
|
|
224
|
-
oLastFirstDay = getFirstDayOfFirstWeek(clDate, iLastYear);
|
|
225
|
-
oNextFirstDay = getFirstDayOfFirstWeek(clDate, iNextYear);
|
|
288
|
+
oLastFirstDay = getFirstDayOfFirstWeek(clDate, iLastYear, oLocale, oWeekConfig);
|
|
289
|
+
oNextFirstDay = getFirstDayOfFirstWeek(clDate, iNextYear, oLocale, oWeekConfig);
|
|
226
290
|
if (oDate >= oNextFirstDay) {
|
|
227
291
|
iYear = iNextYear;
|
|
228
292
|
iWeek = 0;
|
|
@@ -239,17 +303,32 @@ sap.ui.define(['sap/ui/base/Object', 'sap/ui/core/LocaleData', './_Calendars'],
|
|
|
239
303
|
};
|
|
240
304
|
};
|
|
241
305
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
306
|
+
/**
|
|
307
|
+
* Retrieves the first day's date of the given week in the given year.
|
|
308
|
+
*
|
|
309
|
+
* @param {string} sCalendarType the calendar type, e.g. <code>"Gregorian"</code>
|
|
310
|
+
* @param {int} iYear year, e.g. <code>2016</code>
|
|
311
|
+
* @param {int} iWeek the calendar week index, e.g. <code>8</code>
|
|
312
|
+
* @param {sap.ui.core.Locale} [oLocale] the locale used for the week calculation, if oWeekConfig is not provided (falls back to the formatLocale)
|
|
313
|
+
* e.g. <code>new Locale("de-DE")</code>
|
|
314
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} [oWeekConfig] calendar week calculation parameters,
|
|
315
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
316
|
+
* Both properties firstDayOfWeek and minimalDaysInFirstWeek must be provided, otherwise it will be ignored.
|
|
317
|
+
* If provided US split week is ignored.
|
|
318
|
+
* e.g. <code>{firstDayOfWeek: 1, minimalDaysInFirstWeek: 4}</code>
|
|
319
|
+
* @returns {{month: number, year: number, day: number}} the resulting date, e.g. <code>{year: 2016, month: 1, day: 29}</code>
|
|
320
|
+
* @private
|
|
321
|
+
*/
|
|
322
|
+
UniversalDate.getFirstDateOfWeek = function(sCalendarType, iYear, iWeek, oLocale, oWeekConfig) {
|
|
323
|
+
oLocale = oLocale || sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
|
|
324
|
+
var oLocaleData = LocaleData.getInstance(oLocale);
|
|
325
|
+
var clDate = this.getClass(sCalendarType);
|
|
326
|
+
var oFirstDay = getFirstDayOfFirstWeek(clDate, iYear, oLocale, oWeekConfig);
|
|
327
|
+
var oDate = new clDate(oFirstDay.valueOf() + iWeek * iMillisecondsInWeek);
|
|
249
328
|
//If first day of week is in last year and region is US, return the
|
|
250
329
|
//1st of January instead for symmetric behaviour
|
|
251
|
-
|
|
252
|
-
if (
|
|
330
|
+
var bSplitWeek = (!oWeekConfig || oWeekConfig.minimalDaysInFirstWeek === undefined || oWeekConfig.firstDayOfWeek === undefined) && oLocaleData.firstDayStartsFirstWeek();
|
|
331
|
+
if (bSplitWeek && iWeek === 0 && oFirstDay.getUTCFullYear() < iYear) {
|
|
253
332
|
return {
|
|
254
333
|
year: iYear,
|
|
255
334
|
month: 0,
|
|
@@ -263,13 +342,44 @@ sap.ui.define(['sap/ui/base/Object', 'sap/ui/core/LocaleData', './_Calendars'],
|
|
|
263
342
|
};
|
|
264
343
|
};
|
|
265
344
|
|
|
266
|
-
function
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
345
|
+
function checkWeekConfig(oWeekConfig) {
|
|
346
|
+
if (oWeekConfig) {
|
|
347
|
+
if (oWeekConfig.firstDayOfWeek === undefined && oWeekConfig.minimalDaysInFirstWeek !== undefined
|
|
348
|
+
|| oWeekConfig.firstDayOfWeek !== undefined && oWeekConfig.minimalDaysInFirstWeek === undefined) {
|
|
349
|
+
throw new Error("Week config requires both firstDayOfWeek and minimalDaysInFirstWeek to be set");
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Returns the first day of the first week in the given year.
|
|
356
|
+
*
|
|
357
|
+
* @param {UniversalDate} clDate the date class
|
|
358
|
+
* @param {int} iYear year, e.g. <code>2016</code>
|
|
359
|
+
* @param {sap.ui.core.Locale} [oLocale] the locale used for the week calculation, if oWeekConfig is not provided (falls back to the formatLocale)
|
|
360
|
+
* e.g. <code>new Locale("de-DE")</code>
|
|
361
|
+
* @param {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}} [oWeekConfig] calendar week calculation parameters,
|
|
362
|
+
* defaults to oLocale but has precedence over oLocale if both are provided.
|
|
363
|
+
* Both properties firstDayOfWeek and minimalDaysInFirstWeek must be provided, otherwise it will be ignored.
|
|
364
|
+
* If provided US split week is ignored.
|
|
365
|
+
* e.g. <code>{firstDayOfWeek: 1, minimalDaysInFirstWeek: 4}</code>
|
|
366
|
+
* @returns {Date} first day of the first week in the given year, e.g. <code>Mon Jan 04 2016 01:00:00 GMT+0100</code>
|
|
367
|
+
* @private
|
|
368
|
+
*/
|
|
369
|
+
function getFirstDayOfFirstWeek(clDate, iYear, oLocale, oWeekConfig) {
|
|
370
|
+
oLocale = oLocale || sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
|
|
371
|
+
var oLocaleData = LocaleData.getInstance(oLocale);
|
|
372
|
+
var iMinDays;
|
|
373
|
+
var iFirstDayOfWeek;
|
|
374
|
+
if (oWeekConfig && oWeekConfig.minimalDaysInFirstWeek !== undefined && oWeekConfig.firstDayOfWeek !== undefined) {
|
|
375
|
+
iMinDays = oWeekConfig.minimalDaysInFirstWeek;
|
|
376
|
+
iFirstDayOfWeek = oWeekConfig.firstDayOfWeek;
|
|
377
|
+
} else {
|
|
378
|
+
iMinDays = oLocaleData.getMinimalDaysInFirstWeek();
|
|
379
|
+
iFirstDayOfWeek = oLocaleData.getFirstDayOfWeek();
|
|
380
|
+
}
|
|
381
|
+
var oFirstDay = new clDate(clDate.UTC(iYear, 0, 1));
|
|
382
|
+
var iDayCount = 7;
|
|
273
383
|
|
|
274
384
|
if (isNaN(oFirstDay.getTime())) {
|
|
275
385
|
throw new Error("Could not determine the first day of the week, because the date " +
|
|
@@ -81,7 +81,7 @@ sap.ui.define([
|
|
|
81
81
|
* @param {Element[]} aItemDomRefs Array of DOM references representing the items for the navigation
|
|
82
82
|
* @param {boolean} [bNotInTabChain=false] Whether the selected element should be in the tab chain or not
|
|
83
83
|
*
|
|
84
|
-
* @version 1.
|
|
84
|
+
* @version 1.106.0
|
|
85
85
|
* @alias sap.ui.core.delegate.ItemNavigation
|
|
86
86
|
* @public
|
|
87
87
|
*/
|
|
@@ -257,7 +257,7 @@ sap.ui.define([
|
|
|
257
257
|
/**
|
|
258
258
|
* Sets the root DOM reference surrounding the items
|
|
259
259
|
*
|
|
260
|
-
* @param {
|
|
260
|
+
* @param {Element} oDomRef Root DOM reference
|
|
261
261
|
* @return {this} <code>this</code> to allow method chaining
|
|
262
262
|
* @public
|
|
263
263
|
*/
|
|
@@ -58,7 +58,7 @@ sap.ui.define([
|
|
|
58
58
|
*
|
|
59
59
|
* @protected
|
|
60
60
|
* @alias sap.ui.core.delegate.ScrollEnablement
|
|
61
|
-
* @version 1.
|
|
61
|
+
* @version 1.106.0
|
|
62
62
|
* @author SAP SE
|
|
63
63
|
*/
|
|
64
64
|
var ScrollEnablement = BaseObject.extend("sap.ui.core.delegate.ScrollEnablement", /** @lends sap.ui.core.delegate.ScrollEnablement.prototype */ {
|
|
@@ -226,7 +226,7 @@ sap.ui.define([
|
|
|
226
226
|
* @param {int} [time=0]
|
|
227
227
|
* The duration of animated scrolling in milliseconds. To scroll immediately without animation,
|
|
228
228
|
* give 0 as value.
|
|
229
|
-
* @param {function} fnScrollEndCallback
|
|
229
|
+
* @param {function} fnScrollEndCallback Called when the scroll completes or stops without completing
|
|
230
230
|
* @returns {this}
|
|
231
231
|
* @public
|
|
232
232
|
*/
|
|
@@ -785,10 +785,11 @@ sap.ui.define([
|
|
|
785
785
|
_scrollTo: function(x, y, time, fnScrollEndCallback) {
|
|
786
786
|
if (this._$Container.length > 0) {
|
|
787
787
|
if (time > 0) {
|
|
788
|
-
this._$Container.finish().animate({ scrollTop: y, scrollLeft: x },
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
788
|
+
this._$Container.finish().animate({ scrollTop: y, scrollLeft: x }, {
|
|
789
|
+
duration: time,
|
|
790
|
+
complete: this._readActualScrollPosition.bind(this),
|
|
791
|
+
always: fnScrollEndCallback
|
|
792
|
+
});
|
|
792
793
|
} else {
|
|
793
794
|
this._$Container.scrollTop(y);
|
|
794
795
|
this._$Container.scrollLeft(x);
|