@openui5/sap.ui.core 1.117.1 → 1.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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 +58 -40
- 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/BindingParser.js +2 -1
- 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 +8 -4
- 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 +9 -1
- package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
- package/src/sap/ui/core/AnimationMode.js +1 -1
- package/src/sap/ui/core/BlockLayerUtils.js +1 -1
- package/src/sap/ui/core/BusyIndicator.js +2 -2
- package/src/sap/ui/core/Component.js +85 -61
- package/src/sap/ui/core/ComponentContainer.js +2 -2
- 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 -179
- package/src/sap/ui/core/Control.js +22 -2
- package/src/sap/ui/core/Core.js +223 -128
- 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 +2 -2
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- 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 +4 -7
- 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 +51 -55
- 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 +2 -2
- 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 +471 -0
- 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 +4 -2
- package/src/sap/ui/core/ResizeHandler.js +15 -23
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHint.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 +99 -39
- 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 +93 -24
- 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 +2 -2
- 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 +3 -1
- package/src/sap/ui/core/boot.js +9 -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/DragAndDrop.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/DateFormat.js +4 -0
- 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 +26 -50
- 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 +36 -459
- package/src/sap/ui/core/message/MessageMixin.js +5 -5
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +9 -9
- package/src/sap/ui/core/message/MessageType.js +53 -0
- package/src/sap/ui/core/messagebundle.properties +3 -0
- package/src/sap/ui/core/messagebundle_ar.properties +3 -3
- package/src/sap/ui/core/messagebundle_bg.properties +4 -4
- package/src/sap/ui/core/messagebundle_ca.properties +2 -2
- package/src/sap/ui/core/messagebundle_cs.properties +5 -5
- package/src/sap/ui/core/messagebundle_cy.properties +2 -2
- package/src/sap/ui/core/messagebundle_da.properties +4 -4
- package/src/sap/ui/core/messagebundle_de.properties +3 -3
- package/src/sap/ui/core/messagebundle_el.properties +11 -11
- package/src/sap/ui/core/messagebundle_en.properties +4 -4
- package/src/sap/ui/core/messagebundle_es.properties +18 -18
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
- package/src/sap/ui/core/messagebundle_et.properties +1 -1
- package/src/sap/ui/core/messagebundle_fi.properties +2 -2
- package/src/sap/ui/core/messagebundle_fr.properties +22 -22
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +3 -3
- package/src/sap/ui/core/messagebundle_hr.properties +7 -7
- package/src/sap/ui/core/messagebundle_hu.properties +11 -11
- package/src/sap/ui/core/messagebundle_id.properties +6 -6
- package/src/sap/ui/core/messagebundle_it.properties +58 -58
- package/src/sap/ui/core/messagebundle_iw.properties +6 -6
- package/src/sap/ui/core/messagebundle_ja.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +2 -2
- package/src/sap/ui/core/messagebundle_ko.properties +7 -7
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +6 -6
- package/src/sap/ui/core/messagebundle_ms.properties +6 -6
- package/src/sap/ui/core/messagebundle_nl.properties +13 -13
- package/src/sap/ui/core/messagebundle_no.properties +9 -9
- package/src/sap/ui/core/messagebundle_pl.properties +3 -3
- package/src/sap/ui/core/messagebundle_pt.properties +9 -9
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +3 -3
- package/src/sap/ui/core/messagebundle_ru.properties +8 -8
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sk.properties +3 -3
- package/src/sap/ui/core/messagebundle_sl.properties +10 -10
- package/src/sap/ui/core/messagebundle_sv.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +19 -19
- package/src/sap/ui/core/messagebundle_tr.properties +6 -6
- package/src/sap/ui/core/messagebundle_uk.properties +9 -9
- package/src/sap/ui/core/messagebundle_vi.properties +2 -2
- package/src/sap/ui/core/messagebundle_zh_CN.properties +3 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +25 -25
- 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 +9 -2
- 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/Router.js +7 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -0
- package/src/sap/ui/core/routing/async/Target.js +5 -4
- package/src/sap/ui/core/routing/sync/Route.js +1 -0
- 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 +25 -5
- package/src/sap/ui/core/support/Support.js +38 -6
- package/src/sap/ui/core/support/ToolsAPI.js +14 -20
- package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -6
- package/src/sap/ui/core/support/plugins/ControlTree.js +40 -24
- package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
- package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
- package/src/sap/ui/core/support/plugins/Performance.js +1 -3
- package/src/sap/ui/core/support/plugins/Selector.js +2 -2
- package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +32 -16
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +8 -6
- 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 +100 -1
- package/src/sap/ui/core/theming/ThemeManager.js +32 -31
- 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/XMLPreprocessor.js +53 -29
- 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 +659 -0
- package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
- package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
- 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 +8 -7
- package/src/sap/ui/debug/DebugEnv.js +18 -9
- 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/Binding.js +6 -6
- package/src/sap/ui/model/ClientModel.js +33 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +20 -4
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.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/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +4 -4
- 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/controlhelper/TreeBindingProxy.js +27 -13
- 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/ODataListBinding.js +24 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- 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/ODataTreeBindingFlat.js +6 -0
- 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 +7 -2
- 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 +6 -2
- 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 +108 -59
- package/src/sap/ui/model/odata/v2/ODataModel.js +25 -20
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
- package/src/sap/ui/model/odata/v4/Context.js +83 -23
- package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +162 -33
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +151 -48
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +21 -14
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +12 -11
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +234 -31
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +180 -76
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +36 -24
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +17 -7
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
- package/src/sap/ui/model/odata/v4/ts.js +44 -0
- 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 +5 -5
- 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/performance/trace/Interaction.js +11 -2
- 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 +10 -11
- package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
- 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/ModuleTracking.js +326 -0
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/TestUtils.js +8 -7
- package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
- 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/_ControlSelectorGenerator.js +2 -0
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
- package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
- package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +14 -10
- package/test/sap/ui/core/ComponentCleanup.html +228 -225
- package/test/sap/ui/core/ComponentConfig.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
- package/test/sap/ui/core/ComponentSimple.html +1 -1
- package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
- package/test/sap/ui/core/ComponentSupport.html +1 -1
- package/test/sap/ui/core/DateFormat.js +3 -3
- package/test/sap/ui/core/EventBroadcaster.html +62 -62
- package/test/sap/ui/core/Formats.html +4 -2
- package/test/sap/ui/core/GenericEventBinding.html +53 -52
- package/test/sap/ui/core/HTMLControl.html +94 -93
- package/test/sap/ui/core/HyphenationPlayground.html +10 -9
- package/test/sap/ui/core/ListFormat.js +3 -3
- package/test/sap/ui/core/NumberFormat.js +3 -3
- package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
- package/test/sap/ui/core/ODataV2Messages.html +4 -3
- package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
- package/test/sap/ui/core/Strings.js +3 -3
- 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 +143 -143
- package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -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/BasicMessages/Controller.controller.js +10 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
- 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/applicationUnderTest/index.html +9 -6
- 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/applicationUnderTest/index.html +13 -10
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
- 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/RoutingFullscreen.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -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/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
- package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
- 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/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/common/Controller.js +8 -8
- package/test/sap/ui/core/demokit/sample/common/Helper.js +19 -2
- package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
- 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/Opa.qunit.js +9 -8
- 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/ObjectPage.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +13 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +13 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +14 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
- 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/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +19 -25
- 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/Component.js +19 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +89 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
- 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 +16 -13
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +78 -13
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +48 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +379 -287
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +24 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
- 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/Opa.qunit.js +9 -8
- 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 +10 -9
- 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/Opa.qunit.js +10 -9
- 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 +11 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
- package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
- package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
- package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
- package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
- package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
- package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +4 -4
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
- package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
- package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
- package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
- package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +49 -28
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
- package/test/sap/ui/core/qunit/Core.qunit.js +39 -34
- package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
- package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +122 -119
- 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/Element_data.qunit.js +5 -5
- package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
- package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
- package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
- package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
- package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
- package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +17 -13
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +11 -9
- package/test/sap/ui/core/qunit/Fragment.qunit.js +47 -46
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +63 -61
- package/test/sap/ui/core/qunit/HTML.qunit.js +67 -67
- package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
- package/test/sap/ui/core/qunit/IconPool.qunit.js +5 -4
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
- 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/RenderManager.qunit.js +54 -53
- package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
- package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +15 -14
- 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 +44 -375
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
- package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
- package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
- package/test/sap/ui/core/qunit/TooltipBase.qunit.js +6 -4
- package/test/sap/ui/core/qunit/UIArea.qunit.js +258 -28
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
- package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
- package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
- package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
- 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/BootstrapMinimal.qunit.js +3 -3
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
- 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/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
- package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +27 -14
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +4 -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 +5 -4
- 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 +18 -6
- package/test/sap/ui/core/qunit/component/Component.qunit.js +26 -15
- 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/Component_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +11 -11
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +9 -10
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +10 -11
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +9 -11
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +9 -11
- package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
- 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 +38 -22
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +23 -22
- 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 +48 -48
- package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
- package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
- package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
- package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
- 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/ODataV4.qunit.html +6 -6
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
- package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
- package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
- package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
- 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 +20 -19
- package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
- package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +137 -0
- package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
- package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +42 -46
- package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +29 -39
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +9 -2
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
- package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
- package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
- 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/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +50 -44
- package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +18 -22
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +23 -27
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +45 -51
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
- package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +19 -15
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +101 -29
- package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -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 +38 -12
- package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
- package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
- package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +485 -22
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +762 -90
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +149 -6
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
- package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
- package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +145 -35
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +64 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +359 -78
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +255 -33
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2267 -148
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
- 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 +444 -53
- 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 +295 -161
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +12 -22
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
- package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +35 -46
- package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
- package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
- package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
- package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
- package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
- package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
- package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
- package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
- package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +9 -11
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +8 -9
- package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
- package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
- package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
- package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
- 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 +28 -17
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +7 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +7 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +13 -19
- 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/support/techinfo/TechnicalInfoTestbench.html +3 -1
- package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
- package/test/sap/ui/core/qunit/test/starter/find/main.js +13 -9
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +16 -6
- 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 +48 -6
- package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
- package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +60 -7
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +38 -21
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +64 -40
- package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
- package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
- package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
- package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.118.json +110 -0
- 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/resourcesCSS/index.html +1 -1
- package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
- package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +7 -9
- package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
- package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
- package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
- package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
- package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
- package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
- package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
- package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
- 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/testsuite/testframe.html +4 -4
- package/src/ui5-boot.js +0 -50
- package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
- package/test/sap/ui/core/qunit/messages/MessageManager.qunit.js +0 -135
- package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -133
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -227
- 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 -288
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -288
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -278
- package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -152
- package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -101
- 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 -139
- package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -156
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -140
- package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -194
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -147
- 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
- /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
|
@@ -103,7 +103,8 @@ sap.ui.define([
|
|
|
103
103
|
* The entity's edit URL to be used for the DELETE request; w/o a lock, this is mostly
|
|
104
104
|
* ignored.
|
|
105
105
|
* @param {string} sPath
|
|
106
|
-
* The entity's path within the cache
|
|
106
|
+
* The entity's path within the cache; if the entity is in a collection, the last segment is
|
|
107
|
+
* its index therein
|
|
107
108
|
* @param {object} [oETagEntity]
|
|
108
109
|
* An entity with the ETag of the binding for which the deletion was requested. This is
|
|
109
110
|
* provided if the deletion is delegated from a context binding with empty path to a list
|
|
@@ -121,26 +122,26 @@ sap.ui.define([
|
|
|
121
122
|
*/
|
|
122
123
|
_Cache.prototype._delete = function (oGroupLock, sEditUrl, sPath, oETagEntity, fnCallback) {
|
|
123
124
|
var aSegments = sPath.split("/"),
|
|
124
|
-
|
|
125
|
+
// either a :1 nav.prop, the index as string, or a key-predicate (kept-alive and hidden)
|
|
126
|
+
sDeleteProperty = aSegments.pop(),
|
|
125
127
|
sParentPath = aSegments.join("/"),
|
|
126
128
|
that = this;
|
|
127
129
|
|
|
128
130
|
this.checkSharedRequest();
|
|
129
131
|
|
|
130
132
|
return this.fetchValue(_GroupLock.$cached, sParentPath).then(function (vCacheData) {
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
? vCacheData[vCachePath] || vCacheData.$byPredicate[vCachePath]
|
|
133
|
+
var oDeleted,
|
|
134
|
+
oEntity = sDeleteProperty
|
|
135
|
+
? vCacheData[sDeleteProperty] || vCacheData.$byPredicate[sDeleteProperty]
|
|
135
136
|
: vCacheData, // deleting at root level
|
|
136
137
|
oError,
|
|
137
138
|
sGroupId,
|
|
138
139
|
aMessages,
|
|
139
140
|
mHeaders,
|
|
140
|
-
iIndex =
|
|
141
|
+
iIndex = rNumber.test(sDeleteProperty) ? Number(sDeleteProperty) : undefined,
|
|
141
142
|
sKeyPredicate = _Helper.getPrivateAnnotation(oEntity, "predicate"),
|
|
142
143
|
sEntityPath = _Helper.buildPath(sParentPath,
|
|
143
|
-
Array.isArray(vCacheData) ? sKeyPredicate :
|
|
144
|
+
Array.isArray(vCacheData) ? sKeyPredicate : sDeleteProperty),
|
|
144
145
|
oModelInterface = that.oRequestor.getModelInterface(),
|
|
145
146
|
oRequestPromise,
|
|
146
147
|
sTransientGroup = _Helper.getPrivateAnnotation(oEntity, "transient"),
|
|
@@ -150,8 +151,6 @@ sap.ui.define([
|
|
|
150
151
|
* Cleans up after a cancel or failed request.
|
|
151
152
|
*/
|
|
152
153
|
function cleanUp() {
|
|
153
|
-
var iDeletedIndex;
|
|
154
|
-
|
|
155
154
|
_Helper.removeByPath(that.mChangeRequests, sEntityPath, oRequestPromise);
|
|
156
155
|
|
|
157
156
|
if (aMessages.length) {
|
|
@@ -161,19 +160,12 @@ sap.ui.define([
|
|
|
161
160
|
delete oEntity["@$ui5.context.isDeleted"];
|
|
162
161
|
if (Array.isArray(vCacheData)) {
|
|
163
162
|
iIndex = oDeleted.index;
|
|
163
|
+
const iDeletedIndex = vCacheData.$deleted.indexOf(oDeleted);
|
|
164
164
|
if (iIndex !== undefined) {
|
|
165
|
-
|
|
165
|
+
that.restoreElement(vCacheData, iIndex, oEntity, sParentPath,
|
|
166
|
+
iDeletedIndex);
|
|
166
167
|
}
|
|
167
|
-
iDeletedIndex = vCacheData.$deleted.indexOf(oDeleted);
|
|
168
|
-
that.adjustIndexes(sParentPath, vCacheData, iIndex, 1, iDeletedIndex);
|
|
169
|
-
vCacheData.splice(iIndex, 0, oEntity);
|
|
170
168
|
vCacheData.$deleted.splice(iDeletedIndex, 1);
|
|
171
|
-
if (sTransientPredicate) {
|
|
172
|
-
vCacheData.$created += 1;
|
|
173
|
-
if (!sParentPath) {
|
|
174
|
-
that.iActiveElements += 1;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
169
|
}
|
|
178
170
|
if (that.iActiveUsages) {
|
|
179
171
|
fnCallback(iIndex, 1);
|
|
@@ -222,7 +214,6 @@ sap.ui.define([
|
|
|
222
214
|
}
|
|
223
215
|
mHeaders = {"If-Match" : oETagEntity || oEntity};
|
|
224
216
|
sEditUrl += that.oRequestor.buildQueryString(that.sMetaPath, that.mQueryOptions, true);
|
|
225
|
-
// the existence of an onCancel callback causes a pending change in the requestor
|
|
226
217
|
oRequestPromise = oGroupLock
|
|
227
218
|
? that.oRequestor.request("DELETE", sEditUrl, oGroupLock, mHeaders, undefined,
|
|
228
219
|
undefined, cleanUp, undefined,
|
|
@@ -240,10 +231,10 @@ sap.ui.define([
|
|
|
240
231
|
vCacheData.$deleted.splice(vCacheData.$deleted.indexOf(oDeleted), 1);
|
|
241
232
|
delete vCacheData.$byPredicate[sKeyPredicate];
|
|
242
233
|
delete vCacheData.$byPredicate[sTransientPredicate];
|
|
243
|
-
} else if (
|
|
234
|
+
} else if (sDeleteProperty) {
|
|
244
235
|
// set to null and notify listeners
|
|
245
236
|
_Helper.updateExisting(that.mChangeListeners, sParentPath,
|
|
246
|
-
vCacheData, _Helper.makeUpdateData([
|
|
237
|
+
vCacheData, _Helper.makeUpdateData([sDeleteProperty], null));
|
|
247
238
|
} else { // deleting at root level
|
|
248
239
|
oEntity["$ui5.deleted"] = true;
|
|
249
240
|
}
|
|
@@ -398,8 +389,7 @@ sap.ui.define([
|
|
|
398
389
|
if (iIndex === undefined) {
|
|
399
390
|
return; // not in the list -> nothing to adjust
|
|
400
391
|
}
|
|
401
|
-
if (!sPath) {
|
|
402
|
-
// If the path is empty, we are in a _CollectionCache and aReadRequest exists
|
|
392
|
+
if (!sPath && this.aReadRequests) {
|
|
403
393
|
this.aReadRequests.forEach(function (oReadRequest) {
|
|
404
394
|
if (oReadRequest.iStart >= iIndex) {
|
|
405
395
|
oReadRequest.iStart += iOffset;
|
|
@@ -430,7 +420,7 @@ sap.ui.define([
|
|
|
430
420
|
* The meta path for the entity
|
|
431
421
|
* @returns {string|undefined}
|
|
432
422
|
* The key predicate or <code>undefined</code>, if key predicate cannot be determined
|
|
433
|
-
* @
|
|
423
|
+
* @protected
|
|
434
424
|
*/
|
|
435
425
|
// Note: overridden by _AggregationCache.calculateKeyPredicate
|
|
436
426
|
_Cache.prototype.calculateKeyPredicate = function (oInstance, mTypeForMetaPath, sMetaPath) {
|
|
@@ -484,6 +474,10 @@ sap.ui.define([
|
|
|
484
474
|
* fails
|
|
485
475
|
* @param {function} fnSubmitCallback
|
|
486
476
|
* A function which is called just before a POST request for the create is sent
|
|
477
|
+
* @param {function} [fnCancelCallback]
|
|
478
|
+
* A function which is called when the create has been canceled (after internal clean-up and
|
|
479
|
+
* just before {@link sap.ui.model.odata.v4.lib._GroupLock#cancel}), except if the entity is
|
|
480
|
+
* simply inactive
|
|
487
481
|
* @returns {sap.ui.base.SyncPromise}
|
|
488
482
|
* A promise which is resolved with the created entity when the POST request has been
|
|
489
483
|
* successfully sent and the entity has been marked as non-transient
|
|
@@ -492,7 +486,7 @@ sap.ui.define([
|
|
|
492
486
|
* @public
|
|
493
487
|
*/
|
|
494
488
|
_Cache.prototype.create = function (oGroupLock, oPostPathPromise, sPath, sTransientPredicate,
|
|
495
|
-
oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback) {
|
|
489
|
+
oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback, fnCancelCallback) {
|
|
496
490
|
var aCollection = this.getValue(sPath),
|
|
497
491
|
sGroupId = oGroupLock.getGroupId(),
|
|
498
492
|
oPostBody,
|
|
@@ -534,6 +528,9 @@ sap.ui.define([
|
|
|
534
528
|
}
|
|
535
529
|
delete aCollection.$byPredicate[sTransientPredicate];
|
|
536
530
|
that.adjustIndexes(sPath, aCollection, iIndex, -1);
|
|
531
|
+
if (fnCancelCallback) {
|
|
532
|
+
fnCancelCallback();
|
|
533
|
+
}
|
|
537
534
|
oGroupLock.cancel();
|
|
538
535
|
}
|
|
539
536
|
|
|
@@ -720,7 +717,7 @@ sap.ui.define([
|
|
|
720
717
|
* @returns {sap.ui.base.SyncPromise}
|
|
721
718
|
* A promise that is resolved with the result matching to <code>sPath</code>
|
|
722
719
|
*
|
|
723
|
-
* @
|
|
720
|
+
* @protected
|
|
724
721
|
*/
|
|
725
722
|
_Cache.prototype.drillDown = function (oData, sPath, oGroupLock, bCreateOnDemand) {
|
|
726
723
|
var oDataPromise = SyncPromise.resolve(oData),
|
|
@@ -940,7 +937,7 @@ sap.ui.define([
|
|
|
940
937
|
mQueryOptions,
|
|
941
938
|
sRequestPath,
|
|
942
939
|
sResourceMetaPath = _Helper.getMetaPath(sResourcePath),
|
|
943
|
-
mTypeForMetaPath = this.
|
|
940
|
+
mTypeForMetaPath = this.getTypes(),
|
|
944
941
|
aUpdateProperties,
|
|
945
942
|
that = this;
|
|
946
943
|
|
|
@@ -1084,6 +1081,7 @@ sap.ui.define([
|
|
|
1084
1081
|
* A promise that is resolved with a map from resource path + entity path to the type
|
|
1085
1082
|
*
|
|
1086
1083
|
* @private
|
|
1084
|
+
* @see #getTypes
|
|
1087
1085
|
*/
|
|
1088
1086
|
_Cache.prototype.fetchTypes = function () {
|
|
1089
1087
|
var aPromises, mTypeForMetaPath,
|
|
@@ -1149,21 +1147,31 @@ sap.ui.define([
|
|
|
1149
1147
|
*/
|
|
1150
1148
|
|
|
1151
1149
|
/**
|
|
1152
|
-
* Returns the
|
|
1150
|
+
* Returns the collection at the given path and removes it from the cache if it is marked as
|
|
1151
|
+
* transferable.
|
|
1153
1152
|
*
|
|
1154
1153
|
* @param {string} sPath - The relative path of the property
|
|
1155
|
-
* @returns {
|
|
1156
|
-
* @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.
|
|
1157
1156
|
*
|
|
1158
1157
|
* @public
|
|
1159
1158
|
*/
|
|
1160
|
-
_Cache.prototype.
|
|
1159
|
+
_Cache.prototype.getAndRemoveCollection = function (sPath) {
|
|
1161
1160
|
var aSegments = sPath.split("/"),
|
|
1162
1161
|
sName = aSegments.pop(),
|
|
1163
1162
|
oParent = this.fetchValue(_GroupLock.$cached, aSegments.join("/")).getResult(),
|
|
1164
1163
|
vValue = oParent[sName];
|
|
1165
1164
|
|
|
1166
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
|
+
}
|
|
1167
1175
|
delete oParent[sName];
|
|
1168
1176
|
|
|
1169
1177
|
return vValue;
|
|
@@ -1218,7 +1226,7 @@ sap.ui.define([
|
|
|
1218
1226
|
* @param {object} mQueryOptions - The query options
|
|
1219
1227
|
* @returns {object} The download query options derived from the given query options
|
|
1220
1228
|
*
|
|
1221
|
-
* @
|
|
1229
|
+
* @protected
|
|
1222
1230
|
*/
|
|
1223
1231
|
_Cache.prototype.getDownloadQueryOptions = function (mQueryOptions) {
|
|
1224
1232
|
return mQueryOptions;
|
|
@@ -1290,6 +1298,19 @@ sap.ui.define([
|
|
|
1290
1298
|
return this.mQueryOptions;
|
|
1291
1299
|
};
|
|
1292
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
|
+
|
|
1293
1314
|
/**
|
|
1294
1315
|
* Returns the requested data if available synchronously.
|
|
1295
1316
|
*
|
|
@@ -1631,7 +1652,7 @@ sap.ui.define([
|
|
|
1631
1652
|
* @param {string} sPath The path
|
|
1632
1653
|
* @param {object} [oListener] The listener
|
|
1633
1654
|
*
|
|
1634
|
-
* @
|
|
1655
|
+
* @protected
|
|
1635
1656
|
*/
|
|
1636
1657
|
_Cache.prototype.registerChangeListener = function (sPath, oListener) {
|
|
1637
1658
|
if (!(this.bSharedRequest && sPath)) {
|
|
@@ -1640,13 +1661,13 @@ sap.ui.define([
|
|
|
1640
1661
|
};
|
|
1641
1662
|
|
|
1642
1663
|
/**
|
|
1643
|
-
* Removes the element at the given index from the given array, taking care of
|
|
1644
|
-
* <code>$byPredicate</code>, <code>$created</code
|
|
1645
|
-
* limit and number of active elements (if applicable).
|
|
1664
|
+
* Removes the element at the given index from the given array, taking care of the array's
|
|
1665
|
+
* <code>$byPredicate</code>, <code>$created</code> and <code>$count</code>, and a collection
|
|
1666
|
+
* cache's limit and number of active elements (if applicable).
|
|
1646
1667
|
*
|
|
1647
|
-
* @param {object[]} aElements
|
|
1648
|
-
* The array of elements
|
|
1649
|
-
* @param {number} iIndex
|
|
1668
|
+
* @param {object[]} [aElements]
|
|
1669
|
+
* The array of elements, defaults to a collection cache's own elements
|
|
1670
|
+
* @param {number} [iIndex]
|
|
1650
1671
|
* The array index of the old element to be removed or <code>undefined</code> in case the
|
|
1651
1672
|
* element is a kept-alive element without an index
|
|
1652
1673
|
* @param {string} sPredicate
|
|
@@ -1654,12 +1675,14 @@ sap.ui.define([
|
|
|
1654
1675
|
* @param {string} sPath
|
|
1655
1676
|
* The element collection's path within this cache (as used by change listeners), may be
|
|
1656
1677
|
* <code>""</code> (only in a CollectionCache)
|
|
1657
|
-
* @returns {number} The index at which the element actually was (it might have moved
|
|
1658
|
-
* parallel insert/delete)
|
|
1678
|
+
* @returns {number|undefined} The index at which the element actually was (it might have moved
|
|
1679
|
+
* due to parallel insert/delete)
|
|
1659
1680
|
*
|
|
1660
|
-
* @
|
|
1681
|
+
* @protected
|
|
1661
1682
|
*/
|
|
1662
|
-
|
|
1683
|
+
// eslint-disable-next-line default-param-last
|
|
1684
|
+
_Cache.prototype.removeElement = function (aElements = this.aElements, iIndex, sPredicate,
|
|
1685
|
+
sPath) {
|
|
1663
1686
|
var oElement = aElements.$byPredicate[sPredicate],
|
|
1664
1687
|
bDeleted = oElement["@$ui5.context.isDeleted"],
|
|
1665
1688
|
sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
@@ -1682,11 +1705,10 @@ sap.ui.define([
|
|
|
1682
1705
|
if (!bDeleted) {
|
|
1683
1706
|
delete aElements.$byPredicate[sTransientPredicate];
|
|
1684
1707
|
}
|
|
1685
|
-
}
|
|
1686
|
-
this.adjustIndexes(sPath, aElements, iIndex, -1);
|
|
1687
|
-
if (!sPath && !sTransientPredicate) {
|
|
1708
|
+
} else if (!sPath) {
|
|
1688
1709
|
this.iLimit -= 1; // this doesn't change Infinity
|
|
1689
1710
|
}
|
|
1711
|
+
this.adjustIndexes(sPath, aElements, iIndex, -1);
|
|
1690
1712
|
}
|
|
1691
1713
|
return iIndex;
|
|
1692
1714
|
};
|
|
@@ -1882,10 +1904,44 @@ sap.ui.define([
|
|
|
1882
1904
|
});
|
|
1883
1905
|
};
|
|
1884
1906
|
|
|
1907
|
+
/**
|
|
1908
|
+
* Restores the element in the given array at the given index, taking care of the array's
|
|
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).
|
|
1911
|
+
*
|
|
1912
|
+
* @param {object[]} [aElements] - The array of elements
|
|
1913
|
+
* @param {number} iIndex - The index to restore at
|
|
1914
|
+
* @param {object} oElement - The element to restore
|
|
1915
|
+
* @param {string} sPath
|
|
1916
|
+
* The element collection's path within this cache (as used by change listeners), may be
|
|
1917
|
+
* <code>""</code> (only in a CollectionCache)
|
|
1918
|
+
* @param {int} [iDeletedIndex]
|
|
1919
|
+
* The index of the entry in <code>aElements.$deleted</code> if any
|
|
1920
|
+
*
|
|
1921
|
+
* @protected
|
|
1922
|
+
*/
|
|
1923
|
+
// eslint-disable-next-line default-param-last
|
|
1924
|
+
_Cache.prototype.restoreElement = function (aElements = this.aElements, iIndex, oElement, sPath,
|
|
1925
|
+
iDeletedIndex) {
|
|
1926
|
+
this.adjustIndexes(sPath, aElements, iIndex, 1, iDeletedIndex);
|
|
1927
|
+
const sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
1928
|
+
if (sTransientPredicate) {
|
|
1929
|
+
aElements.$created += 1;
|
|
1930
|
+
if (!sPath) {
|
|
1931
|
+
this.iActiveElements += 1;
|
|
1932
|
+
}
|
|
1933
|
+
} else if (!sPath) {
|
|
1934
|
+
this.iLimit += 1; // this doesn't change Infinity
|
|
1935
|
+
}
|
|
1936
|
+
_Helper.addToCount(this.mChangeListeners, sPath, aElements, 1);
|
|
1937
|
+
aElements.splice(iIndex, 0, oElement);
|
|
1938
|
+
aElements.$byPredicate[_Helper.getPrivateAnnotation(oElement, "predicate")] = oElement;
|
|
1939
|
+
};
|
|
1940
|
+
|
|
1885
1941
|
/**
|
|
1886
1942
|
* Adds or removes a usage of this cache. A cache with active usages must not be destroyed.
|
|
1887
|
-
* If
|
|
1888
|
-
* 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>).
|
|
1889
1945
|
*
|
|
1890
1946
|
* @param {boolean} bActive
|
|
1891
1947
|
* Whether a usage is added or removed
|
|
@@ -2050,9 +2106,6 @@ sap.ui.define([
|
|
|
2050
2106
|
* If no back-end request is needed, the function is not called.
|
|
2051
2107
|
* @param {function} fnIsKeepAlive
|
|
2052
2108
|
* A function to tell whether the entity is kept-alive
|
|
2053
|
-
* @param {boolean} [bInactive]
|
|
2054
|
-
* If <code>true</code>, the cache and the POST request will be updated, but the entity stays
|
|
2055
|
-
* inactive
|
|
2056
2109
|
* @returns {sap.ui.base.SyncPromise}
|
|
2057
2110
|
* A promise for the PATCH request (resolves with <code>undefined</code>); rejected in case of
|
|
2058
2111
|
* cancellation or if no <code>fnErrorCallback</code> is given
|
|
@@ -2062,7 +2115,7 @@ sap.ui.define([
|
|
|
2062
2115
|
*/
|
|
2063
2116
|
_Cache.prototype.update = function (oGroupLock, sPropertyPath, vValue, fnErrorCallback,
|
|
2064
2117
|
sEditUrl, sEntityPath, sUnitOrCurrencyPath, bPatchWithoutSideEffects, fnPatchSent,
|
|
2065
|
-
fnIsKeepAlive
|
|
2118
|
+
fnIsKeepAlive) {
|
|
2066
2119
|
var oPromise,
|
|
2067
2120
|
aPropertyPath = sPropertyPath.split("/"),
|
|
2068
2121
|
aUnitOrCurrencyPath,
|
|
@@ -2254,12 +2307,6 @@ sap.ui.define([
|
|
|
2254
2307
|
if (oPostBody) {
|
|
2255
2308
|
// change listeners are informed later
|
|
2256
2309
|
_Helper.updateAll({}, sEntityPath, oPostBody, oUpdateData);
|
|
2257
|
-
if (oEntity["@$ui5.context.isInactive"] && !bInactive) {
|
|
2258
|
-
oUpdateData["@$ui5.context.isInactive"] = false;
|
|
2259
|
-
_Helper.deletePrivateAnnotation(oEntity, "initialData");
|
|
2260
|
-
that.iActiveElements += 1;
|
|
2261
|
-
_Helper.addToCount(that.mChangeListeners, "", that.aElements, 1);
|
|
2262
|
-
}
|
|
2263
2310
|
}
|
|
2264
2311
|
// write the changed value into the cache
|
|
2265
2312
|
_Helper.updateAll(that.mChangeListeners, sEntityPath, oEntity, oUpdateData);
|
|
@@ -2280,13 +2327,8 @@ sap.ui.define([
|
|
|
2280
2327
|
}
|
|
2281
2328
|
if (sTransientGroup) {
|
|
2282
2329
|
// When updating a transient entity, the above _Helper.updateAll has already updated
|
|
2283
|
-
// the POST request.
|
|
2284
|
-
|
|
2285
|
-
if (bInactive) {
|
|
2286
|
-
_Helper.updateAll(that.mChangeListeners, sEntityPath, oEntity,
|
|
2287
|
-
{"@$ui5.context.isInactive" : 1}
|
|
2288
|
-
);
|
|
2289
|
-
} else if (sParkedGroup) {
|
|
2330
|
+
// the POST request. An inactive entity must remain parked.
|
|
2331
|
+
if (sParkedGroup && !oEntity["@$ui5.context.isInactive"]) {
|
|
2290
2332
|
_Helper.setPrivateAnnotation(oEntity, "transient", sTransientGroup);
|
|
2291
2333
|
that.oRequestor.relocate(sParkedGroup, oPostBody, sTransientGroup);
|
|
2292
2334
|
}
|
|
@@ -2612,14 +2654,31 @@ sap.ui.define([
|
|
|
2612
2654
|
};
|
|
2613
2655
|
|
|
2614
2656
|
/**
|
|
2615
|
-
* 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!
|
|
2616
2660
|
*
|
|
2617
2661
|
* @param {number} iIndex - An index
|
|
2618
2662
|
* @param {string} sPredicate - A key predicate
|
|
2663
|
+
* @throws {Error} When the element with the given index is still transient
|
|
2664
|
+
*
|
|
2665
|
+
* @public
|
|
2619
2666
|
*/
|
|
2620
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
|
+
}
|
|
2621
2672
|
delete this.aElements[iIndex];
|
|
2622
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
|
+
}
|
|
2623
2682
|
};
|
|
2624
2683
|
|
|
2625
2684
|
/**
|
|
@@ -2732,8 +2791,7 @@ sap.ui.define([
|
|
|
2732
2791
|
function addKeyFilter(oElement) {
|
|
2733
2792
|
var sKeyFilter;
|
|
2734
2793
|
|
|
2735
|
-
mTypeForMetaPath = mTypeForMetaPath
|
|
2736
|
-
|| that.fetchTypes().getResult(); // Note: $metadata already read
|
|
2794
|
+
mTypeForMetaPath = mTypeForMetaPath || that.getTypes(); // Note: $metadata already read
|
|
2737
2795
|
sKeyFilter = _Helper.getKeyFilter(oElement, that.sMetaPath, mTypeForMetaPath);
|
|
2738
2796
|
if (sKeyFilter) {
|
|
2739
2797
|
aKeyFilters.push(sKeyFilter);
|
|
@@ -3062,7 +3120,8 @@ sap.ui.define([
|
|
|
3062
3120
|
* with a number property <code>$count</code> representing the element count on server-side;
|
|
3063
3121
|
* <code>$count</code> may be <code>undefined</code>, but not <code>Infinity</code>). If an
|
|
3064
3122
|
* HTTP request fails, the error from the _Requestor is returned and the requested range is
|
|
3065
|
-
* 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>.
|
|
3066
3125
|
* @throws {Error} If given index or length is less than 0
|
|
3067
3126
|
*
|
|
3068
3127
|
* @public
|
|
@@ -3232,7 +3291,7 @@ sap.ui.define([
|
|
|
3232
3291
|
return undefined;
|
|
3233
3292
|
}
|
|
3234
3293
|
|
|
3235
|
-
mTypes = this.
|
|
3294
|
+
mTypes = this.getTypes(); // in this stage the promise is resolved
|
|
3236
3295
|
|
|
3237
3296
|
return this.oRequestor.request("GET", calculateKeptElementsQuery(), oGroupLock)
|
|
3238
3297
|
.then(function (oResponse) {
|
|
@@ -3293,7 +3352,8 @@ sap.ui.define([
|
|
|
3293
3352
|
* The function is called when the back-end requests have been sent.
|
|
3294
3353
|
* @returns {sap.ui.base.SyncPromise}
|
|
3295
3354
|
* A promise which is resolved without a defined result when the request is finished and
|
|
3296
|
-
* 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>)
|
|
3297
3357
|
* @throws {Error}
|
|
3298
3358
|
* If group ID is '$cached'. The error has a property <code>$cached = true</code>
|
|
3299
3359
|
*
|
|
@@ -3318,6 +3378,11 @@ sap.ui.define([
|
|
|
3318
3378
|
]).then(function (aResult) {
|
|
3319
3379
|
var iFiltered;
|
|
3320
3380
|
|
|
3381
|
+
if (oReadRequest.obsolete) {
|
|
3382
|
+
const oError = new Error("Request is obsolete");
|
|
3383
|
+
oError.canceled = true;
|
|
3384
|
+
throw oError;
|
|
3385
|
+
}
|
|
3321
3386
|
that.checkRange(oPromise, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3322
3387
|
if (that.aElements.$tail === oPromise) {
|
|
3323
3388
|
that.aElements.$tail = undefined;
|
|
@@ -3327,8 +3392,10 @@ sap.ui.define([
|
|
|
3327
3392
|
return that.handleCount(oGroupLock, iTransientElements, oReadRequest.iStart,
|
|
3328
3393
|
oReadRequest.iEnd, aResult[0], iFiltered);
|
|
3329
3394
|
}).catch(function (oError) {
|
|
3330
|
-
|
|
3331
|
-
|
|
3395
|
+
if (!oError.canceled) {
|
|
3396
|
+
that.checkRange(oPromise, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3397
|
+
that.fill(undefined, oReadRequest.iStart, oReadRequest.iEnd);
|
|
3398
|
+
}
|
|
3332
3399
|
throw oError;
|
|
3333
3400
|
}).finally(function () {
|
|
3334
3401
|
that.aReadRequests.splice(that.aReadRequests.indexOf(oReadRequest), 1);
|
|
@@ -3374,7 +3441,7 @@ sap.ui.define([
|
|
|
3374
3441
|
mQueryOptions,
|
|
3375
3442
|
sResourcePath,
|
|
3376
3443
|
bSkip,
|
|
3377
|
-
mTypeForMetaPath = this.
|
|
3444
|
+
mTypeForMetaPath = this.getTypes(),
|
|
3378
3445
|
that = this;
|
|
3379
3446
|
|
|
3380
3447
|
this.checkSharedRequest();
|
|
@@ -3544,6 +3611,10 @@ sap.ui.define([
|
|
|
3544
3611
|
aKeptElementPredicates.forEach(function (sPredicate) {
|
|
3545
3612
|
that.aElements.$byPredicate[sPredicate] = mByPredicate[sPredicate];
|
|
3546
3613
|
});
|
|
3614
|
+
// Beware: fireChange can trigger a read which must not be obsoleted
|
|
3615
|
+
this.aReadRequests?.forEach((oReadRequest) => {
|
|
3616
|
+
oReadRequest.obsolete = true;
|
|
3617
|
+
});
|
|
3547
3618
|
if (mChangeListeners[""]) {
|
|
3548
3619
|
this.mChangeListeners[""] = mChangeListeners[""];
|
|
3549
3620
|
_Helper.fireChange(this.mChangeListeners, "");
|
|
@@ -3582,10 +3653,43 @@ sap.ui.define([
|
|
|
3582
3653
|
this.oBackup = null;
|
|
3583
3654
|
};
|
|
3584
3655
|
|
|
3656
|
+
/**
|
|
3657
|
+
* Sets the cache's $count at the root level to 0.
|
|
3658
|
+
*
|
|
3659
|
+
* @protected
|
|
3660
|
+
*/
|
|
3661
|
+
_CollectionCache.prototype.setEmpty = function () {
|
|
3662
|
+
this.iLimit = this.aElements.$count = 0;
|
|
3663
|
+
};
|
|
3664
|
+
|
|
3665
|
+
/**
|
|
3666
|
+
* Sets the "@$ui5.context.isInactive" annotation at the entity with the given path, which might
|
|
3667
|
+
* activate it.
|
|
3668
|
+
*
|
|
3669
|
+
* @param {string} sPath - The path
|
|
3670
|
+
* @param {boolean|number} bInactive
|
|
3671
|
+
* The new value, either <code>false</code> to activate it, or <code>1</code> to mark it as
|
|
3672
|
+
* inactive, but changed
|
|
3673
|
+
*
|
|
3674
|
+
* @public
|
|
3675
|
+
*/
|
|
3676
|
+
_CollectionCache.prototype.setInactive = function (sPath, bInactive) {
|
|
3677
|
+
const oElement = this.getValue(sPath);
|
|
3678
|
+
_Helper.updateAll(this.mChangeListeners, sPath, oElement,
|
|
3679
|
+
{"@$ui5.context.isInactive" : bInactive});
|
|
3680
|
+
if (!bInactive) { // activate
|
|
3681
|
+
_Helper.deletePrivateAnnotation(oElement, "initialData");
|
|
3682
|
+
this.iActiveElements += 1;
|
|
3683
|
+
_Helper.addToCount(this.mChangeListeners, "", this.aElements, 1);
|
|
3684
|
+
}
|
|
3685
|
+
};
|
|
3686
|
+
|
|
3585
3687
|
/**
|
|
3586
3688
|
* Sets the cache's elements to the given collection after a deep create.
|
|
3587
3689
|
*
|
|
3588
3690
|
* @param {object} aElements - The elements from the deep create
|
|
3691
|
+
*
|
|
3692
|
+
* @public
|
|
3589
3693
|
*/
|
|
3590
3694
|
_CollectionCache.prototype.setPersistedCollection = function (aElements) {
|
|
3591
3695
|
this.aElements = aElements;
|
|
@@ -36,6 +36,18 @@ sap.ui.define([
|
|
|
36
36
|
*/
|
|
37
37
|
_Helper;
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Ensures that the key predicates in the given URL are not %-encoded.
|
|
41
|
+
*
|
|
42
|
+
* @param {string} sUrl - The URL
|
|
43
|
+
* @returns {string} The converted URL
|
|
44
|
+
*/
|
|
45
|
+
function preserveKeyPredicates(sUrl) {
|
|
46
|
+
return sUrl.replace(rEscapedTick, "'")
|
|
47
|
+
.replace(rEscapedOpenBracket, "(")
|
|
48
|
+
.replace(rEscapedCloseBracket, ")");
|
|
49
|
+
}
|
|
50
|
+
|
|
39
51
|
_Helper = {
|
|
40
52
|
/**
|
|
41
53
|
* Adds an item to the given map by path.
|
|
@@ -1699,26 +1711,6 @@ sap.ui.define([
|
|
|
1699
1711
|
return sPath;
|
|
1700
1712
|
},
|
|
1701
1713
|
|
|
1702
|
-
/**
|
|
1703
|
-
* Returns the path for the return value context. Supports bound operations on an entity or
|
|
1704
|
-
* a collection.
|
|
1705
|
-
*
|
|
1706
|
-
* @param {string} sPath
|
|
1707
|
-
* The bindings's path; either a resolved model path or a resource path; for example:
|
|
1708
|
-
* "/Artists(ArtistID='42',IsActiveEntity=true)/special.cases.EditAction(...)" or
|
|
1709
|
-
* "/Artists/special.cases.Create(...)", the leading "/" can be omitted.
|
|
1710
|
-
* @param {string} sResponsePredicate The key predicate of the response entity
|
|
1711
|
-
* @returns {string} The path for the return value context.
|
|
1712
|
-
*
|
|
1713
|
-
* @public
|
|
1714
|
-
*/
|
|
1715
|
-
getReturnValueContextPath : function (sPath, sResponsePredicate) {
|
|
1716
|
-
var sBoundParameterPath = sPath.slice(0, sPath.lastIndexOf("/")),
|
|
1717
|
-
i = sBoundParameterPath.indexOf("(");
|
|
1718
|
-
|
|
1719
|
-
return (i < 0 ? sBoundParameterPath : sPath.slice(0, i)) + sResponsePredicate;
|
|
1720
|
-
},
|
|
1721
|
-
|
|
1722
1714
|
/**
|
|
1723
1715
|
* Tells whether <code>sPath</code> has <code>sBasePath</code> as path prefix. It returns
|
|
1724
1716
|
* <code>true</code> iff {@link .getRelativePath} does not return <code>undefined</code>.
|
|
@@ -2118,10 +2110,24 @@ sap.ui.define([
|
|
|
2118
2110
|
* @public
|
|
2119
2111
|
*/
|
|
2120
2112
|
makeAbsolute : function (sUrl, sBase) {
|
|
2121
|
-
return new URI(sUrl).absoluteTo(sBase).toString()
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2113
|
+
return preserveKeyPredicates(new URI(sUrl).absoluteTo(sBase).toString());
|
|
2114
|
+
},
|
|
2115
|
+
|
|
2116
|
+
/**
|
|
2117
|
+
* Make the given absolute URL relative to the given base URL. The URLs must not contain a
|
|
2118
|
+
* host or protocol part. Ensures that key predicates are not %-encoded.
|
|
2119
|
+
*
|
|
2120
|
+
* @param {string} sUrl
|
|
2121
|
+
* The URL
|
|
2122
|
+
* @param {string} sBase
|
|
2123
|
+
* The base URL
|
|
2124
|
+
* @returns {string}
|
|
2125
|
+
* The relative URL
|
|
2126
|
+
*
|
|
2127
|
+
* @public
|
|
2128
|
+
*/
|
|
2129
|
+
makeRelativeUrl : function (sUrl, sBase) {
|
|
2130
|
+
return preserveKeyPredicates(new URI(sUrl).relativeTo(sBase).toString());
|
|
2125
2131
|
},
|
|
2126
2132
|
|
|
2127
2133
|
/**
|
|
@@ -2769,6 +2775,12 @@ sap.ui.define([
|
|
|
2769
2775
|
aNestedCreatedEntities.$count = undefined; // -> setCount must fire a change event
|
|
2770
2776
|
aNestedCreatedEntities.$created = 0;
|
|
2771
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
|
+
}
|
|
2772
2784
|
const sCollectionPath = sPath + "/" + sSegment;
|
|
2773
2785
|
_Helper.setCount(mChangeListeners, sCollectionPath, aNestedCreatedEntities,
|
|
2774
2786
|
aNestedCreatedEntities.length);
|
|
@@ -338,6 +338,7 @@ sap.ui.define([], function () {
|
|
|
338
338
|
* @constructor
|
|
339
339
|
*/
|
|
340
340
|
function _FilterParser() {
|
|
341
|
+
_Parser.apply(this, arguments);
|
|
341
342
|
}
|
|
342
343
|
|
|
343
344
|
_FilterParser.prototype = Object.create(_Parser.prototype);
|
|
@@ -421,6 +422,7 @@ sap.ui.define([], function () {
|
|
|
421
422
|
* @constructor
|
|
422
423
|
*/
|
|
423
424
|
function _KeyPredicateParser() {
|
|
425
|
+
_Parser.apply(this, arguments);
|
|
424
426
|
}
|
|
425
427
|
|
|
426
428
|
_KeyPredicateParser.prototype = Object.create(_Parser.prototype);
|
|
@@ -463,6 +465,7 @@ sap.ui.define([], function () {
|
|
|
463
465
|
* @constructor
|
|
464
466
|
*/
|
|
465
467
|
function _SystemQueryOptionParser() {
|
|
468
|
+
_Parser.apply(this, arguments);
|
|
466
469
|
}
|
|
467
470
|
|
|
468
471
|
_SystemQueryOptionParser.prototype = Object.create(_Parser.prototype);
|