@openui5/sap.ui.core 1.117.0 → 1.118.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/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 +42 -39
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- 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 +7 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +9 -1
- 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 +22 -15
- 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 +1 -13
- package/src/sap/ui/core/Control.js +21 -1
- package/src/sap/ui/core/Core.js +67 -41
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +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 +3 -6
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +9 -13
- 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 +1 -1
- package/src/sap/ui/core/Messaging.js +472 -0
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +3 -2
- package/src/sap/ui/core/ResizeHandler.js +1 -4
- 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/Theming.js +28 -31
- 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 +85 -17
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/boot.js +9 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +4 -0
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +18 -47
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +37 -459
- package/src/sap/ui/core/message/MessageMixin.js +3 -3
- 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 +1 -1
- package/src/sap/ui/core/messagebundle_bg.properties +1 -1
- package/src/sap/ui/core/messagebundle_ca.properties +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +1 -1
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_da.properties +1 -1
- package/src/sap/ui/core/messagebundle_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -1
- package/src/sap/ui/core/messagebundle_es.properties +1 -1
- 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 +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +1 -1
- package/src/sap/ui/core/messagebundle_hr.properties +1 -1
- package/src/sap/ui/core/messagebundle_hu.properties +1 -1
- package/src/sap/ui/core/messagebundle_id.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +1 -1
- package/src/sap/ui/core/messagebundle_iw.properties +1 -1
- package/src/sap/ui/core/messagebundle_ja.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +1 -1
- package/src/sap/ui/core/messagebundle_ms.properties +1 -1
- package/src/sap/ui/core/messagebundle_nl.properties +1 -1
- package/src/sap/ui/core/messagebundle_no.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +1 -1
- package/src/sap/ui/core/messagebundle_ru.properties +1 -1
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sk.properties +1 -1
- package/src/sap/ui/core/messagebundle_sl.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +9 -9
- package/src/sap/ui/core/messagebundle_th.properties +1 -1
- package/src/sap/ui/core/messagebundle_tr.properties +1 -1
- package/src/sap/ui/core/messagebundle_uk.properties +1 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +9 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +7 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -0
- package/src/sap/ui/core/routing/sync/Route.js +1 -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 +34 -4
- package/src/sap/ui/core/support/ToolsAPI.js +6 -16
- package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +0 -2
- package/src/sap/ui/core/support/plugins/ControlTree.js +10 -12
- 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 +1 -1
- 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 +27 -13
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
- package/src/sap/ui/core/theming/ThemeHelper.js +100 -0
- package/src/sap/ui/core/theming/ThemeManager.js +18 -18
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +53 -29
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +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 +4 -3
- package/src/sap/ui/debug/DebugEnv.js +4 -4
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/Binding.js +6 -6
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +3 -3
- 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/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 +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/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 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +6 -2
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +23 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
- package/src/sap/ui/model/odata/v4/Context.js +26 -16
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -2
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +62 -29
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +17 -10
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +129 -6
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +102 -57
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +30 -4
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +14 -4
- 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 -1
- package/src/sap/ui/model/type/DateInterval.js +5 -4
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +11 -2
- 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/test/ModuleTracking.js +326 -0
- package/src/sap/ui/test/TestUtils.js +7 -6
- 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/selectors/_ControlSelectorGenerator.js +2 -0
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +14 -10
- package/src/ui5loader.js +2 -2
- 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/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/ValidateURL.html +143 -143
- package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -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/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/OpaGetStarted/applicationUnderTest/index.html +9 -6
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
- package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -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/ViewTemplate/scenario/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
- package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
- package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
- 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 +12 -10
- 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 +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
- 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 +10 -9
- 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 +85 -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 +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
- 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/Opa.qunit.js +12 -11
- 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 +11 -10
- 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 +54 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -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 +23 -22
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
- 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/SalesOrdersRTATest/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
- 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/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/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/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/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/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/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 +3 -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/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 +11 -10
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
- package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
- package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
- 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/ExpressionParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
- package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
- package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
- package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
- package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
- 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/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 +6 -5
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
- 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 +4 -3
- package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
- 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/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/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 +12 -14
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
- package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
- package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
- 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/UIComponent.qunit.js +19 -19
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
- package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
- 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/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/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.ui.qunit.js +16 -16
- package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
- 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 +36 -46
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
- 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/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 +45 -40
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
- 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/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 +40 -47
- 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 +8 -8
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -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/type/DateTimeBase.qunit.js +33 -12
- 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/ODataListBindingNoFakeService.qunit.js +63 -13
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
- 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 +50 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
- 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 +29 -42
- 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 +7 -10
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
- 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/syncXHR.qunit.js +24 -17
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
- 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 +3 -2
- 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 +10 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
- 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 +37 -6
- 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 +8 -8
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
- package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
- 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/relnotes/changes-1.117.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
- package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
- package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
- 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/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
- package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +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/{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
|
@@ -38,8 +38,9 @@ sap.ui.define([
|
|
|
38
38
|
"sap/ui/core/cache/CacheManager",
|
|
39
39
|
"sap/ui/core/Configuration",
|
|
40
40
|
"sap/ui/core/library",
|
|
41
|
+
"sap/ui/core/Rendering",
|
|
41
42
|
"sap/ui/core/message/Message",
|
|
42
|
-
"sap/ui/core/
|
|
43
|
+
"sap/ui/core/Messaging",
|
|
43
44
|
"sap/ui/model/BindingMode",
|
|
44
45
|
"sap/ui/model/Context",
|
|
45
46
|
"sap/ui/model/Model",
|
|
@@ -47,8 +48,8 @@ sap.ui.define([
|
|
|
47
48
|
"sap/ui/thirdparty/URI"
|
|
48
49
|
], function (ODataContextBinding, ODataListBinding, ODataMetaModel, ODataPropertyBinding,
|
|
49
50
|
SubmitMode, _GroupLock, _Helper, _MetadataRequestor, _Parser, _Requestor, assert, Log,
|
|
50
|
-
SyncPromise, CacheManager, Configuration, coreLibrary,
|
|
51
|
-
BaseContext, Model, OperationMode, URI) {
|
|
51
|
+
SyncPromise, CacheManager, Configuration, coreLibrary, Rendering, Message, Messaging,
|
|
52
|
+
BindingMode, BaseContext, Model, OperationMode, URI) {
|
|
52
53
|
"use strict";
|
|
53
54
|
|
|
54
55
|
var sClassName = "sap.ui.model.odata.v4.ODataModel",
|
|
@@ -233,7 +234,7 @@ sap.ui.define([
|
|
|
233
234
|
* @extends sap.ui.model.Model
|
|
234
235
|
* @public
|
|
235
236
|
* @since 1.37.0
|
|
236
|
-
* @version 1.
|
|
237
|
+
* @version 1.118.0
|
|
237
238
|
*/
|
|
238
239
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
239
240
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -379,7 +380,7 @@ sap.ui.define([
|
|
|
379
380
|
reportStateMessages : this.reportStateMessages.bind(this),
|
|
380
381
|
reportTransitionMessages : this.reportTransitionMessages.bind(this),
|
|
381
382
|
updateMessages : function (aOldMessages, aNewMessages) {
|
|
382
|
-
|
|
383
|
+
Messaging.updateMessages(aOldMessages, aNewMessages);
|
|
383
384
|
}
|
|
384
385
|
};
|
|
385
386
|
this.oRequestor = _Requestor.create(this.sServiceUrl, this.oInterface, this.mHeaders,
|
|
@@ -463,7 +464,9 @@ sap.ui.define([
|
|
|
463
464
|
* the entity is also available.
|
|
464
465
|
*
|
|
465
466
|
* @param {sap.ui.base.Event} oEvent
|
|
467
|
+
* The event object
|
|
466
468
|
* @param {object} oEvent.getParameters
|
|
469
|
+
* Object containing all event parameters
|
|
467
470
|
* @param {object} [oEvent.getParameters.data]
|
|
468
471
|
* An empty data object if a back-end request succeeds
|
|
469
472
|
* @param {Error} [oEvent.getParameters.error]
|
|
@@ -505,7 +508,9 @@ sap.ui.define([
|
|
|
505
508
|
* </ul>
|
|
506
509
|
*
|
|
507
510
|
* @param {sap.ui.base.Event} oEvent
|
|
511
|
+
* The event object
|
|
508
512
|
* @param {object} oEvent.getParameters
|
|
513
|
+
* Object containing all event parameters
|
|
509
514
|
* @param {string} [oEvent.getParameters.path]
|
|
510
515
|
* The absolute path to the entity which caused the event. The path is only provided for
|
|
511
516
|
* additional property requests; for other requests it is <code>undefined</code>.
|
|
@@ -534,7 +539,9 @@ sap.ui.define([
|
|
|
534
539
|
* not user input.
|
|
535
540
|
*
|
|
536
541
|
* @param {sap.ui.base.Event} oEvent
|
|
542
|
+
* The event object
|
|
537
543
|
* @param {object} oEvent.getParameters
|
|
544
|
+
* Object containing all event parameters
|
|
538
545
|
* @param {sap.ui.model.Context} [oEvent.getParameters.context]
|
|
539
546
|
* The property binding's {@link sap.ui.model.Binding#getContext context}, if available
|
|
540
547
|
* @param {string} oEvent.getParameters.path
|
|
@@ -618,7 +625,7 @@ sap.ui.define([
|
|
|
618
625
|
if (!this.aPrerenderingTasks) {
|
|
619
626
|
this.aPrerenderingTasks = [];
|
|
620
627
|
fnRunTasks = runTasks.bind(null, this.aPrerenderingTasks);
|
|
621
|
-
|
|
628
|
+
Rendering.addPrerenderingTask(fnRunTasks);
|
|
622
629
|
// Add a watchdog to run the tasks in case there is no rendering. Ensure that the task
|
|
623
630
|
// runs after all setTimeout(0) tasks scheduled from within the current task, even those
|
|
624
631
|
// that were scheduled afterwards. A simple setTimeout(n) with n > 0 is not sufficient
|
|
@@ -1210,7 +1217,7 @@ sap.ui.define([
|
|
|
1210
1217
|
* <li> It must not contain control characters.
|
|
1211
1218
|
* </ul>
|
|
1212
1219
|
*
|
|
1213
|
-
* @param {
|
|
1220
|
+
* @param {Object<string|undefined>} [mHeaders]
|
|
1214
1221
|
* Map of HTTP header names to their values
|
|
1215
1222
|
* @throws {Error}
|
|
1216
1223
|
* If <code>mHeaders</code> contains unsupported headers, the same header occurs more than
|
|
@@ -1813,7 +1820,7 @@ sap.ui.define([
|
|
|
1813
1820
|
*
|
|
1814
1821
|
* @param {boolean} [bIncludeContextId]
|
|
1815
1822
|
* Whether to include the "SAP-ContextId" header (@since 1.86.0)
|
|
1816
|
-
* @returns {
|
|
1823
|
+
* @returns {Object<string>}
|
|
1817
1824
|
* The map of HTTP headers
|
|
1818
1825
|
*
|
|
1819
1826
|
* @public
|
|
@@ -2413,7 +2420,7 @@ sap.ui.define([
|
|
|
2413
2420
|
});
|
|
2414
2421
|
});
|
|
2415
2422
|
if (aNewMessages.length || aOldMessages.length) {
|
|
2416
|
-
|
|
2423
|
+
Messaging.updateMessages(aOldMessages, aNewMessages);
|
|
2417
2424
|
}
|
|
2418
2425
|
};
|
|
2419
2426
|
|
|
@@ -2432,7 +2439,7 @@ sap.ui.define([
|
|
|
2432
2439
|
var that = this;
|
|
2433
2440
|
|
|
2434
2441
|
if (aMessages && aMessages.length) {
|
|
2435
|
-
|
|
2442
|
+
Messaging.updateMessages(undefined, aMessages.map(function (oMessage) {
|
|
2436
2443
|
oMessage.transition = true;
|
|
2437
2444
|
return that.createUI5Message(oMessage, sResourcePath);
|
|
2438
2445
|
}));
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.118.0
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -117,7 +117,9 @@ sap.ui.define([
|
|
|
117
117
|
* change reason as parameter.
|
|
118
118
|
*
|
|
119
119
|
* @param {sap.ui.base.Event} oEvent
|
|
120
|
+
* The event object
|
|
120
121
|
* @param {object} oEvent.getParameters
|
|
122
|
+
* Object containing all event parameters
|
|
121
123
|
* @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
|
|
122
124
|
* The reason for the 'change' event could be
|
|
123
125
|
* <ul>
|
|
@@ -154,7 +156,9 @@ sap.ui.define([
|
|
|
154
156
|
* 'error' event parameter.
|
|
155
157
|
*
|
|
156
158
|
* @param {sap.ui.base.Event} oEvent
|
|
159
|
+
* The event object
|
|
157
160
|
* @param {object} oEvent.getParameters
|
|
161
|
+
* Object containing all event parameters
|
|
158
162
|
* @param {object} [oEvent.getParameters.data]
|
|
159
163
|
* An empty data object if a back-end request succeeds
|
|
160
164
|
* @param {Error} [oEvent.getParameters.error] The error object if a back-end request failed.
|
|
@@ -119,10 +119,83 @@ sap.ui.define([
|
|
|
119
119
|
|
|
120
120
|
// make _AggregationCache a _Cache, but actively disinherit some critical methods
|
|
121
121
|
_AggregationCache.prototype = Object.create(_Cache.prototype);
|
|
122
|
-
_AggregationCache.prototype._delete = null;
|
|
123
122
|
_AggregationCache.prototype.addTransientCollection = null;
|
|
124
123
|
_AggregationCache.prototype.getAndRemoveValue = null;
|
|
125
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Deletes an entity on the server and in the cached data.
|
|
127
|
+
*
|
|
128
|
+
* @param {sap.ui.model.odata.v4.lib._GroupLock} oGroupLock
|
|
129
|
+
* A lock for the group ID to be used for the DELETE request
|
|
130
|
+
* @param {string} sEditUrl
|
|
131
|
+
* The entity's edit URL to be used for the DELETE request
|
|
132
|
+
* @param {string} sIndex
|
|
133
|
+
* The entity's index
|
|
134
|
+
* @param {object} [oETagEntity]
|
|
135
|
+
* An entity with the ETag of the binding for which the deletion was requested. This is
|
|
136
|
+
* provided if the deletion is delegated from a context binding with empty path to a list
|
|
137
|
+
* binding
|
|
138
|
+
* @param {function(number,number):void} fnCallback
|
|
139
|
+
* A function which is called immediately when an entity has been deleted from the cache, or
|
|
140
|
+
* when it was re-inserted; the index of the entity and an offset (-1 for deletion, 1 for
|
|
141
|
+
* re-insertion) are passed as parameter
|
|
142
|
+
* @returns {sap.ui.base.SyncPromise}
|
|
143
|
+
* A promise which is resolved without a result in case of success, or rejected with an
|
|
144
|
+
* instance of <code>Error</code> in case of failure
|
|
145
|
+
* @throws {Error} If the cache is shared, <code>this.oAggregation.expandTo > 1</code>, or
|
|
146
|
+
* <code>sIndex</code> is not a number.
|
|
147
|
+
*
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
// @override sap.ui.model.odata.v4.lib._Cache#_delete
|
|
151
|
+
_AggregationCache.prototype._delete = function (oGroupLock, sEditUrl, sIndex, oETagEntity,
|
|
152
|
+
fnCallback) {
|
|
153
|
+
if (this.oAggregation.expandTo > 1) {
|
|
154
|
+
throw new Error("Unsupported expandTo: " + this.oAggregation.expandTo);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
let iFlatIndex = parseInt(sIndex);
|
|
158
|
+
if (isNaN(iFlatIndex)) {
|
|
159
|
+
throw new Error(`Unsupported kept-alive entity: ${this.sResourcePath}${sIndex}`);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
const oElement = this.aElements[iFlatIndex];
|
|
163
|
+
const oLevelCache = _Helper.getPrivateAnnotation(oElement, "parent");
|
|
164
|
+
const iLevelIndex = _Helper.getPrivateAnnotation(oElement, "index");
|
|
165
|
+
let iParentIndex = iFlatIndex - iLevelIndex - 1;
|
|
166
|
+
const oParent = this.aElements[iParentIndex];
|
|
167
|
+
return oLevelCache._delete(oGroupLock, sEditUrl, iLevelIndex.toString(), oETagEntity,
|
|
168
|
+
(iIndex, iOffset) => {
|
|
169
|
+
if (iOffset < 0) { // deleting
|
|
170
|
+
this.shiftIndex(iFlatIndex, iOffset);
|
|
171
|
+
this.removeElement(this.aElements, iFlatIndex,
|
|
172
|
+
_Helper.getPrivateAnnotation(oElement, "predicate"), "");
|
|
173
|
+
if (oParent && !oLevelCache.getValue("$count")) {
|
|
174
|
+
_Helper.updateAll(this.mChangeListeners,
|
|
175
|
+
_Helper.getPrivateAnnotation(oParent, "predicate"), oParent,
|
|
176
|
+
{"@$ui5.node.isExpanded" : undefined});
|
|
177
|
+
// _Helper.updateAll only sets it to undefined
|
|
178
|
+
delete oParent["@$ui5.node.isExpanded"];
|
|
179
|
+
}
|
|
180
|
+
} else { // reinserting
|
|
181
|
+
if (oParent) {
|
|
182
|
+
if (oParent !== this.aElements[iParentIndex]) { // parent moved
|
|
183
|
+
iParentIndex = this.aElements.indexOf(oParent);
|
|
184
|
+
}
|
|
185
|
+
if (oLevelCache.getValue("$count") === 1) {
|
|
186
|
+
_Helper.updateAll(this.mChangeListeners,
|
|
187
|
+
_Helper.getPrivateAnnotation(oParent, "predicate"), oParent,
|
|
188
|
+
{"@$ui5.node.isExpanded" : true});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
iFlatIndex = iParentIndex + iIndex + 1;
|
|
192
|
+
this.restoreElement(this.aElements, iFlatIndex, oElement, "");
|
|
193
|
+
this.shiftIndex(iFlatIndex, iOffset);
|
|
194
|
+
}
|
|
195
|
+
fnCallback(iFlatIndex, iOffset);
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
|
|
126
199
|
/**
|
|
127
200
|
* Copies the given elements from a cache read into <code>this.aElements</code>.
|
|
128
201
|
*
|
|
@@ -252,7 +325,7 @@ sap.ui.define([
|
|
|
252
325
|
iCount = 0,
|
|
253
326
|
iDescendants,
|
|
254
327
|
aElements = this.aElements,
|
|
255
|
-
oGroupNode = this.
|
|
328
|
+
oGroupNode = this.getValue(sGroupNodePath),
|
|
256
329
|
iGroupNodeLevel = oGroupNode["@$ui5.node.level"],
|
|
257
330
|
iIndex = aElements.indexOf(oGroupNode),
|
|
258
331
|
i = iIndex + 1;
|
|
@@ -349,10 +422,12 @@ sap.ui.define([
|
|
|
349
422
|
if (oParentNode["@$ui5.node.isExpanded"] === false) {
|
|
350
423
|
throw new Error("Unsupported collapsed parent: " + sParentPath);
|
|
351
424
|
}
|
|
425
|
+
const iIndex = aElements.indexOf(oParentNode) + 1;
|
|
352
426
|
|
|
353
427
|
let oCache = _Helper.getPrivateAnnotation(oParentNode, "cache");
|
|
354
428
|
if (!oCache) {
|
|
355
429
|
oCache = this.createGroupLevelCache(oParentNode);
|
|
430
|
+
oCache.setEmpty();
|
|
356
431
|
_Helper.setPrivateAnnotation(oParentNode, "cache", oCache);
|
|
357
432
|
_Helper.updateAll(this.mChangeListeners, sParentPredicate, oParentNode,
|
|
358
433
|
{"@$ui5.node.isExpanded" : true}); // not a leaf anymore
|
|
@@ -360,16 +435,26 @@ sap.ui.define([
|
|
|
360
435
|
|
|
361
436
|
delete oEntityData["@$ui5.node.parent"];
|
|
362
437
|
const oResult = oCache.create(oGroupLock, oPostPathPromise, sPath, sTransientPredicate,
|
|
363
|
-
oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback)
|
|
438
|
+
oEntityData, bAtEndOfCreated, fnErrorCallback, fnSubmitCallback, function onCancel() {
|
|
439
|
+
this.shiftIndex(iIndex, -1);
|
|
440
|
+
aElements.$count -= 1;
|
|
441
|
+
delete aElements.$byPredicate[
|
|
442
|
+
_Helper.getPrivateAnnotation(oEntityData, "transientPredicate")];
|
|
443
|
+
aElements.splice(aElements.indexOf(oEntityData), 1);
|
|
444
|
+
}.bind(this));
|
|
445
|
+
|
|
364
446
|
// add @odata.bind to POST body only
|
|
365
447
|
_Helper.getPrivateAnnotation(oEntityData, "postBody")
|
|
366
|
-
[this.oAggregation.$ParentNavigationProperty + "@odata.bind"]
|
|
448
|
+
[this.oAggregation.$ParentNavigationProperty + "@odata.bind"]
|
|
449
|
+
= _Helper.makeRelativeUrl("/" + sParentPath, "/" + this.sResourcePath);
|
|
367
450
|
oEntityData["@$ui5.node.level"] = oParentNode["@$ui5.node.level"] + 1;
|
|
368
451
|
|
|
369
|
-
const iIndex = aElements.indexOf(oParentNode) + 1;
|
|
370
452
|
aElements.splice(iIndex, 0, null); // create a gap
|
|
371
453
|
this.addElements(oEntityData, iIndex, oCache, 0);
|
|
372
454
|
aElements.$count += 1;
|
|
455
|
+
// increase "index" for all children of oCache;
|
|
456
|
+
// oParentNode is expanded, thus all such nodes or placeholders are inside aElements
|
|
457
|
+
this.shiftIndex(iIndex, +1);
|
|
373
458
|
|
|
374
459
|
return oResult.then(function () {
|
|
375
460
|
aElements.$byPredicate[_Helper.getPrivateAnnotation(oEntityData, "predicate")]
|
|
@@ -457,7 +542,7 @@ sap.ui.define([
|
|
|
457
542
|
iCount,
|
|
458
543
|
aElements = this.aElements,
|
|
459
544
|
oGroupNode = typeof vGroupNodeOrPath === "string"
|
|
460
|
-
? this.
|
|
545
|
+
? this.getValue(vGroupNodeOrPath)
|
|
461
546
|
: vGroupNodeOrPath,
|
|
462
547
|
iIndex,
|
|
463
548
|
aSpliced = _Helper.getPrivateAnnotation(oGroupNode, "spliced"),
|
|
@@ -1121,6 +1206,14 @@ sap.ui.define([
|
|
|
1121
1206
|
this.oFirstLevel = this.createGroupLevelCache();
|
|
1122
1207
|
};
|
|
1123
1208
|
|
|
1209
|
+
/**
|
|
1210
|
+
* @override
|
|
1211
|
+
* @see sap.ui.model.odata.v4.lib._CollectionCache#resetChangesForPath
|
|
1212
|
+
*/
|
|
1213
|
+
_AggregationCache.prototype.resetChangesForPath = function (sPath) {
|
|
1214
|
+
_Helper.getPrivateAnnotation(this.getValue(sPath), "parent").resetChangesForPath(sPath);
|
|
1215
|
+
};
|
|
1216
|
+
|
|
1124
1217
|
/**
|
|
1125
1218
|
* @override
|
|
1126
1219
|
* @see sap.ui.model.odata.v4.lib._CollectionCache#restore
|
|
@@ -1134,6 +1227,36 @@ sap.ui.define([
|
|
|
1134
1227
|
this.oFirstLevel.restore.call(this, bReally);
|
|
1135
1228
|
};
|
|
1136
1229
|
|
|
1230
|
+
/**
|
|
1231
|
+
* Shifts the "index" of all siblings (nodes or placeholders) after the node at the given index
|
|
1232
|
+
* by the given offset.
|
|
1233
|
+
*
|
|
1234
|
+
* @param {number} iIndex
|
|
1235
|
+
* Index in <code>this.aElements</code> of a node which is inserted (+1) or removed (-1)
|
|
1236
|
+
* @param {number} iOffset
|
|
1237
|
+
* Offset (either -1 or +1) to add to "index"
|
|
1238
|
+
*
|
|
1239
|
+
* @private
|
|
1240
|
+
*/
|
|
1241
|
+
_AggregationCache.prototype.shiftIndex = function (iIndex, iOffset) {
|
|
1242
|
+
const aElements = this.aElements;
|
|
1243
|
+
const oNode = aElements[iIndex];
|
|
1244
|
+
const oCache = _Helper.getPrivateAnnotation(oNode, "parent");
|
|
1245
|
+
for (let i = iIndex + 1; i < aElements.length; i += 1) {
|
|
1246
|
+
const oSibling = aElements[i];
|
|
1247
|
+
if (_Helper.getPrivateAnnotation(oSibling, "parent") === oCache) {
|
|
1248
|
+
_Helper.setPrivateAnnotation(oSibling, "index",
|
|
1249
|
+
_Helper.getPrivateAnnotation(oSibling, "index") + iOffset);
|
|
1250
|
+
}
|
|
1251
|
+
if (oSibling["@$ui5.node.level"] < oNode["@$ui5.node.level"]
|
|
1252
|
+
&& !_Helper.hasPrivateAnnotation(oSibling, "placeholder")) {
|
|
1253
|
+
// Note: level 0 means "don't know" for initial *placeholders* of 1st level cache!
|
|
1254
|
+
// Note: oCache !== this.oFirstLevel, thus "descendants" should not matter
|
|
1255
|
+
break;
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
};
|
|
1259
|
+
|
|
1137
1260
|
/**
|
|
1138
1261
|
* Returns the cache's URL.
|
|
1139
1262
|
*
|
|
@@ -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),
|
|
@@ -1218,7 +1215,7 @@ sap.ui.define([
|
|
|
1218
1215
|
* @param {object} mQueryOptions - The query options
|
|
1219
1216
|
* @returns {object} The download query options derived from the given query options
|
|
1220
1217
|
*
|
|
1221
|
-
* @
|
|
1218
|
+
* @protected
|
|
1222
1219
|
*/
|
|
1223
1220
|
_Cache.prototype.getDownloadQueryOptions = function (mQueryOptions) {
|
|
1224
1221
|
return mQueryOptions;
|
|
@@ -1631,7 +1628,7 @@ sap.ui.define([
|
|
|
1631
1628
|
* @param {string} sPath The path
|
|
1632
1629
|
* @param {object} [oListener] The listener
|
|
1633
1630
|
*
|
|
1634
|
-
* @
|
|
1631
|
+
* @protected
|
|
1635
1632
|
*/
|
|
1636
1633
|
_Cache.prototype.registerChangeListener = function (sPath, oListener) {
|
|
1637
1634
|
if (!(this.bSharedRequest && sPath)) {
|
|
@@ -1640,13 +1637,13 @@ sap.ui.define([
|
|
|
1640
1637
|
};
|
|
1641
1638
|
|
|
1642
1639
|
/**
|
|
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).
|
|
1640
|
+
* Removes the element at the given index from the given array, taking care of the array's
|
|
1641
|
+
* <code>$byPredicate</code>, <code>$created</code> and <code>$count</code>, and a collection
|
|
1642
|
+
* cache's limit and number of active elements (if applicable).
|
|
1646
1643
|
*
|
|
1647
1644
|
* @param {object[]} aElements
|
|
1648
1645
|
* The array of elements
|
|
1649
|
-
* @param {number} iIndex
|
|
1646
|
+
* @param {number} [iIndex]
|
|
1650
1647
|
* The array index of the old element to be removed or <code>undefined</code> in case the
|
|
1651
1648
|
* element is a kept-alive element without an index
|
|
1652
1649
|
* @param {string} sPredicate
|
|
@@ -1654,10 +1651,10 @@ sap.ui.define([
|
|
|
1654
1651
|
* @param {string} sPath
|
|
1655
1652
|
* The element collection's path within this cache (as used by change listeners), may be
|
|
1656
1653
|
* <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)
|
|
1654
|
+
* @returns {number|undefined} The index at which the element actually was (it might have moved
|
|
1655
|
+
* due to parallel insert/delete)
|
|
1659
1656
|
*
|
|
1660
|
-
* @
|
|
1657
|
+
* @protected
|
|
1661
1658
|
*/
|
|
1662
1659
|
_Cache.prototype.removeElement = function (aElements, iIndex, sPredicate, sPath) {
|
|
1663
1660
|
var oElement = aElements.$byPredicate[sPredicate],
|
|
@@ -1682,11 +1679,10 @@ sap.ui.define([
|
|
|
1682
1679
|
if (!bDeleted) {
|
|
1683
1680
|
delete aElements.$byPredicate[sTransientPredicate];
|
|
1684
1681
|
}
|
|
1685
|
-
}
|
|
1686
|
-
this.adjustIndexes(sPath, aElements, iIndex, -1);
|
|
1687
|
-
if (!sPath && !sTransientPredicate) {
|
|
1682
|
+
} else if (!sPath) {
|
|
1688
1683
|
this.iLimit -= 1; // this doesn't change Infinity
|
|
1689
1684
|
}
|
|
1685
|
+
this.adjustIndexes(sPath, aElements, iIndex, -1);
|
|
1690
1686
|
}
|
|
1691
1687
|
return iIndex;
|
|
1692
1688
|
};
|
|
@@ -1882,6 +1878,37 @@ sap.ui.define([
|
|
|
1882
1878
|
});
|
|
1883
1879
|
};
|
|
1884
1880
|
|
|
1881
|
+
/**
|
|
1882
|
+
* Restores the element in the given array at the given index, taking care of the array's
|
|
1883
|
+
* <code>$created</code> and <code>$count</code>, and a collection cache's limit and number of
|
|
1884
|
+
* active elements (if applicable).
|
|
1885
|
+
*
|
|
1886
|
+
* @param {object[]} aElements - The array of elements
|
|
1887
|
+
* @param {number} iIndex - The index to restore at
|
|
1888
|
+
* @param {object} oElement - The element to restore
|
|
1889
|
+
* @param {string} sPath
|
|
1890
|
+
* The element collection's path within this cache (as used by change listeners), may be
|
|
1891
|
+
* <code>""</code> (only in a CollectionCache)
|
|
1892
|
+
* @param {int} [iDeletedIndex]
|
|
1893
|
+
* The index of the entry in <code>aElements.$deleted</code> if any
|
|
1894
|
+
*
|
|
1895
|
+
* @protected
|
|
1896
|
+
*/
|
|
1897
|
+
_Cache.prototype.restoreElement = function (aElements, iIndex, oElement, sPath, iDeletedIndex) {
|
|
1898
|
+
this.adjustIndexes(sPath, aElements, iIndex, 1, iDeletedIndex);
|
|
1899
|
+
const sTransientPredicate = _Helper.getPrivateAnnotation(oElement, "transientPredicate");
|
|
1900
|
+
if (sTransientPredicate) {
|
|
1901
|
+
aElements.$created += 1;
|
|
1902
|
+
if (!sPath) {
|
|
1903
|
+
this.iActiveElements += 1;
|
|
1904
|
+
}
|
|
1905
|
+
} else if (!sPath) {
|
|
1906
|
+
this.iLimit += 1; // this doesn't change Infinity
|
|
1907
|
+
}
|
|
1908
|
+
_Helper.addToCount(this.mChangeListeners, sPath, aElements, 1);
|
|
1909
|
+
aElements.splice(iIndex, 0, oElement);
|
|
1910
|
+
};
|
|
1911
|
+
|
|
1885
1912
|
/**
|
|
1886
1913
|
* Adds or removes a usage of this cache. A cache with active usages must not be destroyed.
|
|
1887
1914
|
* If a usage is removed, all change listeners are removed too. Note: shared caches have no
|
|
@@ -2050,9 +2077,6 @@ sap.ui.define([
|
|
|
2050
2077
|
* If no back-end request is needed, the function is not called.
|
|
2051
2078
|
* @param {function} fnIsKeepAlive
|
|
2052
2079
|
* 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
2080
|
* @returns {sap.ui.base.SyncPromise}
|
|
2057
2081
|
* A promise for the PATCH request (resolves with <code>undefined</code>); rejected in case of
|
|
2058
2082
|
* cancellation or if no <code>fnErrorCallback</code> is given
|
|
@@ -2062,7 +2086,7 @@ sap.ui.define([
|
|
|
2062
2086
|
*/
|
|
2063
2087
|
_Cache.prototype.update = function (oGroupLock, sPropertyPath, vValue, fnErrorCallback,
|
|
2064
2088
|
sEditUrl, sEntityPath, sUnitOrCurrencyPath, bPatchWithoutSideEffects, fnPatchSent,
|
|
2065
|
-
fnIsKeepAlive
|
|
2089
|
+
fnIsKeepAlive) {
|
|
2066
2090
|
var oPromise,
|
|
2067
2091
|
aPropertyPath = sPropertyPath.split("/"),
|
|
2068
2092
|
aUnitOrCurrencyPath,
|
|
@@ -2254,12 +2278,6 @@ sap.ui.define([
|
|
|
2254
2278
|
if (oPostBody) {
|
|
2255
2279
|
// change listeners are informed later
|
|
2256
2280
|
_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
2281
|
}
|
|
2264
2282
|
// write the changed value into the cache
|
|
2265
2283
|
_Helper.updateAll(that.mChangeListeners, sEntityPath, oEntity, oUpdateData);
|
|
@@ -2280,13 +2298,8 @@ sap.ui.define([
|
|
|
2280
2298
|
}
|
|
2281
2299
|
if (sTransientGroup) {
|
|
2282
2300
|
// 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) {
|
|
2301
|
+
// the POST request. An inactive entity must remain parked.
|
|
2302
|
+
if (sParkedGroup && !oEntity["@$ui5.context.isInactive"]) {
|
|
2290
2303
|
_Helper.setPrivateAnnotation(oEntity, "transient", sTransientGroup);
|
|
2291
2304
|
that.oRequestor.relocate(sParkedGroup, oPostBody, sTransientGroup);
|
|
2292
2305
|
}
|
|
@@ -3582,10 +3595,42 @@ sap.ui.define([
|
|
|
3582
3595
|
this.oBackup = null;
|
|
3583
3596
|
};
|
|
3584
3597
|
|
|
3598
|
+
/**
|
|
3599
|
+
* Sets the cache's $count at the root level to 0.
|
|
3600
|
+
*
|
|
3601
|
+
* @protected
|
|
3602
|
+
*/
|
|
3603
|
+
_CollectionCache.prototype.setEmpty = function () {
|
|
3604
|
+
this.iLimit = this.aElements.$count = 0;
|
|
3605
|
+
};
|
|
3606
|
+
|
|
3607
|
+
/**
|
|
3608
|
+
* Sets the isInactive annotation at the entity with the given path, which might activate it.
|
|
3609
|
+
*
|
|
3610
|
+
* @param {string} sPath - The path
|
|
3611
|
+
* @param {boolean|number} bInactive
|
|
3612
|
+
* The new value, either <code>false</code> to activate it, or <code>1</code> to mark it as
|
|
3613
|
+
* inactive, but changed
|
|
3614
|
+
*
|
|
3615
|
+
* @public
|
|
3616
|
+
*/
|
|
3617
|
+
_CollectionCache.prototype.setInactive = function (sPath, bInactive) {
|
|
3618
|
+
const oElement = this.getValue(sPath);
|
|
3619
|
+
_Helper.updateAll(this.mChangeListeners, sPath, oElement,
|
|
3620
|
+
{"@$ui5.context.isInactive" : bInactive});
|
|
3621
|
+
if (!bInactive) { // activate
|
|
3622
|
+
_Helper.deletePrivateAnnotation(oElement, "initialData");
|
|
3623
|
+
this.iActiveElements += 1;
|
|
3624
|
+
_Helper.addToCount(this.mChangeListeners, "", this.aElements, 1);
|
|
3625
|
+
}
|
|
3626
|
+
};
|
|
3627
|
+
|
|
3585
3628
|
/**
|
|
3586
3629
|
* Sets the cache's elements to the given collection after a deep create.
|
|
3587
3630
|
*
|
|
3588
3631
|
* @param {object} aElements - The elements from the deep create
|
|
3632
|
+
*
|
|
3633
|
+
* @public
|
|
3589
3634
|
*/
|
|
3590
3635
|
_CollectionCache.prototype.setPersistedCollection = function (aElements) {
|
|
3591
3636
|
this.aElements = aElements;
|