@openui5/sap.ui.core 1.141.2 → 1.143.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 +22 -0
- package/README.md +2 -2
- package/REUSE.toml +39 -1
- package/THIRDPARTY.txt +36 -3
- 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.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/resolveReference.js +1 -1
- 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 +3 -3
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Exception.js +9 -7
- package/src/sap/ui/base/ExpressionParser.js +8 -7
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- 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 +7 -7
- package/src/sap/ui/core/AppCacheBuster.js +21 -19
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/Component.js +52 -40
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +6 -3
- 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 +3 -5
- 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 +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +6 -4
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.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 +1 -1
- package/src/sap/ui/core/Manifest.js +21 -20
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +13 -6
- package/src/sap/ui/core/RenderManager.js +13 -2
- 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/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/_UrlResolver.js +31 -29
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- 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/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +21 -2
- package/src/sap/ui/core/library.js +11 -11
- 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 +1 -0
- package/src/sap/ui/core/messagebundle_bg.properties +1 -0
- package/src/sap/ui/core/messagebundle_ca.properties +1 -0
- package/src/sap/ui/core/messagebundle_cnr.properties +1 -0
- package/src/sap/ui/core/messagebundle_cs.properties +1 -0
- package/src/sap/ui/core/messagebundle_cy.properties +1 -0
- package/src/sap/ui/core/messagebundle_da.properties +1 -0
- package/src/sap/ui/core/messagebundle_de.properties +1 -0
- package/src/sap/ui/core/messagebundle_el.properties +1 -0
- package/src/sap/ui/core/messagebundle_en.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +21 -20
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
- package/src/sap/ui/core/messagebundle_et.properties +3 -2
- package/src/sap/ui/core/messagebundle_fi.properties +2 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -0
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
- package/src/sap/ui/core/messagebundle_hi.properties +1 -0
- package/src/sap/ui/core/messagebundle_hr.properties +1 -0
- package/src/sap/ui/core/messagebundle_hu.properties +1 -0
- package/src/sap/ui/core/messagebundle_id.properties +3 -2
- package/src/sap/ui/core/messagebundle_it.properties +2 -1
- package/src/sap/ui/core/messagebundle_iw.properties +1 -0
- package/src/sap/ui/core/messagebundle_ja.properties +1 -0
- package/src/sap/ui/core/messagebundle_kk.properties +9 -8
- package/src/sap/ui/core/messagebundle_ko.properties +1 -0
- package/src/sap/ui/core/messagebundle_lt.properties +1 -0
- package/src/sap/ui/core/messagebundle_lv.properties +1 -0
- package/src/sap/ui/core/messagebundle_mk.properties +1 -0
- package/src/sap/ui/core/messagebundle_ms.properties +1 -0
- package/src/sap/ui/core/messagebundle_nl.properties +1 -0
- package/src/sap/ui/core/messagebundle_no.properties +1 -0
- package/src/sap/ui/core/messagebundle_pl.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
- package/src/sap/ui/core/messagebundle_ro.properties +1 -0
- package/src/sap/ui/core/messagebundle_ru.properties +1 -0
- package/src/sap/ui/core/messagebundle_sh.properties +1 -0
- package/src/sap/ui/core/messagebundle_sk.properties +1 -0
- package/src/sap/ui/core/messagebundle_sl.properties +1 -0
- package/src/sap/ui/core/messagebundle_sr.properties +1 -0
- package/src/sap/ui/core/messagebundle_sv.properties +1 -0
- package/src/sap/ui/core/messagebundle_th.properties +2 -1
- package/src/sap/ui/core/messagebundle_tr.properties +1 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
- 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/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/History.js +8 -4
- package/src/sap/ui/core/routing/Router.js +31 -33
- 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/plugins/ControlTree.js +1 -1
- 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/BlindLayer.less +4 -9
- package/src/sap/ui/core/themes/base/BrowserScrollbar.less +1 -1
- package/src/sap/ui/core/themes/base/BusyIndicator.less +322 -1
- package/src/sap/ui/core/themes/base/CommandShortcutHints.less +9 -9
- package/src/sap/ui/core/themes/base/DragAndDrop.less +21 -20
- package/src/sap/ui/core/themes/base/Icon.less +36 -35
- package/src/sap/ui/core/themes/base/library.source.less +0 -3
- package/src/sap/ui/core/themes/base/parameterClasses.less +32 -20
- package/src/sap/ui/core/themes/base/shared.less +5 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -12
- 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 +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/_LocalizationHelper.js +1 -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/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.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 +7 -11
- 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/FocusEventFix.js +36 -0
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +50 -7
- 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/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +52 -3
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -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 +7 -4
- package/src/sap/ui/model/json/JSONModel.js +9 -4
- 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 +31 -64
- 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 +8 -4
- package/src/sap/ui/model/odata/type/Byte.js +8 -4
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +2 -2
- package/src/sap/ui/model/odata/type/DateTime.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +8 -4
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +50 -18
- package/src/sap/ui/model/odata/type/Double.js +8 -4
- package/src/sap/ui/model/odata/type/Guid.js +8 -4
- package/src/sap/ui/model/odata/type/Int.js +9 -4
- package/src/sap/ui/model/odata/type/Int16.js +8 -4
- package/src/sap/ui/model/odata/type/Int32.js +8 -4
- package/src/sap/ui/model/odata/type/Int64.js +8 -4
- package/src/sap/ui/model/odata/type/ODataType.js +6 -7
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +8 -4
- package/src/sap/ui/model/odata/type/Single.js +8 -4
- package/src/sap/ui/model/odata/type/Stream.js +2 -2
- package/src/sap/ui/model/odata/type/String.js +8 -4
- package/src/sap/ui/model/odata/type/Time.js +2 -2
- package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +24 -16
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +20 -7
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +50 -50
- package/src/sap/ui/model/odata/v4/Context.js +44 -33
- package/src/sap/ui/model/odata/v4/ODataBinding.js +6 -3
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +63 -23
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +37 -62
- package/src/sap/ui/model/odata/v4/ODataModel.js +58 -53
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +18 -13
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataUtils.js +6 -6
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +46 -46
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +21 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +26 -27
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +6 -7
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +52 -38
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +5 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +105 -38
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +10 -3
- package/src/sap/ui/model/odata/v4/ts.js +2 -2
- 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/model/xml/XMLTreeBinding.js +10 -0
- package/src/sap/ui/performance/Measurement.js +18 -24
- package/src/sap/ui/performance/trace/FESR.js +3 -2
- package/src/sap/ui/performance/trace/Interaction.js +35 -2
- package/src/sap/ui/performance/trace/_InteractionImpl.js +254 -166
- package/src/sap/ui/qunit/qunit-coverage.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/_BrowserLogCollector.js +1 -4
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/launchers/componentLauncher.js +3 -2
- package/src/sap/ui/test/launchers/iFrameLauncher.js +3 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +3 -1
- package/src/sap/ui/test/starter/_utils.js +5 -59
- package/src/sap/ui/test/starter/config.js +555 -0
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +6 -0
- package/src/sap/ui/thirdparty/require.js +255 -162
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/_URL.js +158 -0
- package/src/ui5loader.js +3 -9
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +0 -293
- package/src/sap/ui/core/themes/base/Shadow.less +0 -3
- package/src/sap/ui/core/themes/base/TechnicalInfo.less +0 -157
|
@@ -548,6 +548,9 @@ sap.ui.define([
|
|
|
548
548
|
this.oCachePromise = SyncPromise.all(aPromises).then(function (aResult) {
|
|
549
549
|
var mQueryOptions = aResult[0].mQueryOptions;
|
|
550
550
|
|
|
551
|
+
if (oCallToken.initiallySuspended) {
|
|
552
|
+
return null;
|
|
553
|
+
}
|
|
551
554
|
if (aResult[0].sReducedPath) {
|
|
552
555
|
that.sReducedPath = aResult[0].sReducedPath;
|
|
553
556
|
}
|
|
@@ -1576,9 +1579,9 @@ sap.ui.define([
|
|
|
1576
1579
|
* @param {string} sGroupId
|
|
1577
1580
|
* The group ID to be used for requesting side effects
|
|
1578
1581
|
* @param {string[]} aPaths
|
|
1579
|
-
* The "14.5
|
|
1580
|
-
* "14.
|
|
1581
|
-
* because they may have changed due to side effects of a previous update
|
|
1582
|
+
* The "14.4.1.5 Expression edm:NavigationPropertyPath" or
|
|
1583
|
+
* "14.4.1.6 Expression edm:PropertyPath" strings describing which properties need to be
|
|
1584
|
+
* loaded because they may have changed due to side effects of a previous update
|
|
1582
1585
|
* @param {sap.ui.model.odata.v4.Context} [oContext]
|
|
1583
1586
|
* The context for which to request side effects; if missing, the whole binding is affected
|
|
1584
1587
|
* @param {Promise[]} aPromises
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.143.0
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -1215,7 +1215,7 @@ sap.ui.define([
|
|
|
1215
1215
|
* 1. Operation is bound.
|
|
1216
1216
|
* 2. Operation has single entity return value. Note: existence of EntitySetPath
|
|
1217
1217
|
* implies the return value is an entity or a collection thereof;
|
|
1218
|
-
* see OData
|
|
1218
|
+
* see [OData-CSDL-XML-v4.01], 12.6. It thus ensures the "entity" in this condition.
|
|
1219
1219
|
* 3. EntitySetPath of operation is the binding parameter.
|
|
1220
1220
|
* 4. Operation binding has
|
|
1221
1221
|
* (a) a V4 parent context which
|
|
@@ -1454,7 +1454,7 @@ sap.ui.define([
|
|
|
1454
1454
|
* 1. Operation is bound.
|
|
1455
1455
|
* 2. Operation has single entity return value. Note: existence of EntitySetPath
|
|
1456
1456
|
* implies the return value is an entity or a collection thereof;
|
|
1457
|
-
* see OData
|
|
1457
|
+
* see [OData-CSDL-XML-v4.01], 12.6. It thus ensures the "entity" in this condition.
|
|
1458
1458
|
* 3. EntitySetPath of operation is the binding parameter.
|
|
1459
1459
|
* 4. Operation binding has
|
|
1460
1460
|
* (a) a V4 parent context.
|
|
@@ -1633,7 +1633,7 @@ sap.ui.define([
|
|
|
1633
1633
|
*
|
|
1634
1634
|
* @param {sap.ui.model.odata.v4.Context} oContext
|
|
1635
1635
|
* The context to refresh
|
|
1636
|
-
* @param {string} sGroupId
|
|
1636
|
+
* @param {string} [sGroupId]
|
|
1637
1637
|
* The group ID for the refresh
|
|
1638
1638
|
* @param {boolean} [bKeepCacheOnError]
|
|
1639
1639
|
* If <code>true</code>, the binding data remains unchanged if the refresh fails
|
|
@@ -1685,8 +1685,8 @@ sap.ui.define([
|
|
|
1685
1685
|
* Returns a promise on the value for the given path relative to this binding. The function
|
|
1686
1686
|
* allows access to the complete data the binding points to (if <code>sPath</code> is "") or
|
|
1687
1687
|
* any part thereof. The data is a JSON structure as described in
|
|
1688
|
-
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.
|
|
1689
|
-
* "OData JSON Format Version 4.
|
|
1688
|
+
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.01/">
|
|
1689
|
+
* "OData JSON Format Version 4.01"</a>.
|
|
1690
1690
|
* Note that the function clones the result. Modify values via
|
|
1691
1691
|
* {@link sap.ui.model.odata.v4.Context#setProperty}.
|
|
1692
1692
|
*
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.37.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.143.0
|
|
64
64
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
65
65
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
66
66
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -143,6 +143,10 @@ sap.ui.define([
|
|
|
143
143
|
this.oHeaderContext = this.bRelative
|
|
144
144
|
? null
|
|
145
145
|
: Context.createNewContext(oModel, this, sPath);
|
|
146
|
+
this.bInitial = true;
|
|
147
|
+
Promise.resolve().then(() => {
|
|
148
|
+
this.bInitial = false; // ensure to reset the initial flag after the synchronous part
|
|
149
|
+
});
|
|
146
150
|
this.sOperationMode = mParameters.$$operationMode || oModel.sOperationMode;
|
|
147
151
|
// map<string,sap.ui.model.odata.v4.Context>
|
|
148
152
|
// Maps a string path to a v4.Context with that path. A context may either be
|
|
@@ -970,6 +974,7 @@ sap.ui.define([
|
|
|
970
974
|
oEntityData,
|
|
971
975
|
sGroupId = this.getUpdateGroupId(),
|
|
972
976
|
oGroupLock,
|
|
977
|
+
bRefresh,
|
|
973
978
|
sResolvedPath = this.getResolvedPath(),
|
|
974
979
|
sTransientPredicate = "($uid=" + _Helper.uid() + ")",
|
|
975
980
|
sTransientPath = sResolvedPath + sTransientPredicate,
|
|
@@ -1013,7 +1018,6 @@ sap.ui.define([
|
|
|
1013
1018
|
// clone data to avoid modifications outside the cache
|
|
1014
1019
|
// remove any property starting with "@$ui5."
|
|
1015
1020
|
oEntityData = _Helper.publicClone(oInitialData, true) || {};
|
|
1016
|
-
let bRefresh;
|
|
1017
1021
|
if (oAggregation) {
|
|
1018
1022
|
if (!bSkipRefresh) {
|
|
1019
1023
|
throw new Error("Missing bSkipRefresh");
|
|
@@ -1098,7 +1102,7 @@ sap.ui.define([
|
|
|
1098
1102
|
// currently the optimized update w/o bSkipRefresh is restricted to deep create
|
|
1099
1103
|
return bSkipRefresh || bDeepCreate
|
|
1100
1104
|
? oContext.updateAfterCreate(bSkipRefresh, sGroupId0)
|
|
1101
|
-
: that.refreshSingle(oContext,
|
|
1105
|
+
: that.refreshSingle(oContext, sGroupId0);
|
|
1102
1106
|
}, function (oError) {
|
|
1103
1107
|
oGroupLock.unlock(true); // createInCache failed, so the lock might still be blocking
|
|
1104
1108
|
throw oError;
|
|
@@ -1728,6 +1732,18 @@ sap.ui.define([
|
|
|
1728
1732
|
*/
|
|
1729
1733
|
ODataListBinding.prototype.doSetProperty = function () {};
|
|
1730
1734
|
|
|
1735
|
+
/**
|
|
1736
|
+
* @override
|
|
1737
|
+
* @see sap.ui.model.odata.v4.ODataParentBinding#doSuspend
|
|
1738
|
+
*/
|
|
1739
|
+
ODataListBinding.prototype.doSuspend = function () {
|
|
1740
|
+
// if auto-$expand/$select is not used, this.oFetchCacheCallToken may be reset already
|
|
1741
|
+
if (this.bInitial && this.oFetchCacheCallToken) {
|
|
1742
|
+
this.oFetchCacheCallToken.initiallySuspended = true;
|
|
1743
|
+
this.oCache = null;
|
|
1744
|
+
}
|
|
1745
|
+
};
|
|
1746
|
+
|
|
1731
1747
|
/**
|
|
1732
1748
|
* Expands the group node that the given context points to by the given number of levels.
|
|
1733
1749
|
*
|
|
@@ -2148,7 +2164,7 @@ sap.ui.define([
|
|
|
2148
2164
|
|
|
2149
2165
|
return oPromise.then((oEntityType) => {
|
|
2150
2166
|
const oAggregation = this.mParameters.$$aggregation;
|
|
2151
|
-
if (oEntityType) {
|
|
2167
|
+
if (oEntityType && oAggregation) {
|
|
2152
2168
|
oAggregation.$leafLevelAggregated = !oEntityType.$Key?.every((sKey) => {
|
|
2153
2169
|
// "group" and "additionally" determine groupby()
|
|
2154
2170
|
return sKey in oAggregation.group
|
|
@@ -2674,7 +2690,7 @@ sap.ui.define([
|
|
|
2674
2690
|
oContext.oBinding = that;
|
|
2675
2691
|
});
|
|
2676
2692
|
oCache = oBinding.oCache;
|
|
2677
|
-
oCache.setQueryOptions(mQueryOptions);
|
|
2693
|
+
oCache.setQueryOptions(mQueryOptions, /*bForce*/true);
|
|
2678
2694
|
// avoid that the cache is set inactive or that contexts are destroyed
|
|
2679
2695
|
oBinding.oCache = null;
|
|
2680
2696
|
oBinding.oCachePromise = SyncPromise.resolve(null);
|
|
@@ -3476,6 +3492,7 @@ sap.ui.define([
|
|
|
3476
3492
|
*/
|
|
3477
3493
|
// @override sap.ui.model.Binding#initialize
|
|
3478
3494
|
ODataListBinding.prototype.initialize = function () {
|
|
3495
|
+
this.bInitial = false;
|
|
3479
3496
|
if (this.isResolved()) {
|
|
3480
3497
|
this.checkDataState();
|
|
3481
3498
|
if (this.isRootBindingSuspended()) {
|
|
@@ -4095,8 +4112,10 @@ sap.ui.define([
|
|
|
4095
4112
|
*
|
|
4096
4113
|
* @param {sap.ui.model.odata.v4.Context} oContext
|
|
4097
4114
|
* The context object for the entity to be refreshed
|
|
4098
|
-
* @param {
|
|
4099
|
-
*
|
|
4115
|
+
* @param {string} [sGroupId]
|
|
4116
|
+
* The group ID to be used
|
|
4117
|
+
* @param {boolean} [bLocked]
|
|
4118
|
+
* Whether the group lock created from the given group ID is locked
|
|
4100
4119
|
* @param {boolean} [bAllowRemoval]
|
|
4101
4120
|
* Allows the list binding to remove the given context from its collection because the
|
|
4102
4121
|
* entity does not match the binding's filter anymore, see {@link #filter}; a removed context
|
|
@@ -4115,11 +4134,12 @@ sap.ui.define([
|
|
|
4115
4134
|
* or rejects if the refresh failed.
|
|
4116
4135
|
* @throws {Error}
|
|
4117
4136
|
* If the given context does not represent a single entity (see {@link #getHeaderContext}), or
|
|
4118
|
-
* if <code>bAllowRemoval
|
|
4137
|
+
* if <code>bAllowRemoval</code> is combined with <code>bWithMessages</code> or with a
|
|
4138
|
+
* recursive hierarchy
|
|
4119
4139
|
*
|
|
4120
4140
|
* @private
|
|
4121
4141
|
*/
|
|
4122
|
-
ODataListBinding.prototype.refreshSingle = function (oContext,
|
|
4142
|
+
ODataListBinding.prototype.refreshSingle = function (oContext, sGroupId, bLocked, bAllowRemoval,
|
|
4123
4143
|
bKeepCacheOnError, bWithMessages) {
|
|
4124
4144
|
var sContextPath = oContext.getPath(),
|
|
4125
4145
|
sResourcePathPrefix = sContextPath.slice(1),
|
|
@@ -4128,6 +4148,15 @@ sap.ui.define([
|
|
|
4128
4148
|
if (oContext === this.oHeaderContext) {
|
|
4129
4149
|
throw new Error("Unsupported header context: " + oContext);
|
|
4130
4150
|
}
|
|
4151
|
+
if (this.mParameters.$$aggregation?.hierarchyQualifier) {
|
|
4152
|
+
if (!oContext.isEffectivelyKeptAlive()
|
|
4153
|
+
&& this.aContexts[oContext.iIndex] !== oContext) {
|
|
4154
|
+
throw new Error("Not currently part of the hierarchy: " + oContext);
|
|
4155
|
+
}
|
|
4156
|
+
if (bAllowRemoval) {
|
|
4157
|
+
throw new Error("Unsupported parameter bAllowRemoval: " + bAllowRemoval);
|
|
4158
|
+
}
|
|
4159
|
+
}
|
|
4131
4160
|
if (bAllowRemoval && bWithMessages) {
|
|
4132
4161
|
throw new Error("Unsupported: bAllowRemoval && bWithMessages");
|
|
4133
4162
|
}
|
|
@@ -4206,6 +4235,7 @@ sap.ui.define([
|
|
|
4206
4235
|
throw new Error("Cannot refresh. Hint: Side-effects refresh in parallel? "
|
|
4207
4236
|
+ oContext);
|
|
4208
4237
|
}
|
|
4238
|
+
const oGroupLock = that.lockGroup(sGroupId, bLocked);
|
|
4209
4239
|
aPromises.push(
|
|
4210
4240
|
(bAllowRemoval
|
|
4211
4241
|
? oCache.refreshSingleWithRemove(oGroupLock, sPath, iModelIndex, sPredicate,
|
|
@@ -4221,8 +4251,8 @@ sap.ui.define([
|
|
|
4221
4251
|
aUpdatePromises.push(oContext.checkUpdateInternal());
|
|
4222
4252
|
if (bAllowRemoval) {
|
|
4223
4253
|
aUpdatePromises.push(
|
|
4224
|
-
oContext.refreshDependentBindings(sResourcePathPrefix,
|
|
4225
|
-
|
|
4254
|
+
oContext.refreshDependentBindings(sResourcePathPrefix, sGroupId,
|
|
4255
|
+
false, bKeepCacheOnError));
|
|
4226
4256
|
}
|
|
4227
4257
|
}
|
|
4228
4258
|
|
|
@@ -4243,8 +4273,8 @@ sap.ui.define([
|
|
|
4243
4273
|
if (!bAllowRemoval) {
|
|
4244
4274
|
// call refreshInternal on all dependent bindings to ensure that all resulting data
|
|
4245
4275
|
// requests are in the same batch request
|
|
4246
|
-
aPromises.push(oContext.refreshDependentBindings(sResourcePathPrefix,
|
|
4247
|
-
|
|
4276
|
+
aPromises.push(oContext.refreshDependentBindings(sResourcePathPrefix, sGroupId,
|
|
4277
|
+
false, bKeepCacheOnError));
|
|
4248
4278
|
}
|
|
4249
4279
|
|
|
4250
4280
|
return SyncPromise.all(aPromises);
|
|
@@ -4593,7 +4623,7 @@ sap.ui.define([
|
|
|
4593
4623
|
oModel.withUnresolvedBindings("removeCachesAndMessages",
|
|
4594
4624
|
oContext.getPath().slice(1));
|
|
4595
4625
|
|
|
4596
|
-
return this.refreshSingle(oContext,
|
|
4626
|
+
return this.refreshSingle(oContext, sGroupId, /*bLocked*/false, /*bAllowRemoval*/false,
|
|
4597
4627
|
/*bKeepCacheOnError*/true, /*bWithMessages*/true);
|
|
4598
4628
|
}
|
|
4599
4629
|
if (this.iCurrentEnd === 0) {
|
|
@@ -4871,8 +4901,8 @@ sap.ui.define([
|
|
|
4871
4901
|
* </ul>
|
|
4872
4902
|
* @param {string} [oAggregation.search]
|
|
4873
4903
|
* Like the <a href=
|
|
4874
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
4875
|
-
* >"5.1.
|
|
4904
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31361044"
|
|
4905
|
+
* >"5.1.8 System Query Option $search"</a>, but applied before data aggregation
|
|
4876
4906
|
* (since 1.93.0). Note that certain content will break the syntax of the system query option
|
|
4877
4907
|
* <code>$apply</code> and result in an invalid request. If the OData service supports the
|
|
4878
4908
|
* proposal <a href="https://issues.oasis-open.org/browse/ODATA-1452">ODATA-1452</a>, then
|
|
@@ -4935,19 +4965,18 @@ sap.ui.define([
|
|
|
4935
4965
|
* @ui5-transform-hint replace-param oAggregation."grandTotal like 1.84" false
|
|
4936
4966
|
*/
|
|
4937
4967
|
ODataListBinding.prototype.setAggregation = function (oAggregation) {
|
|
4938
|
-
var mParameters;
|
|
4939
|
-
|
|
4940
4968
|
/*
|
|
4941
4969
|
* Returns the use case of data aggregation (recursive hierarchy, pure data aggregation, or
|
|
4942
|
-
* none at all) as <code>
|
|
4970
|
+
* none at all) as <code>false</code>, <code>true</code>, or <code>undefined</code>.
|
|
4943
4971
|
*
|
|
4944
4972
|
* @param {object} [oAggregation]
|
|
4945
4973
|
* An object holding the information needed for data aggregation
|
|
4946
4974
|
* @returns {boolean|undefined}
|
|
4947
4975
|
* The use case of data aggregation
|
|
4976
|
+
* @see _Helper.isDataAggregation
|
|
4948
4977
|
*/
|
|
4949
4978
|
function useCase(oDataAggregationObject) {
|
|
4950
|
-
return oDataAggregationObject &&
|
|
4979
|
+
return oDataAggregationObject && !oDataAggregationObject.hierarchyQualifier;
|
|
4951
4980
|
}
|
|
4952
4981
|
|
|
4953
4982
|
this.checkTransient();
|
|
@@ -4960,18 +4989,29 @@ sap.ui.define([
|
|
|
4960
4989
|
if (this.hasPendingChanges()) {
|
|
4961
4990
|
throw new Error("Cannot set $$aggregation due to pending changes");
|
|
4962
4991
|
}
|
|
4963
|
-
|
|
4964
|
-
|
|
4992
|
+
const bOldUseCase = useCase(this.mParameters.$$aggregation);
|
|
4993
|
+
const bNewUseCase = useCase(oAggregation);
|
|
4994
|
+
if (bOldUseCase !== bNewUseCase && this.getKeepAlivePredicates().length) {
|
|
4965
4995
|
throw new Error("Cannot set $$aggregation due to a kept-alive context");
|
|
4966
4996
|
}
|
|
4967
4997
|
|
|
4968
|
-
mParameters = Object.assign({}, this.mParameters);
|
|
4998
|
+
const mParameters = Object.assign({}, this.mParameters);
|
|
4969
4999
|
if (oAggregation === undefined) {
|
|
4970
5000
|
delete mParameters.$$aggregation;
|
|
4971
5001
|
} else {
|
|
4972
5002
|
mParameters.$$aggregation = _Helper.clone(oAggregation);
|
|
4973
5003
|
}
|
|
4974
5004
|
this.applyParameters(mParameters, "");
|
|
5005
|
+
if (!!bOldUseCase !== !!bNewUseCase) {
|
|
5006
|
+
// if data aggregation is turned on or off, set change reason accordingly
|
|
5007
|
+
if (bNewUseCase) {
|
|
5008
|
+
if (this.sChangeReason === "AddVirtualContext") {
|
|
5009
|
+
this.sChangeReason = undefined;
|
|
5010
|
+
}
|
|
5011
|
+
} else if (this.oModel.bAutoExpandSelect) {
|
|
5012
|
+
this.sChangeReason ??= "AddVirtualContext";
|
|
5013
|
+
}
|
|
5014
|
+
}
|
|
4975
5015
|
};
|
|
4976
5016
|
|
|
4977
5017
|
/**
|
|
@@ -40,13 +40,12 @@ sap.ui.define([
|
|
|
40
40
|
"sap/ui/model/odata/type/Single",
|
|
41
41
|
"sap/ui/model/odata/type/Stream",
|
|
42
42
|
"sap/ui/model/odata/type/String",
|
|
43
|
-
"sap/ui/model/odata/type/TimeOfDay"
|
|
44
|
-
"sap/ui/thirdparty/URI"
|
|
43
|
+
"sap/ui/model/odata/type/TimeOfDay"
|
|
45
44
|
], function (AnnotationHelper, ValueListType, _Helper, assert, Log, JSTokenizer, ObjectPath,
|
|
46
45
|
ManagedObject, SyncPromise, BindingMode, ChangeReason, ClientListBinding, BaseContext,
|
|
47
46
|
ContextBinding, MetaModel, PropertyBinding, OperationMode, Boolean, Byte, EdmDate,
|
|
48
47
|
DateTimeOffset, Decimal, Double, Guid, Int16, Int32, Int64, Raw, SByte, Single, Stream,
|
|
49
|
-
String, TimeOfDay
|
|
48
|
+
String, TimeOfDay) {
|
|
50
49
|
"use strict";
|
|
51
50
|
/*eslint max-nested-callbacks: 0 */
|
|
52
51
|
|
|
@@ -204,7 +203,7 @@ sap.ui.define([
|
|
|
204
203
|
* @hideconstructor
|
|
205
204
|
* @public
|
|
206
205
|
* @since 1.37.0
|
|
207
|
-
* @version 1.
|
|
206
|
+
* @version 1.143.0
|
|
208
207
|
*/
|
|
209
208
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
210
209
|
constructor : constructor
|
|
@@ -1211,7 +1210,7 @@ sap.ui.define([
|
|
|
1211
1210
|
sName, // what "@sapui.name" refers to: OData or annotation name
|
|
1212
1211
|
bODataMode, // OData navigation mode with scope lookup etc.
|
|
1213
1212
|
bOpenType, // schema child is an open (entity or complex) type
|
|
1214
|
-
// parent for next "
|
|
1213
|
+
// parent for next "15.2 SimpleIdentifier"...
|
|
1215
1214
|
// (normally the schema child containing the current object)
|
|
1216
1215
|
oSchemaChild, // ...as object
|
|
1217
1216
|
sSchemaChildName, // ...as qualified name
|
|
@@ -1285,7 +1284,7 @@ sap.ui.define([
|
|
|
1285
1284
|
}
|
|
1286
1285
|
|
|
1287
1286
|
// "the annotation applies to all overloads of the action or function or all
|
|
1288
|
-
// parameters of that name across all overloads" [OData-
|
|
1287
|
+
// parameters of that name across all overloads" [OData-CSDL-XML-v4.01]
|
|
1289
1288
|
sTarget += sSuffix;
|
|
1290
1289
|
// any object (no array!) should do here to skip repeated handling of overloads
|
|
1291
1290
|
vResult = mScope;
|
|
@@ -1589,7 +1588,7 @@ sap.ui.define([
|
|
|
1589
1588
|
if (bSplitSegment) {
|
|
1590
1589
|
// no special preparations needed, but handle overloads below!
|
|
1591
1590
|
} else if (sSegment[0] !== "@" && sSegment.includes(".", 1)) {
|
|
1592
|
-
// "
|
|
1591
|
+
// "15.3 QualifiedName": scope lookup
|
|
1593
1592
|
return scopeLookup(sSegment);
|
|
1594
1593
|
} else if (bResultIsObject && "$Type" in vResult) {
|
|
1595
1594
|
// implicit $Type insertion, e.g. at (navigation) property
|
|
@@ -1612,7 +1611,7 @@ sap.ui.define([
|
|
|
1612
1611
|
}
|
|
1613
1612
|
vBindingParameterType = UNBOUND;
|
|
1614
1613
|
} else if (!i) {
|
|
1615
|
-
// "
|
|
1614
|
+
// "15.2 SimpleIdentifier" (or placeholder):
|
|
1616
1615
|
// lookup inside schema child (which is determined lazily)
|
|
1617
1616
|
sTarget = sName = sSchemaChildName
|
|
1618
1617
|
??= mScope.$EntityContainer;
|
|
@@ -1623,7 +1622,7 @@ sap.ui.define([
|
|
|
1623
1622
|
}
|
|
1624
1623
|
if (isParameter(sSegment, vResult[0])) {
|
|
1625
1624
|
// path evaluation relative to an operation overload
|
|
1626
|
-
// @see [OData-CSDL-
|
|
1625
|
+
// @see [OData-CSDL-XML-v4.01] "14.4.1.2 Path Evaluation"
|
|
1627
1626
|
// or ".../@$ui5.overload/0/$Parameter/<i>/$Name/$" to refer
|
|
1628
1627
|
// back to (overloaded) operation's parameter
|
|
1629
1628
|
return true;
|
|
@@ -1774,8 +1773,8 @@ sap.ui.define([
|
|
|
1774
1773
|
oEntitySetOrSingleton = undefined;
|
|
1775
1774
|
sSomePath = sSomePath.slice(1);
|
|
1776
1775
|
} else if (oEntitySetOrSingleton) {
|
|
1777
|
-
// "14.
|
|
1778
|
-
// a singleton
|
|
1776
|
+
// "14.4.1.7 Expression edm:Path" within an annotation targeting an entity set
|
|
1777
|
+
// or a singleton
|
|
1779
1778
|
if (!sSomePath) { // "an empty path resolves to the entity set or singleton"
|
|
1780
1779
|
vResult = oEntitySetOrSingleton;
|
|
1781
1780
|
oEntitySetOrSingleton = vLocation = undefined;
|
|
@@ -2294,27 +2293,6 @@ sap.ui.define([
|
|
|
2294
2293
|
});
|
|
2295
2294
|
};
|
|
2296
2295
|
|
|
2297
|
-
/**
|
|
2298
|
-
* Returns the absolute service URL corresponding to the given relative $metadata URL.
|
|
2299
|
-
*
|
|
2300
|
-
* @param {string} sUrl
|
|
2301
|
-
* A $metadata URL, for example "../ValueListService/$metadata?sap-client=123", interpreted
|
|
2302
|
-
* relative to this meta model's URL
|
|
2303
|
-
* @returns {string}
|
|
2304
|
-
* The corresponding absolute service URL
|
|
2305
|
-
*
|
|
2306
|
-
* @private
|
|
2307
|
-
*/
|
|
2308
|
-
ODataMetaModel.prototype.getAbsoluteServiceUrl = function (sUrl) {
|
|
2309
|
-
// Note: make our $metadata URL absolute because URI#absoluteTo requires an absolute base
|
|
2310
|
-
// URL (and it fails if the base URL starts with "..")
|
|
2311
|
-
var sAbsoluteUrl = new URI(this.sUrl).absoluteTo(document.baseURI).pathname().toString();
|
|
2312
|
-
|
|
2313
|
-
// sUrl references the metadata document, make it absolute based on our $metadata URL to get
|
|
2314
|
-
// rid of ".." segments and remove the filename part
|
|
2315
|
-
return new URI(sUrl).absoluteTo(sAbsoluteUrl).filename("").toString();
|
|
2316
|
-
};
|
|
2317
|
-
|
|
2318
2296
|
/**
|
|
2319
2297
|
* Builds the completely reduced path or a list of all reductions of the given path based on
|
|
2320
2298
|
* metadata. Removes adjacent partner navigation properties and reduces binding paths to
|
|
@@ -2612,7 +2590,7 @@ sap.ui.define([
|
|
|
2612
2590
|
*/
|
|
2613
2591
|
ODataMetaModel.prototype.getOrCreateSharedModel = function (sUrl, bCopyAnnotations,
|
|
2614
2592
|
bAutoExpandSelect, sQualifiedParentName) {
|
|
2615
|
-
sUrl =
|
|
2593
|
+
sUrl = _Helper.makeAbsolute(sUrl, this.sUrl, /*bServiceUrl*/true);
|
|
2616
2594
|
const sMapKey = !!bAutoExpandSelect + sUrl; // no separator needed as sUrl.startsWith("/")
|
|
2617
2595
|
let mSharedModelByUrl = this.mSharedModelByUrl;
|
|
2618
2596
|
if (!bCopyAnnotations) {
|
|
@@ -2868,8 +2846,8 @@ sap.ui.define([
|
|
|
2868
2846
|
return null;
|
|
2869
2847
|
}
|
|
2870
2848
|
|
|
2871
|
-
sUrl = that.
|
|
2872
|
-
|
|
2849
|
+
sUrl = _Helper.makeAbsolute(_Helper.setLanguage(oCodeList.Url, that.sLanguage),
|
|
2850
|
+
that.sUrl, /*bServiceUrl*/true);
|
|
2873
2851
|
// separator needed (Note: path must not include hash)
|
|
2874
2852
|
sCacheKey = oCodeList.CollectionPath + "#" + sUrl;
|
|
2875
2853
|
oPromise = mCodeListUrl2Promise[sCacheKey];
|
|
@@ -3083,16 +3061,14 @@ sap.ui.define([
|
|
|
3083
3061
|
* </pre>
|
|
3084
3062
|
*
|
|
3085
3063
|
* The basic idea is that every path described in <a href=
|
|
3086
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
3087
|
-
* >"14.2.
|
|
3088
|
-
*
|
|
3089
|
-
* added; for example
|
|
3064
|
+
* "https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530407"
|
|
3065
|
+
* >"14.2.2 Target"</a> in specification "OData Common Schema Definition Language (CSDL)
|
|
3066
|
+
* XML Representation Version 4.01" is a valid absolute path within the metadata model if a
|
|
3067
|
+
* leading slash is added; for example
|
|
3090
3068
|
* "/" + "MySchema.MyEntityContainer/MyEntitySet/MyComplexProperty/MyNavigationProperty". Also,
|
|
3091
|
-
* every path described in "14.
|
|
3092
|
-
*
|
|
3093
|
-
*
|
|
3094
|
-
* if a suitable prefix is added which addresses an entity container, entity set, singleton,
|
|
3095
|
-
* complex type, entity type, or property; for example
|
|
3069
|
+
* every path described in "14.4.1.1 Path Syntax" is a valid relative path within the metadata
|
|
3070
|
+
* model if a suitable prefix is added which addresses an entity container, entity set,
|
|
3071
|
+
* singleton, complex type, entity type, or property; for example
|
|
3096
3072
|
* "/MySchema.MyEntityType/MyProperty" + "@vCard.Address#work/FullName".
|
|
3097
3073
|
*
|
|
3098
3074
|
* The absolute path is split into segments and followed step-by-step, starting at the global
|
|
@@ -3133,25 +3109,24 @@ sap.ui.define([
|
|
|
3133
3109
|
* this, a path must not continue if it comes across a non-object value. Such a string value can
|
|
3134
3110
|
* be a qualified name (example path "/$EntityContainer/..."), a simple identifier (example path
|
|
3135
3111
|
* "/TEAMS/$NavigationPropertyBinding/TEAM_2_EMPLOYEES/...") including the special name
|
|
3136
|
-
* "$ReturnType" (since 1.71.0), or even a path according to "14.
|
|
3112
|
+
* "$ReturnType" (since 1.71.0), or even a path according to "14.4.1.1 Path Syntax"
|
|
3137
3113
|
* (example path "/TEAMS/@com.sap.vocabularies.UI.v1.LineItem/0/Value/$Path/...".
|
|
3138
3114
|
*
|
|
3139
3115
|
* Segments starting with an "@" character, for example "@com.sap.vocabularies.Common.v1.Label",
|
|
3140
3116
|
* address annotations at the current object. As the first segment, they refer to the single
|
|
3141
|
-
* entity container. For objects which can only be annotated inline (see "14.
|
|
3142
|
-
*
|
|
3143
|
-
*
|
|
3144
|
-
*
|
|
3145
|
-
*
|
|
3146
|
-
*
|
|
3147
|
-
* same time.
|
|
3117
|
+
* entity container. For objects which can only be annotated inline (see "14.2 Annotation" minus
|
|
3118
|
+
* "14.2.2 Target"), the object already contains the annotations as a property. For objects
|
|
3119
|
+
* which can (only or also) be annotated via external targeting, the object does not contain any
|
|
3120
|
+
* annotation as a property. Such annotations MUST be accessed via a path. Such objects include
|
|
3121
|
+
* operations (that is, actions and functions) and their parameters, which can be annotated for
|
|
3122
|
+
* a single overload or for all overloads at the same time.
|
|
3148
3123
|
*
|
|
3149
3124
|
* Segments starting with an OData name followed by an "@" character, for example
|
|
3150
3125
|
* "/TEAMS@Org.OData.Capabilities.V1.TopSupported", address annotations at an entity set,
|
|
3151
3126
|
* singleton, or property, not at the corresponding type. In contrast,
|
|
3152
3127
|
* "/TEAMS/@com.sap.vocabularies.Common.v1.Deletable" (note the separating slash) addresses an
|
|
3153
3128
|
* annotation at the entity set's type. This is in line with the special rule of
|
|
3154
|
-
* "14.
|
|
3129
|
+
* "14.4.1.2 Path Evaluation" regarding annotations at a navigation property itself.
|
|
3155
3130
|
*
|
|
3156
3131
|
* "@" can be used as a segment to address a map of all annotations of the current object. This
|
|
3157
3132
|
* is useful for iteration, for example via
|
|
@@ -3163,14 +3138,14 @@ sap.ui.define([
|
|
|
3163
3138
|
* annotation can have a qualifier, for example "@first#foo@second#bar". Note: If the first
|
|
3164
3139
|
* annotation's value is a record, a separate segment addresses an annotation of that record,
|
|
3165
3140
|
* not an annotation of the first annotation itself.
|
|
3166
|
-
* In a similar way, annotations of "
|
|
3167
|
-
* "
|
|
3168
|
-
* "14.
|
|
3169
|
-
* "<
|
|
3170
|
-
* "<14.
|
|
3141
|
+
* In a similar way, annotations of "8.5 Element edm:ReferentialConstraint",
|
|
3142
|
+
* "8.6 Element edm:OnDelete", "10.3 Element edm:Member" and
|
|
3143
|
+
* "14.4.12 Element edm:PropertyValue" are addressed by segments like
|
|
3144
|
+
* "<8.5 Attribute Property>@...", "$OnDelete@...", "<10.3 Attribute Name>@..." and
|
|
3145
|
+
* "<14.4.12 Attribute Property>@..." (where angle brackets denote a variable part and
|
|
3171
3146
|
* sections refer to specification <a href=
|
|
3172
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
3173
|
-
* >"OData
|
|
3147
|
+
* "https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html"
|
|
3148
|
+
* >"OData Common Schema Definition Language (CSDL) XML Representation Version 4.01"</a>).
|
|
3174
3149
|
*
|
|
3175
3150
|
* Annotations starting with "@@", for example
|
|
3176
3151
|
* "@@sap.ui.model.odata.v4.AnnotationHelper.isMultiple" or "@@.AH.isMultiple" or
|
|
@@ -3472,7 +3447,7 @@ sap.ui.define([
|
|
|
3472
3447
|
* this method. If the value list model is the data model associated with this meta model,
|
|
3473
3448
|
* this flag has no effect. Supported since 1.68.0
|
|
3474
3449
|
* @param {sap.ui.model.odata.v4.Context} [oContext]
|
|
3475
|
-
* Context to resolve "14.
|
|
3450
|
+
* Context to resolve "14.4.1.7 Expression edm:Path" references contained in a
|
|
3476
3451
|
* "com.sap.vocabularies.Common.v1.ValueListRelevantQualifiers" annotation. Supported since
|
|
3477
3452
|
* 1.84.0
|
|
3478
3453
|
* @returns {Promise<Object<object>>}
|
|
@@ -3784,7 +3759,7 @@ sap.ui.define([
|
|
|
3784
3759
|
for (sReferenceUri in mScope.$Reference) {
|
|
3785
3760
|
oReference = mScope.$Reference[sReferenceUri];
|
|
3786
3761
|
// interpret reference URI relative to metadata URL
|
|
3787
|
-
sReferenceUri =
|
|
3762
|
+
sReferenceUri = _Helper.makeAbsolute(sReferenceUri, this.sUrl);
|
|
3788
3763
|
|
|
3789
3764
|
if ("$IncludeAnnotations" in oReference) {
|
|
3790
3765
|
this._reportAndThrowError("Unsupported IncludeAnnotations", sUrl);
|