@openui5/sap.ui.core 1.120.1 → 1.120.2
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/.reuse/dep5 +1 -1
- package/THIRDPARTY.txt +1 -1
- 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/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 +4 -4
- package/src/sap/ui/base/DataType.js +5 -5
- 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 +9 -9
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectRegistry.js +186 -169
- 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 +3 -3
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +30 -144
- package/src/sap/ui/core/ComponentContainer.js +3 -3
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentRegistry.js +153 -0
- package/src/sap/ui/core/ComponentSupport.js +3 -3
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +6 -4
- package/src/sap/ui/core/Core.js +6 -4
- 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 +25 -141
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/ElementRegistry.js +159 -0
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +5 -5
- package/src/sap/ui/core/FocusHandler.js +3 -2
- package/src/sap/ui/core/Fragment.js +5 -5
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +7 -7
- 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 +55 -11
- package/src/sap/ui/core/Manifest.js +4 -5
- package/src/sap/ui/core/Message.js +2 -1
- package/src/sap/ui/core/Messaging.js +2 -2
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +15 -9
- package/src/sap/ui/core/StaticArea.js +4 -1
- package/src/sap/ui/core/Theming.js +3 -3
- 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 +51 -13
- package/src/sap/ui/core/UIAreaRegistry.js +150 -0
- package/src/sap/ui/core/UIComponent.js +3 -3
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +95 -76
- package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
- package/src/sap/ui/core/cldr/cy.json +12 -3
- package/src/sap/ui/core/cldr/en_AU.json +48 -12
- package/src/sap/ui/core/cldr/en_GB.json +24 -6
- package/src/sap/ui/core/cldr/en_HK.json +24 -6
- package/src/sap/ui/core/cldr/en_IE.json +24 -6
- package/src/sap/ui/core/cldr/en_IN.json +24 -6
- package/src/sap/ui/core/cldr/en_NZ.json +24 -6
- package/src/sap/ui/core/cldr/en_PG.json +24 -6
- package/src/sap/ui/core/cldr/en_SG.json +24 -6
- package/src/sap/ui/core/cldr/en_ZA.json +24 -6
- package/src/sap/ui/core/cldr/es.json +288 -72
- package/src/sap/ui/core/cldr/es_AR.json +288 -72
- package/src/sap/ui/core/cldr/es_BO.json +288 -72
- package/src/sap/ui/core/cldr/es_CL.json +144 -36
- package/src/sap/ui/core/cldr/es_CO.json +144 -36
- package/src/sap/ui/core/cldr/es_MX.json +288 -72
- package/src/sap/ui/core/cldr/fa.json +48 -12
- package/src/sap/ui/core/cldr/id.json +56 -14
- package/src/sap/ui/core/cldr/kk.json +184 -46
- package/src/sap/ui/core/cldr/ms.json +56 -14
- package/src/sap/ui/core/cldr/nb.json +36 -9
- package/src/sap/ui/core/cldr/nl.json +264 -66
- package/src/sap/ui/core/cldr/nl_BE.json +264 -66
- package/src/sap/ui/core/cldr/pt.json +288 -72
- package/src/sap/ui/core/cldr/pt_PT.json +288 -72
- package/src/sap/ui/core/cldr/sr.json +96 -24
- package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
- 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/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 +25 -13
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +9 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +7 -7
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/message/MessageType.js +1 -1
- package/src/sap/ui/core/mvc/Controller.js +15 -13
- package/src/sap/ui/core/mvc/ControllerExtension.js +7 -5
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +4 -4
- 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 +20 -9
- package/src/sap/ui/core/mvc/XMLView.js +8 -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/History.js +1 -1
- package/src/sap/ui/core/routing/Route.js +6 -6
- package/src/sap/ui/core/routing/Router.js +6 -6
- package/src/sap/ui/core/routing/Targets.js +3 -3
- package/src/sap/ui/core/routing/async/Target.js +2 -2
- package/src/sap/ui/core/routing/async/Targets.js +1 -1
- package/src/sap/ui/core/rules/Misc.support.js +3 -3
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +6 -4
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/theming/Parameters.js +7 -7
- package/src/sap/ui/core/theming/ThemeHelper.js +2 -2
- package/src/sap/ui/core/theming/ThemeManager.js +2 -2
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +34 -3
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/Binding.js +2 -2
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +5 -5
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +10 -10
- package/src/sap/ui/model/FilterProcessor.js +8 -5
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +2 -2
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +6 -6
- 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/ODataMessageParser.js +3 -3
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +4 -4
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +32 -27
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +198 -155
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +9 -4
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +220 -85
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +33 -20
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +70 -18
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +9 -5
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +5 -5
- package/src/sap/ui/test/BranchTracking.js +4 -0
- package/src/sap/ui/test/actions/EnterText.js +1 -5
- package/src/sap/ui/test/generic/GenericTestCollection.js +1 -0
- package/src/sap/ui/test/generic/TestBase.js +4 -4
- package/src/sap/ui/test/generic/Utils.js +3 -2
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +23 -15
- package/src/ui5loader.js +9 -4
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +19 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
- package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
- package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
- package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
- package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
- package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
- package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
- package/test/sap/ui/core/qunit/Lib.qunit.js +19 -2
- package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
- package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
- package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
- package/test/sap/ui/core/qunit/component/Component.qunit.js +9 -8
- package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
- package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
- package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
- package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
- package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
- package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +22 -8
- package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
- package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
- package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
- package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +69 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2111 -124
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +453 -125
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +256 -8
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +38 -14
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
- package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
- package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
- package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
- package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
- package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
- package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
- package/test/sap/ui/core/relnotes/changes-1.120.json +225 -0
|
@@ -194,7 +194,7 @@ sap.ui.define([
|
|
|
194
194
|
});
|
|
195
195
|
|
|
196
196
|
QUnit.test("Single Binding with non-existing type", function (assert) {
|
|
197
|
-
this.oLogMock.expects("error").once().
|
|
197
|
+
this.oLogMock.expects("error").once().calledWith(sinon.match(/Failed to resolve type 'does.not.exist'. Maybe not loaded or a typo\?/));
|
|
198
198
|
var o = parse("{path:'something', type: 'does.not.exist'}", oController);
|
|
199
199
|
assert.strictEqual(typeof o, "object", "parse should return an object");
|
|
200
200
|
assert.strictEqual(o.parts, undefined, "binding info should not be a composite binding info");
|
|
@@ -777,7 +777,7 @@ sap.ui.define([
|
|
|
777
777
|
oBindingInfo;
|
|
778
778
|
|
|
779
779
|
this.oLogMock.expects("error")
|
|
780
|
-
.
|
|
780
|
+
.calledWith(sinon.match(/Cannot merge parts: Unsupported property: type/), sBinding,
|
|
781
781
|
"sap.ui.base.BindingParser");
|
|
782
782
|
|
|
783
783
|
//TODO complex binding with type: does not work (but is left untouched by mergeParts())
|
|
@@ -883,8 +883,8 @@ sap.ui.define([
|
|
|
883
883
|
oBindingInfo;
|
|
884
884
|
|
|
885
885
|
// bTolerateFunctionsNotFound = false
|
|
886
|
-
this.oLogMock.expects("error").
|
|
887
|
-
this.oLogMock.expects("error").
|
|
886
|
+
this.oLogMock.expects("error").calledWith(sinon.match(/formatter function foo not found!/));
|
|
887
|
+
this.oLogMock.expects("error").calledWith(sinon.match(/formatter function .bar not found!/));
|
|
888
888
|
|
|
889
889
|
parse(sBinding, null, true, /*bTolerateFunctionsNotFound*/false);
|
|
890
890
|
|
|
@@ -4,6 +4,7 @@ sap.ui.define([
|
|
|
4
4
|
"sap/ui/base/ManagedObject",
|
|
5
5
|
"sap/ui/core/CommandExecution",
|
|
6
6
|
"sap/ui/core/Component",
|
|
7
|
+
"sap/ui/core/ComponentRegistry",
|
|
7
8
|
"sap/ui/core/ComponentContainer",
|
|
8
9
|
"sap/ui/core/Control",
|
|
9
10
|
"sap/ui/core/Shortcut",
|
|
@@ -16,6 +17,7 @@ sap.ui.define([
|
|
|
16
17
|
ManagedObject,
|
|
17
18
|
CommandExecution,
|
|
18
19
|
Component,
|
|
20
|
+
ComponentRegistry,
|
|
19
21
|
ComponentContainer,
|
|
20
22
|
Control,
|
|
21
23
|
Shortcut,
|
|
@@ -179,7 +181,7 @@ sap.ui.define([
|
|
|
179
181
|
}
|
|
180
182
|
},
|
|
181
183
|
getExtensionComponent: function() {
|
|
182
|
-
return
|
|
184
|
+
return ComponentRegistry.filter(function(oComponent) {
|
|
183
185
|
return oComponent.getManifestEntry("/sap.app/id") === "my.command.constructor";
|
|
184
186
|
})[0] || this;
|
|
185
187
|
}
|
|
@@ -810,7 +810,7 @@ sap.ui.define([
|
|
|
810
810
|
var oElementB = new Element("B");
|
|
811
811
|
|
|
812
812
|
assert.ok(Object.keys(oCoreInternals.mElements).length, 2, "Return all registered Element instances");
|
|
813
|
-
assert.equal(oErrorLogSpy.getCall(0).args[0], "oCore.mElements was a private member and has been removed. Use one of the methods in sap.ui.core.
|
|
813
|
+
assert.equal(oErrorLogSpy.getCall(0).args[0], "oCore.mElements was a private member and has been removed. Use one of the methods in sap.ui.core.ElementRegistry instead", "Logs error on private methode access");
|
|
814
814
|
|
|
815
815
|
oElementA.destroy();
|
|
816
816
|
oElementB.destroy();
|
|
@@ -3,7 +3,7 @@ sap.ui.define([
|
|
|
3
3
|
"test-resources/sap/ui/core/qunit/odata/data/ODataModelFakeService",
|
|
4
4
|
"sap/ui/base/ManagedObject",
|
|
5
5
|
"sap/ui/core/Control",
|
|
6
|
-
"sap/ui/core/
|
|
6
|
+
"sap/ui/core/UIAreaRegistry",
|
|
7
7
|
"sap/ui/model/ContextBinding",
|
|
8
8
|
"sap/ui/model/json/JSONModel",
|
|
9
9
|
"sap/ui/model/odata/v2/ODataModel"
|
|
@@ -11,7 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
fakeService,
|
|
12
12
|
ManagedObject,
|
|
13
13
|
Control,
|
|
14
|
-
|
|
14
|
+
UIAreaRegistry,
|
|
15
15
|
ContextBinding,
|
|
16
16
|
JSONModel,
|
|
17
17
|
ODataModel
|
|
@@ -62,7 +62,7 @@ sap.ui.define([
|
|
|
62
62
|
var oDiv = document.createElement("div");
|
|
63
63
|
oUIAreas.appendChild(oDiv);
|
|
64
64
|
new Control().placeAt(oDiv).destroy();
|
|
65
|
-
this.uiArea =
|
|
65
|
+
this.uiArea = UIAreaRegistry.get(oDiv.id);
|
|
66
66
|
|
|
67
67
|
this.mPropagationInfo = {};
|
|
68
68
|
|
|
@@ -152,7 +152,7 @@ sap.ui.define([
|
|
|
152
152
|
var oDiv = document.createElement("div");
|
|
153
153
|
oUIAreas.appendChild(oDiv);
|
|
154
154
|
new Control().placeAt(oDiv).destroy();
|
|
155
|
-
this.uiArea =
|
|
155
|
+
this.uiArea = UIAreaRegistry.get(oDiv.id);
|
|
156
156
|
|
|
157
157
|
this.mPropagationInfo = {};
|
|
158
158
|
|
|
@@ -570,7 +570,7 @@ sap.ui.define([
|
|
|
570
570
|
beforeEach : function() {
|
|
571
571
|
sap.ui.getCore().setModel(oModel1);
|
|
572
572
|
new Control().placeAt("content").destroy();
|
|
573
|
-
this.uiArea =
|
|
573
|
+
this.uiArea = UIAreaRegistry.get("content");
|
|
574
574
|
this.uiArea.setModel(null);
|
|
575
575
|
this.child = new TestControl({
|
|
576
576
|
value : { parts : [ "/value", "m2>/value" ], formatter : function(a,b) { return a + ":" + b; } },
|
|
@@ -691,7 +691,7 @@ sap.ui.define([
|
|
|
691
691
|
}
|
|
692
692
|
}.bind(this);
|
|
693
693
|
new Control().placeAt("content").destroy();
|
|
694
|
-
this.uiArea =
|
|
694
|
+
this.uiArea = UIAreaRegistry.get("content");
|
|
695
695
|
this.uiArea.attachModelContextChange(this.fnChange);
|
|
696
696
|
|
|
697
697
|
sap.ui.getCore().setModel(oModel4);
|
|
@@ -3,9 +3,9 @@ sap.ui.define([
|
|
|
3
3
|
"sap/ui/thirdparty/jquery",
|
|
4
4
|
"sap/ui/core/DeclarativeSupport",
|
|
5
5
|
"sap/ui/core/Element",
|
|
6
|
-
"sap/ui/core/
|
|
6
|
+
"sap/ui/core/UIAreaRegistry",
|
|
7
7
|
"sap/ui/model/json/JSONModel"
|
|
8
|
-
], function(jQuery, DeclarativeSupport, Element,
|
|
8
|
+
], function(jQuery, DeclarativeSupport, Element, UIAreaRegistry, JSONModel) {
|
|
9
9
|
"use strict";
|
|
10
10
|
QUnit.config.reorder = false;
|
|
11
11
|
QUnit.module("Basic");
|
|
@@ -144,7 +144,7 @@ sap.ui.define([
|
|
|
144
144
|
|
|
145
145
|
QUnit.test("UIArea", function(assert) {
|
|
146
146
|
assert.expect(7);
|
|
147
|
-
var oUIArea =
|
|
147
|
+
var oUIArea = UIAreaRegistry.get("uiAreaSimple");
|
|
148
148
|
assert.equal(!!oUIArea, false, 'No control with id "uiAreaSimple" found.');
|
|
149
149
|
|
|
150
150
|
var oButton1 = Element.getElementById("uiAreaSimpleButton2");
|
|
@@ -155,7 +155,7 @@ sap.ui.define([
|
|
|
155
155
|
|
|
156
156
|
DeclarativeSupport.compile(jQuery("#ui-area-simple"));
|
|
157
157
|
|
|
158
|
-
var oUIArea =
|
|
158
|
+
var oUIArea = UIAreaRegistry.get("uiAreaSimple");
|
|
159
159
|
assert.ok(!!oUIArea, 'UIArea with id "uiAreaSimple" found.');
|
|
160
160
|
|
|
161
161
|
var oButton1 = Element.getElementById("uiAreaSimpleButton2");
|
|
@@ -170,7 +170,7 @@ sap.ui.define([
|
|
|
170
170
|
|
|
171
171
|
QUnit.test("Complex Declaration", function(assert) {
|
|
172
172
|
assert.expect(8);
|
|
173
|
-
var oUIArea =
|
|
173
|
+
var oUIArea = UIAreaRegistry.get("complexDeclarationUIArea");
|
|
174
174
|
assert.equal(!!oUIArea, false, 'No UIArea with id "complexDeclarationUIArea" found.');
|
|
175
175
|
|
|
176
176
|
var oPanel1 = Element.getElementById("complexDeclarationPanel1");
|
|
@@ -188,7 +188,7 @@ sap.ui.define([
|
|
|
188
188
|
|
|
189
189
|
DeclarativeSupport.compile(jQuery("#complex-declaration"));
|
|
190
190
|
|
|
191
|
-
var oUIArea =
|
|
191
|
+
var oUIArea = UIAreaRegistry.get("complexDeclarationUIArea");
|
|
192
192
|
assert.ok(!!oUIArea, 'UIArea with id "complexDeclarationUIArea" found.');
|
|
193
193
|
|
|
194
194
|
var oPanel1 = Element.getElementById("complexDeclarationPanel1");
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*global QUnit */
|
|
2
2
|
sap.ui.define([
|
|
3
|
-
"sap/ui/core/Element"
|
|
4
|
-
|
|
3
|
+
"sap/ui/core/Element",
|
|
4
|
+
"sap/ui/core/ElementRegistry"
|
|
5
|
+
], function(Element, ElementRegistry) {
|
|
5
6
|
"use strict";
|
|
6
7
|
|
|
7
8
|
function cleanUpRegistry() {
|
|
8
|
-
|
|
9
|
+
ElementRegistry.forEach(function(oElement) {
|
|
9
10
|
oElement.destroy();
|
|
10
11
|
});
|
|
11
12
|
}
|
|
@@ -27,14 +28,14 @@ sap.ui.define([
|
|
|
27
28
|
var aFilteredElements = [];
|
|
28
29
|
|
|
29
30
|
assert.ok(Element.hasOwnProperty("registry"), "Element has static method to access registry");
|
|
30
|
-
assert.equal(
|
|
31
|
-
assert.deepEqual(Object.keys(
|
|
31
|
+
assert.equal(ElementRegistry.size, 3, "Return number of registered element instances");
|
|
32
|
+
assert.deepEqual(Object.keys(ElementRegistry.all()).sort(), ["A", "B", "C"], "Return all registered element instances");
|
|
32
33
|
assert.ok(Element.getElementById("B") === oFooB, "Return reference of element B from registry by ID");
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
ElementRegistry.forEach(fnCallbackSpy);
|
|
35
36
|
assert.ok(fnCallbackSpy.calledThrice, "Callback was executed 3 times");
|
|
36
37
|
|
|
37
|
-
aFilteredElements =
|
|
38
|
+
aFilteredElements = ElementRegistry.filter(function(oElement) {
|
|
38
39
|
return ["B", "C"].indexOf(oElement.getId()) > -1;
|
|
39
40
|
});
|
|
40
41
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*global QUnit */
|
|
2
|
+
sap.ui.define([
|
|
3
|
+
"sap/ui/core/Element"
|
|
4
|
+
], function(Element) {
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
function cleanUpRegistry() {
|
|
8
|
+
Element.registry.forEach(function(oElement) {
|
|
9
|
+
oElement.destroy();
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
QUnit.module("Element registry", {
|
|
14
|
+
beforeEach: function () {
|
|
15
|
+
cleanUpRegistry();
|
|
16
|
+
},
|
|
17
|
+
afterEach: function() {
|
|
18
|
+
cleanUpRegistry();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
QUnit.test("Element registry access", function(assert) {
|
|
23
|
+
var oFooA = new Element("A");
|
|
24
|
+
var oFooB = new Element("B");
|
|
25
|
+
var oFooC = new Element("C");
|
|
26
|
+
var fnCallbackSpy = this.spy(function() {});
|
|
27
|
+
var aFilteredElements = [];
|
|
28
|
+
|
|
29
|
+
assert.ok(Element.hasOwnProperty("registry"), "Element has static method to access registry");
|
|
30
|
+
assert.equal(Element.registry.size, 3, "Return number of registered element instances");
|
|
31
|
+
assert.deepEqual(Object.keys(Element.registry.all()).sort(), ["A", "B", "C"], "Return all registered element instances");
|
|
32
|
+
assert.ok(Element.getElementById("B") === oFooB, "Return reference of element B from registry by ID");
|
|
33
|
+
|
|
34
|
+
Element.registry.forEach(fnCallbackSpy);
|
|
35
|
+
assert.ok(fnCallbackSpy.calledThrice, "Callback was executed 3 times");
|
|
36
|
+
|
|
37
|
+
aFilteredElements = Element.registry.filter(function(oElement) {
|
|
38
|
+
return ["B", "C"].indexOf(oElement.getId()) > -1;
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
assert.equal(aFilteredElements.length, 2, "Return 2 components matching the filter criteria");
|
|
42
|
+
|
|
43
|
+
oFooA.destroy();
|
|
44
|
+
oFooB.destroy();
|
|
45
|
+
oFooC.destroy();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
});
|
|
@@ -139,7 +139,7 @@ sap.ui.define([
|
|
|
139
139
|
var oUI5ElementFound = Element.closestTo(jQuery("#startPoint"));
|
|
140
140
|
assert.strictEqual(oUI5ElementFound, oUI5Element);
|
|
141
141
|
|
|
142
|
-
sinon.assert.calledWithExactly(oErrorLogSpy, "[FUTURE] Do not call Element.closestTo() with jQuery object as parameter. \
|
|
142
|
+
sinon.assert.calledWithExactly(oErrorLogSpy, "[FUTURE FATAL] Do not call Element.closestTo() with jQuery object as parameter. \
|
|
143
143
|
The function should be called with either a DOM Element or a CSS selector. \
|
|
144
144
|
(future error, ignored for now)");
|
|
145
145
|
|
|
@@ -7,19 +7,16 @@ sap.ui.define([
|
|
|
7
7
|
"sap/ui/core/Fragment",
|
|
8
8
|
"sap/ui/core/Element",
|
|
9
9
|
"sap/ui/core/XMLTemplateProcessor",
|
|
10
|
-
"sap/m/Panel",
|
|
11
10
|
"sap/m/Button",
|
|
12
11
|
"sap/ui/layout/HorizontalLayout",
|
|
13
12
|
"sap/ui/model/json/JSONModel",
|
|
14
13
|
"sap/ui/qunit/utils/createAndAppendDiv",
|
|
15
14
|
"sap/ui/qunit/utils/nextUIUpdate",
|
|
16
15
|
"sap/ui/core/mvc/View",
|
|
17
|
-
"sap/ui/core/mvc/
|
|
18
|
-
"sap/ui/core/mvc/JSView",
|
|
19
|
-
"sap/ui/core/mvc/Controller",
|
|
16
|
+
"sap/ui/core/mvc/ViewType",
|
|
20
17
|
"sap/base/util/LoaderExtensions",
|
|
21
18
|
"sap/ui/thirdparty/jquery"
|
|
22
|
-
], function (Log, qutils, Core, Component, Fragment, Element, XMLTemplateProcessor,
|
|
19
|
+
], function (Log, qutils, Core, Component, Fragment, Element, XMLTemplateProcessor, Button, HorizontalLayout, JSONModel, createAndAppendDiv, nextUIUpdate, View, ViewType, LoaderExtensions, jQuery) {
|
|
23
20
|
"use strict";
|
|
24
21
|
|
|
25
22
|
createAndAppendDiv(["content1", "content2", "content3", "content4", "binding"]);
|
|
@@ -54,6 +51,55 @@ sap.ui.define([
|
|
|
54
51
|
}
|
|
55
52
|
});
|
|
56
53
|
|
|
54
|
+
// Keep this test run as the first test in this file because it's needed to check whether the module
|
|
55
|
+
// "sap/ui/core/mvc/XMLView" is required correctly
|
|
56
|
+
//
|
|
57
|
+
// There are later further tests which load this module, therefore this test should run before the other tests.
|
|
58
|
+
QUnit.test("XML Fragment loaded from file with nested XMLView", function(assert) {
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated
|
|
61
|
+
*/
|
|
62
|
+
var oRequireSyncSpy = this.spy(sap.ui, "requireSync");
|
|
63
|
+
assert.notOk(sap.ui.require("sap/ui/core/mvc/XMLView"), "XMLView module isn't loaded yet");
|
|
64
|
+
return Fragment.load({
|
|
65
|
+
fragmentName: "testdata.fragments.XMLTestFragmentWithXMLView",
|
|
66
|
+
controller: this.oDummyController
|
|
67
|
+
}).then(async function(oFragment) {
|
|
68
|
+
assert.ok(sap.ui.require("sap/ui/core/mvc/XMLView"), "XMLView module is loaded");
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated
|
|
71
|
+
*/
|
|
72
|
+
assert.notOk(oRequireSyncSpy.called, "sap.ui.requireSync shouldn't be called");
|
|
73
|
+
|
|
74
|
+
oFragment.placeAt("content1");
|
|
75
|
+
await nextUIUpdate();
|
|
76
|
+
|
|
77
|
+
var id = oFragment.getId();
|
|
78
|
+
|
|
79
|
+
assert.equal(id.substr(0, 8), "__layout", "Fragment ID should be generated");
|
|
80
|
+
assert.ok(document.getElementById(id), "XML Fragment should be rendered");
|
|
81
|
+
|
|
82
|
+
var aContent = oFragment.getContent();
|
|
83
|
+
var btn1 = aContent[0];
|
|
84
|
+
var btn2 = aContent[1];
|
|
85
|
+
assert.equal(btn1.getId(), "btn1InXmlFragment", "Button with given ID should have exactly this ID");
|
|
86
|
+
assert.equal(btn2.getId().substr(0, 8), "__button", "Button with no given ID should have a generated ID");
|
|
87
|
+
|
|
88
|
+
// Data binding
|
|
89
|
+
assert.equal(btn2.$().text(), DATABOUND_TEXT, "Second Button should have text from data binding");
|
|
90
|
+
|
|
91
|
+
// find controls by ID
|
|
92
|
+
var btn = Element.getElementById("btn1InXmlFragment");
|
|
93
|
+
assert.ok(btn, "Button should be found by ID");
|
|
94
|
+
assert.ok(btn instanceof Button, "Button should be found by ID");
|
|
95
|
+
|
|
96
|
+
var view = aContent[2];
|
|
97
|
+
assert.ok(view.isA("sap.ui.core.mvc.XMLView"), "XMLView instance is created");
|
|
98
|
+
|
|
99
|
+
oFragment.destroy();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
57
103
|
QUnit.test("XML Fragment loaded from file", function(assert) {
|
|
58
104
|
return Fragment.load({
|
|
59
105
|
fragmentName: "testdata.fragments.XMLTestFragment",
|
|
@@ -254,8 +300,9 @@ sap.ui.define([
|
|
|
254
300
|
var DATABOUND_TEXT_IN_VIEW = "Text from Databinding in View";
|
|
255
301
|
|
|
256
302
|
QUnit.test("XMLView Rendering", function(assert) {
|
|
257
|
-
return
|
|
258
|
-
viewName: "testdata.fragments.XMLViewWithFragments"
|
|
303
|
+
return View.create({
|
|
304
|
+
viewName: "testdata.fragments.XMLViewWithFragments",
|
|
305
|
+
type: ViewType.XML
|
|
259
306
|
}).then(async function(oResult) {
|
|
260
307
|
oXmlView = oResult;
|
|
261
308
|
|
|
@@ -509,9 +556,10 @@ sap.ui.define([
|
|
|
509
556
|
});
|
|
510
557
|
|
|
511
558
|
QUnit.test("Unnamed Model", function(assert) {
|
|
512
|
-
return
|
|
559
|
+
return View.create({
|
|
513
560
|
id: "unnamedView",
|
|
514
|
-
viewName: "my.UnnamedView"
|
|
561
|
+
viewName: "my.UnnamedView",
|
|
562
|
+
type: ViewType.XML
|
|
515
563
|
}).then(async function(oView) {
|
|
516
564
|
oView.placeAt("binding");
|
|
517
565
|
await nextUIUpdate();
|
|
@@ -524,9 +572,10 @@ sap.ui.define([
|
|
|
524
572
|
});
|
|
525
573
|
|
|
526
574
|
QUnit.test("Named Model", function(assert) {
|
|
527
|
-
return
|
|
575
|
+
return View.create({
|
|
528
576
|
id: "namedView",
|
|
529
|
-
viewName: "my.View"
|
|
577
|
+
viewName: "my.View",
|
|
578
|
+
type: ViewType.XML
|
|
530
579
|
}).then(async function(oView) {
|
|
531
580
|
oView.placeAt("binding");
|
|
532
581
|
await nextUIUpdate();
|
|
@@ -662,8 +711,9 @@ sap.ui.define([
|
|
|
662
711
|
|
|
663
712
|
QUnit.test("Load XML View from file with nested fragments of type 'JS' and 'XML'", function (assert) {
|
|
664
713
|
assert.expect(21);
|
|
665
|
-
return
|
|
666
|
-
viewName: "testdata.fragments.nested.XMLViewWithFragments"
|
|
714
|
+
return View.create({
|
|
715
|
+
viewName: "testdata.fragments.nested.XMLViewWithFragments",
|
|
716
|
+
type: ViewType.XML
|
|
667
717
|
}).then(function (oView) {
|
|
668
718
|
return oView.loaded().then(function () {
|
|
669
719
|
assert.equal(this.loadTemplatePromiseSpy.callCount, 2, "XMLTemplateProcessor.loadTemplatePromise should be called two times (only for the nested XML fragments)");
|
|
@@ -5,13 +5,13 @@ sap.ui.define([
|
|
|
5
5
|
"sap/ui/core/Element",
|
|
6
6
|
"sap/ui/core/HTML",
|
|
7
7
|
"sap/ui/core/RenderManager",
|
|
8
|
-
"sap/ui/core/
|
|
8
|
+
"sap/ui/core/UIAreaRegistry",
|
|
9
9
|
"sap/ui/core/UIComponent",
|
|
10
10
|
"sap/ui/layout/VerticalLayout",
|
|
11
11
|
"sap/ui/testlib/TestButton",
|
|
12
12
|
"sap/ui/thirdparty/jquery",
|
|
13
13
|
"sap/ui/qunit/utils/nextUIUpdate"
|
|
14
|
-
], function(ComponentContainer, Control, Element, HTML, RenderManager,
|
|
14
|
+
], function(ComponentContainer, Control, Element, HTML, RenderManager, UIAreaRegistry, UIComponent, VerticalLayout, TestButton, jQuery, nextUIUpdate) {
|
|
15
15
|
"use strict";
|
|
16
16
|
|
|
17
17
|
var normalize = (function() {
|
|
@@ -266,7 +266,7 @@ sap.ui.define([
|
|
|
266
266
|
|
|
267
267
|
QUnit.test("content property + preferDOM, initial rendering", async function(assert) {
|
|
268
268
|
//Cleanup UIArea because placeAt only adds new control to UIArea
|
|
269
|
-
|
|
269
|
+
UIAreaRegistry.get("uiAreaA").removeAllContent();
|
|
270
270
|
new VerticalLayout({
|
|
271
271
|
content: [
|
|
272
272
|
new HTML("html3", {
|
|
@@ -406,7 +406,7 @@ sap.ui.define([
|
|
|
406
406
|
var oldDomRef = jQuery("#html3")[0];
|
|
407
407
|
|
|
408
408
|
// remove from control tree and rerender
|
|
409
|
-
|
|
409
|
+
UIAreaRegistry.get("uiAreaA").removeAllContent();
|
|
410
410
|
await nextUIUpdate();
|
|
411
411
|
|
|
412
412
|
// check that DOM still exists
|
|
@@ -488,7 +488,7 @@ sap.ui.define([
|
|
|
488
488
|
// multiple roots test
|
|
489
489
|
QUnit.test("content property, multiple roots", async function(assert) {
|
|
490
490
|
// Cleanup UIArea because placeAt only adds new control to UIArea
|
|
491
|
-
|
|
491
|
+
UIAreaRegistry.get("uiAreaA").removeAllContent();
|
|
492
492
|
new HTML("html6", {
|
|
493
493
|
content : "<div style='width:200px;height:64px;background-color:rgb(0, 0, 0);'></div><div style='width:200px;height:64px;background-color:rgb(255, 0, 0);'></div><div style='width:200px;height:64px;background-color:rgb(255, 255, 0);'></div>"
|
|
494
494
|
}).placeAt("uiAreaA");
|
|
@@ -455,7 +455,7 @@ sap.ui.define([
|
|
|
455
455
|
QUnit.test("", async function(assert) {
|
|
456
456
|
let oErrorLogSpy;
|
|
457
457
|
|
|
458
|
-
assert.expect(
|
|
458
|
+
assert.expect(6);
|
|
459
459
|
|
|
460
460
|
sap.ui.predefine('testing/pseudo/modules/deprecation/library', ["sap/ui/core/Lib"], function(Library) {
|
|
461
461
|
const oThisLib = Library.init({
|
|
@@ -474,9 +474,11 @@ sap.ui.define([
|
|
|
474
474
|
name: "testing.pseudo.modules.deprecation"
|
|
475
475
|
});
|
|
476
476
|
|
|
477
|
+
const sExpectedErrorMessage = "Deprecation: Importing the type 'testing.pseudo.modules.deprecation.Type1' as a module is deprecated. Please require the corresponding 'library.js' containing the type directly. You can then reference the type via the library's module export.";
|
|
478
|
+
|
|
479
|
+
// Anonymous require: Log does not contain the requesting module
|
|
477
480
|
await new Promise((resolve, reject) => {
|
|
478
481
|
oErrorLogSpy = this.spy(Log, "error");
|
|
479
|
-
const sExpectedErrorMessage = "Deprecation: Import the type 'testing.pseudo.modules.deprecation.Type1' as a module is deprecated. Please require the corresponding 'library.js' containing the type directly. You can then reference the type via the library's module export.";
|
|
480
482
|
|
|
481
483
|
sap.ui.require(["testing/pseudo/modules/deprecation/Type1"], (Type1) => {
|
|
482
484
|
assert.ok(oErrorLogSpy.calledWith(sExpectedErrorMessage), "Error Message for pseudo module deprecation logged.");
|
|
@@ -487,5 +489,20 @@ sap.ui.define([
|
|
|
487
489
|
}).finally(() => {
|
|
488
490
|
oErrorLogSpy.restore();
|
|
489
491
|
});
|
|
492
|
+
|
|
493
|
+
// Anonymous require: Log does not contain the requesting module
|
|
494
|
+
await new Promise((resolve, reject) => {
|
|
495
|
+
oErrorLogSpy = this.spy(Log, "error");
|
|
496
|
+
const sModuleSpecificErrorMessage = `(dependency of 'my/old/Module.js') ${sExpectedErrorMessage}`;
|
|
497
|
+
|
|
498
|
+
sap.ui.define("my/old/Module", ["testing/pseudo/modules/deprecation/Type1"], (Type1) => {
|
|
499
|
+
assert.ok(oErrorLogSpy.calledWith(sModuleSpecificErrorMessage), "Error Message for pseudo module deprecation logged.");
|
|
500
|
+
assert.ok(Type1.A, "A", "pseudo type module export is correct (A).");
|
|
501
|
+
assert.ok(Type1.B, "B", "pseudo type module export is correct (B).");
|
|
502
|
+
resolve();
|
|
503
|
+
}, reject);
|
|
504
|
+
}).finally(() => {
|
|
505
|
+
oErrorLogSpy.restore();
|
|
506
|
+
});
|
|
490
507
|
});
|
|
491
508
|
});
|
|
@@ -5,9 +5,9 @@ sap.ui.define([
|
|
|
5
5
|
"sap/ui/core/Core",
|
|
6
6
|
"sap/ui/core/Element",
|
|
7
7
|
"sap/ui/core/StaticArea",
|
|
8
|
-
"sap/ui/core/
|
|
8
|
+
"sap/ui/core/UIAreaRegistry",
|
|
9
9
|
"sap/ui/qunit/utils/createAndAppendDiv"
|
|
10
|
-
], function(Panel, Button, oCore, Element, StaticArea,
|
|
10
|
+
], function(Panel, Button, oCore, Element, StaticArea, UIAreaRegistry, createAndAppendDiv) {
|
|
11
11
|
"use strict";
|
|
12
12
|
|
|
13
13
|
createAndAppendDiv(["uiArea1", "uiArea2", "uiArea3", "uiArea4"]);
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
oControl.placeAt(oContainerRef);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
var oCont = bIsUiArea ?
|
|
37
|
+
var oCont = bIsUiArea ? UIAreaRegistry.get(sContainerId) : Element.getElementById(sContainerId);
|
|
38
38
|
return [oControl.getId(), oCont];
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
QUnit.module("sap.ui.core.Control.placeAt");
|
|
58
58
|
|
|
59
59
|
QUnit.test("Deferred call", function(assert) {
|
|
60
|
-
doCheckPlaceAtResult(assert, ["myPanel",
|
|
60
|
+
doCheckPlaceAtResult(assert, ["myPanel", UIAreaRegistry.get("uiArea1")], 1, 0, "deferred call");
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
QUnit.test("UIArea via ID", function(assert) {
|
|
@@ -105,7 +105,7 @@ sap.ui.define([
|
|
|
105
105
|
function setRoot() {
|
|
106
106
|
var oControl = new Button();
|
|
107
107
|
oCore.setRoot(oContainerRef, oControl);
|
|
108
|
-
var oCont = bIsUiArea ?
|
|
108
|
+
var oCont = bIsUiArea ? UIAreaRegistry.get(sContainerId) : Element.getElementById(sContainerId);
|
|
109
109
|
return [oControl.getId(), oCont];
|
|
110
110
|
}
|
|
111
111
|
|
|
@@ -118,7 +118,7 @@ sap.ui.define([
|
|
|
118
118
|
QUnit.module("sap.ui.core.Core.setRoot");
|
|
119
119
|
|
|
120
120
|
QUnit.test("Deferred call", function(assert) {
|
|
121
|
-
doCheckSetRootResult(assert, ["myPanel2",
|
|
121
|
+
doCheckSetRootResult(assert, ["myPanel2", UIAreaRegistry.get("uiArea3")]);
|
|
122
122
|
});
|
|
123
123
|
|
|
124
124
|
QUnit.test("UIArea via ID", function(assert) {
|
|
@@ -82,7 +82,7 @@ sap.ui.define([
|
|
|
82
82
|
});
|
|
83
83
|
|
|
84
84
|
QUnit.test("fnWrapper trigger", function(assert) {
|
|
85
|
-
assert.expect(
|
|
85
|
+
assert.expect(6);
|
|
86
86
|
var done = assert.async();
|
|
87
87
|
var oHTMLElementFocusSpy = sinon.spy(HTMLElement.prototype, "focus");
|
|
88
88
|
var oInput = new Input();
|
|
@@ -100,7 +100,15 @@ sap.ui.define([
|
|
|
100
100
|
oInput.placeAt("qunit-fixture");
|
|
101
101
|
oInput.addEventDelegate({"onAfterRendering": function() {
|
|
102
102
|
oInput.focus();
|
|
103
|
+
|
|
104
|
+
// wrap the assertion in a 0 timeout to make sure that the shift of focus to the internal "span"
|
|
105
|
+
// is done by using a 0 timeout
|
|
106
|
+
setTimeout(function() {
|
|
107
|
+
assert.ok(oInput.getDomRef().contains(document.activeElement), "Focus should be within the input after a 0 timeout");
|
|
108
|
+
});
|
|
109
|
+
|
|
103
110
|
QUtils.triggerKeydown(oInput.getDomRef(), "s", true, false, false);
|
|
111
|
+
assert.ok(oInput.getDomRef().contains(document.activeElement), "Focus should be within the input directly after triggering the shortcut");
|
|
104
112
|
}});
|
|
105
113
|
});
|
|
106
114
|
});
|
|
@@ -6,12 +6,13 @@ sap.ui.define([
|
|
|
6
6
|
"sap/ui/core/Element",
|
|
7
7
|
"sap/ui/core/HTML",
|
|
8
8
|
"sap/ui/core/UIArea",
|
|
9
|
+
"sap/ui/core/UIAreaRegistry",
|
|
9
10
|
"sap/ui/qunit/utils/createAndAppendDiv",
|
|
10
11
|
"sap/ui/qunit/utils/nextUIUpdate",
|
|
11
12
|
"sap/ui/testlib/TestButton",
|
|
12
13
|
"sap/ui/test/actions/Press",
|
|
13
14
|
"sap/ui/thirdparty/jquery"
|
|
14
|
-
], function(Log, Control, Element, HTML, UIArea, createAndAppendDiv, nextUIUpdate, TestButton, Press, jQuery) {
|
|
15
|
+
], function(Log, Control, Element, HTML, UIArea, UIAreaRegistry, createAndAppendDiv, nextUIUpdate, TestButton, Press, jQuery) {
|
|
15
16
|
"use strict";
|
|
16
17
|
|
|
17
18
|
createAndAppendDiv("uiArea1");
|
|
@@ -60,7 +61,7 @@ sap.ui.define([
|
|
|
60
61
|
* UIArea must be empty after the rendering
|
|
61
62
|
*/
|
|
62
63
|
QUnit.test("removeAllContent", async function(assert) {
|
|
63
|
-
|
|
64
|
+
UIAreaRegistry.get("uiArea1").removeAllContent();
|
|
64
65
|
await nextUIUpdate();
|
|
65
66
|
assert.equal(jQuery("#uiArea1").children().length, 0, "no more content");
|
|
66
67
|
assert.ok(Element.getElementById("text1"), "remove must not destroy child 1");
|
|
@@ -87,7 +88,7 @@ sap.ui.define([
|
|
|
87
88
|
assert.equal(jQuery($currentDom.get(1)).text(), "Text 1", "first span shows first text");
|
|
88
89
|
assert.equal(jQuery($currentDom.get(2)).text(), "Text 2", "second span shows second text");
|
|
89
90
|
|
|
90
|
-
|
|
91
|
+
UIAreaRegistry.get("uiArea2").removeAllContent();
|
|
91
92
|
await nextUIUpdate();
|
|
92
93
|
$currentDom = jQuery("#uiArea2").children();
|
|
93
94
|
assert.equal($currentDom.length, 1, "initial DOM still exists in UIArea");
|
|
@@ -127,7 +128,7 @@ sap.ui.define([
|
|
|
127
128
|
assert.equal(jQuery($currentDom.get(4)).text(), "After", "last span shows dynamically added end");
|
|
128
129
|
|
|
129
130
|
// now remove controls, check that the remainigs are as expected
|
|
130
|
-
|
|
131
|
+
UIAreaRegistry.get("uiArea2").removeAllContent();
|
|
131
132
|
await nextUIUpdate();
|
|
132
133
|
$currentDom = jQuery("#uiArea2").children();
|
|
133
134
|
assert.equal($currentDom.length, 3, "initial DOM still exists in UIArea");
|
|
@@ -180,7 +181,7 @@ sap.ui.define([
|
|
|
180
181
|
// ---- aspect 3: remove all content must not delete the preserved dOM ----
|
|
181
182
|
|
|
182
183
|
// remove content and rerender
|
|
183
|
-
|
|
184
|
+
UIAreaRegistry.get("uiArea1").removeAllContent();
|
|
184
185
|
await nextUIUpdate();
|
|
185
186
|
|
|
186
187
|
// check that UIArea is empoty, but preserved content still exists
|
|
@@ -296,7 +297,7 @@ sap.ui.define([
|
|
|
296
297
|
beforeEach: function() {
|
|
297
298
|
new Control().placeAt("uiArea1").destroy();
|
|
298
299
|
var oControl = new Control();
|
|
299
|
-
|
|
300
|
+
UIAreaRegistry.get("uiArea1").addDependent(oControl);
|
|
300
301
|
this.uiArea = oControl.getUIArea();
|
|
301
302
|
this.uiArea.addDependent(new Control());
|
|
302
303
|
this.spy(this.uiArea, "invalidate");
|