@openui5/sap.ui.core 1.118.0 → 1.119.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 +9 -0
- package/THIRDPARTY.txt +2 -2
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/Localization.js +16 -1
- package/src/sap/base/i18n/ResourceBundle.js +5 -0
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/UriParameters.js +26 -19
- 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/BindingInfo.js +25 -3
- package/src/sap/ui/base/Event.js +1 -1
- 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 -2
- package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
- package/src/sap/ui/base/Metadata.js +3 -3
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +1 -1
- package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +68 -51
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +15 -167
- package/src/sap/ui/core/Control.js +2 -2
- package/src/sap/ui/core/Core.js +162 -93
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +40 -4
- 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 +19 -2
- package/src/sap/ui/core/FocusHandler.js +3 -24
- package/src/sap/ui/core/Fragment.js +2 -2
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +2 -2
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +11 -4
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +42 -42
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +4 -4
- package/src/sap/ui/core/Messaging.js +4 -5
- package/src/sap/ui/core/Popup.js +3 -3
- package/src/sap/ui/core/RenderManager.js +15 -10
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +1 -0
- package/src/sap/ui/core/ResizeHandler.js +15 -20
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +5 -5
- package/src/sap/ui/core/StashedControlSupport.js +4 -4
- package/src/sap/ui/core/StaticArea.js +66 -74
- package/src/sap/ui/core/Theming.js +71 -8
- 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 +10 -9
- package/src/sap/ui/core/UIComponent.js +2 -2
- 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 +4 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +2 -0
- package/src/sap/ui/core/cache/CacheManager.js +22 -16
- package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
- 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 +6 -6
- package/src/sap/ui/core/dnd/DragInfo.js +4 -4
- package/src/sap/ui/core/dnd/DropInfo.js +6 -6
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +64 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +14 -9
- package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
- package/src/sap/ui/core/message/Message.js +14 -13
- package/src/sap/ui/core/message/MessageManager.js +12 -13
- package/src/sap/ui/core/message/MessageMixin.js +2 -2
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +2 -2
- package/src/sap/ui/core/message/MessageType.js +4 -4
- package/src/sap/ui/core/messagebundle_ar.properties +2 -2
- package/src/sap/ui/core/messagebundle_bg.properties +3 -3
- package/src/sap/ui/core/messagebundle_ca.properties +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +4 -4
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_da.properties +3 -3
- package/src/sap/ui/core/messagebundle_de.properties +2 -2
- package/src/sap/ui/core/messagebundle_el.properties +10 -10
- package/src/sap/ui/core/messagebundle_en.properties +4 -4
- package/src/sap/ui/core/messagebundle_es.properties +17 -17
- package/src/sap/ui/core/messagebundle_fi.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +21 -21
- package/src/sap/ui/core/messagebundle_hi.properties +2 -2
- package/src/sap/ui/core/messagebundle_hr.properties +6 -6
- package/src/sap/ui/core/messagebundle_hu.properties +10 -10
- package/src/sap/ui/core/messagebundle_id.properties +5 -5
- package/src/sap/ui/core/messagebundle_it.properties +57 -57
- package/src/sap/ui/core/messagebundle_iw.properties +5 -5
- package/src/sap/ui/core/messagebundle_kk.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +6 -6
- package/src/sap/ui/core/messagebundle_lv.properties +5 -5
- package/src/sap/ui/core/messagebundle_ms.properties +5 -5
- package/src/sap/ui/core/messagebundle_nl.properties +12 -12
- package/src/sap/ui/core/messagebundle_no.properties +8 -8
- package/src/sap/ui/core/messagebundle_pl.properties +2 -2
- package/src/sap/ui/core/messagebundle_pt.properties +8 -8
- package/src/sap/ui/core/messagebundle_ro.properties +2 -2
- package/src/sap/ui/core/messagebundle_ru.properties +7 -7
- package/src/sap/ui/core/messagebundle_sk.properties +2 -2
- package/src/sap/ui/core/messagebundle_sl.properties +9 -9
- package/src/sap/ui/core/messagebundle_sv.properties +8 -8
- package/src/sap/ui/core/messagebundle_th.properties +18 -18
- package/src/sap/ui/core/messagebundle_tr.properties +5 -5
- package/src/sap/ui/core/messagebundle_uk.properties +8 -8
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -2
- package/src/sap/ui/core/messagebundle_zh_TW.properties +24 -24
- 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 +3 -3
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -3
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/async/Target.js +5 -4
- package/src/sap/ui/core/routing/sync/Target.js +3 -3
- package/src/sap/ui/core/rules/App.support.js +30 -1
- package/src/sap/ui/core/rules/Config.support.js +4 -0
- package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
- package/src/sap/ui/core/rules/Theming.support.js +4 -0
- 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 +5 -3
- package/src/sap/ui/core/support/ToolsAPI.js +8 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -4
- package/src/sap/ui/core/support/plugins/ControlTree.js +31 -13
- 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 +2 -2
- 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 +6 -4
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -2
- package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
- package/src/sap/ui/core/themes/base/base.less +275 -269
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +8 -8
- package/src/sap/ui/core/theming/Parameters.js +4 -5
- package/src/sap/ui/core/theming/ThemeHelper.js +0 -1
- package/src/sap/ui/core/theming/ThemeManager.js +15 -14
- 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 +4 -2
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +27 -4
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +3 -3
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +5 -5
- package/src/sap/ui/debug/DebugEnv.js +15 -6
- package/src/sap/ui/debug/PropertyList.js +3 -3
- package/src/sap/ui/dom/jquery/control.js +3 -4
- package/src/sap/ui/events/F6Navigation.js +2 -1
- package/src/sap/ui/model/ClientModel.js +33 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +17 -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/Filter.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/json/JSONModel.js +2 -3
- package/src/sap/ui/model/message/MessageModel.js +3 -7
- 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/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 -2
- 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 +2 -3
- 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 +13 -5
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +85 -56
- package/src/sap/ui/model/odata/v2/ODataModel.js +20 -15
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +60 -10
- package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +159 -34
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +94 -24
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +10 -10
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +10 -13
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +105 -25
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +83 -24
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -20
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- 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 -2
- package/src/sap/ui/model/type/DateInterval.js +1 -2
- 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 +2 -2
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
- package/src/sap/ui/performance/BeaconRequest.js +8 -10
- package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/qunit/utils/waitForThemeApplied.js +16 -14
- package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/TestUtils.js +3 -3
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/Descendant.js +1 -1
- package/src/sap/ui/test/matchers/Sibling.js +1 -1
- package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
- package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
- package/src/sap/ui/util/Storage.js +1 -1
- package/test/sap/ui/core/HTMLControl.html +94 -93
- package/test/sap/ui/core/HyphenationPlayground.html +10 -9
- package/test/sap/ui/core/Strings.view.xml +5 -1
- package/test/sap/ui/core/ThemeParameters.html +31 -30
- package/test/sap/ui/core/ValidateURL.html +10 -10
- package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
- package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/OpaAction/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/TargetsStandalone/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/common/Controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/common/Helper.js +15 -2
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +3 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +4 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +9 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +7 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +5 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +4 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +29 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +30 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +33 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
- package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
- package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +40 -20
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
- package/test/sap/ui/core/qunit/Core.qunit.js +5 -4
- package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +119 -117
- package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
- package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
- package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
- package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
- package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -8
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +5 -4
- package/test/sap/ui/core/qunit/Fragment.qunit.js +12 -12
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +13 -12
- package/test/sap/ui/core/qunit/HTML.qunit.js +35 -35
- package/test/sap/ui/core/qunit/IconPool.qunit.js +6 -6
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +5 -4
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +3 -3
- package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +3 -3
- package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +9 -9
- package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
- package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +40 -372
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
- package/test/sap/ui/core/qunit/TooltipBase.qunit.js +3 -2
- package/test/sap/ui/core/qunit/UIArea.qunit.js +10 -10
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +4 -3
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
- package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
- package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +19 -4
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
- package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +6 -0
- package/test/sap/ui/core/qunit/component/Component.qunit.js +12 -0
- package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
- package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
- package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +8 -7
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +6 -5
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +8 -7
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +7 -6
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -4
- package/test/sap/ui/core/qunit/component/Metadata.qunit.js +3 -3
- package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +20 -4
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +5 -4
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
- package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +5 -5
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +4 -5
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
- package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +2 -4
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +5 -4
- package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
- package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +10 -5
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +6 -0
- package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +5 -4
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +7 -0
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
- package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -3
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +6 -5
- package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +4 -3
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +4 -3
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +6 -5
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +11 -7
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +35 -0
- package/test/sap/ui/core/qunit/odata/_AnnotationHelperBasics.qunit.js +10 -4
- package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +5 -0
- package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
- package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +422 -9
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +483 -33
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +121 -2
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +95 -8
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +59 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +355 -75
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +152 -19
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1253 -130
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +172 -17
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +185 -84
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +2 -22
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +6 -4
- package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +3 -2
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +4 -3
- package/test/sap/ui/core/qunit/rule/app/deprecatedJSViewUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +4 -1
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
- package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
- package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
- package/test/sap/ui/core/qunit/test/starter/find/main.js +11 -8
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +6 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +21 -2
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +26 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +30 -13
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +40 -16
- package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
- package/test/sap/ui/core/relnotes/changes-1.118.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
- package/test/sap/ui/core/resources/fastnav.js +3 -2
- package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
- package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
- package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +1 -1
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +3 -3
- package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
- package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
- package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
- package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
- package/test/sap/ui/core/terminologies/App.controller.js +3 -2
- package/test/sap/ui/core/terminologies/App.view.xml +64 -64
- package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
- package/test/sap/ui/core/util/PasteHelper.html +5 -4
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -135
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -229
- package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
- package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
- package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -290
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -290
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -280
- package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -154
- package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -103
- package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
- package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
- package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
- package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -128
- package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -158
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -141
- package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -195
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -148
- package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
- package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
- package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
- package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
|
@@ -792,8 +792,10 @@ sap.ui.define([
|
|
|
792
792
|
return SyncPromise.resolve(sResolvedChildPath);
|
|
793
793
|
}
|
|
794
794
|
|
|
795
|
+
// A binding w/o cache must skip this optimization and pass on to the parent binding;
|
|
796
|
+
// otherwise late properties might be missing later
|
|
795
797
|
oCanUseCachePromise = this.mCanUseCachePromiseByChildPath[sChildPath];
|
|
796
|
-
if (
|
|
798
|
+
if (bIsProperty && this.oCache !== null && oCanUseCachePromise) {
|
|
797
799
|
return oCanUseCachePromise.then(function (sOldReducedPath) {
|
|
798
800
|
if (!sOldReducedPath) {
|
|
799
801
|
return undefined;
|
|
@@ -905,7 +907,7 @@ sap.ui.define([
|
|
|
905
907
|
}
|
|
906
908
|
return sReducedPath;
|
|
907
909
|
});
|
|
908
|
-
if (bIsProperty && !oContext.getPath().includes("($uid=")) {
|
|
910
|
+
if (bIsProperty && this.oCache !== null && !oContext.getPath().includes("($uid=")) {
|
|
909
911
|
this.mCanUseCachePromiseByChildPath[sChildPath] = oCanUseCachePromise;
|
|
910
912
|
}
|
|
911
913
|
this.aChildCanUseCachePromises.push(oCanUseCachePromise);
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
//Provides class sap.ui.model.odata.v4.ODataPropertyBinding
|
|
8
8
|
sap.ui.define([
|
|
9
|
+
"./Context",
|
|
9
10
|
"./ODataBinding",
|
|
10
11
|
"./lib/_Cache",
|
|
11
12
|
"./lib/_Helper",
|
|
@@ -13,9 +14,8 @@ sap.ui.define([
|
|
|
13
14
|
"sap/ui/base/SyncPromise",
|
|
14
15
|
"sap/ui/model/BindingMode",
|
|
15
16
|
"sap/ui/model/ChangeReason",
|
|
16
|
-
"sap/ui/model/odata/v4/Context",
|
|
17
17
|
"sap/ui/model/PropertyBinding"
|
|
18
|
-
], function (asODataBinding, _Cache, _Helper, Log, SyncPromise, BindingMode, ChangeReason,
|
|
18
|
+
], function (Context, asODataBinding, _Cache, _Helper, Log, SyncPromise, BindingMode, ChangeReason,
|
|
19
19
|
PropertyBinding) {
|
|
20
20
|
"use strict";
|
|
21
21
|
/*eslint max-nested-callbacks: 0 */
|
|
@@ -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.119.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
|
|
@@ -118,8 +118,8 @@ sap.ui.define([
|
|
|
118
118
|
*
|
|
119
119
|
* @param {sap.ui.base.Event} oEvent
|
|
120
120
|
* The event object
|
|
121
|
-
* @param {
|
|
122
|
-
*
|
|
121
|
+
* @param {function():Object<any>} oEvent.getParameters
|
|
122
|
+
* Function which returns an object containing all event parameters
|
|
123
123
|
* @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
|
|
124
124
|
* The reason for the 'change' event could be
|
|
125
125
|
* <ul>
|
|
@@ -157,8 +157,8 @@ sap.ui.define([
|
|
|
157
157
|
*
|
|
158
158
|
* @param {sap.ui.base.Event} oEvent
|
|
159
159
|
* The event object
|
|
160
|
-
* @param {
|
|
161
|
-
*
|
|
160
|
+
* @param {function():Object<any>} oEvent.getParameters
|
|
161
|
+
* Function which returns an object containing all event parameters
|
|
162
162
|
* @param {object} [oEvent.getParameters.data]
|
|
163
163
|
* An empty data object if a back-end request succeeds
|
|
164
164
|
* @param {Error} [oEvent.getParameters.error] The error object if a back-end request failed.
|
|
@@ -368,12 +368,9 @@ sap.ui.define([
|
|
|
368
368
|
* @private
|
|
369
369
|
*/
|
|
370
370
|
ODataPropertyBinding.prototype.deregisterChangeListener = function () {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
oBinding.doDeregisterChangeListener(sPath, that);
|
|
375
|
-
}, /*sPath*/"", /*bSync*/false, /*bWithOrWithoutCache*/true)
|
|
376
|
-
.catch(this.oModel.getReporter());
|
|
371
|
+
if (this.sReducedPath) {
|
|
372
|
+
this.doDeregisterChangeListener(this.sReducedPath, this);
|
|
373
|
+
}
|
|
377
374
|
};
|
|
378
375
|
|
|
379
376
|
/**
|
|
@@ -14,8 +14,8 @@ sap.ui.define([
|
|
|
14
14
|
"./_MinMaxHelper",
|
|
15
15
|
"sap/base/Log",
|
|
16
16
|
"sap/ui/base/SyncPromise"
|
|
17
|
-
], function (_AggregationHelper, _Cache, _ConcatHelper, _GroupLock, _Helper, _MinMaxHelper,
|
|
18
|
-
|
|
17
|
+
], function (_AggregationHelper, _Cache, _ConcatHelper, _GroupLock, _Helper, _MinMaxHelper, Log,
|
|
18
|
+
SyncPromise) {
|
|
19
19
|
"use strict";
|
|
20
20
|
|
|
21
21
|
//*********************************************************************************************
|
|
@@ -120,7 +120,7 @@ sap.ui.define([
|
|
|
120
120
|
// make _AggregationCache a _Cache, but actively disinherit some critical methods
|
|
121
121
|
_AggregationCache.prototype = Object.create(_Cache.prototype);
|
|
122
122
|
_AggregationCache.prototype.addTransientCollection = null;
|
|
123
|
-
_AggregationCache.prototype.
|
|
123
|
+
_AggregationCache.prototype.getAndRemoveCollection = null;
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Deletes an entity on the server and in the cached data.
|
|
@@ -191,6 +191,7 @@ sap.ui.define([
|
|
|
191
191
|
iFlatIndex = iParentIndex + iIndex + 1;
|
|
192
192
|
this.restoreElement(this.aElements, iFlatIndex, oElement, "");
|
|
193
193
|
this.shiftIndex(iFlatIndex, iOffset);
|
|
194
|
+
_Helper.setPrivateAnnotation(oElement, "index", iIndex);
|
|
194
195
|
}
|
|
195
196
|
fnCallback(iFlatIndex, iOffset);
|
|
196
197
|
});
|
|
@@ -332,6 +333,8 @@ sap.ui.define([
|
|
|
332
333
|
|
|
333
334
|
function collapse(j) {
|
|
334
335
|
delete aElements.$byPredicate[_Helper.getPrivateAnnotation(aElements[j], "predicate")];
|
|
336
|
+
delete aElements.$byPredicate[
|
|
337
|
+
_Helper.getPrivateAnnotation(aElements[j], "transientPredicate")];
|
|
335
338
|
iCount += 1;
|
|
336
339
|
}
|
|
337
340
|
|
|
@@ -497,13 +500,14 @@ sap.ui.define([
|
|
|
497
500
|
});
|
|
498
501
|
}
|
|
499
502
|
if (oGroupNode) {
|
|
503
|
+
const sParentFilter = _Helper.getPrivateAnnotation(oGroupNode, "filter")
|
|
504
|
+
|| _Helper.getKeyFilter(oGroupNode, oAggregation.$metaPath, this.getTypes());
|
|
500
505
|
// Note: parent filter is just eq/and, no need for parentheses, but
|
|
501
506
|
// $$filterBeforeAggregate is a black box! Put specific filter 1st for performance!
|
|
502
|
-
mQueryOptions.$$filterBeforeAggregate
|
|
503
|
-
|
|
504
|
-
+
|
|
505
|
-
|
|
506
|
-
: "");
|
|
507
|
+
mQueryOptions.$$filterBeforeAggregate = sParentFilter
|
|
508
|
+
+ (mQueryOptions.$$filterBeforeAggregate
|
|
509
|
+
? " and (" + mQueryOptions.$$filterBeforeAggregate + ")"
|
|
510
|
+
: "");
|
|
507
511
|
}
|
|
508
512
|
if (!bHasConcatHelper) {
|
|
509
513
|
// Note: UI5__count currently handled only by _ConcatHelper!
|
|
@@ -538,15 +542,11 @@ sap.ui.define([
|
|
|
538
542
|
* @see #collapse
|
|
539
543
|
*/
|
|
540
544
|
_AggregationCache.prototype.expand = function (oGroupLock, vGroupNodeOrPath, fnDataRequested) {
|
|
541
|
-
var
|
|
542
|
-
iCount,
|
|
543
|
-
aElements = this.aElements,
|
|
545
|
+
var iCount,
|
|
544
546
|
oGroupNode = typeof vGroupNodeOrPath === "string"
|
|
545
547
|
? this.getValue(vGroupNodeOrPath)
|
|
546
548
|
: vGroupNodeOrPath,
|
|
547
|
-
iIndex,
|
|
548
549
|
aSpliced = _Helper.getPrivateAnnotation(oGroupNode, "spliced"),
|
|
549
|
-
bStale,
|
|
550
550
|
that = this;
|
|
551
551
|
|
|
552
552
|
if (vGroupNodeOrPath !== oGroupNode) {
|
|
@@ -557,20 +557,20 @@ sap.ui.define([
|
|
|
557
557
|
|
|
558
558
|
if (aSpliced) {
|
|
559
559
|
_Helper.deletePrivateAnnotation(oGroupNode, "spliced");
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
iIndex = aElements.indexOf(oGroupNode) + 1;
|
|
560
|
+
const aOldElements = this.aElements;
|
|
561
|
+
const iIndex = aOldElements.indexOf(oGroupNode) + 1;
|
|
563
562
|
// insert aSpliced at iIndex
|
|
564
|
-
this.aElements =
|
|
565
|
-
this.aElements.$byPredicate =
|
|
566
|
-
|
|
563
|
+
this.aElements = aOldElements.concat(aSpliced, aOldElements.splice(iIndex));
|
|
564
|
+
this.aElements.$byPredicate = aOldElements.$byPredicate;
|
|
567
565
|
iCount = aSpliced.length;
|
|
568
|
-
this.aElements.$count =
|
|
566
|
+
this.aElements.$count = aOldElements.$count + iCount;
|
|
567
|
+
const iDiff = oGroupNode["@$ui5.node.level"] + 1 - aSpliced[0]["@$ui5.node.level"];
|
|
569
568
|
aSpliced.forEach(function (oElement) {
|
|
570
569
|
var sPredicate = _Helper.getPrivateAnnotation(oElement, "predicate");
|
|
571
570
|
|
|
571
|
+
oElement["@$ui5.node.level"] += iDiff;
|
|
572
572
|
if (!_Helper.hasPrivateAnnotation(oElement, "placeholder")) {
|
|
573
|
-
if (
|
|
573
|
+
if (aSpliced.$stale) {
|
|
574
574
|
that.turnIntoPlaceholder(oElement, sPredicate);
|
|
575
575
|
} else {
|
|
576
576
|
that.aElements.$byPredicate[sPredicate] = oElement;
|
|
@@ -584,7 +584,7 @@ sap.ui.define([
|
|
|
584
584
|
return SyncPromise.resolve(iCount);
|
|
585
585
|
}
|
|
586
586
|
|
|
587
|
-
oCache = _Helper.getPrivateAnnotation(oGroupNode, "cache");
|
|
587
|
+
let oCache = _Helper.getPrivateAnnotation(oGroupNode, "cache");
|
|
588
588
|
if (!oCache) {
|
|
589
589
|
oCache = this.createGroupLevelCache(oGroupNode);
|
|
590
590
|
_Helper.setPrivateAnnotation(oGroupNode, "cache", oCache);
|
|
@@ -833,6 +833,87 @@ sap.ui.define([
|
|
|
833
833
|
});
|
|
834
834
|
};
|
|
835
835
|
|
|
836
|
+
/**
|
|
837
|
+
* Moves the (child) node with the given path to the parent node with the given path by sending
|
|
838
|
+
* a PATCH request for "<parent navigation>@odata.bind".
|
|
839
|
+
*
|
|
840
|
+
* @param {sap.ui.model.odata.v4.lib._GroupLock} oGroupLock
|
|
841
|
+
* A lock for the group to associate the requests with
|
|
842
|
+
* @param {string} sChildPath
|
|
843
|
+
* The (child) node's path relative to the cache
|
|
844
|
+
* @param {string} sParentPath
|
|
845
|
+
* The parent node's path relative to the cache
|
|
846
|
+
* @returns {sap.ui.base.SyncPromise<void>}
|
|
847
|
+
* A promise which is resolved without a defined result when the move is finished, or
|
|
848
|
+
* rejected in case of an error
|
|
849
|
+
*
|
|
850
|
+
* @public
|
|
851
|
+
*/
|
|
852
|
+
_AggregationCache.prototype.move = function (oGroupLock, sChildPath, sParentPath) {
|
|
853
|
+
const sChildPredicate = sChildPath.slice(sChildPath.indexOf("("));
|
|
854
|
+
const oChildNode = this.aElements.$byPredicate[sChildPredicate];
|
|
855
|
+
|
|
856
|
+
return this.oRequestor.request("PATCH", sChildPath, oGroupLock, {
|
|
857
|
+
"If-Match" : oChildNode,
|
|
858
|
+
Prefer : "return=minimal"
|
|
859
|
+
}, {[this.oAggregation.$ParentNavigationProperty + "@odata.bind"] : sParentPath},
|
|
860
|
+
/*fnSubmit*/null, function fnCancel() { /*nothing to do*/ })
|
|
861
|
+
.then((oPatchResult) => {
|
|
862
|
+
// update the cache with the PATCH response (Note: "@odata.etag" is optional!)
|
|
863
|
+
_Helper.updateExisting(this.mChangeListeners, sChildPredicate, oChildNode,
|
|
864
|
+
{"@odata.etag" : oPatchResult["@odata.etag"]});
|
|
865
|
+
|
|
866
|
+
const iOldIndex = this.aElements.indexOf(oChildNode);
|
|
867
|
+
this.shiftIndex(iOldIndex, -1);
|
|
868
|
+
this.aElements.splice(iOldIndex, 1);
|
|
869
|
+
|
|
870
|
+
// remove original element from its cache's collection
|
|
871
|
+
const oOldParentCache = _Helper.getPrivateAnnotation(oChildNode, "parent");
|
|
872
|
+
oOldParentCache.removeElement(undefined,
|
|
873
|
+
_Helper.getPrivateAnnotation(oChildNode, "index"), sChildPredicate, "");
|
|
874
|
+
if (oOldParentCache.getValue("$count") === 0) { // last child has gone
|
|
875
|
+
const oOldParent = this.aElements[iOldIndex - 1];
|
|
876
|
+
_Helper.updateAll(this.mChangeListeners,
|
|
877
|
+
_Helper.getPrivateAnnotation(oOldParent, "predicate"),
|
|
878
|
+
oOldParent, {"@$ui5.node.isExpanded" : undefined}); // a leaf now
|
|
879
|
+
// _Helper.updateAll only sets it to undefined
|
|
880
|
+
delete oOldParent["@$ui5.node.isExpanded"];
|
|
881
|
+
_Helper.deletePrivateAnnotation(oOldParent, "cache");
|
|
882
|
+
oOldParentCache.setActive(false);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
// once oChildNode has moved, it should look 'created' because of its new position
|
|
886
|
+
if (!_Helper.hasPrivateAnnotation(oChildNode, "transientPredicate")) {
|
|
887
|
+
const sTransientPredicate = "($uid=" + _Helper.uid() + ")";
|
|
888
|
+
_Helper.setPrivateAnnotation(oChildNode, "transientPredicate",
|
|
889
|
+
sTransientPredicate);
|
|
890
|
+
this.aElements.$byPredicate[sTransientPredicate] = oChildNode;
|
|
891
|
+
_Helper.updateAll(this.mChangeListeners, sChildPredicate, oChildNode,
|
|
892
|
+
{"@$ui5.context.isTransient" : false});
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
const sParentPredicate = sParentPath.slice(sParentPath.indexOf("("));
|
|
896
|
+
const oParentNode = this.aElements.$byPredicate[sParentPredicate];
|
|
897
|
+
let oCache = _Helper.getPrivateAnnotation(oParentNode, "cache");
|
|
898
|
+
if (!oCache) {
|
|
899
|
+
oCache = this.createGroupLevelCache(oParentNode);
|
|
900
|
+
oCache.setEmpty();
|
|
901
|
+
_Helper.setPrivateAnnotation(oParentNode, "cache", oCache);
|
|
902
|
+
_Helper.updateAll(this.mChangeListeners, sParentPredicate, oParentNode,
|
|
903
|
+
{"@$ui5.node.isExpanded" : true}); // not a leaf anymore
|
|
904
|
+
}
|
|
905
|
+
oCache.restoreElement(undefined, 0, oChildNode, "");
|
|
906
|
+
_Helper.setPrivateAnnotation(oChildNode, "index", 0);
|
|
907
|
+
_Helper.setPrivateAnnotation(oChildNode, "parent", oCache);
|
|
908
|
+
|
|
909
|
+
_Helper.updateAll(this.mChangeListeners, sChildPredicate, oChildNode,
|
|
910
|
+
{"@$ui5.node.level" : oParentNode["@$ui5.node.level"] + 1});
|
|
911
|
+
const iNewIndex = this.aElements.indexOf(oParentNode) + 1;
|
|
912
|
+
this.aElements.splice(iNewIndex, 0, oChildNode);
|
|
913
|
+
this.shiftIndex(iNewIndex, +1); // relies on "parent" & "@$ui5.node.level"!
|
|
914
|
+
});
|
|
915
|
+
};
|
|
916
|
+
|
|
836
917
|
/**
|
|
837
918
|
* Returns a promise to be resolved with an OData object for a range of the requested data.
|
|
838
919
|
*
|
|
@@ -1273,7 +1354,8 @@ sap.ui.define([
|
|
|
1273
1354
|
/**
|
|
1274
1355
|
* Turns the given element, which has the given predicate, into a placeholder which keeps all
|
|
1275
1356
|
* private annotations plus the hierarchy node value. The original element is removed from its
|
|
1276
|
-
* corresponding cache and must not be used any longer.
|
|
1357
|
+
* corresponding cache and must not be used any longer. Created persisted elements loose their
|
|
1358
|
+
* special treatment!
|
|
1277
1359
|
*
|
|
1278
1360
|
* @param {object} oElement - An element
|
|
1279
1361
|
* @param {string} sPredicate - Its predicate
|
|
@@ -1406,8 +1488,6 @@ sap.ui.define([
|
|
|
1406
1488
|
|
|
1407
1489
|
case "collapsed":
|
|
1408
1490
|
bIsExpanded = false;
|
|
1409
|
-
_Helper.setPrivateAnnotation(oElement, "filter",
|
|
1410
|
-
_Helper.getKeyFilter(oElement, sMetaPath, mTypeForMetaPath));
|
|
1411
1491
|
break;
|
|
1412
1492
|
|
|
1413
1493
|
default: // "leaf"
|
|
@@ -158,7 +158,7 @@ sap.ui.define([
|
|
|
158
158
|
&& oPlaceholder["@$ui5.node.level"] !== 0) {
|
|
159
159
|
throw new Error("Wrong placeholder");
|
|
160
160
|
}
|
|
161
|
-
["descendants", "
|
|
161
|
+
["descendants", "predicate"].forEach(function (sAnnotation) {
|
|
162
162
|
if (_Helper.hasPrivateAnnotation(oPlaceholder, sAnnotation)
|
|
163
163
|
&& _Helper.getPrivateAnnotation(oPlaceholder, sAnnotation)
|
|
164
164
|
!== _Helper.getPrivateAnnotation(oElement, sAnnotation)) {
|
|
@@ -526,9 +526,7 @@ sap.ui.define([
|
|
|
526
526
|
select("LimitedDescendantCountProperty");
|
|
527
527
|
}
|
|
528
528
|
}
|
|
529
|
-
|
|
530
|
-
select("DrillStateProperty");
|
|
531
|
-
}
|
|
529
|
+
select("DrillStateProperty");
|
|
532
530
|
mQueryOptions.$apply = sApply;
|
|
533
531
|
|
|
534
532
|
return mQueryOptions;
|
|
@@ -593,7 +591,7 @@ sap.ui.define([
|
|
|
593
591
|
throw new Error("Not a matching value for '" + sPath + "'");
|
|
594
592
|
}
|
|
595
593
|
} else if (typeof vType === "object") {
|
|
596
|
-
|
|
594
|
+
const bIsMap = "*" in vType;
|
|
597
595
|
|
|
598
596
|
if (typeof vValue !== "object" || !vValue || Array.isArray(vValue)) {
|
|
599
597
|
throw new Error("Not an object value for '" + sPath + "'");
|
|
@@ -937,7 +937,7 @@ sap.ui.define([
|
|
|
937
937
|
mQueryOptions,
|
|
938
938
|
sRequestPath,
|
|
939
939
|
sResourceMetaPath = _Helper.getMetaPath(sResourcePath),
|
|
940
|
-
mTypeForMetaPath = this.
|
|
940
|
+
mTypeForMetaPath = this.getTypes(),
|
|
941
941
|
aUpdateProperties,
|
|
942
942
|
that = this;
|
|
943
943
|
|
|
@@ -1081,6 +1081,7 @@ sap.ui.define([
|
|
|
1081
1081
|
* A promise that is resolved with a map from resource path + entity path to the type
|
|
1082
1082
|
*
|
|
1083
1083
|
* @private
|
|
1084
|
+
* @see #getTypes
|
|
1084
1085
|
*/
|
|
1085
1086
|
_Cache.prototype.fetchTypes = function () {
|
|
1086
1087
|
var aPromises, mTypeForMetaPath,
|
|
@@ -1146,21 +1147,31 @@ sap.ui.define([
|
|
|
1146
1147
|
*/
|
|
1147
1148
|
|
|
1148
1149
|
/**
|
|
1149
|
-
* Returns the
|
|
1150
|
+
* Returns the collection at the given path and removes it from the cache if it is marked as
|
|
1151
|
+
* transferable.
|
|
1150
1152
|
*
|
|
1151
1153
|
* @param {string} sPath - The relative path of the property
|
|
1152
|
-
* @returns {
|
|
1153
|
-
* @throws {Error} If the cache is shared
|
|
1154
|
+
* @returns {object[]|undefined} The collection or <code>undefined</code>
|
|
1155
|
+
* @throws {Error} If the cache is shared or if the given path does not point to a collection.
|
|
1154
1156
|
*
|
|
1155
1157
|
* @public
|
|
1156
1158
|
*/
|
|
1157
|
-
_Cache.prototype.
|
|
1159
|
+
_Cache.prototype.getAndRemoveCollection = function (sPath) {
|
|
1158
1160
|
var aSegments = sPath.split("/"),
|
|
1159
1161
|
sName = aSegments.pop(),
|
|
1160
1162
|
oParent = this.fetchValue(_GroupLock.$cached, aSegments.join("/")).getResult(),
|
|
1161
1163
|
vValue = oParent[sName];
|
|
1162
1164
|
|
|
1163
1165
|
this.checkSharedRequest();
|
|
1166
|
+
if (vValue) {
|
|
1167
|
+
if (!Array.isArray(vValue)) {
|
|
1168
|
+
throw new Error(`${sPath} must point to a collection`);
|
|
1169
|
+
}
|
|
1170
|
+
if (!vValue.$transfer) {
|
|
1171
|
+
return undefined;
|
|
1172
|
+
}
|
|
1173
|
+
delete vValue.$transfer;
|
|
1174
|
+
}
|
|
1164
1175
|
delete oParent[sName];
|
|
1165
1176
|
|
|
1166
1177
|
return vValue;
|
|
@@ -1287,6 +1298,19 @@ sap.ui.define([
|
|
|
1287
1298
|
return this.mQueryOptions;
|
|
1288
1299
|
};
|
|
1289
1300
|
|
|
1301
|
+
/**
|
|
1302
|
+
* Returns the existing map from meta path to type.
|
|
1303
|
+
*
|
|
1304
|
+
* @returns {Object<object>}
|
|
1305
|
+
* A map from resource path + entity path to the type
|
|
1306
|
+
*
|
|
1307
|
+
* @private
|
|
1308
|
+
* @see #fetchTypes
|
|
1309
|
+
*/
|
|
1310
|
+
_Cache.prototype.getTypes = function () {
|
|
1311
|
+
return this.fetchTypes().getResult();
|
|
1312
|
+
};
|
|
1313
|
+
|
|
1290
1314
|
/**
|
|
1291
1315
|
* Returns the requested data if available synchronously.
|
|
1292
1316
|
*
|
|
@@ -1641,8 +1665,8 @@ sap.ui.define([
|
|
|
1641
1665
|
* <code>$byPredicate</code>, <code>$created</code> and <code>$count</code>, and a collection
|
|
1642
1666
|
* cache's limit and number of active elements (if applicable).
|
|
1643
1667
|
*
|
|
1644
|
-
* @param {object[]} aElements
|
|
1645
|
-
* The array of elements
|
|
1668
|
+
* @param {object[]} [aElements]
|
|
1669
|
+
* The array of elements, defaults to a collection cache's own elements
|
|
1646
1670
|
* @param {number} [iIndex]
|
|
1647
1671
|
* The array index of the old element to be removed or <code>undefined</code> in case the
|
|
1648
1672
|
* element is a kept-alive element without an index
|
|
@@ -1656,7 +1680,9 @@ sap.ui.define([
|
|
|
1656
1680
|
*
|
|
1657
1681
|
* @protected
|
|
1658
1682
|
*/
|
|
1659
|
-
|
|
1683
|
+
// eslint-disable-next-line default-param-last
|
|
1684
|
+
_Cache.prototype.removeElement = function (aElements = this.aElements, iIndex, sPredicate,
|
|
1685
|
+
sPath) {
|
|
1660
1686
|
var oElement = aElements.$byPredicate[sPredicate],
|
|
1661
1687
|
bDeleted = oElement["@$ui5.context.isDeleted"],
|
|
1662
1688
|
sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
@@ -1880,10 +1906,10 @@ sap.ui.define([
|
|
|
1880
1906
|
|
|
1881
1907
|
/**
|
|
1882
1908
|
* Restores the element in the given array at the given index, taking care of the array's
|
|
1883
|
-
* <code>$created</code> and <code>$count</code>, and a collection
|
|
1884
|
-
* active elements (if applicable).
|
|
1909
|
+
* <code>$byPredicate</code>, <code>$created</code> and <code>$count</code>, and a collection
|
|
1910
|
+
* cache's limit and number of active elements (if applicable).
|
|
1885
1911
|
*
|
|
1886
|
-
* @param {object[]} aElements - The array of elements
|
|
1912
|
+
* @param {object[]} [aElements] - The array of elements
|
|
1887
1913
|
* @param {number} iIndex - The index to restore at
|
|
1888
1914
|
* @param {object} oElement - The element to restore
|
|
1889
1915
|
* @param {string} sPath
|
|
@@ -1894,7 +1920,9 @@ sap.ui.define([
|
|
|
1894
1920
|
*
|
|
1895
1921
|
* @protected
|
|
1896
1922
|
*/
|
|
1897
|
-
|
|
1923
|
+
// eslint-disable-next-line default-param-last
|
|
1924
|
+
_Cache.prototype.restoreElement = function (aElements = this.aElements, iIndex, oElement, sPath,
|
|
1925
|
+
iDeletedIndex) {
|
|
1898
1926
|
this.adjustIndexes(sPath, aElements, iIndex, 1, iDeletedIndex);
|
|
1899
1927
|
const sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
1900
1928
|
if (sTransientPredicate) {
|
|
@@ -1907,12 +1935,13 @@ sap.ui.define([
|
|
|
1907
1935
|
}
|
|
1908
1936
|
_Helper.addToCount(this.mChangeListeners, sPath, aElements, 1);
|
|
1909
1937
|
aElements.splice(iIndex, 0, oElement);
|
|
1938
|
+
aElements.$byPredicate[_Helper.getPrivateAnnotation(oElement, "predicate")] = oElement;
|
|
1910
1939
|
};
|
|
1911
1940
|
|
|
1912
1941
|
/**
|
|
1913
1942
|
* Adds or removes a usage of this cache. A cache with active usages must not be destroyed.
|
|
1914
|
-
* If
|
|
1915
|
-
* listeners.
|
|
1943
|
+
* If the last usage is removed, all change listeners are removed too. Note: shared caches have
|
|
1944
|
+
* no listeners except for the empty path (cf. <code>registerChangeListener("", th</code>).
|
|
1916
1945
|
*
|
|
1917
1946
|
* @param {boolean} bActive
|
|
1918
1947
|
* Whether a usage is added or removed
|
|
@@ -2625,14 +2654,31 @@ sap.ui.define([
|
|
|
2625
2654
|
};
|
|
2626
2655
|
|
|
2627
2656
|
/**
|
|
2628
|
-
* Drops the element with the given index and predicate from this cache's collection
|
|
2657
|
+
* Drops the element with the given index and predicate from this cache's collection, so that it
|
|
2658
|
+
* will be read again from the server later on. Created persisted elements loose their special
|
|
2659
|
+
* treatment!
|
|
2629
2660
|
*
|
|
2630
2661
|
* @param {number} iIndex - An index
|
|
2631
2662
|
* @param {string} sPredicate - A key predicate
|
|
2663
|
+
* @throws {Error} When the element with the given index is still transient
|
|
2664
|
+
*
|
|
2665
|
+
* @public
|
|
2632
2666
|
*/
|
|
2633
2667
|
_CollectionCache.prototype.drop = function (iIndex, sPredicate) {
|
|
2668
|
+
const oElement = this.aElements[iIndex];
|
|
2669
|
+
if (oElement["@$ui5.context.isTransient"]) {
|
|
2670
|
+
throw new Error("Must not drop a transient element");
|
|
2671
|
+
}
|
|
2634
2672
|
delete this.aElements[iIndex];
|
|
2635
2673
|
delete this.aElements.$byPredicate[sPredicate];
|
|
2674
|
+
|
|
2675
|
+
const sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
2676
|
+
if (sTransientPredicate) { // createdPersisted => persisted
|
|
2677
|
+
this.aElements.$created -= 1;
|
|
2678
|
+
this.iActiveElements -= 1;
|
|
2679
|
+
this.iLimit += 1;
|
|
2680
|
+
delete this.aElements.$byPredicate[sTransientPredicate];
|
|
2681
|
+
}
|
|
2636
2682
|
};
|
|
2637
2683
|
|
|
2638
2684
|
/**
|
|
@@ -2745,8 +2791,7 @@ sap.ui.define([
|
|
|
2745
2791
|
function addKeyFilter(oElement) {
|
|
2746
2792
|
var sKeyFilter;
|
|
2747
2793
|
|
|
2748
|
-
mTypeForMetaPath = mTypeForMetaPath
|
|
2749
|
-
|| that.fetchTypes().getResult(); // Note: $metadata already read
|
|
2794
|
+
mTypeForMetaPath = mTypeForMetaPath || that.getTypes(); // Note: $metadata already read
|
|
2750
2795
|
sKeyFilter = _Helper.getKeyFilter(oElement, that.sMetaPath, mTypeForMetaPath);
|
|
2751
2796
|
if (sKeyFilter) {
|
|
2752
2797
|
aKeyFilters.push(sKeyFilter);
|
|
@@ -3075,7 +3120,8 @@ sap.ui.define([
|
|
|
3075
3120
|
* with a number property <code>$count</code> representing the element count on server-side;
|
|
3076
3121
|
* <code>$count</code> may be <code>undefined</code>, but not <code>Infinity</code>). If an
|
|
3077
3122
|
* HTTP request fails, the error from the _Requestor is returned and the requested range is
|
|
3078
|
-
* reset to <code>undefined</code>.
|
|
3123
|
+
* reset to <code>undefined</code>. If the request has been obsoleted by a {@link #reset}, the
|
|
3124
|
+
* promise is rejected with an error having a property <code>canceled = true</code>.
|
|
3079
3125
|
* @throws {Error} If given index or length is less than 0
|
|
3080
3126
|
*
|
|
3081
3127
|
* @public
|
|
@@ -3245,7 +3291,7 @@ sap.ui.define([
|
|
|
3245
3291
|
return undefined;
|
|
3246
3292
|
}
|
|
3247
3293
|
|
|
3248
|
-
mTypes = this.
|
|
3294
|
+
mTypes = this.getTypes(); // in this stage the promise is resolved
|
|
3249
3295
|
|
|
3250
3296
|
return this.oRequestor.request("GET", calculateKeptElementsQuery(), oGroupLock)
|
|
3251
3297
|
.then(function (oResponse) {
|
|
@@ -3306,7 +3352,8 @@ sap.ui.define([
|
|
|
3306
3352
|
* The function is called when the back-end requests have been sent.
|
|
3307
3353
|
* @returns {sap.ui.base.SyncPromise}
|
|
3308
3354
|
* A promise which is resolved without a defined result when the request is finished and
|
|
3309
|
-
* rejected in case of error
|
|
3355
|
+
* rejected in case of error; if the request has been obsoleted by a {@link #reset} the error
|
|
3356
|
+
* has a property <code>canceled = true</code>)
|
|
3310
3357
|
* @throws {Error}
|
|
3311
3358
|
* If group ID is '$cached'. The error has a property <code>$cached = true</code>
|
|
3312
3359
|
*
|
|
@@ -3331,6 +3378,11 @@ sap.ui.define([
|
|
|
3331
3378
|
]).then(function (aResult) {
|
|
3332
3379
|
var iFiltered;
|
|
3333
3380
|
|
|
3381
|
+
if (oReadRequest.obsolete) {
|
|
3382
|
+
const oError = new Error("Request is obsolete");
|
|
3383
|
+
oError.canceled = true;
|
|
3384
|
+
throw oError;
|
|
3385
|
+
}
|
|
3334
3386
|
that.checkRange(oPromise, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3335
3387
|
if (that.aElements.$tail === oPromise) {
|
|
3336
3388
|
that.aElements.$tail = undefined;
|
|
@@ -3340,8 +3392,10 @@ sap.ui.define([
|
|
|
3340
3392
|
return that.handleCount(oGroupLock, iTransientElements, oReadRequest.iStart,
|
|
3341
3393
|
oReadRequest.iEnd, aResult[0], iFiltered);
|
|
3342
3394
|
}).catch(function (oError) {
|
|
3343
|
-
|
|
3344
|
-
|
|
3395
|
+
if (!oError.canceled) {
|
|
3396
|
+
that.checkRange(oPromise, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3397
|
+
that.fill(undefined, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3398
|
+
}
|
|
3345
3399
|
throw oError;
|
|
3346
3400
|
}).finally(function () {
|
|
3347
3401
|
that.aReadRequests.splice(that.aReadRequests.indexOf(oReadRequest), 1);
|
|
@@ -3387,7 +3441,7 @@ sap.ui.define([
|
|
|
3387
3441
|
mQueryOptions,
|
|
3388
3442
|
sResourcePath,
|
|
3389
3443
|
bSkip,
|
|
3390
|
-
mTypeForMetaPath = this.
|
|
3444
|
+
mTypeForMetaPath = this.getTypes(),
|
|
3391
3445
|
that = this;
|
|
3392
3446
|
|
|
3393
3447
|
this.checkSharedRequest();
|
|
@@ -3557,6 +3611,10 @@ sap.ui.define([
|
|
|
3557
3611
|
aKeptElementPredicates.forEach(function (sPredicate) {
|
|
3558
3612
|
that.aElements.$byPredicate[sPredicate] = mByPredicate[sPredicate];
|
|
3559
3613
|
});
|
|
3614
|
+
// Beware: fireChange can trigger a read which must not be obsoleted
|
|
3615
|
+
this.aReadRequests?.forEach((oReadRequest) => {
|
|
3616
|
+
oReadRequest.obsolete = true;
|
|
3617
|
+
});
|
|
3560
3618
|
if (mChangeListeners[""]) {
|
|
3561
3619
|
this.mChangeListeners[""] = mChangeListeners[""];
|
|
3562
3620
|
_Helper.fireChange(this.mChangeListeners, "");
|
|
@@ -3605,7 +3663,8 @@ sap.ui.define([
|
|
|
3605
3663
|
};
|
|
3606
3664
|
|
|
3607
3665
|
/**
|
|
3608
|
-
* Sets the isInactive annotation at the entity with the given path, which might
|
|
3666
|
+
* Sets the "@$ui5.context.isInactive" annotation at the entity with the given path, which might
|
|
3667
|
+
* activate it.
|
|
3609
3668
|
*
|
|
3610
3669
|
* @param {string} sPath - The path
|
|
3611
3670
|
* @param {boolean|number} bInactive
|
|
@@ -1711,26 +1711,6 @@ sap.ui.define([
|
|
|
1711
1711
|
return sPath;
|
|
1712
1712
|
},
|
|
1713
1713
|
|
|
1714
|
-
/**
|
|
1715
|
-
* Returns the path for the return value context. Supports bound operations on an entity or
|
|
1716
|
-
* a collection.
|
|
1717
|
-
*
|
|
1718
|
-
* @param {string} sPath
|
|
1719
|
-
* The bindings's path; either a resolved model path or a resource path; for example:
|
|
1720
|
-
* "/Artists(ArtistID='42',IsActiveEntity=true)/special.cases.EditAction(...)" or
|
|
1721
|
-
* "/Artists/special.cases.Create(...)", the leading "/" can be omitted.
|
|
1722
|
-
* @param {string} sResponsePredicate The key predicate of the response entity
|
|
1723
|
-
* @returns {string} The path for the return value context.
|
|
1724
|
-
*
|
|
1725
|
-
* @public
|
|
1726
|
-
*/
|
|
1727
|
-
getReturnValueContextPath : function (sPath, sResponsePredicate) {
|
|
1728
|
-
var sBoundParameterPath = sPath.slice(0, sPath.lastIndexOf("/")),
|
|
1729
|
-
i = sBoundParameterPath.indexOf("(");
|
|
1730
|
-
|
|
1731
|
-
return (i < 0 ? sBoundParameterPath : sPath.slice(0, i)) + sResponsePredicate;
|
|
1732
|
-
},
|
|
1733
|
-
|
|
1734
1714
|
/**
|
|
1735
1715
|
* Tells whether <code>sPath</code> has <code>sBasePath</code> as path prefix. It returns
|
|
1736
1716
|
* <code>true</code> iff {@link .getRelativePath} does not return <code>undefined</code>.
|
|
@@ -2795,6 +2775,12 @@ sap.ui.define([
|
|
|
2795
2775
|
aNestedCreatedEntities.$count = undefined; // -> setCount must fire a change event
|
|
2796
2776
|
aNestedCreatedEntities.$created = 0;
|
|
2797
2777
|
aNestedCreatedEntities.$byPredicate = {};
|
|
2778
|
+
// If mSelectForMetaPath has query options, the corresponding nested ODLB will get a
|
|
2779
|
+
// cache later and must transfer the data to its own cache; otherwise, the nested
|
|
2780
|
+
// binding has no cache and must not lose its data (BCP: 2380101762)
|
|
2781
|
+
if (mSelectForMetaPath[sSegment]) {
|
|
2782
|
+
aNestedCreatedEntities.$transfer = true;
|
|
2783
|
+
}
|
|
2798
2784
|
const sCollectionPath = sPath + "/" + sSegment;
|
|
2799
2785
|
_Helper.setCount(mChangeListeners, sCollectionPath, aNestedCreatedEntities,
|
|
2800
2786
|
aNestedCreatedEntities.length);
|
|
@@ -12,11 +12,11 @@ sap.ui.define([
|
|
|
12
12
|
"./_V2Requestor",
|
|
13
13
|
"sap/base/Log",
|
|
14
14
|
"sap/ui/base/SyncPromise",
|
|
15
|
-
"sap/ui/core/cache/CacheManager",
|
|
16
15
|
"sap/ui/core/Configuration",
|
|
16
|
+
"sap/ui/core/cache/CacheManager",
|
|
17
17
|
"sap/ui/thirdparty/jquery"
|
|
18
|
-
], function (_Batch, _GroupLock, _Helper, asV2Requestor, Log, SyncPromise,
|
|
19
|
-
|
|
18
|
+
], function (_Batch, _GroupLock, _Helper, asV2Requestor, Log, SyncPromise, Configuration,
|
|
19
|
+
CacheManager, jQuery) {
|
|
20
20
|
"use strict";
|
|
21
21
|
|
|
22
22
|
var mBatchHeaders = { // headers for the $batch request
|
|
@@ -444,7 +444,7 @@ sap.ui.define([
|
|
|
444
444
|
case "creatable":
|
|
445
445
|
case "deletable":
|
|
446
446
|
case "updatable":
|
|
447
|
-
// do not consume it here, it might be needed for
|
|
447
|
+
// do not consume it here, it might be needed for xyz-path
|
|
448
448
|
if (oAnnotatable.peek(sName) === "false") {
|
|
449
449
|
oAnnotatable.convert(sName, false);
|
|
450
450
|
}
|
|
@@ -227,7 +227,7 @@ sap.ui.define([
|
|
|
227
227
|
*
|
|
228
228
|
* @extends sap.ui.model.Model
|
|
229
229
|
* @public
|
|
230
|
-
* @version 1.
|
|
230
|
+
* @version 1.119.1
|
|
231
231
|
*/
|
|
232
232
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
233
233
|
|