@openui5/sap.ui.core 1.116.0 → 1.117.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/.eslintrc.json +1 -22
- 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 +4 -4
- package/src/sap/base/Eventing.js +5 -6
- package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
- package/src/sap/base/config.js +3 -2
- package/src/sap/base/i18n/Formatting.js +30 -32
- package/src/sap/base/i18n/LanguageTag.js +2 -2
- package/src/sap/base/i18n/Localization.js +19 -20
- package/src/sap/base/i18n/date/CalendarType.js +1 -1
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/fetch.js +4 -4
- package/src/sap/base/util/mixedFetch.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/base/util/syncFetch.js +2 -2
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +6 -4
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +2 -4
- package/src/sap/ui/base/ManagedObjectMetadata.js +4 -6
- 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/AnimationMode.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/ConfigTest.js +17 -0
- package/src/sap/ui/core/Configuration.js +2 -14
- package/src/sap/ui/core/Control.js +4 -1
- package/src/sap/ui/core/ControlBehavior.js +2 -2
- 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 +2 -4
- 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/IconPool.js +1 -2
- 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/Lib.js +17 -16
- 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 +5 -2
- package/src/sap/ui/core/LocaleData.js +12 -4
- package/src/sap/ui/core/Manifest.js +5 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +37 -50
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.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/Shortcut.js +11 -9
- package/src/sap/ui/core/StaticArea.js +1 -1
- package/src/sap/ui/core/Theming.js +16 -9
- 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 +27 -5
- package/src/sap/ui/core/_IconRegistry.js +82 -11
- package/src/sap/ui/core/boot/_bootConfig.js +137 -0
- package/src/sap/ui/core/boot/_runBoot.js +16 -0
- package/src/sap/ui/core/boot/initDOM.js +96 -0
- package/src/sap/ui/core/boot/loadCalendar.js +50 -0
- package/src/sap/ui/core/boot/loadManifest.js +55 -0
- package/src/sap/ui/core/boot/loadModules.js +80 -0
- package/src/sap/ui/core/boot/manifest.json +11 -0
- package/src/sap/ui/core/boot/onInit.js +44 -0
- package/src/sap/ui/core/boot.js +107 -0
- package/src/sap/ui/core/date/UI5Date.js +9 -3
- 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/DateFormat.js +13 -12
- 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 +32 -6
- 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/MessageMixin.js +6 -5
- 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_ar.properties +57 -55
- package/src/sap/ui/core/messagebundle_bg.properties +57 -55
- package/src/sap/ui/core/messagebundle_ca.properties +30 -28
- package/src/sap/ui/core/messagebundle_cs.properties +43 -41
- package/src/sap/ui/core/messagebundle_cy.properties +58 -56
- package/src/sap/ui/core/messagebundle_da.properties +56 -54
- package/src/sap/ui/core/messagebundle_de.properties +58 -56
- package/src/sap/ui/core/messagebundle_el.properties +47 -45
- package/src/sap/ui/core/messagebundle_en.properties +58 -56
- package/src/sap/ui/core/messagebundle_en_GB.properties +58 -56
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
- package/src/sap/ui/core/messagebundle_es.properties +47 -45
- package/src/sap/ui/core/messagebundle_es_MX.properties +57 -55
- package/src/sap/ui/core/messagebundle_et.properties +54 -52
- package/src/sap/ui/core/messagebundle_fi.properties +51 -49
- package/src/sap/ui/core/messagebundle_fr.properties +36 -34
- package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
- package/src/sap/ui/core/messagebundle_hi.properties +42 -40
- package/src/sap/ui/core/messagebundle_hr.properties +57 -55
- package/src/sap/ui/core/messagebundle_hu.properties +58 -56
- package/src/sap/ui/core/messagebundle_id.properties +58 -56
- package/src/sap/ui/core/messagebundle_it.properties +59 -57
- package/src/sap/ui/core/messagebundle_iw.properties +58 -56
- package/src/sap/ui/core/messagebundle_ja.properties +50 -48
- package/src/sap/ui/core/messagebundle_kk.properties +43 -41
- package/src/sap/ui/core/messagebundle_ko.properties +19 -17
- package/src/sap/ui/core/messagebundle_lt.properties +58 -56
- package/src/sap/ui/core/messagebundle_lv.properties +58 -56
- package/src/sap/ui/core/messagebundle_ms.properties +58 -56
- package/src/sap/ui/core/messagebundle_nl.properties +57 -55
- package/src/sap/ui/core/messagebundle_no.properties +55 -53
- package/src/sap/ui/core/messagebundle_pl.properties +55 -53
- package/src/sap/ui/core/messagebundle_pt.properties +57 -55
- package/src/sap/ui/core/messagebundle_pt_PT.properties +57 -55
- package/src/sap/ui/core/messagebundle_ro.properties +58 -56
- package/src/sap/ui/core/messagebundle_ru.properties +57 -55
- package/src/sap/ui/core/messagebundle_sh.properties +58 -56
- package/src/sap/ui/core/messagebundle_sk.properties +57 -55
- package/src/sap/ui/core/messagebundle_sl.properties +58 -56
- package/src/sap/ui/core/messagebundle_sv.properties +54 -52
- package/src/sap/ui/core/messagebundle_th.properties +17 -15
- package/src/sap/ui/core/messagebundle_tr.properties +58 -56
- package/src/sap/ui/core/messagebundle_uk.properties +58 -56
- package/src/sap/ui/core/messagebundle_vi.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
- 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 +14 -2
- 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 +1 -1
- 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 +7 -4
- 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/Icon.less +2 -2
- package/src/sap/ui/core/theming/Parameters.js +0 -5
- package/src/sap/ui/core/theming/ThemeManager.js +3 -4
- 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 +4 -5
- package/src/sap/ui/core/util/PasteHelper.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/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/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/analytics/AnalyticalBinding.js +166 -79
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
- package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +2 -1
- package/src/sap/ui/model/json/JSONModel.js +6 -1
- 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 +191 -5
- package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
- package/src/sap/ui/model/odata/ODataModel.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 +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/v4/Context.js +33 -30
- package/src/sap/ui/model/odata/v4/ODataBinding.js +18 -14
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -12
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +110 -43
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +20 -28
- package/src/sap/ui/model/odata/v4/ODataModel.js +40 -31
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +8 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +14 -14
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +93 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +58 -195
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +157 -0
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +27 -15
- 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/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/TestUtils.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
- package/src/sap/ui/test/matchers/_Visitor.js +6 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
- package/src/sap/ui/thirdparty/qunit-2.js +9 -3
- package/src/sap/ui/util/Mobile.js +10 -6
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap-ui-boot.js +23 -6
- package/src/ui5-boot.js +50 -0
- package/src/ui5loader-autoconfig.js +147 -75
- package/src/ui5loader.js +320 -360
- package/test/sap/ui/core/Device.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
- package/test/sap/ui/core/qunit/Theming.qunit.js +19 -1
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +80 -10
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +15 -13
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +35 -12
- package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +71 -35
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +1 -1
- package/test/sap/ui/core/qunit/component/Models.qunit.js +5 -2
- package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +48 -13
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +73 -103
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
- package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
- package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
- package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +232 -37
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +10 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +33 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +5 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +186 -65
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +17 -66
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +528 -60
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +48 -8
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +148 -1
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +196 -404
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +201 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +21 -4
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
- package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +2 -2
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1222 -1201
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
- package/test/sap/ui/core/relnotes/changes-1.116.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
- package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
- package/ui5.yaml +165 -0
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
- /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
|
@@ -87,7 +87,8 @@ sap.ui.define([
|
|
|
87
87
|
sharedRequests : true,
|
|
88
88
|
supportReferences : true,
|
|
89
89
|
synchronizationMode : true,
|
|
90
|
-
updateGroupId : true
|
|
90
|
+
updateGroupId : true,
|
|
91
|
+
withCredentials : true
|
|
91
92
|
},
|
|
92
93
|
// system query options allowed in mParameters
|
|
93
94
|
aSystemQueryOptions = ["$apply", "$count", "$expand", "$filter", "$orderby", "$search",
|
|
@@ -174,12 +175,16 @@ sap.ui.define([
|
|
|
174
175
|
* (Controls synchronization between different bindings which refer to the same data for
|
|
175
176
|
* the case data changes in one binding. Must be set to 'None' which means bindings are
|
|
176
177
|
* not synchronized at all; all other values are not supported and lead to an error.)
|
|
177
|
-
* <b>deprecated:</b> As of
|
|
178
|
+
* <b>deprecated:</b> As of Version 1.110.0, this parameter is optional; see also
|
|
178
179
|
* {@link topic:648e360fa22d46248ca783dc6eb44531 Data Reuse}
|
|
179
180
|
* @param {string} [mParameters.updateGroupId]
|
|
180
181
|
* The group ID that is used for update requests. If no update group ID is specified,
|
|
181
182
|
* <code>mParameters.groupId</code> is used. Valid update group IDs are
|
|
182
183
|
* <code>undefined</code>, '$auto', '$direct' or an application group ID.
|
|
184
|
+
* @param {boolean} [mParameters.withCredentials]
|
|
185
|
+
* Whether the XMLHttpRequest is called with <code>withCredentials</code>, so that user
|
|
186
|
+
* credentials are included in cross-origin requests by the browser (@experimental as of
|
|
187
|
+
* Version 1.117.0)
|
|
183
188
|
* @throws {Error} If an unsupported synchronization mode is given, if the given service
|
|
184
189
|
* root URL does not end with a forward slash, if an unsupported parameter is given, if
|
|
185
190
|
* OData system query options or parameter aliases are specified as parameters, if an
|
|
@@ -228,7 +233,7 @@ sap.ui.define([
|
|
|
228
233
|
* @extends sap.ui.model.Model
|
|
229
234
|
* @public
|
|
230
235
|
* @since 1.37.0
|
|
231
|
-
* @version 1.
|
|
236
|
+
* @version 1.117.1
|
|
232
237
|
*/
|
|
233
238
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
234
239
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -347,7 +352,8 @@ sap.ui.define([
|
|
|
347
352
|
mQueryParams = Object.assign({}, mUriParameters, mParameters.metadataUrlParams);
|
|
348
353
|
this.oMetaModel = new ODataMetaModel(
|
|
349
354
|
_MetadataRequestor.create(this.mMetadataHeaders, sODataVersion,
|
|
350
|
-
mParameters.ignoreAnnotationsFromMetadata, mQueryParams
|
|
355
|
+
mParameters.ignoreAnnotationsFromMetadata, mQueryParams,
|
|
356
|
+
mParameters.withCredentials),
|
|
351
357
|
this.sServiceUrl + "$metadata", mParameters.annotationURI, this,
|
|
352
358
|
mParameters.supportReferences, mQueryParams["sap-language"]);
|
|
353
359
|
this.oInterface = {
|
|
@@ -377,7 +383,7 @@ sap.ui.define([
|
|
|
377
383
|
}
|
|
378
384
|
};
|
|
379
385
|
this.oRequestor = _Requestor.create(this.sServiceUrl, this.oInterface, this.mHeaders,
|
|
380
|
-
mUriParameters, sODataVersion);
|
|
386
|
+
mUriParameters, sODataVersion, mParameters.withCredentials);
|
|
381
387
|
this.changeHttpHeaders(mParameters.httpHeaders);
|
|
382
388
|
this.bEarlyRequests = mParameters.earlyRequests;
|
|
383
389
|
if (this.bEarlyRequests) {
|
|
@@ -457,12 +463,12 @@ sap.ui.define([
|
|
|
457
463
|
* the entity is also available.
|
|
458
464
|
*
|
|
459
465
|
* @param {sap.ui.base.Event} oEvent
|
|
460
|
-
* @param {object} oEvent.getParameters
|
|
461
|
-
* @param {object} [oEvent.getParameters
|
|
466
|
+
* @param {object} oEvent.getParameters
|
|
467
|
+
* @param {object} [oEvent.getParameters.data]
|
|
462
468
|
* An empty data object if a back-end request succeeds
|
|
463
|
-
* @param {Error} [oEvent.getParameters
|
|
469
|
+
* @param {Error} [oEvent.getParameters.error]
|
|
464
470
|
* The error object if a back-end request failed.
|
|
465
|
-
* @param {string} [oEvent.getParameters
|
|
471
|
+
* @param {string} [oEvent.getParameters.path]
|
|
466
472
|
* The absolute path to the entity which caused the event. The path is only provided for
|
|
467
473
|
* additional property requests; for other requests it is <code>undefined</code>.
|
|
468
474
|
*
|
|
@@ -499,8 +505,8 @@ sap.ui.define([
|
|
|
499
505
|
* </ul>
|
|
500
506
|
*
|
|
501
507
|
* @param {sap.ui.base.Event} oEvent
|
|
502
|
-
* @param {object} oEvent.getParameters
|
|
503
|
-
* @param {string} [oEvent.getParameters
|
|
508
|
+
* @param {object} oEvent.getParameters
|
|
509
|
+
* @param {string} [oEvent.getParameters.path]
|
|
504
510
|
* The absolute path to the entity which caused the event. The path is only provided for
|
|
505
511
|
* additional property requests; for other requests it is <code>undefined</code>.
|
|
506
512
|
*
|
|
@@ -528,20 +534,20 @@ sap.ui.define([
|
|
|
528
534
|
* not user input.
|
|
529
535
|
*
|
|
530
536
|
* @param {sap.ui.base.Event} oEvent
|
|
531
|
-
* @param {object} oEvent.getParameters
|
|
532
|
-
* @param {sap.ui.model.Context} [oEvent.getParameters
|
|
537
|
+
* @param {object} oEvent.getParameters
|
|
538
|
+
* @param {sap.ui.model.Context} [oEvent.getParameters.context]
|
|
533
539
|
* The property binding's {@link sap.ui.model.Binding#getContext context}, if available
|
|
534
|
-
* @param {string} oEvent.getParameters
|
|
540
|
+
* @param {string} oEvent.getParameters.path
|
|
535
541
|
* The property binding's {@link sap.ui.model.Binding#getPath path}
|
|
536
|
-
* @param {Promise} [oEvent.getParameters
|
|
542
|
+
* @param {Promise<void>} [oEvent.getParameters.promise]
|
|
537
543
|
* A promise on the outcome of the PATCH request, much like
|
|
538
544
|
* {@link sap.ui.model.odata.v4.Context#setProperty} provides it for
|
|
539
545
|
* <code>bRetry === true</code>; missing in case there is no PATCH
|
|
540
|
-
* @param {sap.ui.model.ChangeReason} oEvent.getParameters
|
|
546
|
+
* @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
|
|
541
547
|
* The reason for the property change: always <code>sap.ui.model.ChangeReason.Binding</code>
|
|
542
|
-
* @param {string} oEvent.getParameters
|
|
548
|
+
* @param {string} oEvent.getParameters.resolvedPath
|
|
543
549
|
* The property binding's {@link sap.ui.model.Binding#getResolvedPath resolved path}
|
|
544
|
-
* @param {any} oEvent.getParameters
|
|
550
|
+
* @param {any} oEvent.getParameters.value
|
|
545
551
|
* The property binding's new
|
|
546
552
|
* {@link sap.ui.model.odata.v4.ODataPropertyBinding#getValue value}
|
|
547
553
|
*
|
|
@@ -1500,10 +1506,10 @@ sap.ui.define([
|
|
|
1500
1506
|
* If <code>true</code>, deletion fails if the entity does not exist (HTTP status code 404 or
|
|
1501
1507
|
* 412 due to the <code>If-Match: *</code> header); otherwise we assume that it has already
|
|
1502
1508
|
* been deleted by someone else and report success
|
|
1503
|
-
* @returns {Promise}
|
|
1504
|
-
* A promise
|
|
1505
|
-
* otherwise. In the latter case the HTTP status code of the
|
|
1506
|
-
* property <code>status</code>.
|
|
1509
|
+
* @returns {Promise<void>}
|
|
1510
|
+
* A promise which is resolved without a defined result when the delete succeeded, or rejected
|
|
1511
|
+
* with an instance of Error otherwise. In the latter case the HTTP status code of the
|
|
1512
|
+
* response is given in the error's property <code>status</code>.
|
|
1507
1513
|
* @throws {Error} If
|
|
1508
1514
|
* <ul>
|
|
1509
1515
|
* <li> the path does not start with a '/',
|
|
@@ -1545,6 +1551,7 @@ sap.ui.define([
|
|
|
1545
1551
|
).catch(function (oError) {
|
|
1546
1552
|
if (bRejectIfNotFound
|
|
1547
1553
|
|| !(oError.status === 404 || bInAllBindings && oError.status === 412)) {
|
|
1554
|
+
that.reportError("Failed to delete " + aResults[0], sClassName, oError);
|
|
1548
1555
|
throw oError;
|
|
1549
1556
|
} // else: map 404/412 to 204
|
|
1550
1557
|
}).then(function () {
|
|
@@ -2521,7 +2528,7 @@ sap.ui.define([
|
|
|
2521
2528
|
*
|
|
2522
2529
|
* @param {sap.ui.model.odata.v4.Context} oEntityContext
|
|
2523
2530
|
* A context in this model which must point to a non-contained OData entity
|
|
2524
|
-
* @returns {Promise}
|
|
2531
|
+
* @returns {Promise<string>}
|
|
2525
2532
|
* A promise which is resolved with the canonical path (e.g. "/SalesOrderList('0500000000')")
|
|
2526
2533
|
* in case of success, or rejected with an instance of <code>Error</code> in case of failure,
|
|
2527
2534
|
* e.g. when the given context does not point to an entity
|
|
@@ -2566,8 +2573,8 @@ sap.ui.define([
|
|
|
2566
2573
|
* The absolute paths to request side effects for; each path must not start with the fully
|
|
2567
2574
|
* qualified container name.
|
|
2568
2575
|
* @returns {sap.ui.base.SyncPromise|undefined}
|
|
2569
|
-
* A promise
|
|
2570
|
-
* effects fails, or <code>undefined</code> if there is nothing to do
|
|
2576
|
+
* A promise which is resolved without a defined result, or rejected with an error if loading
|
|
2577
|
+
* of side effects fails, or <code>undefined</code> if there is nothing to do
|
|
2571
2578
|
*
|
|
2572
2579
|
* @private
|
|
2573
2580
|
*/
|
|
@@ -2785,8 +2792,8 @@ sap.ui.define([
|
|
|
2785
2792
|
*
|
|
2786
2793
|
* @param {string} sGroupId
|
|
2787
2794
|
* A valid group ID as specified in {@link sap.ui.model.odata.v4.ODataModel}.
|
|
2788
|
-
* @returns {Promise<
|
|
2789
|
-
* A promise on the outcome of the HTTP request
|
|
2795
|
+
* @returns {Promise<void>}
|
|
2796
|
+
* A promise which is resolved without a defined result on the outcome of the HTTP request, or
|
|
2790
2797
|
* rejected with an error if the batch request itself fails
|
|
2791
2798
|
* @throws {Error}
|
|
2792
2799
|
* If the given group ID is not a valid group ID or has
|
|
@@ -2853,10 +2860,12 @@ sap.ui.define([
|
|
|
2853
2860
|
/**
|
|
2854
2861
|
* Cleans up the optimistic batch cache to a given point in time.
|
|
2855
2862
|
*
|
|
2856
|
-
* @param {Date} [dOlderThan]
|
|
2857
|
-
*
|
|
2858
|
-
*
|
|
2859
|
-
*
|
|
2863
|
+
* @param {Date} [dOlderThan]
|
|
2864
|
+
* The point in time from which on older cache entries are deleted. If not supplied, all
|
|
2865
|
+
* optimistic batch entries are deleted.
|
|
2866
|
+
* @returns {Promise<void>}
|
|
2867
|
+
* A promise which is resolved without a defined result, or rejected with an error if
|
|
2868
|
+
* deletion fails.
|
|
2860
2869
|
*
|
|
2861
2870
|
* @experimental As of version 1.102.0
|
|
2862
2871
|
* @private
|
|
@@ -459,9 +459,10 @@ sap.ui.define([
|
|
|
459
459
|
* parent context changed.
|
|
460
460
|
*
|
|
461
461
|
* @returns {sap.ui.base.SyncPromise}
|
|
462
|
-
* A promise
|
|
463
|
-
* case of an error
|
|
464
|
-
* @throws {Error}
|
|
462
|
+
* A promise which is resolved without a defined result when the check is finished, or
|
|
463
|
+
* rejected in case of an error
|
|
464
|
+
* @throws {Error}
|
|
465
|
+
* If called with parameters
|
|
465
466
|
*
|
|
466
467
|
* @private
|
|
467
468
|
*/
|
|
@@ -1257,8 +1258,8 @@ sap.ui.define([
|
|
|
1257
1258
|
* The context for which to request side effects; if this parameter is missing or if it is the
|
|
1258
1259
|
* header context of a list binding, the whole binding is affected
|
|
1259
1260
|
* @returns {sap.ui.base.SyncPromise}
|
|
1260
|
-
* A promise
|
|
1261
|
-
* effects fails
|
|
1261
|
+
* A promise which is resolved without a defined result, or rejected with an error if loading
|
|
1262
|
+
* of side effects fails
|
|
1262
1263
|
* @throws {Error}
|
|
1263
1264
|
* If this binding does not use own data service requests or if the binding's root binding is
|
|
1264
1265
|
* suspended and the given group ID is not the binding's group
|
|
@@ -1412,7 +1413,8 @@ sap.ui.define([
|
|
|
1412
1413
|
* Note: Some API calls are not allowed as long as the binding is in suspended mode, hence the
|
|
1413
1414
|
* returned promise can be used to get the point in time when these APIs can be called again.
|
|
1414
1415
|
*
|
|
1415
|
-
* @returns {Promise}
|
|
1416
|
+
* @returns {Promise<void>}
|
|
1417
|
+
* A promise which is resolved without a defined result when the binding is resumed.
|
|
1416
1418
|
* @throws {Error}
|
|
1417
1419
|
* If this binding is relative to an {@link sap.ui.model.odata.v4.Context} or if it is an
|
|
1418
1420
|
* operation binding or if it is not suspended
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.117.1
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -117,8 +117,8 @@ sap.ui.define([
|
|
|
117
117
|
* change reason as parameter.
|
|
118
118
|
*
|
|
119
119
|
* @param {sap.ui.base.Event} oEvent
|
|
120
|
-
* @param {object} oEvent.getParameters
|
|
121
|
-
* @param {sap.ui.model.ChangeReason} oEvent.getParameters
|
|
120
|
+
* @param {object} oEvent.getParameters
|
|
121
|
+
* @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
|
|
122
122
|
* The reason for the 'change' event could be
|
|
123
123
|
* <ul>
|
|
124
124
|
* <li> {@link sap.ui.model.ChangeReason.Change Change} when the binding is initialized,
|
|
@@ -154,10 +154,10 @@ sap.ui.define([
|
|
|
154
154
|
* 'error' event parameter.
|
|
155
155
|
*
|
|
156
156
|
* @param {sap.ui.base.Event} oEvent
|
|
157
|
-
* @param {object} oEvent.getParameters
|
|
158
|
-
* @param {object} [oEvent.getParameters
|
|
157
|
+
* @param {object} oEvent.getParameters
|
|
158
|
+
* @param {object} [oEvent.getParameters.data]
|
|
159
159
|
* An empty data object if a back-end request succeeds
|
|
160
|
-
* @param {Error} [oEvent.getParameters
|
|
160
|
+
* @param {Error} [oEvent.getParameters.error] The error object if a back-end request failed.
|
|
161
161
|
* If there are multiple failed back-end requests, the error of the first one is provided.
|
|
162
162
|
*
|
|
163
163
|
* @event sap.ui.model.odata.v4.ODataPropertyBinding#dataReceived
|
|
@@ -234,10 +234,10 @@ sap.ui.define([
|
|
|
234
234
|
* @param {any} [vValue]
|
|
235
235
|
* The new value obtained from the cache, see {@link #onChange}
|
|
236
236
|
* @returns {sap.ui.base.SyncPromise}
|
|
237
|
-
* A promise
|
|
238
|
-
* case of an error. If the cache is no longer the active cache when the response
|
|
239
|
-
* that response is ignored almost silently (that is, with a canceled error) and the
|
|
240
|
-
* remains unchanged.
|
|
237
|
+
* A promise which is resolved without a defined result when the check is finished, or
|
|
238
|
+
* rejected in case of an error. If the cache is no longer the active cache when the response
|
|
239
|
+
* arrives, that response is ignored almost silently (that is, with a canceled error) and the
|
|
240
|
+
* value remains unchanged.
|
|
241
241
|
*
|
|
242
242
|
* @private
|
|
243
243
|
* @see sap.ui.model.PropertyBinding#checkDataState
|
|
@@ -539,8 +539,8 @@ sap.ui.define([
|
|
|
539
539
|
* Requests the value of the property binding.
|
|
540
540
|
*
|
|
541
541
|
* @returns {Promise<any|undefined>}
|
|
542
|
-
* A promise
|
|
543
|
-
* determined, or
|
|
542
|
+
* A promise resolved with the resulting value or <code>undefined</code> if it could not be
|
|
543
|
+
* determined, or rejected in case of an error
|
|
544
544
|
*
|
|
545
545
|
* @public
|
|
546
546
|
* @since 1.69
|
|
@@ -560,7 +560,7 @@ sap.ui.define([
|
|
|
560
560
|
* The value of the parameter <code>autoExpandSelect</code> for value list models created by
|
|
561
561
|
* this method. If the value list model is this binding's model, this flag has no effect.
|
|
562
562
|
* Supported since 1.68.0
|
|
563
|
-
* @returns {Promise}
|
|
563
|
+
* @returns {Promise<Object<object>>}
|
|
564
564
|
* See {@link sap.ui.model.odata.v4.ODataMetaModel#requestValueListInfo}
|
|
565
565
|
* @throws {Error}
|
|
566
566
|
* If the binding is unresolved (see {@link sap.ui.model.Binding#isResolved})
|
|
@@ -581,7 +581,7 @@ sap.ui.define([
|
|
|
581
581
|
/**
|
|
582
582
|
* Determines which type of value list exists for this property.
|
|
583
583
|
*
|
|
584
|
-
* @returns {Promise}
|
|
584
|
+
* @returns {Promise<sap.ui.model.odata.v4.ValueListType>}
|
|
585
585
|
* A promise that is resolved with the type of the value list. It is rejected if the property
|
|
586
586
|
* cannot be found in the metadata.
|
|
587
587
|
* @throws {Error}
|
|
@@ -117,8 +117,11 @@ sap.ui.define([
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
// make _AggregationCache a _Cache
|
|
120
|
+
// make _AggregationCache a _Cache, but actively disinherit some critical methods
|
|
121
121
|
_AggregationCache.prototype = Object.create(_Cache.prototype);
|
|
122
|
+
_AggregationCache.prototype._delete = null;
|
|
123
|
+
_AggregationCache.prototype.addTransientCollection = null;
|
|
124
|
+
_AggregationCache.prototype.getAndRemoveValue = null;
|
|
122
125
|
|
|
123
126
|
/**
|
|
124
127
|
* Copies the given elements from a cache read into <code>this.aElements</code>.
|
|
@@ -149,7 +152,8 @@ sap.ui.define([
|
|
|
149
152
|
function addElement(oElement, i) {
|
|
150
153
|
var oOldElement = aElements[iOffset + i],
|
|
151
154
|
oKeptElement,
|
|
152
|
-
sPredicate = _Helper.getPrivateAnnotation(oElement, "
|
|
155
|
+
sPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate")
|
|
156
|
+
|| _Helper.getPrivateAnnotation(oElement, "predicate");
|
|
153
157
|
|
|
154
158
|
if (oOldElement) { // check before overwriting
|
|
155
159
|
if (oOldElement === oElement) {
|
|
@@ -295,6 +299,86 @@ sap.ui.define([
|
|
|
295
299
|
return iCount;
|
|
296
300
|
};
|
|
297
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Creates a transient node with the parent identified by "@$ui5.node.parent", inserts it into
|
|
304
|
+
* the hierarchy at the appropriate position, and adds a POST request to the batch
|
|
305
|
+
* group with the given ID. See {@link sap.ui.model.odata.v4.lib._Cache#create} for more.
|
|
306
|
+
*
|
|
307
|
+
* @param {sap.ui.model.odata.v4.lib._GroupLock} oGroupLock
|
|
308
|
+
* A lock for the group ID
|
|
309
|
+
* @param {sap.ui.base.SyncPromise} oPostPathPromise
|
|
310
|
+
* A SyncPromise resolving with the resource path for the POST request
|
|
311
|
+
* @param {string} sPath
|
|
312
|
+
* The collection's path within the cache (as used by change listeners)
|
|
313
|
+
* @param {string} sTransientPredicate
|
|
314
|
+
* A (temporary) key predicate for the transient entity: "($uid=...)"
|
|
315
|
+
* @param {object} oEntityData
|
|
316
|
+
* The initial entity data, already cloned and cleaned of client-side annotations (except
|
|
317
|
+
* "@$ui5.node.parent" which contains the OData ID string needed for "...@odata.bind")
|
|
318
|
+
* @param {boolean} bAtEndOfCreated
|
|
319
|
+
* Whether the newly created entity should be inserted after previously created entities or at
|
|
320
|
+
* the front of the list.
|
|
321
|
+
* @param {function} fnErrorCallback
|
|
322
|
+
* A function which is called with an error object each time a POST request for the create
|
|
323
|
+
* fails
|
|
324
|
+
* @param {function} fnSubmitCallback
|
|
325
|
+
* A function which is called just before a POST request for the create is sent
|
|
326
|
+
* @returns {sap.ui.base.SyncPromise}
|
|
327
|
+
* A promise which is resolved with the created entity when the POST request has been
|
|
328
|
+
* successfully sent and the entity has been marked as non-transient
|
|
329
|
+
* @throws {Error}
|
|
330
|
+
* If <code>this.oAggregation.expandTo > 1</code>, <code>bAtEndOfCreated</code> is set, or the
|
|
331
|
+
* parent is collapsed
|
|
332
|
+
*
|
|
333
|
+
* @public
|
|
334
|
+
*/
|
|
335
|
+
// @override sap.ui.model.odata.v4.lib._Cache#create
|
|
336
|
+
_AggregationCache.prototype.create = function (oGroupLock, oPostPathPromise, sPath,
|
|
337
|
+
sTransientPredicate, oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback) {
|
|
338
|
+
if (this.oAggregation.expandTo > 1) {
|
|
339
|
+
throw new Error("Unsupported expandTo: " + this.oAggregation.expandTo);
|
|
340
|
+
}
|
|
341
|
+
if (bAtEndOfCreated) {
|
|
342
|
+
throw new Error("Unsupported bAtEndOfCreated");
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
const aElements = this.aElements;
|
|
346
|
+
const sParentPath = oEntityData["@$ui5.node.parent"];
|
|
347
|
+
const sParentPredicate = sParentPath.slice(sParentPath.indexOf("("));
|
|
348
|
+
const oParentNode = aElements.$byPredicate[sParentPredicate];
|
|
349
|
+
if (oParentNode["@$ui5.node.isExpanded"] === false) {
|
|
350
|
+
throw new Error("Unsupported collapsed parent: " + sParentPath);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
let oCache = _Helper.getPrivateAnnotation(oParentNode, "cache");
|
|
354
|
+
if (!oCache) {
|
|
355
|
+
oCache = this.createGroupLevelCache(oParentNode);
|
|
356
|
+
_Helper.setPrivateAnnotation(oParentNode, "cache", oCache);
|
|
357
|
+
_Helper.updateAll(this.mChangeListeners, sParentPredicate, oParentNode,
|
|
358
|
+
{"@$ui5.node.isExpanded" : true}); // not a leaf anymore
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
delete oEntityData["@$ui5.node.parent"];
|
|
362
|
+
const oResult = oCache.create(oGroupLock, oPostPathPromise, sPath, sTransientPredicate,
|
|
363
|
+
oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback);
|
|
364
|
+
// add @odata.bind to POST body only
|
|
365
|
+
_Helper.getPrivateAnnotation(oEntityData, "postBody")
|
|
366
|
+
[this.oAggregation.$ParentNavigationProperty + "@odata.bind"] = sParentPath;
|
|
367
|
+
oEntityData["@$ui5.node.level"] = oParentNode["@$ui5.node.level"] + 1;
|
|
368
|
+
|
|
369
|
+
const iIndex = aElements.indexOf(oParentNode) + 1;
|
|
370
|
+
aElements.splice(iIndex, 0, null); // create a gap
|
|
371
|
+
this.addElements(oEntityData, iIndex, oCache, 0);
|
|
372
|
+
aElements.$count += 1;
|
|
373
|
+
|
|
374
|
+
return oResult.then(function () {
|
|
375
|
+
aElements.$byPredicate[_Helper.getPrivateAnnotation(oEntityData, "predicate")]
|
|
376
|
+
= oEntityData;
|
|
377
|
+
|
|
378
|
+
return oEntityData;
|
|
379
|
+
});
|
|
380
|
+
};
|
|
381
|
+
|
|
298
382
|
/**
|
|
299
383
|
* Creates a cache for the children (next group level or leaves) of the given group node.
|
|
300
384
|
* Creates the first level cache if there is no group node.
|
|
@@ -795,9 +879,9 @@ sap.ui.define([
|
|
|
795
879
|
* @param {sap.ui.model.odata.v4.lib._GroupLock} oGroupLock
|
|
796
880
|
* A lock for the group to associate the requests with;
|
|
797
881
|
* {@link sap.ui.model.odata.v4.lib._GroupLock#getUnlockedCopy} still needs to be called!
|
|
798
|
-
* @returns {Promise
|
|
799
|
-
* A promise
|
|
800
|
-
* case of an error; <code>undefined</code> in case no count needs to be read
|
|
882
|
+
* @returns {Promise<void>|undefined}
|
|
883
|
+
* A promise which is resolved without a defined result when the read is finished, or
|
|
884
|
+
* rejected in case of an error; <code>undefined</code> in case no count needs to be read
|
|
801
885
|
* @throws {Error}
|
|
802
886
|
* If group ID is '$cached'. The error has a property <code>$cached = true</code>
|
|
803
887
|
*
|
|
@@ -848,8 +932,8 @@ sap.ui.define([
|
|
|
848
932
|
* The function is called just before a back-end request is sent.
|
|
849
933
|
* If no back-end request is needed, the function is not called.
|
|
850
934
|
* @returns {sap.ui.base.SyncPromise}
|
|
851
|
-
* A promise
|
|
852
|
-
* case of an error
|
|
935
|
+
* A promise which is resolved without a defined result when the read is finished, or
|
|
936
|
+
* rejected in case of an error
|
|
853
937
|
* @throws {Error} If given index or length is less than 0
|
|
854
938
|
*
|
|
855
939
|
* @private
|
|
@@ -920,8 +1004,8 @@ sap.ui.define([
|
|
|
920
1004
|
* The function is called just before a back-end request is sent.
|
|
921
1005
|
* If no back-end request is needed, the function is not called.
|
|
922
1006
|
* @returns {sap.ui.base.SyncPromise}
|
|
923
|
-
* A promise
|
|
924
|
-
* case of an error
|
|
1007
|
+
* A promise which is resolved without a defined result when the read is finished, or
|
|
1008
|
+
* rejected in case of an error
|
|
925
1009
|
* @throws {Error} If index of placeholder at start of gap is less than 0, or if end of gap is
|
|
926
1010
|
* before start
|
|
927
1011
|
*
|
|
@@ -407,9 +407,9 @@ sap.ui.define([
|
|
|
407
407
|
* Builds the value for a "$apply" system query option based on the given data aggregation
|
|
408
408
|
* information for a recursive hierarchy. If no query options are given, only a symbolic
|
|
409
409
|
* "$apply" is constructed to avoid timing issues with metadata. The property paths for
|
|
410
|
-
* DistanceFromRootProperty, DrillStateProperty, LimitedDescendantCountProperty,
|
|
411
|
-
* NodeProperty are stored at <code>oAggregation</code> using
|
|
412
|
-
* stored).
|
|
410
|
+
* DistanceFromRootProperty, DrillStateProperty, LimitedDescendantCountProperty,
|
|
411
|
+
* NodeProperty, and ParentNavigationProperty are stored at <code>oAggregation</code> using
|
|
412
|
+
* a "$" prefix (if not already stored).
|
|
413
413
|
*
|
|
414
414
|
* @param {object} oAggregation
|
|
415
415
|
* An object holding the information needed for a recursive hierarchy; see
|
|
@@ -438,25 +438,17 @@ sap.ui.define([
|
|
|
438
438
|
* @public
|
|
439
439
|
*/
|
|
440
440
|
buildApply4Hierarchy : function (oAggregation, mQueryOptions, bAllLevels) {
|
|
441
|
-
|
|
442
|
-
sHierarchyQualifier = oAggregation.hierarchyQualifier,
|
|
443
|
-
sMetaPath = oAggregation.$metaPath,
|
|
444
|
-
sNodeProperty = oAggregation.$NodeProperty,
|
|
445
|
-
sPath = oAggregation.$path,
|
|
446
|
-
mRecursiveHierarchy,
|
|
447
|
-
sSeparator = "",
|
|
448
|
-
oSyncPromise;
|
|
441
|
+
let mRecursiveHierarchy; // cache it on 1st access
|
|
449
442
|
|
|
450
443
|
function select(sProperty) {
|
|
451
|
-
var sPropertyPath;
|
|
452
|
-
|
|
453
444
|
if (mQueryOptions.$select) {
|
|
454
|
-
sPropertyPath = oAggregation["$" + sProperty];
|
|
445
|
+
let sPropertyPath = oAggregation["$" + sProperty];
|
|
455
446
|
if (!sPropertyPath) {
|
|
456
447
|
if (!mRecursiveHierarchy) {
|
|
457
|
-
mRecursiveHierarchy = oAggregation.$fetchMetadata(
|
|
458
|
-
|
|
459
|
-
|
|
448
|
+
mRecursiveHierarchy = oAggregation.$fetchMetadata(oAggregation.$metaPath
|
|
449
|
+
+ "/@com.sap.vocabularies.Hierarchy.v1.RecursiveHierarchy#"
|
|
450
|
+
+ oAggregation.hierarchyQualifier
|
|
451
|
+
).getResult();
|
|
460
452
|
}
|
|
461
453
|
|
|
462
454
|
sPropertyPath = oAggregation["$" + sProperty]
|
|
@@ -466,14 +458,18 @@ sap.ui.define([
|
|
|
466
458
|
}
|
|
467
459
|
}
|
|
468
460
|
|
|
461
|
+
let sNodeProperty = oAggregation.$NodeProperty;
|
|
469
462
|
if (!sNodeProperty) {
|
|
470
463
|
sNodeProperty = "???";
|
|
471
464
|
if (mQueryOptions) {
|
|
472
|
-
oSyncPromise = oAggregation.$fetchMetadata(
|
|
473
|
-
+ "/@Org.OData.Aggregation.V1.RecursiveHierarchy#"
|
|
474
|
-
+
|
|
465
|
+
const oSyncPromise = oAggregation.$fetchMetadata(oAggregation.$metaPath
|
|
466
|
+
+ "/@Org.OData.Aggregation.V1.RecursiveHierarchy#"
|
|
467
|
+
+ oAggregation.hierarchyQualifier);
|
|
475
468
|
if (oSyncPromise.isFulfilled()) {
|
|
476
|
-
sNodeProperty = oAggregation.$NodeProperty
|
|
469
|
+
sNodeProperty = oAggregation.$NodeProperty
|
|
470
|
+
= oSyncPromise.getResult().NodeProperty.$PropertyPath;
|
|
471
|
+
oAggregation.$ParentNavigationProperty = oSyncPromise.getResult()
|
|
472
|
+
.ParentNavigationProperty.$NavigationPropertyPath;
|
|
477
473
|
}
|
|
478
474
|
}
|
|
479
475
|
}
|
|
@@ -486,7 +482,9 @@ sap.ui.define([
|
|
|
486
482
|
}
|
|
487
483
|
}
|
|
488
484
|
|
|
485
|
+
let sApply = "";
|
|
489
486
|
if (mQueryOptions.$filter || oAggregation.search) {
|
|
487
|
+
let sSeparator = "";
|
|
490
488
|
if (mQueryOptions.$filter) {
|
|
491
489
|
sApply = "filter(" + mQueryOptions.$filter;
|
|
492
490
|
sSeparator = ")/";
|
|
@@ -495,15 +493,15 @@ sap.ui.define([
|
|
|
495
493
|
if (oAggregation.search) {
|
|
496
494
|
sApply += sSeparator + "search(" + oAggregation.search;
|
|
497
495
|
}
|
|
498
|
-
sApply = "ancestors($root" +
|
|
499
|
-
+ "," +
|
|
496
|
+
sApply = "ancestors($root" + oAggregation.$path
|
|
497
|
+
+ "," + oAggregation.hierarchyQualifier
|
|
500
498
|
+ "," + sNodeProperty
|
|
501
499
|
+ "," + sApply
|
|
502
500
|
+ "),keep start)/";
|
|
503
501
|
}
|
|
504
502
|
if (mQueryOptions.$$filterBeforeAggregate) { // children of a given parent
|
|
505
|
-
sApply += "descendants($root" +
|
|
506
|
-
+ "," + sNodeProperty
|
|
503
|
+
sApply += "descendants($root" + oAggregation.$path
|
|
504
|
+
+ "," + oAggregation.hierarchyQualifier + "," + sNodeProperty
|
|
507
505
|
+ ",filter(" + mQueryOptions.$$filterBeforeAggregate + "),1)";
|
|
508
506
|
delete mQueryOptions.$$filterBeforeAggregate;
|
|
509
507
|
if (mQueryOptions.$orderby) {
|
|
@@ -516,8 +514,8 @@ sap.ui.define([
|
|
|
516
514
|
delete mQueryOptions.$orderby;
|
|
517
515
|
}
|
|
518
516
|
sApply += "com.sap.vocabularies.Hierarchy.v1.TopLevels(HierarchyNodes=$root"
|
|
519
|
-
+ (
|
|
520
|
-
+ ",HierarchyQualifier='" +
|
|
517
|
+
+ (oAggregation.$path || "")
|
|
518
|
+
+ ",HierarchyQualifier='" + oAggregation.hierarchyQualifier
|
|
521
519
|
+ "',NodeProperty='" + sNodeProperty
|
|
522
520
|
+ "',Levels=" + (bAllLevels ? 999 : oAggregation.expandTo || 1)
|
|
523
521
|
+ ")";
|