@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
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* @class This class provides the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
32
32
|
*
|
|
33
33
|
* @extends sap.ui.base.EventProvider
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.138.0
|
|
35
35
|
* @private
|
|
36
36
|
* @alias sap.ui.core.support.Support
|
|
37
37
|
*/
|
|
@@ -567,405 +567,408 @@ sap.ui.define([
|
|
|
567
567
|
});
|
|
568
568
|
}
|
|
569
569
|
|
|
570
|
-
/**
|
|
571
|
-
|
|
572
|
-
*/
|
|
573
|
-
Support.initializeSupportMode = function(aSettings, bAsync) {
|
|
574
|
-
if (aSettings.indexOf("true") > -1 || aSettings.indexOf("viewinfo") > -1) {
|
|
575
|
-
Support._initializeSupportInfo(bAsync);
|
|
576
|
-
}
|
|
577
|
-
};
|
|
578
|
-
|
|
579
|
-
/**
|
|
580
|
-
* Initialize Support Info Store This is only done if getSupportMode on configuration is true or viewinfo.
|
|
581
|
-
* @private
|
|
582
|
-
*/
|
|
583
|
-
Support._initializeSupportInfo = function(bAsync) {
|
|
584
|
-
var aSupportInfos = [],
|
|
585
|
-
aSupportInfosBreakpoints = [],
|
|
586
|
-
aSupportXMLModifications = [],
|
|
587
|
-
sDOMNodeAttribute = "support:data",
|
|
588
|
-
sDOMNodeXMLNS = "support",
|
|
589
|
-
sDOMNodeNamespaceURI = "http://schemas.sap.com/sapui5/extension/sap.ui.core.support.Support.info/1",
|
|
590
|
-
mSupportInfos = {};
|
|
591
|
-
|
|
592
|
-
var bHasLocalStorage = (function() {
|
|
593
|
-
// Note: according to Web Storage spec, access to window.localStorage might already fail with a security exception
|
|
594
|
-
// Note: on iOS, access to window.localStorage might succeed, but access to methods might fail (privacy mode)
|
|
595
|
-
var key = "sap-ui-support.probe", value;
|
|
596
|
-
try {
|
|
597
|
-
localStorage.setItem(key, key);
|
|
598
|
-
value = localStorage.getItem(key);
|
|
599
|
-
localStorage.removeItem(key);
|
|
600
|
-
return value === key;
|
|
601
|
-
} catch (e) {
|
|
602
|
-
return false;
|
|
603
|
-
}
|
|
604
|
-
}());
|
|
605
|
-
|
|
606
|
-
// store breakpoints to local storage
|
|
607
|
-
function _storeBreakpoints() {
|
|
608
|
-
if (bHasLocalStorage) {
|
|
609
|
-
localStorage.setItem("sap-ui-support.aSupportInfosBreakpoints/" + document.location.href, JSON.stringify(aSupportInfosBreakpoints));
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
//store xml modification to local storage
|
|
614
|
-
function _storeXMLModifications() {
|
|
615
|
-
if (bHasLocalStorage) {
|
|
616
|
-
localStorage.setItem("sap-ui-support.aSupportXMLModifications/" + document.location.href, JSON.stringify(aSupportXMLModifications));
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
//read the stored data from the last run to enable modifications and breakpoints
|
|
621
|
-
if (bHasLocalStorage) {
|
|
622
|
-
var sValue = localStorage.getItem("sap-ui-support.aSupportInfosBreakpoints/" + document.location.href);
|
|
623
|
-
if (sValue) {
|
|
624
|
-
aSupportInfosBreakpoints = JSON.parse(sValue);
|
|
625
|
-
}
|
|
626
|
-
var sValue = localStorage.getItem("sap-ui-support.aSupportXMLModifications/" + document.location.href);
|
|
627
|
-
if (sValue) {
|
|
628
|
-
aSupportXMLModifications = JSON.parse(sValue);
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
|
|
570
|
+
/** @deprecated since 1.120.0 */
|
|
571
|
+
(() => {
|
|
632
572
|
/**
|
|
633
|
-
*
|
|
634
|
-
* @param {object} oInfo
|
|
635
|
-
* oInfo.context : the context of the info, is not set the info is added to the last known context
|
|
636
|
-
* oInfo.env : { any environmental information that is needed by toold to be interpreted }
|
|
637
|
-
* @private
|
|
573
|
+
* Initialize support mode based on configuration
|
|
638
574
|
*/
|
|
639
|
-
Support.
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
oInfo.context = aSupportInfos[aSupportInfos.length - 1].context;
|
|
643
|
-
}
|
|
644
|
-
if (!oInfo.context) {
|
|
645
|
-
Log.debug("Support Info does not have a context and is ignored");
|
|
646
|
-
return oInfo;
|
|
647
|
-
}
|
|
648
|
-
if (oInfo.context && oInfo.context.ownerDocument && oInfo.context.nodeType === 1) {
|
|
649
|
-
var sValue = oInfo._idx + "";
|
|
650
|
-
if (!oInfo.context.hasAttributeNS(sDOMNodeNamespaceURI, "data")) {
|
|
651
|
-
oInfo.context.setAttribute("xmlns:" + sDOMNodeXMLNS, sDOMNodeNamespaceURI);
|
|
652
|
-
} else {
|
|
653
|
-
sValue = oInfo.context.getAttributeNS(sDOMNodeNamespaceURI, "data") + "," + sValue;
|
|
654
|
-
}
|
|
655
|
-
oInfo.context.setAttributeNS(sDOMNodeNamespaceURI, sDOMNodeAttribute, sValue);
|
|
575
|
+
Support.initializeSupportMode = function(aSettings, bAsync) {
|
|
576
|
+
if (aSettings.indexOf("true") > -1 || aSettings.indexOf("viewinfo") > -1) {
|
|
577
|
+
Support._initializeSupportInfo(bAsync);
|
|
656
578
|
}
|
|
657
|
-
aSupportInfos.push(oInfo);
|
|
658
|
-
|
|
659
|
-
if (aSupportInfosBreakpoints.indexOf(oInfo._idx) > -1) {
|
|
660
|
-
Log.info(oInfo);
|
|
661
|
-
Log.info("To remove this breakpoint execute:","\nsap.ui.core.support.Support.info.removeBreakpointAt(" + oInfo._idx + ")");
|
|
662
|
-
/*eslint-disable no-debugger */
|
|
663
|
-
debugger;
|
|
664
|
-
/*eslint-enable no-debugger */
|
|
665
|
-
//step out of this function to debug this support context
|
|
666
|
-
}
|
|
667
|
-
return oInfo._idx;
|
|
668
579
|
};
|
|
669
580
|
|
|
670
581
|
/**
|
|
671
|
-
*
|
|
582
|
+
* Initialize Support Info Store This is only done if getSupportMode on configuration is true or viewinfo.
|
|
672
583
|
* @private
|
|
673
584
|
*/
|
|
674
|
-
Support.
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
585
|
+
Support._initializeSupportInfo = function(bAsync) {
|
|
586
|
+
var aSupportInfos = [],
|
|
587
|
+
aSupportInfosBreakpoints = [],
|
|
588
|
+
aSupportXMLModifications = [],
|
|
589
|
+
sDOMNodeAttribute = "support:data",
|
|
590
|
+
sDOMNodeXMLNS = "support",
|
|
591
|
+
sDOMNodeNamespaceURI = "http://schemas.sap.com/sapui5/extension/sap.ui.core.support.Support.info/1",
|
|
592
|
+
mSupportInfos = {};
|
|
593
|
+
|
|
594
|
+
var bHasLocalStorage = (function() {
|
|
595
|
+
// Note: according to Web Storage spec, access to window.localStorage might already fail with a security exception
|
|
596
|
+
// Note: on iOS, access to window.localStorage might succeed, but access to methods might fail (privacy mode)
|
|
597
|
+
var key = "sap-ui-support.probe", value;
|
|
598
|
+
try {
|
|
599
|
+
localStorage.setItem(key, key);
|
|
600
|
+
value = localStorage.getItem(key);
|
|
601
|
+
localStorage.removeItem(key);
|
|
602
|
+
return value === key;
|
|
603
|
+
} catch (e) {
|
|
604
|
+
return false;
|
|
605
|
+
}
|
|
606
|
+
}());
|
|
607
|
+
|
|
608
|
+
// store breakpoints to local storage
|
|
609
|
+
function _storeBreakpoints() {
|
|
610
|
+
if (bHasLocalStorage) {
|
|
611
|
+
localStorage.setItem("sap-ui-support.aSupportInfosBreakpoints/" + document.location.href, JSON.stringify(aSupportInfosBreakpoints));
|
|
612
|
+
}
|
|
681
613
|
}
|
|
682
|
-
};
|
|
683
614
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
if (aIndices && typeof aIndices === "string") {
|
|
690
|
-
aIndices = aIndices.split(",");
|
|
691
|
-
} else {
|
|
692
|
-
aIndices = [];
|
|
615
|
+
//store xml modification to local storage
|
|
616
|
+
function _storeXMLModifications() {
|
|
617
|
+
if (bHasLocalStorage) {
|
|
618
|
+
localStorage.setItem("sap-ui-support.aSupportXMLModifications/" + document.location.href, JSON.stringify(aSupportXMLModifications));
|
|
619
|
+
}
|
|
693
620
|
}
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
621
|
+
|
|
622
|
+
//read the stored data from the last run to enable modifications and breakpoints
|
|
623
|
+
if (bHasLocalStorage) {
|
|
624
|
+
var sValue = localStorage.getItem("sap-ui-support.aSupportInfosBreakpoints/" + document.location.href);
|
|
625
|
+
if (sValue) {
|
|
626
|
+
aSupportInfosBreakpoints = JSON.parse(sValue);
|
|
627
|
+
}
|
|
628
|
+
var sValue = localStorage.getItem("sap-ui-support.aSupportXMLModifications/" + document.location.href);
|
|
629
|
+
if (sValue) {
|
|
630
|
+
aSupportXMLModifications = JSON.parse(sValue);
|
|
698
631
|
}
|
|
699
632
|
}
|
|
700
|
-
return aResults;
|
|
701
|
-
};
|
|
702
633
|
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
634
|
+
/**
|
|
635
|
+
* Adds the given info object to the support info stack
|
|
636
|
+
* @param {object} oInfo
|
|
637
|
+
* oInfo.context : the context of the info, is not set the info is added to the last known context
|
|
638
|
+
* oInfo.env : { any environmental information that is needed by toold to be interpreted }
|
|
639
|
+
* @private
|
|
640
|
+
*/
|
|
641
|
+
Support.info = function(oInfo) {
|
|
642
|
+
oInfo._idx = aSupportInfos.length;
|
|
643
|
+
if (oInfo._idx > 0 && !oInfo.context) {
|
|
644
|
+
oInfo.context = aSupportInfos[aSupportInfos.length - 1].context;
|
|
645
|
+
}
|
|
646
|
+
if (!oInfo.context) {
|
|
647
|
+
Log.debug("Support Info does not have a context and is ignored");
|
|
648
|
+
return oInfo;
|
|
649
|
+
}
|
|
650
|
+
if (oInfo.context && oInfo.context.ownerDocument && oInfo.context.nodeType === 1) {
|
|
651
|
+
var sValue = oInfo._idx + "";
|
|
652
|
+
if (!oInfo.context.hasAttributeNS(sDOMNodeNamespaceURI, "data")) {
|
|
653
|
+
oInfo.context.setAttribute("xmlns:" + sDOMNodeXMLNS, sDOMNodeNamespaceURI);
|
|
654
|
+
} else {
|
|
655
|
+
sValue = oInfo.context.getAttributeNS(sDOMNodeNamespaceURI, "data") + "," + sValue;
|
|
656
|
+
}
|
|
657
|
+
oInfo.context.setAttributeNS(sDOMNodeNamespaceURI, sDOMNodeAttribute, sValue);
|
|
658
|
+
}
|
|
659
|
+
aSupportInfos.push(oInfo);
|
|
711
660
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
661
|
+
if (aSupportInfosBreakpoints.indexOf(oInfo._idx) > -1) {
|
|
662
|
+
Log.info(oInfo);
|
|
663
|
+
Log.info("To remove this breakpoint execute:","\nsap.ui.core.support.Support.info.removeBreakpointAt(" + oInfo._idx + ")");
|
|
664
|
+
/*eslint-disable no-debugger */
|
|
665
|
+
debugger;
|
|
666
|
+
/*eslint-enable no-debugger */
|
|
667
|
+
//step out of this function to debug this support context
|
|
668
|
+
}
|
|
669
|
+
return oInfo._idx;
|
|
670
|
+
};
|
|
719
671
|
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
672
|
+
/**
|
|
673
|
+
* Returns all support information optionally filtered by a caller name
|
|
674
|
+
* @private
|
|
675
|
+
*/
|
|
676
|
+
Support.info.getAll = function(sCaller) {
|
|
677
|
+
if (sCaller === undefined) {
|
|
678
|
+
return aSupportInfos;
|
|
679
|
+
} else {
|
|
680
|
+
return aSupportInfos.filter(function(o) {
|
|
681
|
+
return (o.env && o.env.caller === sCaller);
|
|
682
|
+
});
|
|
683
|
+
}
|
|
684
|
+
};
|
|
727
685
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
686
|
+
/**
|
|
687
|
+
* Returns the support info for all given indices
|
|
688
|
+
* @private
|
|
689
|
+
*/
|
|
690
|
+
Support.info.getInfos = function(aIndices) {
|
|
691
|
+
if (aIndices && typeof aIndices === "string") {
|
|
692
|
+
aIndices = aIndices.split(",");
|
|
693
|
+
} else {
|
|
694
|
+
aIndices = [];
|
|
695
|
+
}
|
|
696
|
+
var aResults = [];
|
|
697
|
+
for (var i = 0; i < aIndices.length; i++) {
|
|
698
|
+
if (aSupportInfos[aIndices[i]]) {
|
|
699
|
+
aResults.push(aSupportInfos[aIndices[i]]);
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
return aResults;
|
|
703
|
+
};
|
|
739
704
|
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
_storeBreakpoints();
|
|
749
|
-
}
|
|
750
|
-
};
|
|
705
|
+
/**
|
|
706
|
+
* Returns the support info by index
|
|
707
|
+
* @param {int} iIndex the index of the info
|
|
708
|
+
* @private
|
|
709
|
+
*/
|
|
710
|
+
Support.info.byIndex = function(iIndex) {
|
|
711
|
+
return aSupportInfos[iIndex];
|
|
712
|
+
};
|
|
751
713
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
};
|
|
714
|
+
/**
|
|
715
|
+
* Returns all current breakpoints
|
|
716
|
+
* @private
|
|
717
|
+
*/
|
|
718
|
+
Support.info.getAllBreakpoints = function() {
|
|
719
|
+
return aSupportInfosBreakpoints;
|
|
720
|
+
};
|
|
760
721
|
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
722
|
+
/**
|
|
723
|
+
* Checks whether there is a breakpoint for the given index
|
|
724
|
+
* @private
|
|
725
|
+
*/
|
|
726
|
+
Support.info.hasBreakpointAt = function(iIndex) {
|
|
727
|
+
return aSupportInfosBreakpoints.indexOf(iIndex) > -1;
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Adds a breakpoint for the given index
|
|
732
|
+
* @private
|
|
733
|
+
*/
|
|
734
|
+
Support.info.addBreakpointAt = function(iIndex) {
|
|
735
|
+
if (aSupportInfosBreakpoints.indexOf(iIndex) > -1) {
|
|
736
|
+
return;
|
|
772
737
|
}
|
|
773
|
-
|
|
774
|
-
|
|
738
|
+
aSupportInfosBreakpoints.push(iIndex);
|
|
739
|
+
_storeBreakpoints();
|
|
740
|
+
};
|
|
775
741
|
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
742
|
+
/**
|
|
743
|
+
* Removes a breakpoint for the given index
|
|
744
|
+
* @private
|
|
745
|
+
*/
|
|
746
|
+
Support.info.removeBreakpointAt = function(iIndex) {
|
|
747
|
+
var iPos = aSupportInfosBreakpoints.indexOf(iIndex);
|
|
748
|
+
if (iPos > -1) {
|
|
749
|
+
aSupportInfosBreakpoints.splice(iPos,1);
|
|
750
|
+
_storeBreakpoints();
|
|
751
|
+
}
|
|
752
|
+
};
|
|
783
753
|
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
754
|
+
/**
|
|
755
|
+
* Removes all breakpoints
|
|
756
|
+
* @private
|
|
757
|
+
*/
|
|
758
|
+
Support.info.removeAllBreakpoints = function() {
|
|
759
|
+
aSupportInfosBreakpoints = [];
|
|
760
|
+
_storeBreakpoints();
|
|
761
|
+
};
|
|
762
|
+
|
|
763
|
+
/**
|
|
764
|
+
* Adds control related support data by id of a control
|
|
765
|
+
* This is used in the support tools to identify a control based on the support data gathered before a control tree was even created
|
|
766
|
+
* @private
|
|
767
|
+
*/
|
|
768
|
+
Support.info.addSupportInfo = function(sId, sSupportData) {
|
|
769
|
+
if (sId && sSupportData) {
|
|
770
|
+
if (mSupportInfos[sId]) {
|
|
771
|
+
mSupportInfos[sId] += "," + sSupportData;
|
|
772
|
+
} else {
|
|
773
|
+
mSupportInfos[sId] = sSupportData;
|
|
774
|
+
}
|
|
795
775
|
}
|
|
796
|
-
}
|
|
797
|
-
return aIds;
|
|
798
|
-
};
|
|
776
|
+
};
|
|
799
777
|
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
778
|
+
/**
|
|
779
|
+
* Returns the support data for a given id.
|
|
780
|
+
* @private
|
|
781
|
+
*/
|
|
782
|
+
Support.info.byId = function(sId) {
|
|
783
|
+
return mSupportInfos[sId] || null;
|
|
784
|
+
};
|
|
785
|
+
|
|
786
|
+
/**
|
|
787
|
+
* Returns the id for given support data
|
|
788
|
+
* This is used in the support tools to identify a control based on the support data gathered before a control tree was even created
|
|
789
|
+
* @private
|
|
790
|
+
*/
|
|
791
|
+
Support.info.getIds = function(sSupportData) {
|
|
792
|
+
var aIds = [];
|
|
793
|
+
for (var n in mSupportInfos) {
|
|
794
|
+
var oData = mSupportInfos[n];
|
|
795
|
+
if (oData && oData.indexOf(sSupportData) > -1) {
|
|
796
|
+
aIds.push(n);
|
|
814
797
|
}
|
|
815
798
|
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
};
|
|
799
|
+
return aIds;
|
|
800
|
+
};
|
|
819
801
|
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
802
|
+
/**
|
|
803
|
+
* Returns the list of elements that reported the given support data.
|
|
804
|
+
* @param {string} sSupportData Comma separated list of indices that should be looked up
|
|
805
|
+
* @returns {sap.ui.core.Element[]} list of elements
|
|
806
|
+
* @private
|
|
807
|
+
*/
|
|
808
|
+
Support.info.getElements = function(sSupportData) {
|
|
809
|
+
var aControls = [];
|
|
810
|
+
for (var n in mSupportInfos) {
|
|
811
|
+
var oData = mSupportInfos[n];
|
|
812
|
+
if (oData && oData.indexOf(sSupportData) === 0) {
|
|
813
|
+
var oInstance = Element.getElementById(n);
|
|
814
|
+
if (oInstance) {
|
|
815
|
+
aControls.push(Element.getElementById(n));
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
return aControls;
|
|
820
|
+
};
|
|
828
821
|
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
822
|
+
/**
|
|
823
|
+
* Returns the list of all XML modifications.
|
|
824
|
+
* @returns {object[]} the list of modifications
|
|
825
|
+
* @private
|
|
826
|
+
*/
|
|
827
|
+
Support.info.getAllXMLModifications = function() {
|
|
828
|
+
return aSupportXMLModifications;
|
|
829
|
+
};
|
|
837
830
|
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
aSupportXMLModifications.push({
|
|
847
|
-
id : sId,
|
|
848
|
-
idx : iIdx,
|
|
849
|
-
change : oChange
|
|
850
|
-
});
|
|
851
|
-
_storeXMLModifications();
|
|
852
|
-
};
|
|
831
|
+
/**
|
|
832
|
+
* Returns whether there are XML modifications.
|
|
833
|
+
* @returns {boolean} the list of modifications
|
|
834
|
+
* @private
|
|
835
|
+
*/
|
|
836
|
+
Support.info.hasXMLModifications = function() {
|
|
837
|
+
return aSupportXMLModifications.length > 0;
|
|
838
|
+
};
|
|
853
839
|
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
840
|
+
/**
|
|
841
|
+
* Adds an XML modification to the stack of modifications.
|
|
842
|
+
* @param {string} sId the id of that is used to identify the change after a reload
|
|
843
|
+
* @param {int} iIdx the index of node within the XML document (can be determined by root.querySelectorAll('*')
|
|
844
|
+
* @param {object} oChange containing the change as {setAttribute: [attributeName,newValue]}
|
|
845
|
+
* @private
|
|
846
|
+
*/
|
|
847
|
+
Support.info.addXMLModification = function(sId, iIdx, oChange) {
|
|
848
|
+
aSupportXMLModifications.push({
|
|
849
|
+
id : sId,
|
|
850
|
+
idx : iIdx,
|
|
851
|
+
change : oChange
|
|
852
|
+
});
|
|
862
853
|
_storeXMLModifications();
|
|
863
|
-
}
|
|
864
|
-
};
|
|
854
|
+
};
|
|
865
855
|
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
856
|
+
/**
|
|
857
|
+
* Removes the XML modification with the given index.
|
|
858
|
+
* @private
|
|
859
|
+
*/
|
|
860
|
+
Support.info.removeXMLModification = function(iIdx) {
|
|
861
|
+
var iPos = aSupportXMLModifications.indexOf(iIdx);
|
|
862
|
+
if (iPos > -1) {
|
|
863
|
+
aSupportXMLModifications.splice(iPos,1);
|
|
864
|
+
_storeXMLModifications();
|
|
865
|
+
}
|
|
866
|
+
};
|
|
874
867
|
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
}
|
|
884
|
-
var oNode = oXML;
|
|
885
|
-
if (!oNode || !oNode.nodeType || !(oNode.nodeType == 1 || oNode.nodeType == 9)) {
|
|
886
|
-
return;
|
|
887
|
-
}
|
|
888
|
-
if (oNode.nodeType === 9) {
|
|
889
|
-
oNode = oNode.firstChild;
|
|
890
|
-
}
|
|
868
|
+
/**
|
|
869
|
+
* Removes all XML modification.
|
|
870
|
+
* @private
|
|
871
|
+
*/
|
|
872
|
+
Support.info.removeAllXMLModification = function() {
|
|
873
|
+
aSupportXMLModifications = [];
|
|
874
|
+
_storeXMLModifications();
|
|
875
|
+
};
|
|
891
876
|
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
877
|
+
/**
|
|
878
|
+
* Modifies the XML where the id matches the id used when the modification was added
|
|
879
|
+
* @see Support.info.addXMLModification
|
|
880
|
+
* @private
|
|
881
|
+
*/
|
|
882
|
+
Support.info.modifyXML = function(sId, oXML) {
|
|
883
|
+
if (!Support.info.hasXMLModifications()) {
|
|
884
|
+
return;
|
|
885
|
+
}
|
|
886
|
+
var oNode = oXML;
|
|
887
|
+
if (!oNode || !oNode.nodeType || !(oNode.nodeType == 1 || oNode.nodeType == 9)) {
|
|
888
|
+
return;
|
|
889
|
+
}
|
|
890
|
+
if (oNode.nodeType === 9) {
|
|
891
|
+
oNode = oNode.firstChild;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
var aNodeList = oNode.querySelectorAll("*");
|
|
895
|
+
var aNodes = [oNode];
|
|
896
|
+
for (var i = 0; i < aNodeList.length; i++) {
|
|
897
|
+
aNodes.push(aNodeList[i]);
|
|
898
|
+
}
|
|
899
|
+
for (var i = 0; i < aSupportXMLModifications.length; i++) {
|
|
900
|
+
var oModification = aSupportXMLModifications[i],
|
|
901
|
+
oChange = oModification.change;
|
|
902
|
+
if (oModification.id === sId) {
|
|
903
|
+
var oModificationNode = aNodes[oModification.idx];
|
|
904
|
+
if (oModificationNode.nodeType === 1 && oChange.setAttribute) {
|
|
905
|
+
var sOldValue = oModificationNode.getAttribute(oChange.setAttribute[0]);
|
|
906
|
+
oModificationNode.setAttribute(oChange.setAttribute[0], oChange.setAttribute[1]);
|
|
907
|
+
if (!oModificationNode._modified) {
|
|
908
|
+
oModificationNode._modified = [];
|
|
909
|
+
}
|
|
910
|
+
oModificationNode._modified.push(oChange.setAttribute[0]);
|
|
911
|
+
if (!oModificationNode._oldValues) {
|
|
912
|
+
oModificationNode._oldValues = [];
|
|
913
|
+
}
|
|
914
|
+
oModificationNode._oldValues.push(sOldValue);
|
|
911
915
|
}
|
|
912
|
-
oModificationNode._oldValues.push(sOldValue);
|
|
913
916
|
}
|
|
914
917
|
}
|
|
915
|
-
}
|
|
916
|
-
|
|
918
|
+
};
|
|
919
|
+
|
|
920
|
+
Support.info._breakAtProperty = function(sKey) {
|
|
921
|
+
return function (oEvent) {
|
|
922
|
+
if (oEvent.getParameter("name") === sKey) {
|
|
923
|
+
/*eslint-disable no-debugger */
|
|
924
|
+
debugger;
|
|
925
|
+
/*eslint-enable no-debugger */
|
|
926
|
+
//step up to method setProperty who raised this event
|
|
927
|
+
}
|
|
928
|
+
};
|
|
929
|
+
};
|
|
917
930
|
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
if (oEvent.getParameter("name") === sKey) {
|
|
931
|
+
Support.info._breakAtMethod = function(fn) {
|
|
932
|
+
return function () {
|
|
921
933
|
/*eslint-disable no-debugger */
|
|
922
934
|
debugger;
|
|
923
935
|
/*eslint-enable no-debugger */
|
|
924
|
-
//step
|
|
925
|
-
|
|
936
|
+
//step into next method fn.apply
|
|
937
|
+
return fn.apply(this, arguments);
|
|
938
|
+
};
|
|
926
939
|
};
|
|
927
|
-
};
|
|
928
940
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
941
|
+
var aModulesWhereToInjectSupportInfo = [
|
|
942
|
+
"sap/ui/base/ManagedObject",
|
|
943
|
+
"sap/ui/core/mvc/View",
|
|
944
|
+
"sap/ui/core/XMLTemplateProcessor",
|
|
945
|
+
"sap/ui/thirdparty/datajs"
|
|
946
|
+
];
|
|
947
|
+
|
|
948
|
+
function injectSupportInfo(ManagedObject, View, XMLTemplateProcessor, _datajs) {
|
|
949
|
+
ManagedObject._supportInfo = Support.info;
|
|
950
|
+
View._supportInfo = Support.info;
|
|
951
|
+
XMLTemplateProcessor._supportInfo = Support.info;
|
|
952
|
+
// Note: module 'datajs' currently exports the global 'OData', not 'datajs', therefore patching global directly
|
|
953
|
+
if (window.datajs) {
|
|
954
|
+
window.datajs._sap = {
|
|
955
|
+
_supportInfo: Support.info
|
|
956
|
+
};
|
|
957
|
+
}
|
|
938
958
|
|
|
939
|
-
|
|
940
|
-
"sap/ui/base/ManagedObject",
|
|
941
|
-
"sap/ui/core/mvc/View",
|
|
942
|
-
"sap/ui/core/XMLTemplateProcessor",
|
|
943
|
-
"sap/ui/thirdparty/datajs"
|
|
944
|
-
];
|
|
945
|
-
|
|
946
|
-
function injectSupportInfo(ManagedObject, View, XMLTemplateProcessor, _datajs) {
|
|
947
|
-
ManagedObject._supportInfo = Support.info;
|
|
948
|
-
View._supportInfo = Support.info;
|
|
949
|
-
XMLTemplateProcessor._supportInfo = Support.info;
|
|
950
|
-
// Note: module 'datajs' currently exports the global 'OData', not 'datajs', therefore patching global directly
|
|
951
|
-
if (window.datajs) {
|
|
952
|
-
window.datajs._sap = {
|
|
953
|
-
_supportInfo: Support.info
|
|
954
|
-
};
|
|
959
|
+
Log.info("sap.ui.core.support.Support.info initialized.");
|
|
955
960
|
}
|
|
956
961
|
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
sap.ui.require(aModulesWhereToInjectSupportInfo, injectSupportInfo);
|
|
968
|
-
};
|
|
962
|
+
/**
|
|
963
|
+
* @deprecated
|
|
964
|
+
*/
|
|
965
|
+
if (!bAsync) {
|
|
966
|
+
injectSupportInfo.apply(null, aModulesWhereToInjectSupportInfo.map(sap.ui.requireSync) ); // legacy-relevant: Sync path
|
|
967
|
+
return;
|
|
968
|
+
}
|
|
969
|
+
sap.ui.require(aModulesWhereToInjectSupportInfo, injectSupportInfo);
|
|
970
|
+
};
|
|
971
|
+
})();
|
|
969
972
|
|
|
970
973
|
return Support;
|
|
971
974
|
|