@openui5/sap.ui.core 1.96.2 → 1.96.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/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 +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- 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 +0 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +1 -1
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +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/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/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 +1 -1
- 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/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +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 +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- 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/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +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 +1 -1
- package/src/sap/ui/core/theming/Parameters.js +22 -142
- package/src/sap/ui/core/theming/ThemeHelper.js +26 -37
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +4 -0
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +30 -20
- 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/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 +39 -28
- 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/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/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 +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- 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/starter/createSuite.js +2 -1
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @param {object} [mSettings] initial settings for the new control
|
|
28
28
|
*
|
|
29
29
|
* @extends sap.ui.core.mvc.View
|
|
30
|
-
* @version 1.96.
|
|
30
|
+
* @version 1.96.3
|
|
31
31
|
* @deprecated Since 1.90. Instead use {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed Views}
|
|
32
32
|
* by defining the view class with {@link sap.ui.core.mvc.View.extend View.extend} and
|
|
33
33
|
* creating the view instances with {@link sap.ui.core.mvc.View.create View.create}.
|
|
@@ -29,7 +29,7 @@ function(View, TemplateViewRenderer, ViewType, Log) {
|
|
|
29
29
|
* @extends sap.ui.core.mvc.View
|
|
30
30
|
*
|
|
31
31
|
* @author SAP SE
|
|
32
|
-
* @version 1.96.
|
|
32
|
+
* @version 1.96.3
|
|
33
33
|
*
|
|
34
34
|
* @public
|
|
35
35
|
* @deprecated Since version 1.56.0, use {@link sap.ui.core.mvc.XMLView} in combination with
|
|
@@ -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.96.
|
|
99
|
+
* @version 1.96.3
|
|
100
100
|
*
|
|
101
101
|
* @public
|
|
102
102
|
* @alias sap.ui.core.mvc.XMLView
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @class
|
|
27
27
|
* A SearchProvider which uses the OpenSearch protocol (either JSON or XML).
|
|
28
28
|
* @extends sap.ui.core.search.SearchProvider
|
|
29
|
-
* @version 1.96.
|
|
29
|
+
* @version 1.96.3
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @alias sap.ui.core.search.OpenSearchProvider
|
|
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', "sap/base/Log", 'sap/ui/core/library'],
|
|
|
23
23
|
*
|
|
24
24
|
* Do not create instances of this class, but use a concrete subclass instead.
|
|
25
25
|
* @extends sap.ui.core.Element
|
|
26
|
-
* @version 1.96.
|
|
26
|
+
* @version 1.96.3
|
|
27
27
|
*
|
|
28
28
|
* @public
|
|
29
29
|
* @alias sap.ui.core.search.SearchProvider
|
|
@@ -83,7 +83,7 @@ sap.ui.define(['sap/ui/base/Object', 'sap/ui/core/service/Service', "sap/base/as
|
|
|
83
83
|
*
|
|
84
84
|
* @extends sap.ui.base.Object
|
|
85
85
|
* @author SAP SE
|
|
86
|
-
* @version 1.96.
|
|
86
|
+
* @version 1.96.3
|
|
87
87
|
* @alias sap.ui.core.service.ServiceFactory
|
|
88
88
|
* @private
|
|
89
89
|
* @ui5-restricted sap.ushell
|
|
@@ -26,7 +26,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Plugin', "sap/base/util/UriParame
|
|
|
26
26
|
* @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.
|
|
27
27
|
*
|
|
28
28
|
* @extends sap.ui.base.EventProvider
|
|
29
|
-
* @version 1.96.
|
|
29
|
+
* @version 1.96.3
|
|
30
30
|
* @private
|
|
31
31
|
* @alias sap.ui.core.support.Support
|
|
32
32
|
*/
|
|
@@ -51,7 +51,7 @@ sap.ui.define([
|
|
|
51
51
|
* @class This class represents the ControlTree plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
52
52
|
*
|
|
53
53
|
* @extends sap.ui.core.support.Plugin
|
|
54
|
-
* @version 1.96.
|
|
54
|
+
* @version 1.96.3
|
|
55
55
|
* @private
|
|
56
56
|
* @alias sap.ui.core.support.plugins.ControlTree
|
|
57
57
|
*/
|
|
@@ -15,7 +15,7 @@ sap.ui.define(['sap/ui/core/support/Plugin', "sap/base/Log"],
|
|
|
15
15
|
* @class This class represents the LocalStorage plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
16
16
|
*
|
|
17
17
|
* @extends sap.ui.core.support.Plugin
|
|
18
|
-
* @version 1.96.
|
|
18
|
+
* @version 1.96.3
|
|
19
19
|
* @private
|
|
20
20
|
* @alias sap.ui.core.support.plugins.LocalStorage
|
|
21
21
|
*/
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @class This class represents the selector plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
21
21
|
*
|
|
22
22
|
* @extends sap.ui.core.support.Plugin
|
|
23
|
-
* @version 1.96.
|
|
23
|
+
* @version 1.96.3
|
|
24
24
|
* @private
|
|
25
25
|
* @alias sap.ui.core.support.plugins.Selector
|
|
26
26
|
*/
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @class This class represents the technical info plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
24
24
|
*
|
|
25
25
|
* @extends sap.ui.core.support.Plugin
|
|
26
|
-
* @version 1.96.
|
|
26
|
+
* @version 1.96.3
|
|
27
27
|
* @private
|
|
28
28
|
* @alias sap.ui.core.support.plugins.TechInfo
|
|
29
29
|
*/
|
|
@@ -19,7 +19,7 @@ sap.ui.define([
|
|
|
19
19
|
* @class This class represents the trace plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
20
20
|
*
|
|
21
21
|
* @extends sap.ui.core.support.Plugin
|
|
22
|
-
* @version 1.96.
|
|
22
|
+
* @version 1.96.3
|
|
23
23
|
* @private
|
|
24
24
|
* @alias sap.ui.core.support.plugins.Trace
|
|
25
25
|
*/
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* Creates an instance of sap.ui.core.support.plugins.ViewInfo.
|
|
21
21
|
* @class This class represents the ViewInfo plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
|
|
22
22
|
* @extends sap.ui.core.support.Plugin
|
|
23
|
-
* @version 1.96.
|
|
23
|
+
* @version 1.96.3
|
|
24
24
|
* @private
|
|
25
25
|
* @alias sap.ui.core.support.plugins.ViewInfo
|
|
26
26
|
*/
|
|
@@ -17,11 +17,10 @@ sap.ui.define([
|
|
|
17
17
|
'sap/base/Log',
|
|
18
18
|
'sap/base/util/extend',
|
|
19
19
|
'sap/ui/core/ThemeCheck',
|
|
20
|
-
'sap/base/util/LoaderExtensions',
|
|
21
20
|
'sap/ui/thirdparty/jquery',
|
|
22
21
|
'./ThemeHelper'
|
|
23
22
|
],
|
|
24
|
-
function(URI, Element, UriParameters, Log, extend, ThemeCheck,
|
|
23
|
+
function(URI, Element, UriParameters, Log, extend, ThemeCheck, jQuery, ThemeHelper) {
|
|
25
24
|
"use strict";
|
|
26
25
|
|
|
27
26
|
var oCfgData = window["sap-ui-config"] || {};
|
|
@@ -60,8 +59,6 @@ sap.ui.define([
|
|
|
60
59
|
|
|
61
60
|
var bUseInlineParameters = UriParameters.fromQuery(window.location.search).get("sap-ui-xx-no-inline-theming-parameters") !== "true";
|
|
62
61
|
|
|
63
|
-
var oComputedScopeStyle, oDummyScopeElement;
|
|
64
|
-
|
|
65
62
|
/**
|
|
66
63
|
* Resolves relative URLs in parameter values.
|
|
67
64
|
* Only for inline-parameters.
|
|
@@ -81,33 +78,6 @@ sap.ui.define([
|
|
|
81
78
|
return sUrl;
|
|
82
79
|
}
|
|
83
80
|
|
|
84
|
-
/**
|
|
85
|
-
* Checks the given parameter value if it contains a relative URL.
|
|
86
|
-
* If so we read a second css-variable containing a ui5:// url which needs to be resolved.
|
|
87
|
-
* @param {string} sParam parameter name
|
|
88
|
-
* @returns {string} the parameter value, if necessary a ui5://... URL is resolved
|
|
89
|
-
*/
|
|
90
|
-
function checkAndResolveUI5Url(sParamValue, sParameterName) {
|
|
91
|
-
|
|
92
|
-
var aMatch = rCssUrl.exec(sParamValue);
|
|
93
|
-
if (aMatch && aMatch[1]) {
|
|
94
|
-
// read companion-variable, can contain a ui5:// url, or an already absolute url
|
|
95
|
-
var oBodyStyle = window.getComputedStyle(document.body || document.documentElement);
|
|
96
|
-
sParamValue = oBodyStyle.getPropertyValue("--" + sParameterName + "__asResolvedUrl").trim();
|
|
97
|
-
if (sParamValue) {
|
|
98
|
-
// JSON.parse helps us get a consistent escaping situation
|
|
99
|
-
sParamValue = JSON.parse(sParamValue);
|
|
100
|
-
var sResolvedUrl = LoaderExtensions.resolveUI5Url(sParamValue);
|
|
101
|
-
// stringify again to preserve original escaping
|
|
102
|
-
sParamValue = "url(" + JSON.stringify(sResolvedUrl) + ")";
|
|
103
|
-
} else {
|
|
104
|
-
Log.error("The parameter '" + sParameterName + "' contains a url, but no matching resolved-url CSS variable could be found.");
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return sParamValue;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
81
|
function mergeParameterSet(mCurrent, mNew, sThemeBaseUrl) {
|
|
112
82
|
for (var sParam in mNew) {
|
|
113
83
|
if (typeof mCurrent[sParam] === "undefined") {
|
|
@@ -145,20 +115,6 @@ sap.ui.define([
|
|
|
145
115
|
mergeParameterSet(mParameters["scopes"][sScopeName], mNewParameters["scopes"][sScopeName], sThemeBaseUrl);
|
|
146
116
|
}
|
|
147
117
|
}
|
|
148
|
-
|
|
149
|
-
var aScopeList = Object.keys(mParameters["scopes"]);
|
|
150
|
-
if (aScopeList.length) {
|
|
151
|
-
if (aScopeList.length > 1) {
|
|
152
|
-
Log.error("There are multiple theming parameter scopes available but only a single scope is supported. Only the first scope '" + aScopeList[0] + "' is used for retrieval of parameters.");
|
|
153
|
-
}
|
|
154
|
-
// Add dummy scope element
|
|
155
|
-
if (!oComputedScopeStyle) {
|
|
156
|
-
oDummyScopeElement = document.createElement("span");
|
|
157
|
-
oDummyScopeElement.classList.add(aScopeList[0]);
|
|
158
|
-
document.documentElement.appendChild(oDummyScopeElement);
|
|
159
|
-
oComputedScopeStyle = window.getComputedStyle(oDummyScopeElement);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
118
|
}
|
|
163
119
|
|
|
164
120
|
function forEachStyleSheet(fnCallback) {
|
|
@@ -168,11 +124,6 @@ sap.ui.define([
|
|
|
168
124
|
}
|
|
169
125
|
|
|
170
126
|
function parseParameters(sId) {
|
|
171
|
-
// only parse parameters if the given lib does not support CSS variables
|
|
172
|
-
if (libSupportsCSSVariables(sId)) {
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
127
|
var oUrl = getThemeBaseUrlForId(sId);
|
|
177
128
|
|
|
178
129
|
var bThemeApplied = ThemeCheck.checkStyle(sId);
|
|
@@ -209,44 +160,13 @@ sap.ui.define([
|
|
|
209
160
|
return false; //could not parse parameters OR theme is not applied OR library has no parameters
|
|
210
161
|
}
|
|
211
162
|
|
|
212
|
-
function libSupportsCSSVariables(sId) {
|
|
213
|
-
var sLibName = sId.replace("sap-ui-theme-", "").replace(/\./g, "-");
|
|
214
|
-
var sVariablesMarker = !!(window.getComputedStyle(document.body || document.documentElement).getPropertyValue("--sapUiTheme-" + sLibName).trim());
|
|
215
|
-
// retreive scope list from metadata (if the theme supports them)
|
|
216
|
-
if (sVariablesMarker) {
|
|
217
|
-
var oMetadata = ThemeHelper.getMetadata(sId);
|
|
218
|
-
if (oMetadata && oMetadata.Scopes && oMetadata.Scopes.length > 0) {
|
|
219
|
-
var mScopes = {};
|
|
220
|
-
oMetadata.Scopes.forEach(function(sScope) {
|
|
221
|
-
mScopes[sScope] = {};
|
|
222
|
-
});
|
|
223
|
-
|
|
224
|
-
// merge empty scopes into parameters cache
|
|
225
|
-
// will be filled one-by-one when accessing scoped variables later
|
|
226
|
-
mergeParameters({
|
|
227
|
-
"default": {},
|
|
228
|
-
scopes: mScopes
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return sVariablesMarker;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
163
|
/**
|
|
236
164
|
* Load parameters for a library/theme combination as identified by the URL of the library.css
|
|
237
165
|
* @param {string} sId the library name for which parameters might be loaded
|
|
238
|
-
* @param {boolean} [bGetAll] whether the loadParameters call stems from a Parameters.get() call
|
|
239
166
|
*/
|
|
240
|
-
function loadParameters(sId
|
|
167
|
+
function loadParameters(sId) {
|
|
241
168
|
var oUrl = getThemeBaseUrlForId(sId);
|
|
242
169
|
|
|
243
|
-
// [Compatibility]: the legacy sync API must return a map of ALL parameter values.
|
|
244
|
-
// With CSS wariables supported, we can only get this map by requesting the library-parameters.json.
|
|
245
|
-
// The DOM API does not provide an enumeration of all variables.
|
|
246
|
-
if (libSupportsCSSVariables(sId) && !bGetAll) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
170
|
// try to parse the inline-parameters for the given library
|
|
251
171
|
// this may fail for a number of reasons, see below
|
|
252
172
|
if (!parseParameters(sId)) {
|
|
@@ -371,24 +291,16 @@ sap.ui.define([
|
|
|
371
291
|
|
|
372
292
|
/**
|
|
373
293
|
* Retrieves a map containing all inline-parameters.
|
|
374
|
-
* Parameters from CSS Variables are dynamically written to the mParameters data-structure on demand,
|
|
375
|
-
* everytime a parameter is read from a CSS variable via DOM API.
|
|
376
|
-
*
|
|
377
|
-
* IMPORTANT: See 'bGetAll' for special SYNC path for Parameters.get() and libraries with CSS Variables
|
|
378
294
|
*
|
|
379
|
-
* @param {boolean} bAsync whether to load and parse the parameters asynchronously
|
|
380
|
-
* @param {boolean} bGetAll SYNC path only: when Parameters.get() is called,
|
|
381
|
-
* we might need to enforce the loading of a library-parameters.json for libraries using CSS Variables instead of inline-parameters
|
|
295
|
+
* @param {boolean} bAsync=undefined whether to load and parse the parameters asynchronously, default sync
|
|
382
296
|
* @returns {object} a map of all parameters
|
|
383
297
|
*/
|
|
384
|
-
function getParameters(bAsync
|
|
298
|
+
function getParameters(bAsync) {
|
|
385
299
|
// Inital loading
|
|
386
300
|
if (!mParameters) {
|
|
387
301
|
// Merge an empty parameter set to initialize the internal object
|
|
388
302
|
mergeParameters({}, "");
|
|
389
303
|
|
|
390
|
-
sTheme = sap.ui.getCore().getConfiguration().getTheme();
|
|
391
|
-
|
|
392
304
|
forEachStyleSheet(function (sId) {
|
|
393
305
|
if (bAsync) {
|
|
394
306
|
if (ThemeCheck.checkStyle(sId)) {
|
|
@@ -397,7 +309,7 @@ sap.ui.define([
|
|
|
397
309
|
aParametersToLoad.push(sId);
|
|
398
310
|
}
|
|
399
311
|
} else {
|
|
400
|
-
loadParameters(sId
|
|
312
|
+
loadParameters(sId);
|
|
401
313
|
}
|
|
402
314
|
});
|
|
403
315
|
}
|
|
@@ -423,13 +335,10 @@ sap.ui.define([
|
|
|
423
335
|
|
|
424
336
|
/**
|
|
425
337
|
* Loads library-parameters.json files if some libraries are missing.
|
|
426
|
-
* @param {boolean} bGetAll whether we need to enforce the loading of library-parameters.json files for libraries with CSS variables
|
|
427
338
|
*/
|
|
428
|
-
function loadPendingLibraryParameters(
|
|
339
|
+
function loadPendingLibraryParameters() {
|
|
429
340
|
// lazy loading of further library parameters
|
|
430
|
-
aParametersToLoad.forEach(
|
|
431
|
-
loadParameters(sLibId, bGetAll);
|
|
432
|
-
});
|
|
341
|
+
aParametersToLoad.forEach(loadParameters);
|
|
433
342
|
|
|
434
343
|
// clear queue
|
|
435
344
|
aParametersToLoad = [];
|
|
@@ -450,27 +359,6 @@ sap.ui.define([
|
|
|
450
359
|
}
|
|
451
360
|
};
|
|
452
361
|
|
|
453
|
-
function lookUpParameter(mParams, sParameterName, bUseScope) {
|
|
454
|
-
var sParam = mParams[sParameterName];
|
|
455
|
-
|
|
456
|
-
// if not found in cache it we read a CSS variable
|
|
457
|
-
if (!sParam) {
|
|
458
|
-
// In case scope is available use dummy element with given scope else use the computed style
|
|
459
|
-
// of document.body or if body is not available the scope of document.documentElement
|
|
460
|
-
var oComputedStyle = bUseScope ? oComputedScopeStyle : window.getComputedStyle(document.body || document.documentElement);
|
|
461
|
-
sParam = oComputedStyle.getPropertyValue("--" + sParameterName).trim();
|
|
462
|
-
// DOM Api returns "" for unkown variables, UI5 Api must return undefined
|
|
463
|
-
sParam = sParam != "" ? sParam : undefined;
|
|
464
|
-
if (sParam) {
|
|
465
|
-
sParam = checkAndResolveUI5Url(sParam, sParameterName);
|
|
466
|
-
// cache the url-resolved parameter value for later usage
|
|
467
|
-
mParams[sParameterName] = sParam;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
return sParam;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
362
|
/**
|
|
475
363
|
* Returns parameter value from given map and handles legacy parameter names
|
|
476
364
|
*
|
|
@@ -484,22 +372,22 @@ sap.ui.define([
|
|
|
484
372
|
* @private
|
|
485
373
|
*/
|
|
486
374
|
function getParam(mOptions) {
|
|
487
|
-
var bAsync = mOptions.async,
|
|
375
|
+
var bAsync = mOptions.async, oParams = getParameters(bAsync);
|
|
488
376
|
if (mOptions.scopeName) {
|
|
489
377
|
oParams = oParams["scopes"][mOptions.scopeName];
|
|
490
|
-
bUseScope = true;
|
|
491
378
|
} else {
|
|
492
379
|
oParams = oParams["default"];
|
|
493
380
|
}
|
|
494
381
|
|
|
495
|
-
var sParamValue =
|
|
382
|
+
var sParamValue = oParams[mOptions.parameterName];
|
|
383
|
+
|
|
496
384
|
// [Compatibility]: if a parameter contains a prefix, we cut off the ":" and try again
|
|
497
385
|
// e.g. "my.lib:paramName"
|
|
498
386
|
if (!sParamValue) {
|
|
499
387
|
var iIndex = mOptions.parameterName.indexOf(":");
|
|
500
388
|
if (iIndex != -1) {
|
|
501
389
|
var sParamNameWithoutColon = mOptions.parameterName.substr(iIndex + 1);
|
|
502
|
-
sParamValue =
|
|
390
|
+
sParamValue = oParams[sParamNameWithoutColon];
|
|
503
391
|
}
|
|
504
392
|
}
|
|
505
393
|
|
|
@@ -554,7 +442,7 @@ sap.ui.define([
|
|
|
554
442
|
* @ui5-restricted sap.ui.core
|
|
555
443
|
* @param {boolean} [bAvoidLoading] Whether loading of parameters should be avoided
|
|
556
444
|
* @param {boolean} [bAsync] Whether loading of parameters should be asynchronous
|
|
557
|
-
* @return {
|
|
445
|
+
* @return {string[]|undefined} Scope names
|
|
558
446
|
*/
|
|
559
447
|
Parameters._getScopes = function(bAvoidLoading, bAsync) {
|
|
560
448
|
if ( bAvoidLoading && !mParameters ) {
|
|
@@ -641,16 +529,6 @@ sap.ui.define([
|
|
|
641
529
|
* </p>
|
|
642
530
|
*
|
|
643
531
|
* <p>
|
|
644
|
-
* <b>Important, since 1.93:</b>
|
|
645
|
-
* When using the <code>Parameters.get()</code> API to retrieve theming parameters defined as CSS variables,
|
|
646
|
-
* please be aware that the API can also unknowingly retrieve arbitrary CSS variables defined in the DOM.
|
|
647
|
-
* All CSS variables defined via the <code>:root</code> pseudo-class can be retrieved this way.
|
|
648
|
-
* Please make sure to only access theming parameters defined in a UI5 theme/library.
|
|
649
|
-
* </p>
|
|
650
|
-
*
|
|
651
|
-
* <br/>
|
|
652
|
-
*
|
|
653
|
-
* <p>
|
|
654
532
|
* The following API variants are available (see also the below examples):
|
|
655
533
|
* <ul>
|
|
656
534
|
* <li> <b>(deprecated since 1.92)</b> If no parameter is given a key-value map containing all parameters is returned</li>
|
|
@@ -681,7 +559,7 @@ sap.ui.define([
|
|
|
681
559
|
*
|
|
682
560
|
* @example <caption>Scenario 2: Some Parameters are missing </caption>
|
|
683
561
|
* // "sapUiParam1", "sapUiParam2" are already available
|
|
684
|
-
* // "sapUiParam3" is not yet available
|
|
562
|
+
* // "sapUiParam3" is not yet available
|
|
685
563
|
* Parameters.get({
|
|
686
564
|
* name: ["sapUiParam1", "sapUiParam2", "sapUiParam3"],
|
|
687
565
|
* callback: function(mParams) {
|
|
@@ -730,6 +608,9 @@ sap.ui.define([
|
|
|
730
608
|
"Consider using the API only when required, e.g. onBeforeRendering.");
|
|
731
609
|
}
|
|
732
610
|
|
|
611
|
+
if (!sTheme) {
|
|
612
|
+
sTheme = sap.ui.getCore().getConfiguration().getTheme();
|
|
613
|
+
}
|
|
733
614
|
// Parameters.get() without arguments returns
|
|
734
615
|
// copy of complete default parameter set
|
|
735
616
|
if (arguments.length === 0) {
|
|
@@ -743,10 +624,11 @@ sap.ui.define([
|
|
|
743
624
|
);
|
|
744
625
|
|
|
745
626
|
// first try to load all pending parameters
|
|
746
|
-
loadPendingLibraryParameters(
|
|
627
|
+
loadPendingLibraryParameters();
|
|
628
|
+
|
|
747
629
|
// retrieve parameters
|
|
748
630
|
// optionally might also trigger a sync JSON request, if a library was loaded but not parsed yet
|
|
749
|
-
var oParams = getParameters(
|
|
631
|
+
var oParams = getParameters();
|
|
750
632
|
return Object.assign({}, oParams["default"]);
|
|
751
633
|
}
|
|
752
634
|
|
|
@@ -810,6 +692,7 @@ sap.ui.define([
|
|
|
810
692
|
if (bAsync && fnAsyncCallback && Object.keys(vResult).length !== aNames.length) {
|
|
811
693
|
if (!sap.ui.getCore().isThemeApplied()) {
|
|
812
694
|
resolveWithParameter = function () {
|
|
695
|
+
sap.ui.getCore().detachThemeChanged(resolveWithParameter);
|
|
813
696
|
var vParams = this.get({ // Don't pass callback again
|
|
814
697
|
name: vName.name,
|
|
815
698
|
scopeElement: vName.scopeElement
|
|
@@ -821,7 +704,6 @@ sap.ui.define([
|
|
|
821
704
|
|
|
822
705
|
fnAsyncCallback(vParams);
|
|
823
706
|
aCallbackRegistry.splice(aCallbackRegistry.findIndex(findRegisteredCallback), 1);
|
|
824
|
-
sap.ui.getCore().detachThemeChanged(resolveWithParameter);
|
|
825
707
|
}.bind(this);
|
|
826
708
|
|
|
827
709
|
// Check if identical callback is already registered and reregister with current parameters
|
|
@@ -881,11 +763,9 @@ sap.ui.define([
|
|
|
881
763
|
// hidden parameter {boolean} bOnlyWhenNecessary
|
|
882
764
|
var bOnlyWhenNecessary = arguments[0] === true;
|
|
883
765
|
if ( !bOnlyWhenNecessary || sap.ui.getCore().getConfiguration().getTheme() !== sTheme ) {
|
|
766
|
+
sTheme = sap.ui.getCore().getConfiguration().getTheme();
|
|
767
|
+
aParametersToLoad = [];
|
|
884
768
|
mParameters = null;
|
|
885
|
-
if (oDummyScopeElement) {
|
|
886
|
-
document.documentElement.removeChild(oDummyScopeElement);
|
|
887
|
-
oDummyScopeElement = oComputedScopeStyle = undefined;
|
|
888
|
-
}
|
|
889
769
|
ThemeHelper.reset();
|
|
890
770
|
}
|
|
891
771
|
};
|
|
@@ -36,51 +36,40 @@ sap.ui.define([
|
|
|
36
36
|
return mLibThemeMetadata[sLibName];
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var oMetadataElement = document.createElement("span");
|
|
40
|
+
oMetadataElement.classList.add("sapThemeMetaData-UI5-" + sLibName);
|
|
41
|
+
document.documentElement.appendChild(oMetadataElement);
|
|
42
|
+
var sDataUri = window.getComputedStyle(oMetadataElement).getPropertyValue("background-image");
|
|
43
|
+
document.documentElement.removeChild(oMetadataElement);
|
|
40
44
|
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// Try first to read the metadata from the CSS variables in case CSS variables are supported
|
|
45
|
-
if (sVariablesMarker) {
|
|
46
|
-
// read metadata
|
|
47
|
-
sMetadataJSON = oBodyStyle.getPropertyValue("--sapThemeMetaData-UI5-" + sLibName).trim();
|
|
45
|
+
var aDataUriMatch = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)/i.exec(sDataUri);
|
|
46
|
+
if (!aDataUriMatch || aDataUriMatch.length < 2) {
|
|
47
|
+
return null;
|
|
48
48
|
}
|
|
49
|
-
// Fallback to inline metadata in case no CSS variables are supported or metadata is only available inline
|
|
50
|
-
if (!sMetadataJSON) {
|
|
51
|
-
var oMetadataElement = document.createElement("span");
|
|
52
|
-
oMetadataElement.classList.add("sapThemeMetaData-UI5-" + sLibName);
|
|
53
|
-
document.documentElement.appendChild(oMetadataElement);
|
|
54
|
-
var sDataUri = window.getComputedStyle(oMetadataElement).getPropertyValue("background-image");
|
|
55
|
-
document.documentElement.removeChild(oMetadataElement);
|
|
56
|
-
|
|
57
|
-
var aDataUriMatch = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)/i.exec(sDataUri);
|
|
58
|
-
if (!aDataUriMatch || aDataUriMatch.length < 2) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
49
|
|
|
62
|
-
|
|
50
|
+
var sMetaData = aDataUriMatch[1];
|
|
63
51
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
// [COMPATIBILITY]: The following lines of code are moved unchanged from ThemeCheck in order to not introduce any regressions but
|
|
53
|
+
// neverteheless it's not fully clear if detection of URI encoding and URI decoding itself (especially manual encoding of spaces)
|
|
54
|
+
// is necessary
|
|
67
55
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
56
|
+
// Try to detect URI encoding by checking for first and last character for not encoded characters
|
|
57
|
+
if (sMetaData.charAt(0) !== "{" && sMetaData.charAt(sMetaData.length - 1) !== "}") {
|
|
58
|
+
try {
|
|
59
|
+
sMetaData = decodeURI(sMetaData);
|
|
60
|
+
} catch (ex) {
|
|
61
|
+
// ignore
|
|
75
62
|
}
|
|
63
|
+
}
|
|
76
64
|
|
|
77
|
-
|
|
78
|
-
|
|
65
|
+
// Remove superfluous escaping of double quotes
|
|
66
|
+
sMetaData = sMetaData.replace(/\\"/g, '"');
|
|
79
67
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
68
|
+
// Replace encoded spaces => not clear if this is really necessary and if there is any valid case where spaces are URI encoded
|
|
69
|
+
// but we could not detect URI encoding. Keep coding in order to avoid regression.
|
|
70
|
+
var sMetadataJSON = sMetaData.replace(/%20/g, " ");
|
|
71
|
+
|
|
72
|
+
var oMetadata;
|
|
84
73
|
try {
|
|
85
74
|
oMetadata = JSON.parse(sMetadataJSON);
|
|
86
75
|
mLibThemeMetadata[sLibName] = oMetadata;
|