@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
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"./ChangeReason",
|
|
10
10
|
"./TreeBinding",
|
|
11
|
+
"sap/base/util/deepEqual",
|
|
12
|
+
"sap/base/util/deepExtend",
|
|
11
13
|
"sap/base/util/each",
|
|
12
14
|
"sap/ui/model/FilterProcessor",
|
|
13
15
|
"sap/ui/model/FilterType",
|
|
14
16
|
"sap/ui/model/SorterProcessor"
|
|
15
|
-
], function(ChangeReason, TreeBinding, each, FilterProcessor, FilterType, SorterProcessor) {
|
|
17
|
+
], function(ChangeReason, TreeBinding, deepEqual, deepExtend, each, FilterProcessor, FilterType, SorterProcessor) {
|
|
16
18
|
"use strict";
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -65,11 +67,12 @@ sap.ui.define([
|
|
|
65
67
|
};
|
|
66
68
|
this.oCombinedFilter = null;
|
|
67
69
|
this.mNormalizeCache = {};
|
|
70
|
+
this.oTreeData = this.cloneData(this.oModel._getObject(this.sPath, this.oContext));
|
|
68
71
|
|
|
69
72
|
if (aApplicationFilters) {
|
|
70
73
|
this.oModel.checkFilter(aApplicationFilters);
|
|
71
74
|
|
|
72
|
-
if (this.
|
|
75
|
+
if (this.oTreeData) {
|
|
73
76
|
this.filter(aApplicationFilters, FilterType.Application);
|
|
74
77
|
}
|
|
75
78
|
}
|
|
@@ -78,6 +81,21 @@ sap.ui.define([
|
|
|
78
81
|
|
|
79
82
|
});
|
|
80
83
|
|
|
84
|
+
ClientTreeBinding.CannotCloneData = Symbol("CannotCloneData");
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Returns a deep clone of the tree data or a symbol indicating that the given tree data cannot be cloned.
|
|
88
|
+
*
|
|
89
|
+
* @param {any} oTreeData
|
|
90
|
+
* The tree data to clone
|
|
91
|
+
* @returns {any|sap.ui.model.ClientTreeBinding.CannotCloneData}
|
|
92
|
+
* A deep clone or the symbol ClientTreeBinding.CannotCloneData
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
ClientTreeBinding.prototype.cloneData = function(oTreeData) {
|
|
96
|
+
return deepExtend(Array.isArray(oTreeData) ? [] : {}, oTreeData);
|
|
97
|
+
};
|
|
98
|
+
|
|
81
99
|
/**
|
|
82
100
|
* Return root contexts for the tree.
|
|
83
101
|
*
|
|
@@ -319,7 +337,7 @@ sap.ui.define([
|
|
|
319
337
|
this.applyFilter();
|
|
320
338
|
}
|
|
321
339
|
this._mLengthsCache = {};
|
|
322
|
-
this._fireChange({reason:
|
|
340
|
+
this._fireChange({reason: ChangeReason.Filter});
|
|
323
341
|
/** @deprecated As of version 1.11.0 */
|
|
324
342
|
this._fireFilter({filters: aFilters});
|
|
325
343
|
|
|
@@ -445,18 +463,43 @@ sap.ui.define([
|
|
|
445
463
|
this._mLengthsCache[sKey] = iLength;
|
|
446
464
|
};
|
|
447
465
|
|
|
466
|
+
/**
|
|
467
|
+
* Sets the context for this instance. If the context changes and the binding is relative a change event is fired
|
|
468
|
+
* with reason {@link sap.ui.model.ChangeReason.Context}.
|
|
469
|
+
*
|
|
470
|
+
* @param {sap.ui.model.Context} oContext
|
|
471
|
+
* The new context object
|
|
472
|
+
*/
|
|
473
|
+
ClientTreeBinding.prototype.setContext = function (oContext) {
|
|
474
|
+
if (this.oContext != oContext) {
|
|
475
|
+
this.oContext = oContext;
|
|
476
|
+
if (this.isRelative()) {
|
|
477
|
+
const oTreeData = this.oModel._getObject(this.sPath, this.oContext);
|
|
478
|
+
this.oTreeData = this.cloneData(oTreeData);
|
|
479
|
+
this._fireChange({reason: ChangeReason.Context});
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
|
|
448
484
|
/**
|
|
449
485
|
* Check whether this Binding would provide new values and in case it changed,
|
|
450
486
|
* inform interested parties about this.
|
|
451
487
|
*
|
|
452
|
-
* @param {boolean} [
|
|
488
|
+
* @param {boolean} [bForceUpdate]
|
|
489
|
+
* Whether the change event will be fired regardless of the bindings state
|
|
453
490
|
*
|
|
454
491
|
*/
|
|
455
|
-
ClientTreeBinding.prototype.checkUpdate = function(
|
|
492
|
+
ClientTreeBinding.prototype.checkUpdate = function(bForceUpdate) {
|
|
493
|
+
const oCurrentTreeData = this.oModel._getObject(this.sPath, this.oContext);
|
|
494
|
+
|
|
456
495
|
// apply filter again
|
|
457
496
|
this.applyFilter();
|
|
458
497
|
this._mLengthsCache = {};
|
|
459
|
-
|
|
498
|
+
|
|
499
|
+
if (bForceUpdate || !deepEqual(this.oTreeData, oCurrentTreeData)) {
|
|
500
|
+
this.oTreeData = this.cloneData(oCurrentTreeData);
|
|
501
|
+
this._fireChange({reason: ChangeReason.Change});
|
|
502
|
+
}
|
|
460
503
|
};
|
|
461
504
|
|
|
462
505
|
/**
|
|
@@ -515,4 +558,4 @@ sap.ui.define([
|
|
|
515
558
|
};
|
|
516
559
|
|
|
517
560
|
return ClientTreeBinding;
|
|
518
|
-
});
|
|
561
|
+
});
|
|
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
|
|
|
39
39
|
* <code>true</code>.
|
|
40
40
|
* @extends sap.ui.model.SimpleType
|
|
41
41
|
* @public
|
|
42
|
-
* @version 1.
|
|
42
|
+
* @version 1.143.0
|
|
43
43
|
*/
|
|
44
44
|
var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
|
|
45
45
|
|
|
@@ -11,10 +11,11 @@ sap.ui.define([
|
|
|
11
11
|
'./BindingMode',
|
|
12
12
|
'./Context',
|
|
13
13
|
'./Filter',
|
|
14
|
+
"sap/base/Log",
|
|
14
15
|
"sap/base/util/deepEqual",
|
|
15
16
|
"sap/base/util/each"
|
|
16
17
|
],
|
|
17
|
-
function(MessageProcessor, ManagedObjectBindingSupport, BindingMode, Context, Filter, deepEqual,
|
|
18
|
+
function(MessageProcessor, ManagedObjectBindingSupport, BindingMode, Context, Filter, Log, deepEqual,
|
|
18
19
|
each) {
|
|
19
20
|
"use strict";
|
|
20
21
|
|
|
@@ -51,7 +52,7 @@ sap.ui.define([
|
|
|
51
52
|
* @extends sap.ui.core.message.MessageProcessor
|
|
52
53
|
*
|
|
53
54
|
* @author SAP SE
|
|
54
|
-
* @version 1.
|
|
55
|
+
* @version 1.143.0
|
|
55
56
|
*
|
|
56
57
|
* @public
|
|
57
58
|
* @alias sap.ui.model.Model
|
|
@@ -90,6 +91,12 @@ sap.ui.define([
|
|
|
90
91
|
this.mUnsupportedFilterOperators = {};
|
|
91
92
|
// the id of the timeout for calling #checkUpdate
|
|
92
93
|
this.sUpdateTimer = null;
|
|
94
|
+
// the number of consecutive synchronous calls to #setProperty
|
|
95
|
+
this.iSyncSetPropertyCalls = 0;
|
|
96
|
+
// the overall number of bindings affected by consecutive sync #setProperty calls
|
|
97
|
+
this.iUpdatedBindings = 0;
|
|
98
|
+
// the id of timeout for performance check in #setProperty
|
|
99
|
+
this.iTimeoutId = undefined;
|
|
93
100
|
},
|
|
94
101
|
|
|
95
102
|
metadata : {
|
|
@@ -980,6 +987,9 @@ sap.ui.define([
|
|
|
980
987
|
* bindings
|
|
981
988
|
* @param {boolean} [bAsync=false]
|
|
982
989
|
* Whether this function is called in a new task via <code>setTimeout</code>
|
|
990
|
+
* @returns {number|undefined}
|
|
991
|
+
* The number of bindings which were checked synchronously for updates; 0 if <code>bAsync</code> is set.
|
|
992
|
+
* Subclasses overwriting this method may also return <code>undefined</code>.
|
|
983
993
|
*
|
|
984
994
|
* @private
|
|
985
995
|
*/
|
|
@@ -991,7 +1001,7 @@ sap.ui.define([
|
|
|
991
1001
|
this.checkUpdate(this.bForceUpdate);
|
|
992
1002
|
}.bind(this), 0);
|
|
993
1003
|
}
|
|
994
|
-
return;
|
|
1004
|
+
return 0;
|
|
995
1005
|
}
|
|
996
1006
|
bForceUpdate = this.bForceUpdate || bForceUpdate;
|
|
997
1007
|
if (this.sUpdateTimer) {
|
|
@@ -1003,6 +1013,45 @@ sap.ui.define([
|
|
|
1003
1013
|
each(aBindings, function(iIndex, oBinding) {
|
|
1004
1014
|
oBinding.checkUpdate(bForceUpdate);
|
|
1005
1015
|
});
|
|
1016
|
+
|
|
1017
|
+
return aBindings.length;
|
|
1018
|
+
};
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* Checks if the sum of bindings updated by consecutive synchronous calls exceeds the threshold of 100,000 and log
|
|
1022
|
+
* a warning in this case if there is more than one synchronous call. Does nothing if called with bAsyncUpdate=true.
|
|
1023
|
+
*
|
|
1024
|
+
* @param {number} iUpdatedBindings The number of synchronously updated bindings
|
|
1025
|
+
* @param {boolean} [bAsyncUpdate] Whether the bindings are updated asynchronously
|
|
1026
|
+
*
|
|
1027
|
+
* @private
|
|
1028
|
+
*/
|
|
1029
|
+
Model.prototype.checkPerformanceOfUpdate = function (iUpdatedBindings, bAsyncUpdate) {
|
|
1030
|
+
if (bAsyncUpdate) {
|
|
1031
|
+
return;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
this.iSyncSetPropertyCalls += 1;
|
|
1035
|
+
this.iUpdatedBindings += iUpdatedBindings;
|
|
1036
|
+
if (this.iTimeoutId) {
|
|
1037
|
+
return;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
const fnCheck = () => {
|
|
1041
|
+
if (this.iSyncSetPropertyCalls > 1 && this.iUpdatedBindings > 100000) {
|
|
1042
|
+
const sModelName = this.getMetadata().getName();
|
|
1043
|
+
Log.warning(`Performance issue: ${this.iUpdatedBindings} (more than 100000) bindings are affected by `
|
|
1044
|
+
+ `${this.iSyncSetPropertyCalls} consecutive synchronous calls to `
|
|
1045
|
+
+ `${sModelName.slice(sModelName.lastIndexOf(".") + 1)}#setProperty; `
|
|
1046
|
+
+ `see API documentation for details`,
|
|
1047
|
+
undefined, sModelName);
|
|
1048
|
+
}
|
|
1049
|
+
this.iTimeoutId = undefined;
|
|
1050
|
+
this.iSyncSetPropertyCalls = 0;
|
|
1051
|
+
this.iUpdatedBindings = 0;
|
|
1052
|
+
};
|
|
1053
|
+
|
|
1054
|
+
this.iTimeoutId = setTimeout(fnCheck, 0);
|
|
1006
1055
|
};
|
|
1007
1056
|
|
|
1008
1057
|
/**
|
|
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
|
|
|
20
20
|
* @extends sap.ui.base.EventProvider
|
|
21
21
|
*
|
|
22
22
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.143.0
|
|
24
24
|
*
|
|
25
25
|
* @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
|
|
26
26
|
*
|
package/src/sap/ui/model/Type.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
|
-
'../json/JSONModel', '../json/JSONPropertyBinding', '../json/JSONListBinding', 'sap/ui/base/ManagedObject', 'sap/ui/base/ManagedObjectObserver', '../Context', '../ChangeReason', "sap/base/util/uid", "sap/base/Log", "sap/base/util/isPlainObject", "sap/base/util/deepClone", "sap/base/util/deepEqual"
|
|
8
|
-
], function (JSONModel, JSONPropertyBinding, JSONListBinding, ManagedObject, ManagedObjectObserver, Context, ChangeReason, uid, Log, isPlainObject, deepClone, deepEqual) {
|
|
7
|
+
'../json/JSONModel', '../json/JSONPropertyBinding', '../json/JSONListBinding', 'sap/ui/base/ManagedObject', 'sap/ui/base/ManagedObjectObserver', '../Context', '../ChangeReason', "sap/base/util/uid", "sap/base/Log", "sap/base/util/isPlainObject", "sap/base/util/deepClone", "sap/base/util/deepEqual", "sap/ui/model/FilterType"
|
|
8
|
+
], function (JSONModel, JSONPropertyBinding, JSONListBinding, ManagedObject, ManagedObjectObserver, Context, ChangeReason, uid, Log, isPlainObject, deepClone, deepEqual, FilterType) {
|
|
9
9
|
"use strict";
|
|
10
10
|
|
|
11
11
|
var CUSTOMDATAKEY = "@custom",
|
|
@@ -270,7 +270,9 @@ sap.ui.define([
|
|
|
270
270
|
}
|
|
271
271
|
},
|
|
272
272
|
getLength: function() {
|
|
273
|
-
|
|
273
|
+
// Note: Only use the original bindings length, if no filters are applied.
|
|
274
|
+
const aFilters = [...this.getFilters(FilterType.Application), ...this.getFilters(FilterType.Control)];
|
|
275
|
+
if (this._aPartsInJSON.length == 0 && aFilters.length == 0) {
|
|
274
276
|
//this is only valid if the binding points directly to the member of the Managed Object
|
|
275
277
|
var oInnerListBinding = this._oOriginMO.getBinding(this._sMember);
|
|
276
278
|
|
|
@@ -283,7 +285,8 @@ sap.ui.define([
|
|
|
283
285
|
return JSONListBinding.prototype.getLength.apply(this, arguments);
|
|
284
286
|
},
|
|
285
287
|
isLengthFinal: function() {
|
|
286
|
-
|
|
288
|
+
const aFilters = [...this.getFilters(FilterType.Application), ...this.getFilters(FilterType.Control)];
|
|
289
|
+
if (this._aPartsInJSON.length == 0 && aFilters.length == 0) {
|
|
287
290
|
//this is only valid if the binding points directly to the member of the Managed Object
|
|
288
291
|
var oInnerListBinding = this._oOriginMO.getBinding(this._sMember);
|
|
289
292
|
|
|
@@ -49,13 +49,14 @@ sap.ui.define([
|
|
|
49
49
|
* @extends sap.ui.model.ClientModel
|
|
50
50
|
*
|
|
51
51
|
* @author SAP SE
|
|
52
|
-
* @version 1.
|
|
52
|
+
* @version 1.143.0
|
|
53
53
|
* @public
|
|
54
54
|
* @alias sap.ui.model.json.JSONModel
|
|
55
55
|
*/
|
|
56
56
|
var JSONModel = ClientModel.extend("sap.ui.model.json.JSONModel", /** @lends sap.ui.model.json.JSONModel.prototype */ {
|
|
57
57
|
|
|
58
58
|
constructor : function(oData, bObserve) {
|
|
59
|
+
// init promise before ClientModel c'tor as it calls #loadData
|
|
59
60
|
this.pSequentialImportCompleted = Promise.resolve();
|
|
60
61
|
ClientModel.apply(this, arguments);
|
|
61
62
|
|
|
@@ -292,7 +293,7 @@ sap.ui.define([
|
|
|
292
293
|
|
|
293
294
|
// attach exception/rejection handler, so the internal import promise always resolves
|
|
294
295
|
this.pSequentialImportCompleted = pReturn.catch(function(oError) {
|
|
295
|
-
Log.error("Loading of data failed: " +
|
|
296
|
+
Log.error("Loading of data failed: " + sURL);
|
|
296
297
|
});
|
|
297
298
|
|
|
298
299
|
// return chained loadData promise (sequential imports)
|
|
@@ -359,6 +360,9 @@ sap.ui.define([
|
|
|
359
360
|
* <code>sPath</code> and <code>oContext</code>. Once the new model value has been set, all
|
|
360
361
|
* interested parties are informed.
|
|
361
362
|
*
|
|
363
|
+
* Consecutive calls of this method which update bindings <em>synchronously</em> may cause performance issues; see
|
|
364
|
+
* {@link topic:18a76b577b144bc2b9b424e39d379c06 Performance Impact of Model Updates} for details.
|
|
365
|
+
*
|
|
362
366
|
* @param {string} sPath
|
|
363
367
|
* The path of the property to set
|
|
364
368
|
* @param {any} oValue
|
|
@@ -366,7 +370,7 @@ sap.ui.define([
|
|
|
366
370
|
* @param {sap.ui.model.Context} [oContext]
|
|
367
371
|
* The context used to set the property
|
|
368
372
|
* @param {boolean} [bAsyncUpdate]
|
|
369
|
-
* Whether to update
|
|
373
|
+
* Whether to update bindings dependent on this property asynchronously
|
|
370
374
|
* @return {boolean}
|
|
371
375
|
* <code>true</code> if the value was set correctly, and <code>false</code> if errors
|
|
372
376
|
* occurred, for example if the entry was not found.
|
|
@@ -395,7 +399,8 @@ sap.ui.define([
|
|
|
395
399
|
var oObject = this._getObject(sObjectPath);
|
|
396
400
|
if (oObject) {
|
|
397
401
|
oObject[sProperty] = oValue;
|
|
398
|
-
this.checkUpdate(false, bAsyncUpdate);
|
|
402
|
+
const iUpdatedBindings = this.checkUpdate(false, bAsyncUpdate);
|
|
403
|
+
this.checkPerformanceOfUpdate(iUpdatedBindings, bAsyncUpdate);
|
|
399
404
|
return true;
|
|
400
405
|
}
|
|
401
406
|
return false;
|
|
@@ -8,14 +8,13 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/core/Lib",
|
|
9
9
|
"sap/ui/model/odata/ODataMetadata",
|
|
10
10
|
"sap/ui/model/odata/ODataUtils",
|
|
11
|
-
"sap/ui/thirdparty/URI",
|
|
12
11
|
"sap/ui/core/Messaging",
|
|
13
12
|
"sap/ui/core/message/MessageParser",
|
|
14
13
|
"sap/ui/core/message/Message",
|
|
15
14
|
"sap/ui/core/message/MessageType",
|
|
16
15
|
"sap/base/Log"
|
|
17
16
|
],
|
|
18
|
-
function(Library, ODataMetadata, ODataUtils,
|
|
17
|
+
function(Library, ODataMetadata, ODataUtils, Messaging, MessageParser, Message, MessageType, Log) {
|
|
19
18
|
"use strict";
|
|
20
19
|
|
|
21
20
|
var sClassName = "sap.ui.model.odata.ODataMessageParser",
|
|
@@ -29,6 +28,8 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
|
|
|
29
28
|
"warning" : MessageType.Warning
|
|
30
29
|
};
|
|
31
30
|
|
|
31
|
+
const rQuestionMarkOrHash = /[?#]/;
|
|
32
|
+
|
|
32
33
|
/**
|
|
33
34
|
* A plain error object as returned by the server. Either "@sap-severity"- or "severity"-property
|
|
34
35
|
* must be set.
|
|
@@ -50,15 +51,6 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
|
|
|
50
51
|
* @property {object} response - The response object
|
|
51
52
|
*/
|
|
52
53
|
|
|
53
|
-
/**
|
|
54
|
-
* A map containing a parsed URL
|
|
55
|
-
*
|
|
56
|
-
* @typedef {object} ODataMessageParser~UrlInfo
|
|
57
|
-
* @property {string} url - The URL, stripped of query and hash
|
|
58
|
-
* @property {Object<string,string>} parameters - A map of the query parameters
|
|
59
|
-
* @property {string} hash - The hash value of the URL
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
54
|
|
|
63
55
|
/**
|
|
64
56
|
*
|
|
@@ -84,7 +76,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
|
|
|
84
76
|
* @extends sap.ui.core.message.MessageParser
|
|
85
77
|
*
|
|
86
78
|
* @author SAP SE
|
|
87
|
-
* @version 1.
|
|
79
|
+
* @version 1.143.0
|
|
88
80
|
* @public
|
|
89
81
|
* @alias sap.ui.model.odata.ODataMessageParser
|
|
90
82
|
*/
|
|
@@ -95,7 +87,8 @@ var ODataMessageParser = MessageParser.extend("sap.ui.model.odata.ODataMessagePa
|
|
|
95
87
|
|
|
96
88
|
constructor: function(sServiceUrl, oMetadata, bPersistTechnicalMessages) {
|
|
97
89
|
MessageParser.apply(this);
|
|
98
|
-
this.
|
|
90
|
+
this._sRelativeServerUrl = ODataMessageParser.getRelativeServerUrl(
|
|
91
|
+
ODataMessageParser._removeParametersAndHash(sServiceUrl));
|
|
99
92
|
this._metadata = oMetadata;
|
|
100
93
|
this._headerField = "sap-message"; // Default header field
|
|
101
94
|
this._lastMessages = [];
|
|
@@ -221,14 +214,14 @@ ODataMessageParser.prototype._getAffectedTargets = function (aMessages, mRequest
|
|
|
221
214
|
// unbound messages are always affected => add target ""
|
|
222
215
|
var mAffectedTargets = Object.assign({"" : true}, mGetEntities, mChangeEntities),
|
|
223
216
|
oEntitySet,
|
|
224
|
-
sRequestTarget =
|
|
217
|
+
sRequestTarget = ODataMessageParser._removeParametersAndHash(mRequestInfo.url);
|
|
225
218
|
|
|
226
219
|
if (mRequestInfo.request.key && mRequestInfo.request.created){
|
|
227
220
|
mAffectedTargets[mRequestInfo.request.key] = true;
|
|
228
221
|
}
|
|
229
222
|
|
|
230
|
-
if (sRequestTarget.startsWith(this.
|
|
231
|
-
sRequestTarget = sRequestTarget.slice(this.
|
|
223
|
+
if (sRequestTarget.startsWith(this._sRelativeServerUrl)) {
|
|
224
|
+
sRequestTarget = sRequestTarget.slice(this._sRelativeServerUrl.length + 1);
|
|
232
225
|
}
|
|
233
226
|
oEntitySet = this._metadata._getEntitySetByPath(sRequestTarget);
|
|
234
227
|
if (oEntitySet) {
|
|
@@ -465,7 +458,7 @@ ODataMessageParser._isResponseForCreate = function (mRequestInfo) {
|
|
|
465
458
|
ODataMessageParser.prototype._createTarget = function (sODataTarget, mRequestInfo, bIsTechnical,
|
|
466
459
|
bODataTransition) {
|
|
467
460
|
var sCanonicalTarget, bCreate, sDeepPath, iPos, sPreviousCanonicalTarget, sRequestTarget, sUrl,
|
|
468
|
-
|
|
461
|
+
sUrlForTargetCalculation,
|
|
469
462
|
oRequest = mRequestInfo.request,
|
|
470
463
|
oResponse = mRequestInfo.response;
|
|
471
464
|
|
|
@@ -491,11 +484,10 @@ ODataMessageParser.prototype._createTarget = function (sODataTarget, mRequestInf
|
|
|
491
484
|
} else {
|
|
492
485
|
sUrlForTargetCalculation = mRequestInfo.url;
|
|
493
486
|
}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
iPos = sUrl.indexOf(this._serviceUrl);
|
|
487
|
+
sUrl = ODataMessageParser._removeParametersAndHash(sUrlForTargetCalculation);
|
|
488
|
+
iPos = sUrl.indexOf(this._sRelativeServerUrl);
|
|
497
489
|
if (iPos > -1) {
|
|
498
|
-
sRequestTarget = sUrl.slice(iPos + this.
|
|
490
|
+
sRequestTarget = sUrl.slice(iPos + this._sRelativeServerUrl.length);
|
|
499
491
|
} else { // e.g. within $batch responses
|
|
500
492
|
sRequestTarget = "/" + sUrl;
|
|
501
493
|
}
|
|
@@ -832,35 +824,16 @@ ODataMessageParser.prototype._parseBodyJSON = function(oResponse, mRequestInfo)
|
|
|
832
824
|
};
|
|
833
825
|
|
|
834
826
|
/**
|
|
835
|
-
*
|
|
827
|
+
* Removes the parameters and the hash from the given URL.
|
|
836
828
|
*
|
|
837
|
-
* @param {string} sUrl
|
|
838
|
-
*
|
|
829
|
+
* @param {string} sUrl
|
|
830
|
+
* The URL from which the parameters and the hash should be removed
|
|
831
|
+
* @returns {string}
|
|
832
|
+
* The URL without the parameters and the hash
|
|
839
833
|
* @private
|
|
840
834
|
*/
|
|
841
|
-
ODataMessageParser.
|
|
842
|
-
|
|
843
|
-
url: sUrl,
|
|
844
|
-
parameters: {},
|
|
845
|
-
hash: ""
|
|
846
|
-
};
|
|
847
|
-
|
|
848
|
-
var iPos = -1;
|
|
849
|
-
|
|
850
|
-
iPos = sUrl.indexOf("#");
|
|
851
|
-
if (iPos > -1) {
|
|
852
|
-
mUrlData.hash = mUrlData.url.substr(iPos + 1);
|
|
853
|
-
mUrlData.url = mUrlData.url.substr(0, iPos);
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
iPos = sUrl.indexOf("?");
|
|
857
|
-
if (iPos > -1) {
|
|
858
|
-
var sParameters = mUrlData.url.substr(iPos + 1);
|
|
859
|
-
mUrlData.parameters = URI.parseQuery(sParameters);
|
|
860
|
-
mUrlData.url = mUrlData.url.substr(0, iPos);
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
return mUrlData;
|
|
835
|
+
ODataMessageParser._removeParametersAndHash = function(sUrl) {
|
|
836
|
+
return sUrl.split(rQuestionMarkOrHash)[0];
|
|
864
837
|
};
|
|
865
838
|
|
|
866
839
|
/**
|
|
@@ -874,6 +847,17 @@ ODataMessageParser.prototype._setPersistTechnicalMessages = function (bPersistTe
|
|
|
874
847
|
this._bPersistTechnicalMessages = bPersistTechnicalMessages;
|
|
875
848
|
};
|
|
876
849
|
|
|
850
|
+
/**
|
|
851
|
+
* Returns the URL relative to the host (i.e. the absolute path on the server) for the given URL
|
|
852
|
+
*
|
|
853
|
+
* @param {string} sUrl - The URL to be converted
|
|
854
|
+
* @returns {string} The server-relative URL
|
|
855
|
+
* @private
|
|
856
|
+
*/
|
|
857
|
+
ODataMessageParser.getRelativeServerUrl = function (sUrl) {
|
|
858
|
+
return new URL(sUrl, document.baseURI).pathname;
|
|
859
|
+
};
|
|
860
|
+
|
|
877
861
|
///////////////////////////////////////// Hidden Functions /////////////////////////////////////////
|
|
878
862
|
|
|
879
863
|
|
|
@@ -896,23 +880,6 @@ function getContentType(oResponse) {
|
|
|
896
880
|
return false;
|
|
897
881
|
}
|
|
898
882
|
|
|
899
|
-
/**
|
|
900
|
-
* Local helper element used to determine the path of a URL relative to the server
|
|
901
|
-
*
|
|
902
|
-
* @type {HTMLAnchorElement}
|
|
903
|
-
*/
|
|
904
|
-
var oLinkElement = document.createElement("a");
|
|
905
|
-
/**
|
|
906
|
-
* Returns the URL relative to the host (i.e. the absolute path on the server) for the given URL
|
|
907
|
-
*
|
|
908
|
-
* @param {string} sUrl - The URL to be converted
|
|
909
|
-
* @returns {string} The server-relative URL
|
|
910
|
-
*/
|
|
911
|
-
function getRelativeServerUrl(sUrl) {
|
|
912
|
-
oLinkElement.href = sUrl;
|
|
913
|
-
return URI.parse(oLinkElement.href).path;
|
|
914
|
-
}
|
|
915
|
-
|
|
916
883
|
/**
|
|
917
884
|
* Returns all elements in the given document (or node) that match the given elementnames
|
|
918
885
|
*
|
|
@@ -77,9 +77,13 @@ sap.ui.define([
|
|
|
77
77
|
/**
|
|
78
78
|
* Constructor for an OData primitive type <code>Edm.Boolean</code>.
|
|
79
79
|
*
|
|
80
|
-
* @class This class represents the OData primitive type <
|
|
81
|
-
*
|
|
82
|
-
*
|
|
80
|
+
* @class This class represents the OData primitive type <code>Edm.Boolean</code>, see
|
|
81
|
+
* <a
|
|
82
|
+
* href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
|
|
83
|
+
* type definition for OData V4.01</a> or
|
|
84
|
+
* <a
|
|
85
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
86
|
+
* type definition for OData V2</a>.
|
|
83
87
|
*
|
|
84
88
|
* In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
|
|
85
89
|
* this type is represented as a <code>boolean</code>.
|
|
@@ -87,7 +91,7 @@ sap.ui.define([
|
|
|
87
91
|
* @extends sap.ui.model.odata.type.ODataType
|
|
88
92
|
*
|
|
89
93
|
* @author SAP SE
|
|
90
|
-
* @version 1.
|
|
94
|
+
* @version 1.143.0
|
|
91
95
|
*
|
|
92
96
|
* @alias sap.ui.model.odata.type.Boolean
|
|
93
97
|
* @param {object} [oFormatOptions]
|
|
@@ -14,9 +14,13 @@ sap.ui.define([
|
|
|
14
14
|
/**
|
|
15
15
|
* Constructor for a primitive type <code>Edm.Byte</code>.
|
|
16
16
|
*
|
|
17
|
-
* @class This class represents the OData primitive type <
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* @class This class represents the OData primitive type <code>Edm.Byte</code>, see
|
|
18
|
+
* <a
|
|
19
|
+
* href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
|
|
20
|
+
* type definition for OData V4.01</a> or
|
|
21
|
+
* <a
|
|
22
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
23
|
+
* type definition for OData V2</a>.
|
|
20
24
|
*
|
|
21
25
|
* In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
|
|
22
26
|
* this type is represented as a <code>number</code>.
|
|
@@ -24,7 +28,7 @@ sap.ui.define([
|
|
|
24
28
|
* @extends sap.ui.model.odata.type.Int
|
|
25
29
|
*
|
|
26
30
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
31
|
+
* @version 1.143.0
|
|
28
32
|
*
|
|
29
33
|
* @alias sap.ui.model.odata.type.Byte
|
|
30
34
|
* @param {object} [oFormatOptions]
|