@openui5/sap.ui.core 1.99.0 → 1.100.1
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/THIRDPARTY.txt +2 -2
- package/package.json +1 -1
- package/src/jquery.sap.global.js +6 -3
- 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/Log.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +1 -10
- package/src/sap/base/util/UriParameters.js +2 -2
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +1 -1
- 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/ManagedObjectObserver.js +2 -0
- 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 +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +3 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +3 -1
- 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 +1 -1
- 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 +17 -3
- 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 +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +24 -5
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +3 -3
- package/src/sap/ui/core/Popup.js +9 -6
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +7 -6
- package/src/sap/ui/core/_IconRegistry.js +3 -2
- package/src/sap/ui/core/cache/CacheManager.js +1 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
- package/src/sap/ui/core/cldr/en_AU.json +1 -1
- package/src/sap/ui/core/date/Buddhist.js +3 -3
- package/src/sap/ui/core/date/Japanese.js +3 -3
- package/src/sap/ui/core/date/UniversalDate.js +10 -0
- package/src/sap/ui/core/date/UniversalDateUtils.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/DragAndDrop.js +19 -16
- 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 +3 -3
- package/src/sap/ui/core/format/DateFormat.js +125 -61
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -0
- package/src/sap/ui/core/format/NumberFormat.js +331 -179
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +85 -49
- 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 +0 -2
- package/src/sap/ui/core/messagebundle_ar.properties +0 -1
- package/src/sap/ui/core/messagebundle_bg.properties +0 -1
- package/src/sap/ui/core/messagebundle_ca.properties +0 -1
- package/src/sap/ui/core/messagebundle_cs.properties +0 -1
- package/src/sap/ui/core/messagebundle_cy.properties +0 -1
- package/src/sap/ui/core/messagebundle_da.properties +0 -1
- package/src/sap/ui/core/messagebundle_de.properties +0 -1
- package/src/sap/ui/core/messagebundle_el.properties +0 -1
- package/src/sap/ui/core/messagebundle_en.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_GB.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +0 -1
- package/src/sap/ui/core/messagebundle_es.properties +0 -1
- package/src/sap/ui/core/messagebundle_es_MX.properties +0 -1
- package/src/sap/ui/core/messagebundle_et.properties +0 -1
- package/src/sap/ui/core/messagebundle_fi.properties +0 -1
- package/src/sap/ui/core/messagebundle_fr.properties +0 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +0 -1
- package/src/sap/ui/core/messagebundle_hi.properties +0 -1
- package/src/sap/ui/core/messagebundle_hr.properties +0 -1
- package/src/sap/ui/core/messagebundle_hu.properties +0 -1
- package/src/sap/ui/core/messagebundle_id.properties +0 -1
- package/src/sap/ui/core/messagebundle_it.properties +0 -1
- package/src/sap/ui/core/messagebundle_iw.properties +0 -1
- package/src/sap/ui/core/messagebundle_ja.properties +0 -1
- package/src/sap/ui/core/messagebundle_kk.properties +0 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -2
- package/src/sap/ui/core/messagebundle_lt.properties +0 -1
- package/src/sap/ui/core/messagebundle_lv.properties +0 -1
- package/src/sap/ui/core/messagebundle_ms.properties +0 -1
- package/src/sap/ui/core/messagebundle_nl.properties +0 -1
- package/src/sap/ui/core/messagebundle_no.properties +0 -1
- package/src/sap/ui/core/messagebundle_pl.properties +0 -1
- package/src/sap/ui/core/messagebundle_pt.properties +0 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +0 -1
- package/src/sap/ui/core/messagebundle_ro.properties +0 -1
- package/src/sap/ui/core/messagebundle_ru.properties +0 -1
- package/src/sap/ui/core/messagebundle_sh.properties +0 -1
- package/src/sap/ui/core/messagebundle_sk.properties +0 -1
- package/src/sap/ui/core/messagebundle_sl.properties +0 -1
- package/src/sap/ui/core/messagebundle_sv.properties +0 -1
- package/src/sap/ui/core/messagebundle_th.properties +0 -1
- package/src/sap/ui/core/messagebundle_tr.properties +0 -1
- package/src/sap/ui/core/messagebundle_uk.properties +0 -1
- package/src/sap/ui/core/messagebundle_vi.properties +0 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +0 -1
- package/src/sap/ui/core/messagebundle_zh_TW.properties +0 -1
- package/src/sap/ui/core/mvc/Controller.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +9 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.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/rules/Misc.support.js +8 -3
- 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 +3 -3
- 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/CommandShortcutHints.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +1108 -35
- package/src/sap/ui/core/themes/base/global.less +158 -4
- package/src/sap/ui/core/themes/sap_hcb/global.less +157 -2
- 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 +3 -2
- package/src/sap/ui/core/util/PasteHelper.js +2 -2
- package/src/sap/ui/core/util/XMLPreprocessor.js +1 -0
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/LogViewer.js +2 -2
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +3 -0
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +13 -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 +1 -1
- 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/_Helper.js +22 -0
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +28 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +8 -6
- package/src/sap/ui/model/json/JSONModel.js +15 -8
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +54 -46
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +7 -3
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +109 -26
- package/src/sap/ui/model/odata/v2/ODataModel.js +236 -45
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +20 -22
- package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -32
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +33 -5
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +183 -46
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +185 -24
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +25 -57
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -2
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +146 -31
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +4 -0
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +162 -8
- 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/performance/trace/FESR.js +1 -1
- package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
- package/src/sap/ui/performance/trace/Interaction.js +6 -2
- package/src/sap/ui/qunit/qunit-2-css.js +4 -4
- package/src/sap/ui/qunit/qunit-css.js +4 -4
- 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/BranchTracking.js +1 -0
- package/src/sap/ui/test/OpaBuilder.js +7 -7
- package/src/sap/ui/test/TestUtils.js +10 -0
- package/src/sap/ui/test/_UsageReport.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
- package/src/sap/ui/test/generic/TestBase.js +151 -0
- package/src/sap/ui/test/generic/Utils.js +284 -0
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
- package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
- package/src/sap/ui/thirdparty/IPv6.js +1 -1
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
- package/src/sap/ui/thirdparty/URI.js +7 -3
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/thirdparty/jszip.js +17 -7
- package/src/sap/ui/util/Mobile.js +17 -0
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -64,7 +64,8 @@ sap.ui.define([
|
|
|
64
64
|
|
|
65
65
|
var sClassName = "sap.ui.model.odata.v2.ODataModel",
|
|
66
66
|
MessageType = coreLibrary.MessageType,
|
|
67
|
-
mMessageType2Severity = {}
|
|
67
|
+
mMessageType2Severity = {},
|
|
68
|
+
aRequestSideEffectsParametersAllowList = ["groupId", "urlParameters"];
|
|
68
69
|
|
|
69
70
|
mMessageType2Severity[MessageType.Error] = 0;
|
|
70
71
|
mMessageType2Severity[MessageType.Warning] = 1;
|
|
@@ -201,7 +202,7 @@ sap.ui.define([
|
|
|
201
202
|
* This model is not prepared to be inherited from.
|
|
202
203
|
*
|
|
203
204
|
* @author SAP SE
|
|
204
|
-
* @version 1.
|
|
205
|
+
* @version 1.100.1
|
|
205
206
|
*
|
|
206
207
|
* @public
|
|
207
208
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -345,6 +346,9 @@ sap.ui.define([
|
|
|
345
346
|
this.bPersistTechnicalMessages = bPersistTechnicalMessages === undefined
|
|
346
347
|
? undefined : !!bPersistTechnicalMessages;
|
|
347
348
|
this.oCreatedContextsCache = new _CreatedContextsCache();
|
|
349
|
+
// a list of functions to be called to clean up expanded lists when the side effects
|
|
350
|
+
// have been processed
|
|
351
|
+
this.aSideEffectCleanUpFunctions = [];
|
|
348
352
|
|
|
349
353
|
if (oMessageParser) {
|
|
350
354
|
oMessageParser.setProcessor(this);
|
|
@@ -1469,11 +1473,13 @@ sap.ui.define([
|
|
|
1469
1473
|
* @param {string} [sPathFromCanonicalParent] The path concatenated from the canonical path of
|
|
1470
1474
|
* the parent and the navigation property when importing data for a 0..1 navigation
|
|
1471
1475
|
* property via a recursive call to this method
|
|
1476
|
+
* @param {boolean} [bSideEffects]
|
|
1477
|
+
* Whether the data to import results from a side-effects request
|
|
1472
1478
|
* @return {string|string[]} Key of imported data or array of keys in case of nested entries
|
|
1473
1479
|
* @private
|
|
1474
1480
|
*/
|
|
1475
1481
|
ODataModel.prototype._importData = function(oData, mChangedEntities, oResponse, sPath,
|
|
1476
|
-
sDeepPath, sKey, bFunctionImport, sPathFromCanonicalParent) {
|
|
1482
|
+
sDeepPath, sKey, bFunctionImport, sPathFromCanonicalParent, bSideEffects) {
|
|
1477
1483
|
var that = this,
|
|
1478
1484
|
aList, oResult, oEntry, oCurrentEntry;
|
|
1479
1485
|
sPath = sPath || "";
|
|
@@ -1483,7 +1489,10 @@ sap.ui.define([
|
|
|
1483
1489
|
aList = [];
|
|
1484
1490
|
each(oData.results, function(i, entry) {
|
|
1485
1491
|
var sKey = that._getKey(entry);
|
|
1486
|
-
sKey = that._importData(entry, mChangedEntities, oResponse,
|
|
1492
|
+
sKey = that._importData(entry, mChangedEntities, oResponse,
|
|
1493
|
+
sPath.substr(0, sPath.lastIndexOf("/")), sDeepPath, sKey,
|
|
1494
|
+
/*bFunctionImport*/undefined, /*sPathFromCanonicalParent*/undefined,
|
|
1495
|
+
bSideEffects);
|
|
1487
1496
|
if (sKey) {
|
|
1488
1497
|
aList.push(sKey);
|
|
1489
1498
|
}
|
|
@@ -1537,9 +1546,21 @@ sap.ui.define([
|
|
|
1537
1546
|
var sNewDeepPath = sDeepPath + "/" + sName;
|
|
1538
1547
|
|
|
1539
1548
|
oResult = that._importData(oProperty, mChangedEntities, oResponse, sNewPath,
|
|
1540
|
-
sNewDeepPath, undefined, false, "/" + sKey + "/" + sName);
|
|
1549
|
+
sNewDeepPath, undefined, false, "/" + sKey + "/" + sName, bSideEffects);
|
|
1541
1550
|
if (Array.isArray(oResult)) {
|
|
1542
|
-
oEntry[sName] = {
|
|
1551
|
+
oEntry[sName] = {__list: oResult};
|
|
1552
|
+
if (bSideEffects) {
|
|
1553
|
+
oEntry[sName].__list.sideEffects = true;
|
|
1554
|
+
that.aSideEffectCleanUpFunctions.push(function () {
|
|
1555
|
+
// maybe check oEntry[sName].__list.sideEffects before deleting
|
|
1556
|
+
// the navigation property; this can happen if an
|
|
1557
|
+
// ODataModel#read is triggered with an expand of the same
|
|
1558
|
+
// "to N" navigation property as requested with
|
|
1559
|
+
// ODataModel#requestSideEffects; see BLI CPOUI5MODELS-656
|
|
1560
|
+
delete oEntry[sName];
|
|
1561
|
+
});
|
|
1562
|
+
|
|
1563
|
+
}
|
|
1543
1564
|
} else {
|
|
1544
1565
|
if (oCurrentEntry[sName] && oCurrentEntry[sName].__ref) {
|
|
1545
1566
|
if (oCurrentEntry[sName].__ref !== oResult) {
|
|
@@ -1943,7 +1964,6 @@ sap.ui.define([
|
|
|
1943
1964
|
/**
|
|
1944
1965
|
* Creates a new property binding for this model.
|
|
1945
1966
|
*
|
|
1946
|
-
* @see sap.ui.model.Model.prototype.bindProperty
|
|
1947
1967
|
* @param {string} sPath Path pointing to the property that should be bound;
|
|
1948
1968
|
* either an absolute path or a path relative to a given <code>oContext</code>
|
|
1949
1969
|
* @param {object} [oContext] A context object for the new binding
|
|
@@ -1952,14 +1972,20 @@ sap.ui.define([
|
|
|
1952
1972
|
* Whether this binding does not propagate model messages to the control; supported since
|
|
1953
1973
|
* 1.82.0. Some composite types like {@link sap.ui.model.type.Currency} automatically ignore
|
|
1954
1974
|
* model messages for some of their parts depending on their format options; setting this
|
|
1955
|
-
* parameter to <code>true</code> or <code>false</code> overrules the automatism of the type
|
|
1975
|
+
* parameter to <code>true</code> or <code>false</code> overrules the automatism of the type
|
|
1956
1976
|
*
|
|
1957
1977
|
* For example, a binding for a currency code is used in a composite binding for rendering the
|
|
1958
1978
|
* proper number of decimals, but the currency code is not displayed in the attached control.
|
|
1959
1979
|
* In that case, messages for the currency code shall not be displayed at that control, only
|
|
1960
|
-
* messages for the amount
|
|
1980
|
+
* messages for the amount
|
|
1981
|
+
* @param {boolean} [mParameters.useUndefinedIfUnresolved]
|
|
1982
|
+
* Whether the value of the created property binding is <code>undefined</code> if it is
|
|
1983
|
+
* unresolved; if not set, its value is <code>null</code>. Supported since 1.100.0
|
|
1961
1984
|
* @returns {sap.ui.model.PropertyBinding} The new property binding
|
|
1985
|
+
*
|
|
1962
1986
|
* @public
|
|
1987
|
+
* @see sap.ui.model.Model#bindProperty
|
|
1988
|
+
* @see #getProperty
|
|
1963
1989
|
*/
|
|
1964
1990
|
ODataModel.prototype.bindProperty = function(sPath, oContext, mParameters) {
|
|
1965
1991
|
var oBinding = new ODataPropertyBinding(this, sPath, oContext, mParameters);
|
|
@@ -2789,18 +2815,27 @@ sap.ui.define([
|
|
|
2789
2815
|
|
|
2790
2816
|
/**
|
|
2791
2817
|
* Returns the value for the property with the given <code>sPath</code>.
|
|
2792
|
-
*
|
|
2793
|
-
*
|
|
2794
|
-
*
|
|
2795
|
-
*
|
|
2818
|
+
* Since 1.100, a path starting with "@$ui5." which represents an instance annotation
|
|
2819
|
+
* is supported. The following instance annotations are allowed; they return information on the
|
|
2820
|
+
* given <code>oContext<code>, which must be set and be an
|
|
2821
|
+
* {@link sap.ui.model.odata.v2.Context}:
|
|
2822
|
+
* <ul>
|
|
2823
|
+
* <li><code>@$ui5.context.isInactive</code>: The return value of
|
|
2824
|
+
* {@link sap.ui.model.odata.v2.Context#isInactive}</li>
|
|
2825
|
+
* <li><code>@$ui5.context.isTransient</code>: The return value of
|
|
2826
|
+
* {@link sap.ui.model.odata.v2.Context#isTransient}</li>
|
|
2827
|
+
* </ul>
|
|
2796
2828
|
*
|
|
2797
2829
|
* @param {string} sPath Path/name of the property
|
|
2798
2830
|
* @param {object} [oContext] Context if available to access the property value
|
|
2799
|
-
* @param {boolean} [bIncludeExpandEntries=false]
|
|
2800
|
-
*
|
|
2801
|
-
*
|
|
2802
|
-
*
|
|
2831
|
+
* @param {boolean} [bIncludeExpandEntries=false]
|
|
2832
|
+
* Deprecated, use {@link #getObject} function with 'select' and 'expand' parameters instead.
|
|
2833
|
+
* Whether entities for navigation properties of this property which have been read via
|
|
2834
|
+
* <code>$expand</code> are part of the return value.
|
|
2803
2835
|
* @returns {any} Value of the property
|
|
2836
|
+
* @throws {Error}
|
|
2837
|
+
* If the instance annotation is not supported
|
|
2838
|
+
*
|
|
2804
2839
|
* @public
|
|
2805
2840
|
*/
|
|
2806
2841
|
ODataModel.prototype.getProperty = function(sPath, oContext, bIncludeExpandEntries) {
|
|
@@ -2997,26 +3032,42 @@ sap.ui.define([
|
|
|
2997
3032
|
};
|
|
2998
3033
|
|
|
2999
3034
|
/**
|
|
3000
|
-
*
|
|
3001
|
-
*
|
|
3002
|
-
*
|
|
3003
|
-
* @
|
|
3035
|
+
* Returns the value of the entity or entity property referenced by the given <code>sPath</code>
|
|
3036
|
+
* and <code>oContext</code>.
|
|
3037
|
+
*
|
|
3038
|
+
* @param {string} sPath
|
|
3039
|
+
* Binding path
|
|
3040
|
+
* @param {object} [oContext]
|
|
3041
|
+
* Binding context
|
|
3042
|
+
* @param {boolean} [bOriginalValue]
|
|
3043
|
+
* Whether to return the original value read from the server even if changes where made
|
|
3044
|
+
* @param {boolean} [bUseUndefinedIfUnresolved]
|
|
3045
|
+
* Whether to return <code>undefined</code> if the given path and context do not yield a
|
|
3046
|
+
* resolved path; if not set, the method returns <code>null</code>
|
|
3047
|
+
* @returns {any} vValue
|
|
3048
|
+
* Value for the given path/context
|
|
3049
|
+
* @throws {Error}
|
|
3050
|
+
* If the instance annotation is not supported
|
|
3051
|
+
*
|
|
3004
3052
|
* @private
|
|
3005
3053
|
*/
|
|
3006
|
-
ODataModel.prototype._getObject = function(sPath, oContext, bOriginalValue
|
|
3054
|
+
ODataModel.prototype._getObject = function(sPath, oContext, bOriginalValue,
|
|
3055
|
+
bUseUndefinedIfUnresolved) {
|
|
3007
3056
|
var oChangedNode, oCodeListPromise, sCodeListTerm, sDataPath, sKey, oMetaContext,
|
|
3008
3057
|
oMetaModel, sMetaPath, oOrigNode, sResolvedPath, iSeparator,
|
|
3009
|
-
|
|
3058
|
+
vUnresolvedDefault = bUseUndefinedIfUnresolved ? undefined : null,
|
|
3059
|
+
oNode = this.isLegacySyntax() ? this.oData : vUnresolvedDefault;
|
|
3010
3060
|
|
|
3011
3061
|
sResolvedPath = this.resolve(sPath, oContext, this.bCanonicalRequests);
|
|
3012
3062
|
if (!sResolvedPath && this.bCanonicalRequests) {
|
|
3013
3063
|
sResolvedPath = this.resolve(sPath, oContext);
|
|
3014
3064
|
}
|
|
3015
|
-
|
|
3016
3065
|
if (!sResolvedPath) {
|
|
3017
3066
|
return oNode;
|
|
3018
3067
|
}
|
|
3019
|
-
|
|
3068
|
+
if (sPath && sPath.startsWith("@$ui5.")) {
|
|
3069
|
+
return this._getInstanceAnnotationValue(sPath, oContext);
|
|
3070
|
+
}
|
|
3020
3071
|
//check for metadata path
|
|
3021
3072
|
if (this._isMetadataPath(sResolvedPath)) {
|
|
3022
3073
|
if (this.oMetadata && this.oMetadata.isLoaded()) {
|
|
@@ -3085,13 +3136,38 @@ sap.ui.define([
|
|
|
3085
3136
|
iIndex++;
|
|
3086
3137
|
}
|
|
3087
3138
|
}
|
|
3088
|
-
//if we have a changed Entity/complex type we need to extend it with the backend data
|
|
3139
|
+
// if we have a changed Entity/complex type we need to extend it with the backend data
|
|
3089
3140
|
if (isPlainObject(oChangedNode)) {
|
|
3090
3141
|
oNode = bOriginalValue ? oOrigNode : merge({}, oOrigNode, oChangedNode);
|
|
3091
3142
|
}
|
|
3092
3143
|
return oNode;
|
|
3093
3144
|
};
|
|
3094
3145
|
|
|
3146
|
+
/**
|
|
3147
|
+
* Gets the instance annotation value for the given path corresponding to the instance
|
|
3148
|
+
* annotation and the given context. The following instance annotations are supported:
|
|
3149
|
+
* <ul>
|
|
3150
|
+
* <li><code>@$ui5.context.isInactive</code></li>
|
|
3151
|
+
* <li><code>@$ui5.context.isTransient</code></li>
|
|
3152
|
+
* </ul>
|
|
3153
|
+
*
|
|
3154
|
+
* @param {string} sPath Binding path
|
|
3155
|
+
* @param {sap.ui.model.odata.v2.Context} oContext Binding context
|
|
3156
|
+
* @returns {any} The result of the processed instance annotation
|
|
3157
|
+
* @throws {Error} If the instance annotation is not supported
|
|
3158
|
+
*
|
|
3159
|
+
* @private
|
|
3160
|
+
*/
|
|
3161
|
+
ODataModel.prototype._getInstanceAnnotationValue = function (sPath, oContext) {
|
|
3162
|
+
if (sPath === "@$ui5.context.isInactive") {
|
|
3163
|
+
return oContext.isInactive();
|
|
3164
|
+
}
|
|
3165
|
+
if (sPath === "@$ui5.context.isTransient") {
|
|
3166
|
+
return oContext.isTransient();
|
|
3167
|
+
}
|
|
3168
|
+
throw new Error("Unsupported instance annotation: " + sPath);
|
|
3169
|
+
};
|
|
3170
|
+
|
|
3095
3171
|
/**
|
|
3096
3172
|
* Update the security token, if token handling is enabled and token is not available yet
|
|
3097
3173
|
* @private
|
|
@@ -3263,6 +3339,10 @@ sap.ui.define([
|
|
|
3263
3339
|
if (fnSuccess) {
|
|
3264
3340
|
fnSuccess(oData, oResponse);
|
|
3265
3341
|
}
|
|
3342
|
+
that.aSideEffectCleanUpFunctions.forEach(function (fnCleanUp) {
|
|
3343
|
+
fnCleanUp();
|
|
3344
|
+
});
|
|
3345
|
+
that.aSideEffectCleanUpFunctions = [];
|
|
3266
3346
|
fnResolveCompleted();
|
|
3267
3347
|
}
|
|
3268
3348
|
|
|
@@ -3282,6 +3362,7 @@ sap.ui.define([
|
|
|
3282
3362
|
if (fnError) {
|
|
3283
3363
|
fnError(oError);
|
|
3284
3364
|
}
|
|
3365
|
+
// no need to clean up side-effects expands as no data was imported
|
|
3285
3366
|
fnResolveCompleted();
|
|
3286
3367
|
}
|
|
3287
3368
|
|
|
@@ -4181,11 +4262,14 @@ sap.ui.define([
|
|
|
4181
4262
|
//need a deep data copy for import
|
|
4182
4263
|
oImportData = merge({}, oResultData);
|
|
4183
4264
|
if (oRequest.key || oRequest.created) {
|
|
4184
|
-
|
|
4185
|
-
|
|
4265
|
+
// no need to pass sideEffects because side-effects requests don't have a key or
|
|
4266
|
+
// a created property attached to the request
|
|
4267
|
+
that._importData(oImportData, mLocalGetEntities, oResponse, /*sPath*/undefined,
|
|
4268
|
+
/*sDeepPath*/undefined, /*sKey*/undefined, bIsFunction);
|
|
4186
4269
|
} else {
|
|
4187
4270
|
that._importData(oImportData, mLocalGetEntities, oResponse, sPath,
|
|
4188
|
-
oRequest.deepPath, undefined, bIsFunction
|
|
4271
|
+
oRequest.deepPath, /*sKey*/undefined, bIsFunction,
|
|
4272
|
+
/*sPathFromCanonicalParent*/undefined, oRequest.sideEffects);
|
|
4189
4273
|
}
|
|
4190
4274
|
oResponse._imported = true;
|
|
4191
4275
|
}
|
|
@@ -4704,11 +4788,13 @@ sap.ui.define([
|
|
|
4704
4788
|
* or changed resources are updated. It is considered only if
|
|
4705
4789
|
* {@link sap.ui.model.odata.MessageScope.BusinessObject} is set and if the OData service
|
|
4706
4790
|
* supports message scope.
|
|
4791
|
+
* @param {boolean} [bSideEffects]
|
|
4792
|
+
* Whether the request is to read side effects
|
|
4707
4793
|
* @return {object} Request object
|
|
4708
4794
|
* @private
|
|
4709
4795
|
*/
|
|
4710
4796
|
ODataModel.prototype._createRequest = function(sUrl, sDeepPath, sMethod, mHeaders, oData, sETag,
|
|
4711
|
-
bAsync, bUpdateAggregatedMessages) {
|
|
4797
|
+
bAsync, bUpdateAggregatedMessages, bSideEffects) {
|
|
4712
4798
|
var oRequest;
|
|
4713
4799
|
|
|
4714
4800
|
bAsync = bAsync !== false;
|
|
@@ -4758,16 +4844,18 @@ sap.ui.define([
|
|
|
4758
4844
|
}
|
|
4759
4845
|
|
|
4760
4846
|
oRequest = {
|
|
4847
|
+
async : bAsync,
|
|
4848
|
+
deepPath : sDeepPath,
|
|
4761
4849
|
headers : mHeaders,
|
|
4762
|
-
requestUri : sUrl,
|
|
4763
4850
|
method : sMethod,
|
|
4764
|
-
user : this.sUser,
|
|
4765
4851
|
password : this.sPassword,
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
|
-
|
|
4852
|
+
requestUri : sUrl,
|
|
4853
|
+
updateAggregatedMessages : bUpdateAggregatedMessages,
|
|
4854
|
+
user : this.sUser
|
|
4769
4855
|
};
|
|
4770
|
-
|
|
4856
|
+
if (bSideEffects) {
|
|
4857
|
+
oRequest.sideEffects = true;
|
|
4858
|
+
}
|
|
4771
4859
|
if (oData) {
|
|
4772
4860
|
oRequest.data = oData;
|
|
4773
4861
|
}
|
|
@@ -5505,6 +5593,24 @@ sap.ui.define([
|
|
|
5505
5593
|
* @public
|
|
5506
5594
|
*/
|
|
5507
5595
|
ODataModel.prototype.read = function(sPath, mParameters) {
|
|
5596
|
+
return this._read(sPath, mParameters);
|
|
5597
|
+
};
|
|
5598
|
+
|
|
5599
|
+
/**
|
|
5600
|
+
* Triggers a <code>GET</code> request to the OData service.
|
|
5601
|
+
*
|
|
5602
|
+
* @param {string} sPath
|
|
5603
|
+
* The path as specified in {@link #read}
|
|
5604
|
+
* @param {object} [mParameters]
|
|
5605
|
+
* The parameters as specified in {@link #read}
|
|
5606
|
+
* @param {boolean} [bSideEffects]
|
|
5607
|
+
* Whether to read data as side effects
|
|
5608
|
+
* @return {object}
|
|
5609
|
+
* An object which has an <code>abort</code> function to abort the current request.
|
|
5610
|
+
*
|
|
5611
|
+
* @private
|
|
5612
|
+
*/
|
|
5613
|
+
ODataModel.prototype._read = function(sPath, mParameters, bSideEffects) {
|
|
5508
5614
|
var bCanonical, oContext, fnError, sETag, aFilters, sGroupId, mHeaders, sMethod, oRequest,
|
|
5509
5615
|
aSorters, fnSuccess, bUpdateAggregatedMessages, aUrlParams, mUrlParams,
|
|
5510
5616
|
that = this;
|
|
@@ -5569,7 +5675,7 @@ sap.ui.define([
|
|
|
5569
5675
|
sUrl = that._createRequestUrlWithNormalizedPath(sResourcePath, aUrlParams,
|
|
5570
5676
|
that.bUseBatch);
|
|
5571
5677
|
oRequest = that._createRequest(sUrl, sDeepPath, sMethod, mHeaders, null, sETag,
|
|
5572
|
-
undefined, bUpdateAggregatedMessages);
|
|
5678
|
+
undefined, bUpdateAggregatedMessages, bSideEffects);
|
|
5573
5679
|
|
|
5574
5680
|
mRequests = that.mRequests;
|
|
5575
5681
|
if (sGroupId in that.mDeferredGroups) {
|
|
@@ -5590,6 +5696,79 @@ sap.ui.define([
|
|
|
5590
5696
|
}
|
|
5591
5697
|
};
|
|
5592
5698
|
|
|
5699
|
+
/**
|
|
5700
|
+
* Requests side effects for the entity referred to by the given context using a GET request
|
|
5701
|
+
* with the given URL parameters, esp. <code>$expand</code> and <code>$select</code>, which
|
|
5702
|
+
* represent the paths affected by side effects on the entity. List bindings which are affected
|
|
5703
|
+
* by the given <code>$expand</code>, and are using custom parameters or filters/sorters in
|
|
5704
|
+
* <code>OperationMode.Server</code> are refreshed with additional GET requests within the same
|
|
5705
|
+
* batch request.
|
|
5706
|
+
*
|
|
5707
|
+
* @param {sap.ui.model.odata.v2.Context} oContext
|
|
5708
|
+
* The context referring to the entity to read side effects for
|
|
5709
|
+
* @param {object} [mParameters]
|
|
5710
|
+
* A map of parameters as specified for {@link sap.ui.model.odata.v2.ODataModel#read}, where
|
|
5711
|
+
* only the following subset of these is supported. The <code>updateAggregatedMessages</code>
|
|
5712
|
+
* parameter is immutably set to <code>true</code>.
|
|
5713
|
+
* @param {string} [mParameters.groupId]
|
|
5714
|
+
* The ID of a request group
|
|
5715
|
+
* @param {Object<string,string>} [mParameters.urlParameters]
|
|
5716
|
+
* URL parameters for the side-effects request as a map from a URL parameter name to its
|
|
5717
|
+
* string value including <code>$expand</code> and <code>$select</code>
|
|
5718
|
+
* @returns {Promise}
|
|
5719
|
+
* The promise on the outcome of the side-effects request; resolves with
|
|
5720
|
+
* <code>undefined</code> if the request is processed successfully, or rejects with an error
|
|
5721
|
+
* object if the request fails
|
|
5722
|
+
* @throws {Error}
|
|
5723
|
+
* If the given parameters map contains any other parameter than those documented above
|
|
5724
|
+
*
|
|
5725
|
+
* @private
|
|
5726
|
+
* @see sap.ui.model.odata.v2.ODataModel#read
|
|
5727
|
+
* @ui5-restricted sap.suite.ui.generic
|
|
5728
|
+
*/
|
|
5729
|
+
ODataModel.prototype.requestSideEffects = function (oContext, mParameters) {
|
|
5730
|
+
var sParameterKey,
|
|
5731
|
+
that = this;
|
|
5732
|
+
|
|
5733
|
+
mParameters = mParameters || {};
|
|
5734
|
+
for (sParameterKey in mParameters) {
|
|
5735
|
+
if (!aRequestSideEffectsParametersAllowList.includes(sParameterKey)) {
|
|
5736
|
+
throw new Error("Parameter '" + sParameterKey + "' is not supported");
|
|
5737
|
+
}
|
|
5738
|
+
}
|
|
5739
|
+
|
|
5740
|
+
return new Promise(function (resolve, reject) {
|
|
5741
|
+
var oAffectedEntityTypes = new Set(),
|
|
5742
|
+
sExpands = mParameters.urlParameters && mParameters.urlParameters["$expand"];
|
|
5743
|
+
|
|
5744
|
+
that._read("", {
|
|
5745
|
+
// pass context to keep deep path information for message handling
|
|
5746
|
+
context : oContext,
|
|
5747
|
+
error : reject,
|
|
5748
|
+
groupId : mParameters.groupId,
|
|
5749
|
+
success : function (/*oData, oResponse*/) {
|
|
5750
|
+
resolve();
|
|
5751
|
+
},
|
|
5752
|
+
updateAggregatedMessages : true,
|
|
5753
|
+
urlParameters : mParameters.urlParameters
|
|
5754
|
+
}, true);
|
|
5755
|
+
|
|
5756
|
+
if (sExpands) {
|
|
5757
|
+
sExpands.split(",").forEach(function (sExpand) {
|
|
5758
|
+
var oEntityType = that.oMetadata._getEntityTypeByPath(
|
|
5759
|
+
that.resolve(sExpand, oContext));
|
|
5760
|
+
|
|
5761
|
+
oAffectedEntityTypes.add(oEntityType);
|
|
5762
|
+
});
|
|
5763
|
+
that.getBindings().forEach(function (oBinding) {
|
|
5764
|
+
if (oBinding.isA("sap.ui.model.odata.v2.ODataListBinding")) {
|
|
5765
|
+
oBinding._refreshForSideEffects(oAffectedEntityTypes, mParameters.groupId);
|
|
5766
|
+
}
|
|
5767
|
+
});
|
|
5768
|
+
}
|
|
5769
|
+
});
|
|
5770
|
+
};
|
|
5771
|
+
|
|
5593
5772
|
/**
|
|
5594
5773
|
* Return the parsed XML metadata as a Javascript object.
|
|
5595
5774
|
*
|
|
@@ -6137,15 +6316,23 @@ sap.ui.define([
|
|
|
6137
6316
|
/**
|
|
6138
6317
|
* Sets a new value for the given property <code>sPath</code> in the model.
|
|
6139
6318
|
*
|
|
6140
|
-
* If the <code>changeBatchGroup</code> for the changed entity type is set to
|
|
6141
|
-
* changes could be submitted with {@link #submitChanges}.
|
|
6319
|
+
* If the <code>changeBatchGroup</code> for the changed entity type is set to
|
|
6320
|
+
* {@link #setDeferredGroups deferred}, changes could be submitted with {@link #submitChanges}.
|
|
6321
|
+
* Otherwise the change will be submitted directly.
|
|
6142
6322
|
*
|
|
6143
|
-
* @param {string}
|
|
6144
|
-
*
|
|
6145
|
-
* @param {
|
|
6146
|
-
*
|
|
6147
|
-
* @
|
|
6148
|
-
*
|
|
6323
|
+
* @param {string} sPath
|
|
6324
|
+
* Path of the property to set
|
|
6325
|
+
* @param {any} oValue
|
|
6326
|
+
* Value to set the property to
|
|
6327
|
+
* @param {sap.ui.model.Context} [oContext=null]
|
|
6328
|
+
* The context which will be used to set the property
|
|
6329
|
+
* @param {boolean} [bAsyncUpdate]
|
|
6330
|
+
* Whether to update other bindings dependent on this property asynchronously
|
|
6331
|
+
* @returns {boolean}
|
|
6332
|
+
* <code>true</code> if the value was set correctly and <code>false</code> if errors occurred
|
|
6333
|
+
* like the entry was not found or another entry was already updated.
|
|
6334
|
+
* @throws {Error}
|
|
6335
|
+
* If setting a value for an instance annotation starting with "@$ui5"
|
|
6149
6336
|
* @public
|
|
6150
6337
|
*/
|
|
6151
6338
|
ODataModel.prototype.setProperty = function(sPath, oValue, oContext, bAsyncUpdate) {
|
|
@@ -6182,6 +6369,10 @@ sap.ui.define([
|
|
|
6182
6369
|
}
|
|
6183
6370
|
|
|
6184
6371
|
sPropertyPath = sResolvedPath.substring(sResolvedPath.lastIndexOf("/") + 1);
|
|
6372
|
+
if (sPropertyPath.startsWith("@$ui5.")) {
|
|
6373
|
+
throw new Error("Setting a value for an instance annotation starting with '@$ui5' is "
|
|
6374
|
+
+ "not allowed: " + sPropertyPath);
|
|
6375
|
+
}
|
|
6185
6376
|
sKey = oEntityInfo.key;
|
|
6186
6377
|
oOriginalEntry = this._getObject('/' + sKey, null, true);
|
|
6187
6378
|
oOriginalValue = this._getObject(sPath, oContext, true);
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.TreeBinding
|
|
93
93
|
* @hideconstructor
|
|
94
94
|
* @public
|
|
95
|
-
* @version 1.
|
|
95
|
+
* @version 1.100.1
|
|
96
96
|
*/
|
|
97
97
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
98
98
|
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.100.1
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -1014,7 +1014,6 @@ sap.ui.define([
|
|
|
1014
1014
|
* <ul>
|
|
1015
1015
|
* <li> this context's root binding is suspended,
|
|
1016
1016
|
* <li> this context is transient (see {@link #isTransient}),
|
|
1017
|
-
* <li> this context is not in the collection (has no index, see {@link #getIndex}),
|
|
1018
1017
|
* <li> the given other context does not belong to the same list binding as this context, or
|
|
1019
1018
|
* is already in the collection (has an index, see {@link #getIndex}).
|
|
1020
1019
|
* </ul>
|
|
@@ -1026,7 +1025,7 @@ sap.ui.define([
|
|
|
1026
1025
|
var oElement;
|
|
1027
1026
|
|
|
1028
1027
|
this.oBinding.checkSuspended();
|
|
1029
|
-
if (this.
|
|
1028
|
+
if (this.isTransient()) {
|
|
1030
1029
|
throw new Error("Cannot replace " + this);
|
|
1031
1030
|
}
|
|
1032
1031
|
if (oOtherContext.oBinding !== this.oBinding || oOtherContext.iIndex !== undefined) {
|
|
@@ -1495,8 +1494,10 @@ sap.ui.define([
|
|
|
1495
1494
|
* destroyed, see {@link #destroy}. Supported since 1.84.0
|
|
1496
1495
|
* @param {boolean} [bRequestMessages]
|
|
1497
1496
|
* Whether to request messages for this entity. Only used if <code>bKeepAlive</code> is
|
|
1498
|
-
* <code>true</code>.
|
|
1499
|
-
*
|
|
1497
|
+
* <code>true</code>. Determines the messages property from the annotation
|
|
1498
|
+
* "com.sap.vocabularies.Common.v1.Messages" at the entity type. If found, the binding keeps
|
|
1499
|
+
* requesting messages until it is destroyed. Otherwise an error is logged in the console and
|
|
1500
|
+
* no messages are requested. Supported since 1.92.0
|
|
1500
1501
|
* @throws {Error} If
|
|
1501
1502
|
* <ul>
|
|
1502
1503
|
* <li> this context is not a list binding's context,
|
|
@@ -1511,7 +1512,7 @@ sap.ui.define([
|
|
|
1511
1512
|
* <li> the list binding uses data aggregation
|
|
1512
1513
|
* (see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}),
|
|
1513
1514
|
* <li> messages are requested, but the model does not use the <code>autoExpandSelect</code>
|
|
1514
|
-
* parameter
|
|
1515
|
+
* parameter.
|
|
1515
1516
|
* </ul>
|
|
1516
1517
|
*
|
|
1517
1518
|
* @public
|
|
@@ -1519,32 +1520,29 @@ sap.ui.define([
|
|
|
1519
1520
|
* @since 1.81.0
|
|
1520
1521
|
*/
|
|
1521
1522
|
Context.prototype.setKeepAlive = function (bKeepAlive, fnOnBeforeDestroy, bRequestMessages) {
|
|
1522
|
-
var
|
|
1523
|
-
that = this;
|
|
1523
|
+
var that = this;
|
|
1524
1524
|
|
|
1525
1525
|
if (this.isTransient()) {
|
|
1526
1526
|
throw new Error("Unsupported transient context " + this);
|
|
1527
1527
|
}
|
|
1528
|
-
|
|
1529
|
-
throw new Error("No key predicate known at " + this);
|
|
1530
|
-
}
|
|
1528
|
+
this.oModel.getPredicateIndex(this.sPath);
|
|
1531
1529
|
this.oBinding.checkKeepAlive(this);
|
|
1532
1530
|
|
|
1533
1531
|
if (bKeepAlive && bRequestMessages) {
|
|
1534
1532
|
if (!this.oModel.bAutoExpandSelect) {
|
|
1535
1533
|
throw new Error("Missing parameter autoExpandSelect at model");
|
|
1536
1534
|
}
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
+ "/@com.sap.vocabularies.Common.v1.Messages/$Path"
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
.
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1535
|
+
this.bKeepAlive = bKeepAlive; // must be set before calling fetchIfChildCanUseCache
|
|
1536
|
+
this.oModel.getMetaModel().fetchObject(
|
|
1537
|
+
_Helper.getMetaPath(this.sPath) + "/@com.sap.vocabularies.Common.v1.Messages/$Path"
|
|
1538
|
+
).then(function (sMessagesPath) {
|
|
1539
|
+
if (!sMessagesPath) {
|
|
1540
|
+
throw new Error("Missing @com.sap.vocabularies.Common.v1.Messages");
|
|
1541
|
+
}
|
|
1542
|
+
return that.oBinding.fetchIfChildCanUseCache(that, sMessagesPath, {});
|
|
1543
|
+
}).then(function (sReducedPath) {
|
|
1544
|
+
return that.fetchValue(sReducedPath);
|
|
1545
|
+
}).catch(this.oModel.getReporter());
|
|
1548
1546
|
}
|
|
1549
1547
|
|
|
1550
1548
|
this.bKeepAlive = bKeepAlive;
|