@openui5/sap.ui.core 1.91.0 → 1.93.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/.eslintrc.json +37 -0
- package/.reuse/dep5 +46 -0
- package/THIRDPARTY.txt +59 -1
- package/package.json +1 -1
- package/src/jquery.sap.global.js +6 -2
- 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 +7 -4
- package/src/jquery.sap.stubs.js +0 -1
- package/src/sap/base/i18n/ResourceBundle.js +2 -2
- package/src/sap/base/security/encodeCSS.js +1 -0
- package/src/sap/base/security/encodeJS.js +1 -0
- package/src/sap/base/security/encodeURL.js +1 -0
- package/src/sap/base/security/encodeXML.js +2 -0
- package/src/sap/base/util/LoaderExtensions.js +1 -1
- package/src/sap/base/util/Properties.js +4 -1
- package/src/sap/base/util/isEmptyObject.js +1 -2
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +10 -10
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +1 -0
- package/src/sap/ui/base/DataType.js +1 -0
- 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 +121 -18
- package/src/sap/ui/base/ManagedObjectMetadata.js +13 -4
- 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 +4 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +4 -1
- package/src/sap/ui/core/Component.js +144 -43
- package/src/sap/ui/core/ComponentContainer.js +51 -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 +2 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +20 -22
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +2 -2
- 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 -3
- 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 +59 -16
- package/src/sap/ui/core/Fragment.js +3 -3
- 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 +9 -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/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 +15 -1328
- package/src/sap/ui/core/Manifest.js +124 -69
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +143 -153
- package/src/sap/ui/core/Placeholder.js +173 -0
- package/src/sap/ui/core/Popup.js +29 -5
- package/src/sap/ui/core/RenderManager.js +344 -104
- 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/ThemeCheck.js +14 -62
- 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 +6 -3
- package/src/sap/ui/core/UIComponent.js +46 -23
- 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 +3 -5
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +5 -6
- package/src/sap/ui/core/cldr/en.json +1 -0
- package/src/sap/ui/core/date/UniversalDate.js +4 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +4 -4
- 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 +2 -9
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +41 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +4 -2
- package/src/sap/ui/core/format/NumberFormat.js +3 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +26 -4
- 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 +4 -2
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +1 -1
- package/src/sap/ui/core/messagebundle_ms.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt.properties +6 -6
- package/src/sap/ui/core/messagebundle_tr.properties +1 -1
- package/src/sap/ui/core/mvc/Controller.js +146 -8
- package/src/sap/ui/core/mvc/HTMLView.js +3 -1
- package/src/sap/ui/core/mvc/JSONView.js +7 -5
- package/src/sap/ui/core/mvc/JSView.js +4 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +145 -68
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +13 -9
- 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/HashChangerBase.js +9 -2
- package/src/sap/ui/core/routing/History.js +188 -87
- package/src/sap/ui/core/routing/Route.js +10 -1
- package/src/sap/ui/core/routing/Router.js +8 -5
- package/src/sap/ui/core/routing/RouterHashChanger.js +26 -16
- package/src/sap/ui/core/routing/TargetCache.js +19 -8
- package/src/sap/ui/core/routing/Targets.js +29 -3
- package/src/sap/ui/core/routing/async/Route.js +9 -1
- package/src/sap/ui/core/routing/async/Target.js +249 -85
- package/src/sap/ui/core/routing/async/TargetCache.js +9 -7
- package/src/sap/ui/core/routing/async/Targets.js +4 -2
- package/src/sap/ui/core/routing/sync/Target.js +15 -0
- package/src/sap/ui/core/rules/App.support.js +36 -2
- 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/InteractionTree.css +0 -14
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -2
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/TimelineOverview.css +0 -35
- package/src/sap/ui/core/support/controls/ObjectViewer.js +5 -9
- package/src/sap/ui/core/support/controls/TreeViewer.js +0 -1
- package/src/sap/ui/core/support/interactionSlider.css +0 -3
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- 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/MessageTest.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +2 -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 -3
- package/src/sap/ui/core/support/support.css +4 -164
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- package/src/sap/ui/core/support/usage/EventBroadcaster.js +0 -22
- package/src/sap/ui/core/themes/base/BlindLayer.less +0 -2
- package/src/sap/ui/core/themes/base/BrowserScrollbar.less +0 -9
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +5 -5
- package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
- package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
- package/src/sap/ui/core/themes/base/TechnicalInfo.less +0 -1
- package/src/sap/ui/core/themes/base/base.less +569 -414
- package/src/sap/ui/core/themes/base/global.less +38 -0
- package/src/sap/ui/core/themes/base/library.source.less +1 -2
- package/src/sap/ui/core/themes/base/shared.less +1 -1
- package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
- package/src/sap/ui/core/theming/Parameters.js +222 -60
- package/src/sap/ui/core/theming/ThemeHelper.js +94 -0
- 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 +2 -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 +27 -7
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +2 -2
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +18 -0
- 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 +2 -2
- package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -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/dom/jquery/zIndex.js +3 -3
- package/src/sap/ui/events/jquery/EventSimulation.js +7 -6
- package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
- package/src/sap/ui/model/Binding.js +7 -3
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +31 -11
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +19 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +3 -3
- package/src/sap/ui/model/SelectionModel.js +5 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +36 -45
- package/src/sap/ui/model/analytics/odata4analytics.js +31 -31
- package/src/sap/ui/model/base/ManagedObjectModel.js +11 -1
- 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/AnnotationParser.js +23 -18
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +52 -40
- package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
- package/src/sap/ui/model/odata/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
- package/src/sap/ui/model/odata/ODataUtils.js +126 -0
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +30 -27
- 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 +7 -2
- 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/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 +3 -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 +7 -2
- package/src/sap/ui/model/odata/type/UnitMixin.js +20 -7
- package/src/sap/ui/model/odata/v2/Context.js +165 -0
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +19 -5
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +20 -79
- package/src/sap/ui/model/odata/v2/ODataModel.js +75 -53
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +55 -41
- package/src/sap/ui/model/odata/v4/Context.js +48 -15
- package/src/sap/ui/model/odata/v4/ODataBinding.js +89 -9
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +87 -21
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +72 -50
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +8 -8
- package/src/sap/ui/model/odata/v4/ODataModel.js +109 -171
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +34 -67
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +18 -9
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/SubmitMode.js +3 -3
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +17 -16
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +86 -117
- package/src/sap/ui/model/odata/v4/lib/{_GrandTotalHelper.js → _ConcatHelper.js} +34 -27
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +2 -2
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +122 -7
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +2 -2
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +25 -74
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +49 -12
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +7 -7
- 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 +3 -3
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +3 -3
- 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 +3 -3
- 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/Measurement.js +3 -5
- package/src/sap/ui/performance/trace/FESR.js +2 -1
- package/src/sap/ui/performance/trace/Interaction.js +11 -9
- package/src/sap/ui/qunit/QUnitUtils.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage.js +1 -0
- package/src/sap/ui/qunit/qunit-junit.js +1 -0
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +2 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -0
- package/src/sap/ui/test/TestUtils.js +17 -30
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
- package/src/sap/ui/test/actions/Action.js +1 -1
- package/src/sap/ui/test/launchers/componentLauncher.js +2 -1
- package/src/sap/ui/test/opaQunit.js +6 -9
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -4
- package/src/sap/ui/test/starter/_utils.js +6 -0
- package/src/sap/ui/test/starter/createSuite.js +1 -1
- package/src/sap/ui/thirdparty/IPv6.js +2 -2
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
- package/src/sap/ui/thirdparty/URI.js +14 -5
- package/src/sap/ui/thirdparty/URITemplate.js +2 -2
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/src/sap/ui/thirdparty/crossroads.js +10 -2
- package/src/sap/ui/util/Mobile.js +10 -7
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +1 -1
- package/src/ui5loader.js +24 -6
- package/src/sap/ui/model/odata/v4/.eslintrc +0 -6
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// Provides control sap.ui.core.mvc.View.
|
|
8
8
|
sap.ui.define([
|
|
9
|
+
"sap/base/util/isEmptyObject",
|
|
9
10
|
"sap/ui/base/ManagedObject",
|
|
10
11
|
"sap/ui/core/Control",
|
|
11
12
|
"sap/ui/core/mvc/Controller",
|
|
@@ -19,6 +20,7 @@ sap.ui.define([
|
|
|
19
20
|
"sap/ui/core/Core" // to ensure correct behaviour of sap.ui.getCore()
|
|
20
21
|
],
|
|
21
22
|
function(
|
|
23
|
+
isEmptyObject,
|
|
22
24
|
ManagedObject,
|
|
23
25
|
Control,
|
|
24
26
|
Controller,
|
|
@@ -138,7 +140,7 @@ sap.ui.define([
|
|
|
138
140
|
* The default implementation of this method returns <code>false</code>.
|
|
139
141
|
*
|
|
140
142
|
* @extends sap.ui.core.Control
|
|
141
|
-
* @version 1.
|
|
143
|
+
* @version 1.93.2
|
|
142
144
|
*
|
|
143
145
|
* @public
|
|
144
146
|
* @alias sap.ui.core.mvc.View
|
|
@@ -440,14 +442,30 @@ sap.ui.define([
|
|
|
440
442
|
bAsync = mSettings.async;
|
|
441
443
|
|
|
442
444
|
if (!oController && oThis.getControllerName) {
|
|
445
|
+
oThis.bControllerIsViewManaged = true;
|
|
443
446
|
// get optional default controller name
|
|
444
447
|
var defaultController = oThis.getControllerName();
|
|
445
448
|
if (defaultController) {
|
|
446
449
|
// check for controller replacement
|
|
447
|
-
var
|
|
448
|
-
|
|
449
|
-
if (
|
|
450
|
-
|
|
450
|
+
var Component = sap.ui.require("sap/ui/core/Component");
|
|
451
|
+
|
|
452
|
+
if (Component && ManagedObject._sOwnerId) {
|
|
453
|
+
var oOwnerComponent = Component.get(ManagedObject._sOwnerId);
|
|
454
|
+
|
|
455
|
+
if (oOwnerComponent) {
|
|
456
|
+
var oControllerExtensionCarrier = oOwnerComponent;
|
|
457
|
+
if (oOwnerComponent.getExtensionComponent) {
|
|
458
|
+
oControllerExtensionCarrier = oOwnerComponent.getExtensionComponent();
|
|
459
|
+
if (!oControllerExtensionCarrier) {
|
|
460
|
+
throw new Error("getExtensionComponent() must return an instance.");
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
var sControllerReplacement = oControllerExtensionCarrier._getManifestEntry("/sap.ui5/extends/extensions/sap.ui.controllerReplacements/" + defaultController, true);
|
|
465
|
+
if (sControllerReplacement) {
|
|
466
|
+
defaultController = typeof sControllerReplacement === "string" ? sControllerReplacement : sControllerReplacement.controllerName;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
451
469
|
}
|
|
452
470
|
// create controller
|
|
453
471
|
if (bAsync) {
|
|
@@ -457,6 +475,7 @@ sap.ui.define([
|
|
|
457
475
|
}
|
|
458
476
|
}
|
|
459
477
|
} else if (oController) {
|
|
478
|
+
oThis.bControllerIsViewManaged = false;
|
|
460
479
|
// if passed controller is not extended yet we need to do it.
|
|
461
480
|
var sOwnerId = ManagedObject._sOwnerId;
|
|
462
481
|
if (!oController._isExtended()) {
|
|
@@ -510,6 +529,11 @@ sap.ui.define([
|
|
|
510
529
|
// remember the name of this View
|
|
511
530
|
this.sViewName = mSettings.viewName;
|
|
512
531
|
|
|
532
|
+
// typed views are prefixed with "module:" and contains slashes
|
|
533
|
+
if (this.sViewName && this.sViewName.startsWith("module:")) {
|
|
534
|
+
this.sViewName = this.sViewName.slice("module:".length).replace(/\//g, ".");
|
|
535
|
+
}
|
|
536
|
+
|
|
513
537
|
var that = this;
|
|
514
538
|
|
|
515
539
|
initPreprocessorQueues(this, mSettings);
|
|
@@ -519,28 +543,54 @@ sap.ui.define([
|
|
|
519
543
|
initAsyncState(this);
|
|
520
544
|
}
|
|
521
545
|
|
|
522
|
-
|
|
523
|
-
var
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
if (
|
|
533
|
-
|
|
546
|
+
var Component = sap.ui.require("sap/ui/core/Component");
|
|
547
|
+
var oOwnerComponent = Component && Component.getOwnerComponentFor(this);
|
|
548
|
+
|
|
549
|
+
// view modifications
|
|
550
|
+
// check if there are custom properties configured for this view, and only if there are, create a settings preprocessor applying these
|
|
551
|
+
if (!sap.ui.getCore().getConfiguration().getDisableCustomizing()) {
|
|
552
|
+
if (oOwnerComponent) {
|
|
553
|
+
var oViewModificationCarrier = oOwnerComponent;
|
|
554
|
+
if (oOwnerComponent.getExtensionComponent) {
|
|
555
|
+
oViewModificationCarrier = oOwnerComponent.getExtensionComponent();
|
|
556
|
+
if (!oViewModificationCarrier) {
|
|
557
|
+
throw new Error("getExtensionComponent() must return an instance.");
|
|
534
558
|
}
|
|
535
559
|
}
|
|
536
|
-
|
|
560
|
+
|
|
561
|
+
var mCustomSettings = oViewModificationCarrier._getManifestEntry("/sap.ui5/extends/extensions/sap.ui.viewModifications/" + this.sViewName, true);
|
|
562
|
+
|
|
563
|
+
if (!isEmptyObject(mCustomSettings)) {
|
|
564
|
+
// NOTE:
|
|
565
|
+
// nested views do not inherit the preprocessor settings function from the parent
|
|
566
|
+
// controls within fragments however do inherit the settings function from the containing view (see Fragment#init)
|
|
567
|
+
this._fnSettingsPreprocessor = function(mSettings) {
|
|
568
|
+
var sId = this.getId();
|
|
569
|
+
if (sId) {
|
|
570
|
+
if (that.isPrefixedId(sId)) {
|
|
571
|
+
sId = sId.substring((that.getId() + "--").length);
|
|
572
|
+
}
|
|
573
|
+
var oCustomSetting = Object.assign({}, mCustomSettings[sId]);
|
|
574
|
+
if (oCustomSetting) {
|
|
575
|
+
// only 'visible' property can be customized
|
|
576
|
+
for (var sProperty in oCustomSetting) {
|
|
577
|
+
if (sProperty !== "visible") {
|
|
578
|
+
Log.warning("Customizing: custom value for property '" + sProperty + "' of control '" + sId + "' in View '" + that.sViewName + "' ignored: only the 'visible' property can be customized.");
|
|
579
|
+
delete oCustomSetting[sProperty];
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
Log.info("Customizing: custom value for property 'visible' of control '" + sId + "' in View '" + that.sViewName + "' applied: " + oCustomSetting.visible);
|
|
583
|
+
mSettings = extend(mSettings, oCustomSetting); // override original property initialization with customized property values
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
}
|
|
537
589
|
}
|
|
538
590
|
|
|
539
591
|
var fnPropagateOwner = function(fnCallback, bAsync) {
|
|
540
592
|
assert(typeof fnCallback === "function", "fn must be a function");
|
|
541
593
|
|
|
542
|
-
var Component = sap.ui.require("sap/ui/core/Component");
|
|
543
|
-
var oOwnerComponent = Component && Component.getOwnerComponentFor(that);
|
|
544
594
|
if (oOwnerComponent) {
|
|
545
595
|
if (bAsync) {
|
|
546
596
|
// special treatment when component loading is async but instance creation is sync
|
|
@@ -694,7 +744,10 @@ sap.ui.define([
|
|
|
694
744
|
*/
|
|
695
745
|
View.prototype.exit = function() {
|
|
696
746
|
this.fireBeforeExit();
|
|
697
|
-
|
|
747
|
+
if (this.oController && this.bControllerIsViewManaged) {
|
|
748
|
+
this.oController.destroy();
|
|
749
|
+
delete this.oController;
|
|
750
|
+
}
|
|
698
751
|
delete this.oPreprocessorInfo;
|
|
699
752
|
if (this.oAsyncState) {
|
|
700
753
|
var fnDelete = deleteAsyncState.bind(this);
|
|
@@ -1066,51 +1119,47 @@ sap.ui.define([
|
|
|
1066
1119
|
* @private
|
|
1067
1120
|
* @ui5-restricted sap.ui.core
|
|
1068
1121
|
* @see {sap.ui.view}
|
|
1122
|
+
* @function
|
|
1069
1123
|
*/
|
|
1070
1124
|
View._create = viewFactory;
|
|
1071
1125
|
|
|
1072
1126
|
/**
|
|
1073
1127
|
* Creates a view of the given type, name and with the given ID.
|
|
1074
1128
|
*
|
|
1075
|
-
*
|
|
1076
|
-
*
|
|
1077
|
-
*
|
|
1078
|
-
*
|
|
1079
|
-
* an ID will be generated
|
|
1080
|
-
*
|
|
1081
|
-
* via the module system (vView.viewName + suffix ".view.xml")
|
|
1082
|
-
*
|
|
1083
|
-
* The given controller instance overrides the controller defined in the view definition
|
|
1084
|
-
*
|
|
1085
|
-
*
|
|
1086
|
-
*
|
|
1087
|
-
*
|
|
1088
|
-
*
|
|
1089
|
-
*
|
|
1090
|
-
*
|
|
1091
|
-
*
|
|
1092
|
-
*
|
|
1093
|
-
*
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
1096
|
-
*
|
|
1097
|
-
*
|
|
1098
|
-
*
|
|
1099
|
-
* <strong>Note</strong>: These preprocessors are only available to this instance. For global or
|
|
1129
|
+
* @param {string} [sId] The ID of the newly created view, only allowed for instance creation. If no ID is given,
|
|
1130
|
+
* an ID will be generated. For view definition, skip this parameter and use <code>vView</code> as the first parameter.
|
|
1131
|
+
* @param {string|object} [vView] The view name or view configuration object.
|
|
1132
|
+
* @param {object} [vView.id] Specifies an ID for the view instance. If no ID is given,
|
|
1133
|
+
* an ID will be generated.
|
|
1134
|
+
* @param {object} [vView.viewName] Corresponds to an XML module that can be loaded
|
|
1135
|
+
* via the module system (vView.viewName + suffix ".view.xml").
|
|
1136
|
+
* @param {sap.ui.core.mvc.Controller} [vView.controller] The controller instance must be a valid controller implementation.
|
|
1137
|
+
* The given controller instance overrides the controller defined in the view definition.
|
|
1138
|
+
* @param {boolean} [vView.async] Whether the view source is loaded asynchronously. In asynchronous mode, the view is returned empty,
|
|
1139
|
+
* and the view content is loaded asynchronously.
|
|
1140
|
+
* @param {sap.ui.core.mvc.ViewType} [vView.type] Specifies what kind of view will be instantiated. All valid
|
|
1141
|
+
* view types are listed in the enumeration {@link sap.ui.core.mvc.ViewType}.
|
|
1142
|
+
* @param {object} [vView.viewData] Holds application specific data. This data is available
|
|
1143
|
+
* during the whole lifecycle of the view and the controller, for example in the constructor and in the {@link sap.ui.core.mvc.Controller.onInit onInit} hook.
|
|
1144
|
+
* @param {Map<string,object[]>} [vView.preprocessors] Holds a map from the specified preprocessor type (e.g. "xml") to an array of
|
|
1145
|
+
* preprocessor configurations. Each configuration consists of a <code>preprocessor</code> property (optional when
|
|
1146
|
+
* registered as on-demand preprocessor) and may contain further preprocessor-specific settings.
|
|
1147
|
+
* @param {string|sap.ui.core.mvc.View.Preprocessor|function} [vView.preprocessors.preprocessor]
|
|
1148
|
+
* The used preprocessor. For further information see {@link sap.ui.core.mvc.View.Preprocessor.process}.
|
|
1149
|
+
* Do not set properties starting with an underscore, such as <code>_sProperty</code>, as these are reserved for internal purposes.
|
|
1150
|
+
* When several preprocessors are provided for one hook, it has to be made sure that they do not conflict when being processed serially.
|
|
1151
|
+
*
|
|
1152
|
+
* </br><strong>Note</strong>: These preprocessors are only available to this instance. For global or
|
|
1100
1153
|
* on-demand availability use {@link sap.ui.core.mvc.XMLView.registerPreprocessor}.
|
|
1101
1154
|
*
|
|
1102
|
-
*
|
|
1103
|
-
*
|
|
1155
|
+
* </br><strong>Note</strong>: Please note that preprocessors in general are currently only available
|
|
1156
|
+
* for {@link sap.ui.core.mvc.XMLView XMLViews}.
|
|
1104
1157
|
*
|
|
1105
|
-
*
|
|
1106
|
-
*
|
|
1107
|
-
*
|
|
1158
|
+
* </br><strong>Note</strong>: Preprocessors only work in asynchronous views and will be ignored by default
|
|
1159
|
+
* when the view is instantiated synchronously, as this could have unexpected side effects.
|
|
1160
|
+
* You may override this behaviour by setting the <code>bSyncSupport</code> flag
|
|
1161
|
+
* of the preprocessor to <code>true</code>.
|
|
1108
1162
|
*
|
|
1109
|
-
* @param {string} sId id of the newly created view, only allowed for instance creation
|
|
1110
|
-
* @param {string|object} [vView] the view name or view configuration object
|
|
1111
|
-
* @param {sap.ui.core.mvc.ViewType} sType Specifies what kind of view will be instantiated. All valid
|
|
1112
|
-
* view types are listed in the enumeration {@link sap.ui.core.mvc.ViewType}.
|
|
1113
|
-
* @param {boolean} [vView.async] whether the view source is loaded asynchronously
|
|
1114
1163
|
* @public
|
|
1115
1164
|
* @static
|
|
1116
1165
|
* @deprecated Since 1.56. Use {@link sap.ui.core.mvc.View.extend View.extend} to define the view class
|
|
@@ -1118,7 +1167,7 @@ sap.ui.define([
|
|
|
1118
1167
|
* @return {sap.ui.core.mvc.View} the created View instance
|
|
1119
1168
|
* @ui5-global-only
|
|
1120
1169
|
*/
|
|
1121
|
-
sap.ui.view = function(sId, vView, sType /* used by factory functions */) {
|
|
1170
|
+
sap.ui.view = function(sId, vView, sType /* internal, used by factory functions */) {
|
|
1122
1171
|
var sViewName = typeof sId === "string" ? sId : vView;
|
|
1123
1172
|
sViewName = typeof sViewName === "object" ? sViewName.viewName : sViewName;
|
|
1124
1173
|
|
|
@@ -1186,15 +1235,38 @@ sap.ui.define([
|
|
|
1186
1235
|
oView.processingMode = oView.processingMode || XMLProcessingMode.SequentialLegacy;
|
|
1187
1236
|
}
|
|
1188
1237
|
|
|
1238
|
+
|
|
1239
|
+
|
|
1189
1240
|
// view replacement
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
var
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1241
|
+
if (!sap.ui.getCore().getConfiguration().getDisableCustomizing()) {
|
|
1242
|
+
// get current owner component
|
|
1243
|
+
var Component = sap.ui.require("sap/ui/core/Component");
|
|
1244
|
+
var oOwnerComponent;
|
|
1245
|
+
|
|
1246
|
+
if (Component && ManagedObject._sOwnerId) {
|
|
1247
|
+
oOwnerComponent = Component.get(ManagedObject._sOwnerId);
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
if (oOwnerComponent) {
|
|
1251
|
+
var oViewReplacementCarrier = oOwnerComponent;
|
|
1252
|
+
if (oOwnerComponent.getExtensionComponent) {
|
|
1253
|
+
var oViewReplacementCarrier = oOwnerComponent.getExtensionComponent();
|
|
1254
|
+
if (!oViewReplacementCarrier) {
|
|
1255
|
+
throw new Error("getExtensionComponent() must return an instance.");
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
var customViewConfig = oViewReplacementCarrier._getManifestEntry("/sap.ui5/extends/extensions/sap.ui.viewReplacements/" + oView.viewName, true);
|
|
1260
|
+
|
|
1261
|
+
if (customViewConfig) {
|
|
1262
|
+
// make sure that "async=true" will not be overriden
|
|
1263
|
+
delete customViewConfig.async;
|
|
1264
|
+
|
|
1265
|
+
Log.info("Customizing: View replacement for view '" + oView.viewName + "' found and applied: " + customViewConfig.viewName + " (type: " + customViewConfig.type + ")");
|
|
1266
|
+
extend(oView, customViewConfig);
|
|
1267
|
+
} else {
|
|
1268
|
+
Log.debug("Customizing: no View replacement found for view '" + oView.viewName + "'.");
|
|
1269
|
+
}
|
|
1198
1270
|
}
|
|
1199
1271
|
}
|
|
1200
1272
|
|
|
@@ -1208,6 +1280,9 @@ sap.ui.define([
|
|
|
1208
1280
|
|
|
1209
1281
|
// view creation
|
|
1210
1282
|
if (sViewClass) {
|
|
1283
|
+
if (oViewSettings.type) {
|
|
1284
|
+
Log.error("When using the view factory, the 'type' setting must be omitted for typed views. When embedding typed views in XML, don't use the <JSView> tag, use the <View> tag instead.");
|
|
1285
|
+
}
|
|
1211
1286
|
return sViewClass;
|
|
1212
1287
|
}
|
|
1213
1288
|
if (!oViewSettings.type) {
|
|
@@ -1382,17 +1457,19 @@ sap.ui.define([
|
|
|
1382
1457
|
};
|
|
1383
1458
|
|
|
1384
1459
|
return ManagedObject.runWithPreprocessors(function() {
|
|
1460
|
+
var vContent = this.createContent(oController);
|
|
1385
1461
|
if (mSettings.async) {
|
|
1386
|
-
|
|
1387
|
-
vContent = vContent instanceof Promise ? vContent : Promise.resolve(vContent);
|
|
1462
|
+
vContent = Promise.resolve(vContent);
|
|
1388
1463
|
return vContent.then(function(vContent) {
|
|
1389
1464
|
this.applySettings({
|
|
1390
1465
|
content : vContent
|
|
1391
1466
|
});
|
|
1392
1467
|
}.bind(this));
|
|
1468
|
+
} else if (vContent instanceof Promise) {
|
|
1469
|
+
throw new Error("An asynchronous view (createContent) cannot be instantiated synchronously. Affected view: '" + this.getMetadata().getName() + "'.");
|
|
1393
1470
|
} else {
|
|
1394
1471
|
this.applySettings({
|
|
1395
|
-
content :
|
|
1472
|
+
content : vContent
|
|
1396
1473
|
});
|
|
1397
1474
|
}
|
|
1398
1475
|
}.bind(this), mPreprocessorSettings);
|
|
@@ -11,6 +11,8 @@ sap.ui.define([], function () {
|
|
|
11
11
|
/**
|
|
12
12
|
* Specifies possible view types.
|
|
13
13
|
*
|
|
14
|
+
* <b>Note:</b> Typed views do not rely on a <code>ViewType</code>, it must be omitted in the view settings.
|
|
15
|
+
*
|
|
14
16
|
* @enum {string}
|
|
15
17
|
* @public
|
|
16
18
|
* @alias sap.ui.core.mvc.ViewType
|
|
@@ -96,7 +96,7 @@ sap.ui.define([
|
|
|
96
96
|
* control's dependents aggregation or add it by using {@link sap.ui.core.mvc.XMLView#addDependent}.
|
|
97
97
|
*
|
|
98
98
|
* @extends sap.ui.core.mvc.View
|
|
99
|
-
* @version 1.
|
|
99
|
+
* @version 1.93.2
|
|
100
100
|
*
|
|
101
101
|
* @public
|
|
102
102
|
* @alias sap.ui.core.mvc.XMLView
|
|
@@ -260,6 +260,8 @@ sap.ui.define([
|
|
|
260
260
|
/**
|
|
261
261
|
* Flag for feature detection of asynchronous loading/rendering
|
|
262
262
|
* @public
|
|
263
|
+
* @readonly
|
|
264
|
+
* @type {boolean}
|
|
263
265
|
* @since 1.30
|
|
264
266
|
*/
|
|
265
267
|
XMLView.asyncSupport = true;
|
|
@@ -350,15 +352,17 @@ sap.ui.define([
|
|
|
350
352
|
var Component = sap.ui.require("sap/ui/core/Component"),
|
|
351
353
|
oComponent;
|
|
352
354
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
355
|
+
if (Component) {
|
|
356
|
+
while (oSrcElement) {
|
|
357
|
+
var oCandidateComponent = Component.getOwnerComponentFor(oSrcElement);
|
|
358
|
+
if (oCandidateComponent) {
|
|
359
|
+
oSrcElement = oComponent = oCandidateComponent;
|
|
360
|
+
} else {
|
|
361
|
+
if (oSrcElement instanceof Component) {
|
|
362
|
+
oComponent = oSrcElement;
|
|
363
|
+
}
|
|
364
|
+
oSrcElement = oSrcElement.getParent && oSrcElement.getParent();
|
|
360
365
|
}
|
|
361
|
-
oSrcElement = oSrcElement.getParent && oSrcElement.getParent();
|
|
362
366
|
}
|
|
363
367
|
}
|
|
364
368
|
return oComponent;
|
|
@@ -106,13 +106,20 @@ sap.ui.define([
|
|
|
106
106
|
* Replaces the hash with a certain value. When using the replace function, no browser history entry is written.
|
|
107
107
|
* If you want to have an entry in the browser history, please use the {@link #setHash} function.
|
|
108
108
|
*
|
|
109
|
+
* The <code>sDirection</code> parameter can be used to provide direction information on the navigation which
|
|
110
|
+
* leads to this hash replacement. This is typically used when synchronizing the hashes between multiple frames to
|
|
111
|
+
* provide information to the frame where the hash is replaced with the navigation direction in the other frame
|
|
112
|
+
* where the navigation occurs.
|
|
113
|
+
*
|
|
109
114
|
* @param {string} sHash New hash
|
|
115
|
+
* @param {sap.ui.core.routing.HistoryDirection} sDirection The direction information for this hash replacement
|
|
110
116
|
* @protected
|
|
111
117
|
*/
|
|
112
|
-
HashChangerBase.prototype.replaceHash = function(sHash) {
|
|
118
|
+
HashChangerBase.prototype.replaceHash = function(sHash, sDirection) {
|
|
113
119
|
this.fireEvent("hashReplaced", {
|
|
114
120
|
sHash: sHash, //deprecated
|
|
115
|
-
hash: sHash
|
|
121
|
+
hash: sHash,
|
|
122
|
+
direction: sDirection
|
|
116
123
|
});
|
|
117
124
|
};
|
|
118
125
|
|