@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
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 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
|
+
function parseHeaders(sAllResponseHeaders) {
|
|
10
|
+
var result = new Headers();
|
|
11
|
+
sAllResponseHeaders.trim().split("\r\n").forEach(function (sHeader) {
|
|
12
|
+
if (sHeader) {
|
|
13
|
+
var pos = sHeader.indexOf(": ");
|
|
14
|
+
if (pos > 0) {
|
|
15
|
+
result.append(sHeader.slice(0, pos), sHeader.slice(pos + 2));
|
|
16
|
+
} else {
|
|
17
|
+
result.append(sHeader, "");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Represents the response object to a {@link module:sap/base/util/fetch} request and {@link module:sap/base/util/syncFetch} request.
|
|
26
|
+
* The implementation is based on the Response interface of the global <code>fetch()</code> method,
|
|
27
|
+
* but brings a much reduced set of properties and methods.
|
|
28
|
+
*
|
|
29
|
+
* The properties that are provided:
|
|
30
|
+
* <ul>
|
|
31
|
+
* <li>The <code>headers</code> property containing the <code>Headers</code> object</li>
|
|
32
|
+
* <li>The <code>ok</code> property containing a boolean stating whether the response was successful</li>
|
|
33
|
+
* <li>The <code>status</code> property containing the HTTP status code</li>
|
|
34
|
+
* <li>The <code>statusText</code> property containing an HTTP status message</li>
|
|
35
|
+
* </ul>
|
|
36
|
+
*
|
|
37
|
+
* The methods that are provided:
|
|
38
|
+
* <ul>
|
|
39
|
+
* <li>The <code>json()</code> method returns a promise that resolves with the result of parsing the XHR response text as JSON</li>
|
|
40
|
+
* <li>The <code>text()</code> method returns a promise that resolves with the XHR response text as String</li>
|
|
41
|
+
* </ul>
|
|
42
|
+
*
|
|
43
|
+
* In case of a response to a synchronous <code>sap.base.util.syncFetch</code> request,
|
|
44
|
+
* all methods will return the XHR response directly, according to the respective output format.
|
|
45
|
+
*
|
|
46
|
+
*
|
|
47
|
+
* @param {XMLHttpRequest} xhr The XMLHttpRequest object
|
|
48
|
+
* @param {Promise|sap.ui.base.SyncPromise} PromiseImpl A Promise for asynchronous requests, and
|
|
49
|
+
* an <code>sap.ui.base.SyncPromise</code> for synchronous requests.
|
|
50
|
+
* @interface
|
|
51
|
+
* @alias sap.base.util.SimpleResponse
|
|
52
|
+
* @private
|
|
53
|
+
* @ui5-restricted SAPUI5 Dist
|
|
54
|
+
*/
|
|
55
|
+
function SimpleResponse(xhr, PromiseImpl) {
|
|
56
|
+
var headers = parseHeaders(xhr.getAllResponseHeaders());
|
|
57
|
+
Object.defineProperties(this, {
|
|
58
|
+
headers: {
|
|
59
|
+
value: headers
|
|
60
|
+
},
|
|
61
|
+
ok: {
|
|
62
|
+
value: xhr.status >= 200 && xhr.status < 300
|
|
63
|
+
},
|
|
64
|
+
status: {
|
|
65
|
+
value: xhr.status
|
|
66
|
+
},
|
|
67
|
+
statusText: {
|
|
68
|
+
value: xhr.statusText
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
this.json = function() {
|
|
73
|
+
if (xhr.responseType === "json") {
|
|
74
|
+
return PromiseImpl.resolve(xhr.response);
|
|
75
|
+
} else {
|
|
76
|
+
try {
|
|
77
|
+
var oData = JSON.parse(xhr.responseText);
|
|
78
|
+
return PromiseImpl.resolve(oData);
|
|
79
|
+
} catch (err) {
|
|
80
|
+
return PromiseImpl.reject(err);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
this.text = function() {
|
|
86
|
+
return PromiseImpl.resolve(xhr.responseText);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Allowed request credentials
|
|
91
|
+
var ALLOWED_CREDENTIALS = ["include", "omit", "same-origin"];
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Performs an asynchronous XMLHttpRequest (XHR) with the provided resource URL and request settings.
|
|
95
|
+
* It returns a Promise that resolves with an <code>sap.base.util.SimpleResponse</code> object, which is
|
|
96
|
+
* a simplified implementation of the global Response interface, representing the response of the XHR.
|
|
97
|
+
*
|
|
98
|
+
* If the request encounters network failures, the returned promise will be rejected with a <code>TypeError</code>.
|
|
99
|
+
* In case of an HTTP error status (e.g. error status 404), the returned promise will resolve instead.
|
|
100
|
+
* The <code>response.ok</code> or <code>response.status</code> flags can be used to distinguish
|
|
101
|
+
* a success status from an error status.
|
|
102
|
+
*
|
|
103
|
+
* The Promise will reject with a <code>DOMException</code> if the request gets aborted.
|
|
104
|
+
* To abort a request, an instance of the global <code>AbortSignal</code> must be provided to the settings via property <code>init.signal</code>.
|
|
105
|
+
* An abort signal can be created via an instance of the <code>AbortController</code>, and then using
|
|
106
|
+
* the <code>AbortController.signal</code> property. The signal associates the abort controller with the request
|
|
107
|
+
* and allows it to abort the XHR by calling <code>AbortController.abort()</code>.
|
|
108
|
+
*
|
|
109
|
+
* Although the usage of this method is very similar to the native <code>fetch()</code> method,
|
|
110
|
+
* it allows a much reduced set of request settings (in the <code>init</code> argument).
|
|
111
|
+
*
|
|
112
|
+
* @param {string} resource A string containing the URL to which the request is sent
|
|
113
|
+
* @param {object} [init] A set of key/value pairs that configure the request.
|
|
114
|
+
* @param {any} [init.body] Any body that you want to add to your request: this can be a Blob, BufferSource, FormData, URLSearchParams, string, or ReadableStream object.
|
|
115
|
+
* Note that a request using the GET or HEAD method cannot have a body.
|
|
116
|
+
* @param {"omit"|"same-origin"|"include"} [init.credentials='same-origin'] Controls what browsers do with credentials.
|
|
117
|
+
* Must be either 'omit', 'same-origin' or 'include'.
|
|
118
|
+
* @param {Headers|object} [init.headers] A Headers object or an object with key/value pairs containing the request headers
|
|
119
|
+
* @param {string} [init.method='GET'] The request method, e.g. 'GET', 'POST'
|
|
120
|
+
* @param {AbortSignal} [init.signal] An AbortSignal object instance which allows to abort the request
|
|
121
|
+
* @return {Promise<sap.base.util.SimpleResponse>} Returns a Promise resolving with <code>sap.base.util.SimpleResponse</code>
|
|
122
|
+
*
|
|
123
|
+
* @alias module:sap/base/util/fetch
|
|
124
|
+
* @private
|
|
125
|
+
* @ui5-restricted SAPUI5 Dist
|
|
126
|
+
*/
|
|
127
|
+
function fetch(resource, init, _mImplementations) {
|
|
128
|
+
/**
|
|
129
|
+
* see "https://developer.mozilla.org/en-US/docs/Web/API/Request/Request"
|
|
130
|
+
* regarding default values
|
|
131
|
+
*/
|
|
132
|
+
init = Object.assign({
|
|
133
|
+
body: null,
|
|
134
|
+
credentials: "same-origin",
|
|
135
|
+
method: "GET",
|
|
136
|
+
signal: new AbortController().signal
|
|
137
|
+
// mode: "cors",
|
|
138
|
+
// redirect: "follow",
|
|
139
|
+
// referrer: "about:client"
|
|
140
|
+
}, init);
|
|
141
|
+
|
|
142
|
+
// "sap/base/util/syncFetch" might pass a SyncPromise implementation
|
|
143
|
+
var PromiseImpl = (_mImplementations && _mImplementations.promiseImpl) || Promise;
|
|
144
|
+
|
|
145
|
+
return new PromiseImpl(function(resolve, reject) {
|
|
146
|
+
// check for credentials in the resource URL
|
|
147
|
+
var oUrl = new URL(resource, document.baseURI);
|
|
148
|
+
if (oUrl.username || oUrl.password) {
|
|
149
|
+
reject(new TypeError("Failed to execute 'fetch': Request cannot be constructed from a URL that includes credentials:" + resource));
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (init.body !== null && (init.method == "GET" || init.method == "HEAD")) {
|
|
153
|
+
reject(new TypeError("Failed to execute 'fetch': Request with GET/HEAD method cannot have body."));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
var xhr = new XMLHttpRequest();
|
|
157
|
+
// event listener
|
|
158
|
+
xhr.addEventListener("load", function() {
|
|
159
|
+
var oResponse = new SimpleResponse(xhr, PromiseImpl);
|
|
160
|
+
|
|
161
|
+
if (_mImplementations && _mImplementations.responseMixin) {
|
|
162
|
+
_mImplementations.responseMixin.apply(oResponse);
|
|
163
|
+
}
|
|
164
|
+
resolve(oResponse);
|
|
165
|
+
});
|
|
166
|
+
xhr.addEventListener("error", function() {
|
|
167
|
+
reject(new TypeError("Failed to fetch."));
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
xhr.open(init.method, resource, _mImplementations ? false : true);
|
|
171
|
+
|
|
172
|
+
// see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
|
|
173
|
+
init.signal.addEventListener("abort", function () {
|
|
174
|
+
xhr.abort();
|
|
175
|
+
reject(new DOMException("The user aborted a request.", "AbortError"));
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// set request headers
|
|
179
|
+
var oHeaders;
|
|
180
|
+
if (init.headers instanceof Headers) {
|
|
181
|
+
oHeaders = Object.fromEntries(init.headers);
|
|
182
|
+
} else {
|
|
183
|
+
oHeaders = init.headers || {};
|
|
184
|
+
}
|
|
185
|
+
Object.keys(oHeaders).forEach(function(key) {
|
|
186
|
+
xhr.setRequestHeader(key, oHeaders[key]);
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
// request credentials
|
|
190
|
+
if (ALLOWED_CREDENTIALS.includes(init.credentials)) {
|
|
191
|
+
// set credentials
|
|
192
|
+
if (init.credentials === "omit") {
|
|
193
|
+
xhr.withCredentials = false;
|
|
194
|
+
} else if (init.credentials === "include") {
|
|
195
|
+
xhr.withCredentials = true;
|
|
196
|
+
}
|
|
197
|
+
} else {
|
|
198
|
+
reject(new TypeError("Failed to execute 'fetch': Failed to read the 'credentials' property from 'RequestInit': The provided value " + init.credentials
|
|
199
|
+
+ " is not a valid enum value of type RequestCredentials."));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// send request
|
|
203
|
+
try {
|
|
204
|
+
xhr.send(init.body);
|
|
205
|
+
} catch (error) {
|
|
206
|
+
reject(new TypeError(error.message));
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Header values that can be used with the "Accept" and "Content-Type" headers
|
|
213
|
+
* in the fetch call or the response object.
|
|
214
|
+
*
|
|
215
|
+
* @type {Object}
|
|
216
|
+
* @private
|
|
217
|
+
* @ui5-restricted SAPUI5 Dist
|
|
218
|
+
*
|
|
219
|
+
*/
|
|
220
|
+
fetch.ContentTypes = {
|
|
221
|
+
TEXT: "text/plain",
|
|
222
|
+
HTML: "text/html",
|
|
223
|
+
XML: "application/xml, text/xml",
|
|
224
|
+
JSON: "application/json, text/javascript"
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
return fetch;
|
|
228
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"./fetch",
|
|
8
|
+
"sap/ui/base/SyncPromise"
|
|
9
|
+
], function (fetch, SyncPromise) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Allows to perform an synchronous or asynchronous XMLHttpRequest (XHR) with the provided resource URL and request settings.
|
|
14
|
+
* It returns a Promise resolving with an <code>sap.base.util.SimpleResponse</code> object, which is
|
|
15
|
+
* a simplified implementation of the global Response interface, representing the response of the XHR.
|
|
16
|
+
* It returns a <code>sap.ui.base.SyncPromise</code>, if the property <code>init.sync</code> is set to 'true'.
|
|
17
|
+
*
|
|
18
|
+
* If the request encounters network failures, the returned promise will be rejected with a <code>TypeError</code>.
|
|
19
|
+
* In case of an HTTP error status (e.g. error status 404), the returned promise will resolve instead. The properties
|
|
20
|
+
* <code>response.ok</code> or <code>response.status</code> can be used to distinguish
|
|
21
|
+
* a success status from an error status.
|
|
22
|
+
*
|
|
23
|
+
* The Promise or SyncPromise will reject with a <code>DOMException</code> if the request gets aborted.
|
|
24
|
+
* To abort a request, an instance of the global <code>AbortSignal</code> must be provided to the settings.
|
|
25
|
+
* An abort signal can be created via an instance of the <code>AbortController</code>, and then using
|
|
26
|
+
* the <code>AbortController.signal</code> property. The signal associates the abort controller with the request
|
|
27
|
+
* and allows it to abort the XHR by calling <code>AbortController.abort()</code>.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} resource A string containing the URL to which the request is sent
|
|
30
|
+
* @param {object} [init] A set of key/value pairs that configure the request.
|
|
31
|
+
* @param {any} [init.body] Any body that you want to add to your request: this can be a Blob, BufferSource, FormData, URLSearchParams, string, or ReadableStream object.
|
|
32
|
+
* Note that a request using the GET or HEAD method cannot have a body.
|
|
33
|
+
* @param {"omit"|"same-origin"|"include"} [init.credentials='same-origin'] Controls what browsers do with credentials.
|
|
34
|
+
* Must be either 'omit', 'same-origin' or 'include'.
|
|
35
|
+
* @param {Headers|object} [init.headers] A Headers object or an object with key/value pairs containing the request headers
|
|
36
|
+
* @param {string} [init.method='GET'] The request method, e.g. 'GET', 'POST'
|
|
37
|
+
* @param {AbortSignal} [init.signal] An AbortSignal object instance which allows to abort the request
|
|
38
|
+
* @param {boolean} [bSync=false] Performs a synchronous XMLHttpRequest if set to 'true'
|
|
39
|
+
* @return {Promise<sap.base.util.SimpleResponse>|sap.ui.base.SyncPromise<sap.base.util.SimpleResponse>} Returns a Promise or SyncPromise resolving with an <code>sap.base.util.SimpleResponse</code> object
|
|
40
|
+
*
|
|
41
|
+
* @alias module:sap/base/util/mixedFetch
|
|
42
|
+
* @private
|
|
43
|
+
* @ui5-restricted sap.ui.core, sap.ui.model
|
|
44
|
+
*/
|
|
45
|
+
function mixedFetch(resource, init, bSync) {
|
|
46
|
+
var mImplementations;
|
|
47
|
+
|
|
48
|
+
if (bSync === true) {
|
|
49
|
+
mImplementations = {
|
|
50
|
+
promiseImpl: SyncPromise
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return fetch(resource, init, mImplementations);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Header values that can be used with the "Accept" and "Content-Type" headers
|
|
59
|
+
* in the fetch call or the response object.
|
|
60
|
+
*
|
|
61
|
+
* @type {Object}
|
|
62
|
+
* @private
|
|
63
|
+
* @ui5-restricted sap.ui.core
|
|
64
|
+
*
|
|
65
|
+
*/
|
|
66
|
+
mixedFetch.ContentTypes = fetch.ContentTypes;
|
|
67
|
+
|
|
68
|
+
return mixedFetch;
|
|
69
|
+
});
|