@openui5/sap.ui.core 1.136.2 → 1.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +3 -3
- package/REUSE.toml +0 -28
- package/THIRDPARTY.txt +0 -24
- 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 +3 -3
- package/src/sap/ui/base/BindingInfo.js +12 -8
- package/src/sap/ui/base/BindingParser.js +13 -6
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -8
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +15 -42
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/_runWithOwner.js +43 -0
- package/src/sap/ui/core/.library +3 -30
- package/src/sap/ui/core/BusyIndicator.js +8 -8
- package/src/sap/ui/core/Component.js +61 -73
- package/src/sap/ui/core/ComponentContainer.js +22 -2
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +2 -2
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +13 -11
- package/src/sap/ui/core/Element.js +1 -3
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +4 -4
- package/src/sap/ui/core/Fragment.js +4 -2
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +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 +1 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +65 -180
- 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/Theming.js +2 -2
- 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 +1 -1
- package/src/sap/ui/core/UIComponent.js +11 -56
- 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 +5 -1
- package/src/sap/ui/core/_IconRegistry.js +2 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +12 -2
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +5 -3
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +19 -43
- 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/i18n/interaction_ar.xml +1 -1
- package/src/sap/ui/core/library.js +3 -3
- 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 +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +6 -6
- package/src/sap/ui/core/messagebundle_fr_CA.properties +4 -4
- package/src/sap/ui/core/messagebundle_hr.properties +7 -7
- package/src/sap/ui/core/messagebundle_ja.properties +4 -4
- package/src/sap/ui/core/messagebundle_sv.properties +2 -2
- package/src/sap/ui/core/mvc/Controller.js +3 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +12 -181
- package/src/sap/ui/core/mvc/XMLView.js +2 -1
- package/src/sap/ui/core/mvc/_ViewFactory.js +192 -0
- 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/Route.js +197 -13
- package/src/sap/ui/core/routing/Router.js +19 -8
- package/src/sap/ui/core/routing/RouterHashChanger.js +12 -3
- package/src/sap/ui/core/routing/Target.js +714 -61
- package/src/sap/ui/core/routing/TargetCache.js +205 -25
- package/src/sap/ui/core/routing/Targets.js +162 -67
- package/src/sap/ui/core/routing/Views.js +1 -0
- package/src/sap/ui/core/routing/sync/Route.js +1 -1
- package/src/sap/ui/core/routing/sync/Target.js +11 -1
- package/src/sap/ui/core/routing/sync/TargetCache.js +3 -3
- package/src/sap/ui/core/routing/sync/Targets.js +1 -1
- 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 -48
- package/src/sap/ui/core/service/ServiceFactory.js +44 -4
- 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 +356 -353
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- 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 +4 -2
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +4 -0
- package/src/sap/ui/core/theming/ThemeHelper.js +1 -18
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +4 -4
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +8 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +4 -4
- 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 +71 -3
- package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -3
- package/src/sap/ui/core/webc/WebComponentRenderer.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/ClientModel.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/DataState.js +1 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +2 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +2 -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/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +2 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +3 -3
- 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 +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +2 -3
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +9 -9
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +57 -19
- package/src/sap/ui/model/odata/v4/ODataModel.js +8 -7
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +86 -90
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +29 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +15 -11
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +10 -4
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +5 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +47 -16
- 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 +1 -1
- package/src/sap/ui/test/Opa.js +14 -2
- package/src/sap/ui/test/Opa5.js +61 -10
- package/src/sap/ui/test/TestUtils.js +6 -2
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/thirdparty/datajs.js +13 -10
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +1 -18
- package/src/ui5loader.js +1 -1
- package/src/sap/ui/core/routing/async/Route.js +0 -186
- package/src/sap/ui/core/routing/async/Target.js +0 -712
- package/src/sap/ui/core/routing/async/TargetCache.js +0 -196
- package/src/sap/ui/core/routing/async/Targets.js +0 -130
- package/src/sap/ui/thirdparty/iscroll-lite.js +0 -603
- package/src/sap/ui/thirdparty/iscroll.js +0 -1104
- package/src/sap/ui/thirdparty/mobiscroll/css/mobiscroll-core.css +0 -416
- package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-core.js +0 -127
- package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-datetime.js +0 -818
- package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-scroller.js +0 -1264
- package/src/sap/ui/thirdparty/swipe-view.js +0 -560
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
* @public
|
|
22
22
|
* @since 1.15.0
|
|
23
23
|
* @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} instead
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.138.0
|
|
25
25
|
* @alias sap.ui.core.plugin.TemplatingSupport
|
|
26
26
|
*/
|
|
27
27
|
var TemplatingSupport = function() {
|
|
@@ -6,17 +6,28 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
sap.ui.define([
|
|
9
|
-
|
|
10
|
-
'sap/ui/core/routing/Target',
|
|
11
|
-
'sap/ui/core/routing/async/Route',
|
|
12
|
-
'sap/ui/core/routing/sync/Route',
|
|
13
|
-
'sap/ui/core/Component',
|
|
14
|
-
"sap/base/future",
|
|
9
|
+
"sap/base/Log",
|
|
15
10
|
"sap/base/assert",
|
|
16
|
-
"sap/base/
|
|
11
|
+
"sap/base/future",
|
|
12
|
+
"sap/base/util/deepExtend",
|
|
13
|
+
"sap/base/util/extend",
|
|
14
|
+
"sap/ui/base/EventProvider",
|
|
15
|
+
"sap/ui/core/Component",
|
|
16
|
+
"sap/ui/core/routing/Target",
|
|
17
|
+
"sap/ui/core/routing/sync/Route"
|
|
17
18
|
],
|
|
18
|
-
function(
|
|
19
|
-
|
|
19
|
+
function(
|
|
20
|
+
Log,
|
|
21
|
+
assert,
|
|
22
|
+
future,
|
|
23
|
+
deepExtend,
|
|
24
|
+
extend,
|
|
25
|
+
EventProvider,
|
|
26
|
+
Component,
|
|
27
|
+
Target,
|
|
28
|
+
SyncRoute
|
|
29
|
+
) {
|
|
30
|
+
"use strict";
|
|
20
31
|
|
|
21
32
|
/**
|
|
22
33
|
* Configuration object for a route
|
|
@@ -124,12 +135,14 @@ sap.ui.define([
|
|
|
124
135
|
aSubRoutes,
|
|
125
136
|
sRouteName,
|
|
126
137
|
oSubRouteConfig,
|
|
127
|
-
|
|
138
|
+
/** @ui5-transform-hint replace-local true */
|
|
128
139
|
async = oRouter._isAsync();
|
|
129
140
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
141
|
+
|
|
142
|
+
if (!async) {
|
|
143
|
+
for (const fn in SyncRoute) {
|
|
144
|
+
this[fn] = SyncRoute[fn];
|
|
145
|
+
}
|
|
133
146
|
}
|
|
134
147
|
|
|
135
148
|
if (!Array.isArray(vRoute)) {
|
|
@@ -693,6 +706,177 @@ sap.ui.define([
|
|
|
693
706
|
*/
|
|
694
707
|
getPatternArguments : function(sHash) {
|
|
695
708
|
return this._aRoutes[0].extrapolate(sHash);
|
|
709
|
+
},
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* Executes the route matched logic
|
|
714
|
+
*
|
|
715
|
+
* @param {object} oArguments The arguments of the event
|
|
716
|
+
* @param {Promise} oSequencePromise Promise chain for resolution in the correct order
|
|
717
|
+
* @param {sap.ui.core.routing.Route} oNestingChild The nesting route
|
|
718
|
+
* @returns {Promise} resolves with {name: *, view: *, control: *}
|
|
719
|
+
* @private
|
|
720
|
+
*/
|
|
721
|
+
_routeMatched : function(oArguments, oSequencePromise, oNestingChild) {
|
|
722
|
+
|
|
723
|
+
var oRouter = this._oRouter,
|
|
724
|
+
oTarget,
|
|
725
|
+
oTargets,
|
|
726
|
+
oConfig,
|
|
727
|
+
oEventData,
|
|
728
|
+
oView = null,
|
|
729
|
+
oTargetControl = null,
|
|
730
|
+
bInitial,
|
|
731
|
+
oTargetData,
|
|
732
|
+
oCurrentPromise,
|
|
733
|
+
aAlignedTargets,
|
|
734
|
+
bRepeated = (oRouter._oMatchedRoute === this);
|
|
735
|
+
|
|
736
|
+
oRouter._sRouteInProgress = null;
|
|
737
|
+
oRouter._stopWaitingTitleChangedFromChild();
|
|
738
|
+
|
|
739
|
+
if (oRouter._oMatchedRoute) {
|
|
740
|
+
// clear the dynamicTarget of the previous matched route
|
|
741
|
+
delete oRouter._oMatchedRoute._oConfig.dynamicTarget;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
oRouter._oMatchedRoute = this;
|
|
745
|
+
oRouter._bMatchingProcessStarted = true;
|
|
746
|
+
|
|
747
|
+
oConfig = extend({}, oRouter._oConfig, this._oConfig);
|
|
748
|
+
|
|
749
|
+
oTargets = oRouter.getTargets();
|
|
750
|
+
var sTitleName;
|
|
751
|
+
if (oTargets) {
|
|
752
|
+
sTitleName = oTargets._getTitleTargetName(oConfig.target, oConfig.titleTarget);
|
|
753
|
+
if (sTitleName && oRouter._oPreviousTitleChangedRoute !== this) {
|
|
754
|
+
oRouter._bFireTitleChanged = true;
|
|
755
|
+
if ((oRouter._oOwner && oRouter._oOwner._bRoutingPropagateTitle)) {
|
|
756
|
+
var oParentComponent = Component.getOwnerComponentFor(oRouter._oOwner);
|
|
757
|
+
var oParentRouter = oParentComponent && oParentComponent.getRouter();
|
|
758
|
+
if (oParentRouter) {
|
|
759
|
+
oParentRouter._waitForTitleChangedOn(oRouter);
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
} else {
|
|
763
|
+
oRouter._bFireTitleChanged = false;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
if (this._oConfig.target) {
|
|
767
|
+
aAlignedTargets = oTargets._alignTargetsInfo(this._oConfig.target);
|
|
768
|
+
aAlignedTargets.forEach(function(oTarget){
|
|
769
|
+
oTarget.propagateTitle = oTarget.hasOwnProperty("propagateTitle") ? oTarget.propagateTitle : oRouter._oConfig.propagateTitle;
|
|
770
|
+
oTarget.routeRelevant = true;
|
|
771
|
+
oTarget.repeatedRoute = bRepeated;
|
|
772
|
+
});
|
|
773
|
+
}
|
|
774
|
+
} else {
|
|
775
|
+
aAlignedTargets = this._oConfig.target;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
if (!oSequencePromise || oSequencePromise === true) {
|
|
779
|
+
bInitial = true;
|
|
780
|
+
oSequencePromise = Promise.resolve();
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
// Recursively fire matched event and display views of this routes parents
|
|
784
|
+
if (this._oParent) {
|
|
785
|
+
oSequencePromise = this._oParent._routeMatched(oArguments, oSequencePromise);
|
|
786
|
+
} else if (this._oNestingParent) {
|
|
787
|
+
// pass child for setting the flag in event parameter of parent
|
|
788
|
+
this._oNestingParent._routeMatched(oArguments, oSequencePromise, this);
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
// make a copy of arguments and forward route config to target
|
|
793
|
+
oTargetData = Object.assign({}, oArguments);
|
|
794
|
+
oTargetData.routeConfig = oConfig;
|
|
795
|
+
|
|
796
|
+
oEventData = {
|
|
797
|
+
name: oConfig.name,
|
|
798
|
+
arguments: oArguments,
|
|
799
|
+
config : oConfig
|
|
800
|
+
};
|
|
801
|
+
|
|
802
|
+
if (oNestingChild) {
|
|
803
|
+
// setting the event parameter of nesting child
|
|
804
|
+
oEventData.nestedRoute = oNestingChild;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
// fire the beforeMatched and beforeRouteMathced events
|
|
808
|
+
this.fireBeforeMatched(oEventData);
|
|
809
|
+
oRouter.fireBeforeRouteMatched(oEventData);
|
|
810
|
+
|
|
811
|
+
// Route is defined without target in the config - use the internally created target to place the view
|
|
812
|
+
if (this._oTarget) {
|
|
813
|
+
oTarget = this._oTarget;
|
|
814
|
+
// update the targets config so defaults are taken into account - since targets cannot be added in runtime they don't merge configs like routes do
|
|
815
|
+
oTarget._updateOptions(this._convertToTargetOptions(oConfig));
|
|
816
|
+
|
|
817
|
+
oSequencePromise = oTarget._place(oSequencePromise, { legacy: true });
|
|
818
|
+
|
|
819
|
+
// this is for sap.m.routing.Router to chain the promise to the navigation promise in TargetHandler
|
|
820
|
+
if (this._oRouter._oTargetHandler && this._oRouter._oTargetHandler._chainNavigation) {
|
|
821
|
+
oCurrentPromise = oSequencePromise;
|
|
822
|
+
oSequencePromise = this._oRouter._oTargetHandler._chainNavigation(function() {
|
|
823
|
+
return oCurrentPromise;
|
|
824
|
+
});
|
|
825
|
+
}
|
|
826
|
+
} else {
|
|
827
|
+
oSequencePromise = oRouter._oTargets._display(aAlignedTargets, oTargetData, this._oConfig.titleTarget, oSequencePromise);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
return oSequencePromise.then(function(oResult) {
|
|
831
|
+
oRouter._bMatchingProcessStarted = false;
|
|
832
|
+
var aResult, aViews, aControls;
|
|
833
|
+
|
|
834
|
+
// The legacy config uses single target to display which makes the promise resolve with an object
|
|
835
|
+
// However, the new config uses targets to display which makes the promise resolve with an array
|
|
836
|
+
// Both cases need to be handled here
|
|
837
|
+
if (Array.isArray(oResult)) {
|
|
838
|
+
aResult = oResult;
|
|
839
|
+
oResult = aResult[0];
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
oResult = oResult || {};
|
|
843
|
+
|
|
844
|
+
oView = oResult.view;
|
|
845
|
+
oTargetControl = oResult.control;
|
|
846
|
+
|
|
847
|
+
// Extend the event data with view and targetControl
|
|
848
|
+
oEventData.view = oView;
|
|
849
|
+
oEventData.targetControl = oTargetControl;
|
|
850
|
+
|
|
851
|
+
if (aResult) {
|
|
852
|
+
aViews = [];
|
|
853
|
+
aControls = [];
|
|
854
|
+
|
|
855
|
+
aResult.forEach(function(oResult) {
|
|
856
|
+
aViews.push(oResult.view);
|
|
857
|
+
aControls.push(oResult.control);
|
|
858
|
+
});
|
|
859
|
+
|
|
860
|
+
oEventData.views = aViews;
|
|
861
|
+
oEventData.targetControls = aControls;
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
if (oConfig.callback) {
|
|
865
|
+
//Targets don't pass TargetControl and view since there might be multiple
|
|
866
|
+
oConfig.callback(this, oArguments, oConfig, oTargetControl, oView);
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
this.fireEvent("matched", oEventData);
|
|
870
|
+
oRouter.fireRouteMatched(oEventData);
|
|
871
|
+
// skip this event in the recursion
|
|
872
|
+
if (bInitial) {
|
|
873
|
+
Log.info("The route named '" + oConfig.name + "' did match with its pattern", this);
|
|
874
|
+
this.fireEvent("patternMatched", oEventData);
|
|
875
|
+
oRouter.fireRoutePatternMatched(oEventData);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
return oResult;
|
|
879
|
+
}.bind(this));
|
|
696
880
|
}
|
|
697
881
|
});
|
|
698
882
|
|
|
@@ -219,19 +219,21 @@ sap.ui.define([
|
|
|
219
219
|
* </pre>
|
|
220
220
|
* @public
|
|
221
221
|
* @alias sap.ui.core.routing.Router
|
|
222
|
+
* @ui5-transform-hint replace-param oConfig.async true
|
|
223
|
+
* @ui5-transform-hint replace-param oConfig._async true
|
|
222
224
|
*/
|
|
223
225
|
var Router = EventProvider.extend("sap.ui.core.routing.Router", /** @lends sap.ui.core.routing.Router.prototype */ {
|
|
224
226
|
|
|
225
227
|
constructor : function(oRoutes, oConfig, oOwner, oTargetsConfig, oRouterHashChanger) {
|
|
226
228
|
EventProvider.apply(this);
|
|
227
229
|
|
|
228
|
-
|
|
230
|
+
oConfig = oConfig || {};
|
|
229
231
|
this._oRouter = crossroads.create();
|
|
230
232
|
this._oRouter.ignoreState = true;
|
|
231
233
|
this._oRoutes = {};
|
|
232
234
|
this._oOwner = oOwner;
|
|
233
235
|
|
|
234
|
-
|
|
236
|
+
oConfig.router = this;
|
|
235
237
|
|
|
236
238
|
// temporarily: for checking the url param
|
|
237
239
|
function checkUrl() {
|
|
@@ -242,16 +244,17 @@ sap.ui.define([
|
|
|
242
244
|
return false;
|
|
243
245
|
}
|
|
244
246
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if (this._oConfig._async === undefined) {
|
|
247
|
+
oConfig._async = oConfig.async;
|
|
248
|
+
if (oConfig._async === undefined) {
|
|
248
249
|
// temporarily: set the default value depending on the url parameter "sap-ui-xx-asyncRouting"
|
|
249
|
-
|
|
250
|
+
oConfig._async = checkUrl();
|
|
250
251
|
}
|
|
251
252
|
|
|
253
|
+
this._oConfig = oConfig;
|
|
254
|
+
|
|
252
255
|
this._oViews = new Views({
|
|
253
256
|
component : oOwner,
|
|
254
|
-
async :
|
|
257
|
+
async : oConfig._async
|
|
255
258
|
});
|
|
256
259
|
|
|
257
260
|
if (oTargetsConfig) {
|
|
@@ -881,6 +884,9 @@ sap.ui.define([
|
|
|
881
884
|
}
|
|
882
885
|
|
|
883
886
|
if (oComponentTargetInfo && !isEmptyObject(oComponentTargetInfo)) {
|
|
887
|
+
/**
|
|
888
|
+
* @deprecated
|
|
889
|
+
*/
|
|
884
890
|
if (!this._oConfig._async) {
|
|
885
891
|
Log.error("navTo with component target info is only supported with async router", this);
|
|
886
892
|
return this;
|
|
@@ -1500,7 +1506,9 @@ sap.ui.define([
|
|
|
1500
1506
|
}
|
|
1501
1507
|
|
|
1502
1508
|
if (bImmediateFire) {
|
|
1503
|
-
|
|
1509
|
+
/** @ui5-transform-hint replace-local true */
|
|
1510
|
+
const bAsync = this._isAsync();
|
|
1511
|
+
if (this._bMatchingProcessStarted && bAsync) {
|
|
1504
1512
|
this.attachEventOnce("routeMatched", function(){
|
|
1505
1513
|
this.fireEvent(Router.M_EVENTS.TITLE_CHANGED, mParameters);
|
|
1506
1514
|
}, this);
|
|
@@ -1581,6 +1589,9 @@ sap.ui.define([
|
|
|
1581
1589
|
fnFireEvent();
|
|
1582
1590
|
},
|
|
1583
1591
|
|
|
1592
|
+
/**
|
|
1593
|
+
* @deprecated
|
|
1594
|
+
*/
|
|
1584
1595
|
_isAsync : function() {
|
|
1585
1596
|
return this._oConfig._async;
|
|
1586
1597
|
},
|
|
@@ -46,9 +46,18 @@ sap.ui.define([
|
|
|
46
46
|
return this.key ? (this.key + "-" + sKey) : sKey;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
* @
|
|
51
|
-
*
|
|
49
|
+
/**
|
|
50
|
+
* Returns a managed instance of {@link sap.ui.core.routing.RouterHashChanger} associated with the current instance.
|
|
51
|
+
*
|
|
52
|
+
* This sub-instance handles a specific part of the URL hash. When the sub-instance modifies the hash,
|
|
53
|
+
* it notifies the parent instance, which then updates the browser’s hash accordingly.
|
|
54
|
+
* Likewise, when the relevant part of the hash changes externally, the parent instance notifies the sub-instance.
|
|
55
|
+
*
|
|
56
|
+
* The provided <code>sKey</code> is used as an identifier for caching the sub-instance.
|
|
57
|
+
* If this method is called again with the same key, the previously created instance is returned.
|
|
58
|
+
*
|
|
59
|
+
* @param {string} sKey A unique key used as the prefix for the sub RouterHashChanger.
|
|
60
|
+
* @returns {sap.ui.core.routing.RouterHashChanger} The corresponding sub RouterHashChanger instance.
|
|
52
61
|
* @protected
|
|
53
62
|
*/
|
|
54
63
|
RouterHashChanger.prototype.createSubHashChanger = function(sKey) {
|