@openui5/sap.ui.core 1.106.0 → 1.107.1
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/jquery.sap.ui.js +5 -7
- package/src/sap/base/util/LoaderExtensions.js +6 -6
- package/src/sap/base/util/fetch.js +3 -0
- package/src/sap/base/util/mixedFetch.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/DataType.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/ManagedObjectRegistry.js +4 -3
- 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/AppCacheBuster.js +3 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +5 -6
- package/src/sap/ui/core/CalendarType.js +0 -1
- package/src/sap/ui/core/Component.js +12 -10
- package/src/sap/ui/core/ComponentContainer.js +6 -5
- 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 +7 -7
- package/src/sap/ui/core/Core.js +31 -304
- 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 +6 -6
- 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/FocusHandler.js +50 -2
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -2
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -2
- 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 -2
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +5 -5
- package/src/sap/ui/core/Item.js +1 -2
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -2
- package/src/sap/ui/core/ListItem.js +1 -2
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -2
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +11 -9
- package/src/sap/ui/core/Manifest.js +8 -6
- package/src/sap/ui/core/Message.js +4 -6
- package/src/sap/ui/core/Popup.js +62 -5
- package/src/sap/ui/core/RenderManager.js +7 -5
- package/src/sap/ui/core/Renderer.js +5 -4
- package/src/sap/ui/core/Rendering.js +251 -0
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +6 -9
- package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
- package/src/sap/ui/core/SeparatorItem.js +1 -2
- package/src/sap/ui/core/Title.js +1 -2
- package/src/sap/ui/core/TooltipBase.js +1 -2
- package/src/sap/ui/core/UIArea.js +389 -121
- package/src/sap/ui/core/UIComponent.js +1 -2
- 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 -2
- 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 -3
- package/src/sap/ui/core/cache/CacheManager.js +7 -6
- package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -4
- package/src/sap/ui/core/date/Islamic.js +4 -4
- package/src/sap/ui/core/date/UniversalDate.js +8 -8
- package/src/sap/ui/core/date/UniversalDateUtils.js +3 -3
- package/src/sap/ui/core/delegate/ItemNavigation.js +5 -5
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +4 -3
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -2
- package/src/sap/ui/core/dnd/DragInfo.js +1 -2
- package/src/sap/ui/core/dnd/DropInfo.js +1 -2
- package/src/sap/ui/core/format/DateFormat.js +9 -7
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +0 -1
- package/src/sap/ui/core/format/FileSizeFormat.js +4 -3
- package/src/sap/ui/core/format/ListFormat.js +4 -3
- package/src/sap/ui/core/format/NumberFormat.js +6 -5
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +7 -6
- package/src/sap/ui/core/library.js +3 -55
- 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 +13 -23
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/mvc/Controller.js +3 -3
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -3
- package/src/sap/ui/core/mvc/HTMLView.js +1 -2
- package/src/sap/ui/core/mvc/JSONView.js +1 -2
- package/src/sap/ui/core/mvc/JSView.js +1 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -2
- package/src/sap/ui/core/mvc/View.js +21 -20
- package/src/sap/ui/core/mvc/ViewType.js +0 -1
- package/src/sap/ui/core/mvc/XMLView.js +18 -18
- 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/async/Target.js +4 -3
- package/src/sap/ui/core/rules/Config.support.js +6 -4
- package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -2
- package/src/sap/ui/core/search/SearchProvider.js +1 -3
- 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/ToolsAPI.js +11 -13
- package/src/sap/ui/core/support/plugins/ControlTree.js +4 -4
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +7 -5
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -2
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -4
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -2
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -2
- 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 +4 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
- 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 +3 -3
- package/src/sap/ui/debug/DebugEnv.js +4 -4
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +3 -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/Sorter.js +22 -17
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +3 -7
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -0
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +5 -7
- package/src/sap/ui/model/json/JSONModel.js +8 -6
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +5 -3
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +31 -8
- package/src/sap/ui/model/odata/ODataMetadata.js +5 -4
- package/src/sap/ui/model/odata/ODataModel.js +6 -5
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +0 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +24 -15
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +45 -27
- package/src/sap/ui/model/odata/v2/ODataModel.js +94 -36
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -5
- package/src/sap/ui/model/odata/v4/Context.js +23 -19
- package/src/sap/ui/model/odata/v4/ODataBinding.js +7 -3
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +121 -57
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -11
- package/src/sap/ui/model/odata/v4/ODataModel.js +111 -69
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +12 -4
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +41 -29
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +59 -20
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +135 -4
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +21 -7
- package/src/sap/ui/model/resource/ResourceModel.js +7 -6
- 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 +5 -4
- package/src/sap/ui/model/xml/XMLModel.js +8 -6
- package/src/sap/ui/performance/trace/Interaction.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +2 -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 +7 -5
- package/src/sap/ui/test/Opa5.js +9 -15
- package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
- package/src/sap/ui/test/TestUtils.js +83 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +9 -0
- package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +114 -0
- package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +99 -0
- package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +70 -0
- package/src/sap/ui/test/autowaiter/_resourceWaiter.js +3 -12
- package/src/sap/ui/test/autowaiter/_utils.js +13 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/Ancestor.js +1 -0
- package/src/sap/ui/test/matchers/Descendant.js +1 -0
- package/src/sap/ui/test/matchers/Sibling.js +1 -0
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -10,15 +10,16 @@ sap.ui.define([
|
|
|
10
10
|
"sap/base/util/isPlainObject",
|
|
11
11
|
"sap/base/util/ObjectPath",
|
|
12
12
|
"sap/base/assert",
|
|
13
|
-
"sap/base/util/extend"
|
|
14
|
-
|
|
13
|
+
"sap/base/util/extend",
|
|
14
|
+
"sap/ui/core/Configuration"
|
|
15
|
+
], function(Log, isPlainObject, ObjectPath, assert, extend, Configuration) {
|
|
15
16
|
"use strict";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* @classdesc Base Class for a Renderer.
|
|
19
20
|
*
|
|
20
21
|
* @author SAP SE
|
|
21
|
-
* @version 1.
|
|
22
|
+
* @version 1.107.1
|
|
22
23
|
* @namespace
|
|
23
24
|
* @public
|
|
24
25
|
* @alias sap.ui.core.Renderer
|
|
@@ -237,7 +238,7 @@ sap.ui.define([
|
|
|
237
238
|
var TextDirection = sapUiCore.TextDirection;
|
|
238
239
|
|
|
239
240
|
var sTextAlign = "",
|
|
240
|
-
bRTL =
|
|
241
|
+
bRTL = Configuration.getRTL();
|
|
241
242
|
|
|
242
243
|
switch (oTextAlign) {
|
|
243
244
|
case TextAlign.End:
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides class sap.ui.core.Rendering
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
"sap/base/Log",
|
|
10
|
+
"sap/ui/base/EventProvider",
|
|
11
|
+
"sap/ui/performance/trace/Interaction",
|
|
12
|
+
"sap/ui/performance/Measurement"
|
|
13
|
+
], function(
|
|
14
|
+
Log,
|
|
15
|
+
EventProvider,
|
|
16
|
+
Interaction,
|
|
17
|
+
Measurement
|
|
18
|
+
) {
|
|
19
|
+
"use strict";
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A private logger instance used for 'debugRendering' logging.
|
|
23
|
+
*
|
|
24
|
+
* It can be activated by setting the URL parameter sap-ui-xx-debugRerendering to true.
|
|
25
|
+
* If activated, stack traces of invalidate() calls will be recorded and if new
|
|
26
|
+
* invalidations occur during rendering, they will be logged to the console together
|
|
27
|
+
* with the causing stack traces.
|
|
28
|
+
*
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
var oRenderLog = Log.getLogger("sap.ui.Rendering",
|
|
32
|
+
(
|
|
33
|
+
// Note that the sap-ui-config option still is expected in camel case.
|
|
34
|
+
// Lower case is only accepted here because of the config normalization which will be removed in future
|
|
35
|
+
(window["sap-ui-config"] && (window["sap-ui-config"]["xx-debugRendering"] || window["sap-ui-config"]["xx-debugrendering"]) )
|
|
36
|
+
|| /sap-ui-xx-debug(R|-r)endering=(true|x|X)/.test(document.location.search)
|
|
37
|
+
) ? Log.Level.DEBUG : Math.min(Log.Level.INFO, Log.getLevel())
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
var MAX_RENDERING_ITERATIONS = 20;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The ID of a timer that will execute the next rendering.
|
|
44
|
+
*
|
|
45
|
+
* A non-falsy value indicates that a timer exists already, or at least that no
|
|
46
|
+
* new timer needs to be created as. During the boot phase, this member is set
|
|
47
|
+
* to the special value <code>this</code> which is non-falsy and which should never
|
|
48
|
+
* represent a valid timer ID (no chance of misinterpretation).
|
|
49
|
+
*/
|
|
50
|
+
var _sRerenderTimer = this; //eslint-disable-line consistent-this
|
|
51
|
+
|
|
52
|
+
var mUIAreas = {};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Tasks that are called just before the rendering starts.
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
var aPrerenderingTasks = [];
|
|
59
|
+
|
|
60
|
+
var _oEventProvider = new EventProvider();
|
|
61
|
+
|
|
62
|
+
var _bRendering = false;
|
|
63
|
+
|
|
64
|
+
function _renderPendingUIUpdates(sCaller) {
|
|
65
|
+
// start performance measurement
|
|
66
|
+
Measurement.start("renderPendingUIUpdates","Render pending UI updates in all UIAreas");
|
|
67
|
+
|
|
68
|
+
oRenderLog.debug("Render pending UI updates: start (" + (sCaller || "by timer" ) + ")");
|
|
69
|
+
|
|
70
|
+
var bUIUpdated = false,
|
|
71
|
+
bLooped = MAX_RENDERING_ITERATIONS > 0,
|
|
72
|
+
iLoopCount = 0;
|
|
73
|
+
|
|
74
|
+
_bRendering = true;
|
|
75
|
+
|
|
76
|
+
do {
|
|
77
|
+
|
|
78
|
+
if ( bLooped ) {
|
|
79
|
+
// try to detect long running ('endless') rendering loops
|
|
80
|
+
iLoopCount++;
|
|
81
|
+
// if we run another iteration despite the tracking mode, we complain ourselves
|
|
82
|
+
if ( iLoopCount > MAX_RENDERING_ITERATIONS ) {
|
|
83
|
+
_bRendering = false;
|
|
84
|
+
throw new Error("Rendering has been re-started too many times (" + iLoopCount + "). Add URL parameter sap-ui-xx-debugRendering=true for a detailed analysis.");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if ( iLoopCount > 1 ) {
|
|
88
|
+
oRenderLog.debug("Render pending UI updates: iteration " + iLoopCount);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// clear a pending timer so that the next call to re-render will create a new timer
|
|
93
|
+
if (_sRerenderTimer) {
|
|
94
|
+
if ( _sRerenderTimer !== this ) { // 'this' is used as a marker for a delayed initial rendering, no timer to cleanup then
|
|
95
|
+
clearTimeout(_sRerenderTimer); // explicitly stop the timer, as this call might be a synchronous call (applyChanges) while still a timer is running
|
|
96
|
+
}
|
|
97
|
+
_sRerenderTimer = undefined;
|
|
98
|
+
if (Rendering.aFnDone.length > 0) {
|
|
99
|
+
Rendering.aFnDone.pop()();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
runPrerenderingTasks();
|
|
104
|
+
|
|
105
|
+
var mUIAreasSnapshot = mUIAreas;
|
|
106
|
+
mUIAreas = {};
|
|
107
|
+
for (var sId in mUIAreasSnapshot) {
|
|
108
|
+
bUIUpdated = mUIAreasSnapshot[sId].rerender() || bUIUpdated;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// eslint-disable-next-line no-unmodified-loop-condition
|
|
112
|
+
} while ( bLooped && _sRerenderTimer ); // iterate if there are new rendering tasks
|
|
113
|
+
|
|
114
|
+
_bRendering = false;
|
|
115
|
+
|
|
116
|
+
// TODO: Provide information on what actually was re-rendered...
|
|
117
|
+
if (bUIUpdated) {
|
|
118
|
+
Rendering.fireUIUpdated();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
oRenderLog.debug("Render pending UI updates: finished");
|
|
122
|
+
|
|
123
|
+
// end performance measurement
|
|
124
|
+
Measurement.end("renderPendingUIUpdates");
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var Rendering = {
|
|
128
|
+
// to protect against nested rendering we use an array of Steps instead of a single one
|
|
129
|
+
aFnDone: [],
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Notify async Interaction step.
|
|
133
|
+
*
|
|
134
|
+
* @private
|
|
135
|
+
* @ui5-restricted sap.ui.core.Core
|
|
136
|
+
*/
|
|
137
|
+
notifyInteractionStep: function () {
|
|
138
|
+
Rendering.aFnDone.push(Interaction.notifyAsyncStep());
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Adds a task that is guaranteed to run once, just before the next rendering. A rendering
|
|
143
|
+
* request is not triggered.
|
|
144
|
+
*
|
|
145
|
+
* @param {function} fnPrerenderingTask
|
|
146
|
+
* A function that is called before the rendering
|
|
147
|
+
* @param {boolean} [bFirst=false]
|
|
148
|
+
* Whether the task should become the first one, not the last one
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
addPrerenderingTask: function (fnPrerenderingTask, bFirst) {
|
|
152
|
+
if (bFirst) {
|
|
153
|
+
aPrerenderingTasks.unshift(fnPrerenderingTask);
|
|
154
|
+
} else {
|
|
155
|
+
aPrerenderingTasks.push(fnPrerenderingTask);
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
/**
|
|
159
|
+
* Asks all UIAreas to execute any pending rendering tasks.
|
|
160
|
+
*
|
|
161
|
+
* The execution of rendering tasks might require multiple iterations
|
|
162
|
+
* until either no more rendering tasks are produced or until
|
|
163
|
+
* MAX_RENDERING_ITERATIONS are reached.
|
|
164
|
+
*
|
|
165
|
+
* With a value of MAX_RENDERING_ITERATIONS=0 the loop can be avoided
|
|
166
|
+
* and the remaining tasks are executed after another timeout.
|
|
167
|
+
*
|
|
168
|
+
* @param {string} sCaller The Caller id
|
|
169
|
+
* @private
|
|
170
|
+
*/
|
|
171
|
+
renderPendingUIUpdates: function(sCaller, iTimeout) {
|
|
172
|
+
if (iTimeout !== undefined) {
|
|
173
|
+
_sRerenderTimer = setTimeout(_renderPendingUIUpdates.bind(null, sCaller), iTimeout);
|
|
174
|
+
} else {
|
|
175
|
+
Rendering.aFnDone.push(Interaction.notifyAsyncStep());
|
|
176
|
+
_renderPendingUIUpdates(sCaller);
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
/**
|
|
180
|
+
* Returns <code>true</code> if there are any pending rendering tasks or when
|
|
181
|
+
* such rendering tasks are currently being executed.
|
|
182
|
+
*
|
|
183
|
+
* @return {boolean} true if there are pending (or executing) rendering tasks.
|
|
184
|
+
* @private
|
|
185
|
+
*/
|
|
186
|
+
getUIDirty: function() {
|
|
187
|
+
return !!(_sRerenderTimer || _bRendering);
|
|
188
|
+
},
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* @name sap.ui.core.Core#UIUpdated
|
|
192
|
+
* @event
|
|
193
|
+
* @private
|
|
194
|
+
* @function
|
|
195
|
+
*/
|
|
196
|
+
|
|
197
|
+
attachUIUpdated: function(fnFunction, oListener) {
|
|
198
|
+
_oEventProvider.attachEvent("UIUpdated", fnFunction, oListener);
|
|
199
|
+
},
|
|
200
|
+
|
|
201
|
+
detachUIUpdated: function(fnFunction, oListener) {
|
|
202
|
+
_oEventProvider.detachEvent("UIUpdated", fnFunction, oListener);
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
fireUIUpdated: function(mParameters) {
|
|
206
|
+
_oEventProvider.fireEvent("UIUpdated", mParameters);
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Returns the internal rendering Logger.
|
|
211
|
+
*
|
|
212
|
+
* @returns {sap.base.Log} The Rendering logger
|
|
213
|
+
* @private
|
|
214
|
+
*/
|
|
215
|
+
getLogger: function() {
|
|
216
|
+
return oRenderLog;
|
|
217
|
+
},
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Registers an invalidated UIArea for rerendering.
|
|
221
|
+
*
|
|
222
|
+
* @param {sap.ui.core.UIArea} oUIArea The invalidated UIArea
|
|
223
|
+
* @private
|
|
224
|
+
*/
|
|
225
|
+
invalidateUIArea: function(oUIArea) {
|
|
226
|
+
mUIAreas[oUIArea.getId()] = oUIArea;
|
|
227
|
+
if ( !_sRerenderTimer ) {
|
|
228
|
+
// TODO: we should handle xx-waitForTheme here...
|
|
229
|
+
oRenderLog.debug("Registering timer for delayed re-rendering");
|
|
230
|
+
// start async interaction step
|
|
231
|
+
Rendering.aFnDone.push(Interaction.notifyAsyncStep());
|
|
232
|
+
Rendering.renderPendingUIUpdates('invalidated UIArea', 0); // decoupled for collecting several invalidations into one redraw
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Runs all prerendering tasks and resets the list.
|
|
239
|
+
* @private
|
|
240
|
+
*/
|
|
241
|
+
function runPrerenderingTasks() {
|
|
242
|
+
var aTasks = aPrerenderingTasks.slice();
|
|
243
|
+
|
|
244
|
+
aPrerenderingTasks = [];
|
|
245
|
+
aTasks.forEach(function (fnPrerenderingTask) {
|
|
246
|
+
fnPrerenderingTask();
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return Rendering;
|
|
251
|
+
});
|
|
@@ -13,7 +13,8 @@ sap.ui.define([
|
|
|
13
13
|
"sap/ui/performance/trace/Interaction",
|
|
14
14
|
"sap/base/Log",
|
|
15
15
|
"sap/ui/events/jquery/EventSimulation",
|
|
16
|
-
"sap/ui/thirdparty/jquery"
|
|
16
|
+
"sap/ui/thirdparty/jquery",
|
|
17
|
+
"sap/ui/core/Configuration"
|
|
17
18
|
],
|
|
18
19
|
function(
|
|
19
20
|
Device,
|
|
@@ -23,7 +24,8 @@ sap.ui.define([
|
|
|
23
24
|
Interaction,
|
|
24
25
|
Log,
|
|
25
26
|
EventSimulation,
|
|
26
|
-
jQuery
|
|
27
|
+
jQuery,
|
|
28
|
+
Configuration
|
|
27
29
|
) {
|
|
28
30
|
"use strict";
|
|
29
31
|
|
|
@@ -42,12 +44,11 @@ sap.ui.define([
|
|
|
42
44
|
* The ScrollBar control can be used for virtual scrolling of a certain area.
|
|
43
45
|
* This means: to simulate a very large scrollable area when technically the area is small and the control takes care of displaying the respective part only. E.g. a Table control can take care of only rendering the currently visible rows and use this ScrollBar control to make the user think he actually scrolls through a long list.
|
|
44
46
|
* @extends sap.ui.core.Control
|
|
45
|
-
* @version 1.
|
|
47
|
+
* @version 1.107.1
|
|
46
48
|
*
|
|
47
49
|
* @public
|
|
48
50
|
* @deprecated as of version 1.56
|
|
49
51
|
* @alias sap.ui.core.ScrollBar
|
|
50
|
-
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
51
52
|
*/
|
|
52
53
|
var ScrollBar = Control.extend("sap.ui.core.ScrollBar", /** @lends sap.ui.core.ScrollBar.prototype */ {
|
|
53
54
|
metadata : {
|
|
@@ -146,7 +147,7 @@ sap.ui.define([
|
|
|
146
147
|
this._bScrollPosIsChecked = false;
|
|
147
148
|
|
|
148
149
|
// RTL mode
|
|
149
|
-
this._bRTL =
|
|
150
|
+
this._bRTL = Configuration.getRTL();
|
|
150
151
|
|
|
151
152
|
// suppress scroll event
|
|
152
153
|
this._bSuppressScroll = false;
|
|
@@ -523,7 +524,6 @@ sap.ui.define([
|
|
|
523
524
|
* @param {string} oOwnerDomRef
|
|
524
525
|
* Dom ref of the Control that uses the scrollbar
|
|
525
526
|
* @public
|
|
526
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
527
527
|
*/
|
|
528
528
|
ScrollBar.prototype.unbind = function (oOwnerDomRef) {
|
|
529
529
|
if (oOwnerDomRef) {
|
|
@@ -547,7 +547,6 @@ sap.ui.define([
|
|
|
547
547
|
* @param {string} oOwnerDomRef
|
|
548
548
|
* Dom ref of the control that uses the scrollbar
|
|
549
549
|
* @public
|
|
550
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
551
550
|
*/
|
|
552
551
|
ScrollBar.prototype.bind = function (oOwnerDomRef) {
|
|
553
552
|
if (oOwnerDomRef) {
|
|
@@ -581,7 +580,6 @@ sap.ui.define([
|
|
|
581
580
|
* Page Up is used to scroll one page back.
|
|
582
581
|
*
|
|
583
582
|
* @public
|
|
584
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
585
583
|
*/
|
|
586
584
|
ScrollBar.prototype.pageUp = function() {
|
|
587
585
|
// call on scroll
|
|
@@ -592,7 +590,6 @@ sap.ui.define([
|
|
|
592
590
|
* Page Down is used to scroll one page forward.
|
|
593
591
|
*
|
|
594
592
|
* @public
|
|
595
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
596
593
|
*/
|
|
597
594
|
ScrollBar.prototype.pageDown = function() {
|
|
598
595
|
// call on scroll
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// A renderer for the ScrollBar control
|
|
8
|
-
sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize"],
|
|
9
|
-
function(Device, getScrollbarSize) {
|
|
8
|
+
sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize", "sap/ui/core/Configuration"],
|
|
9
|
+
function(Device, getScrollbarSize, Configuration) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
|
|
@@ -27,7 +27,7 @@ sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize"],
|
|
|
27
27
|
* @param {sap.ui.core.ScrollBar} oControl Object representation of the control that should be rendered
|
|
28
28
|
*/
|
|
29
29
|
ScrollBarRenderer.render = function(oRM, oScrollBar){
|
|
30
|
-
var bRTL =
|
|
30
|
+
var bRTL = Configuration.getRTL();
|
|
31
31
|
|
|
32
32
|
oRM.openStart("div", oScrollBar);
|
|
33
33
|
oRM.class("sapUiScrollBar");
|
|
@@ -23,11 +23,10 @@ sap.ui.define(['./Item', './library'],
|
|
|
23
23
|
* @extends sap.ui.core.Item
|
|
24
24
|
*
|
|
25
25
|
* @author SAP SE
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.107.1
|
|
27
27
|
*
|
|
28
28
|
* @public
|
|
29
29
|
* @alias sap.ui.core.SeparatorItem
|
|
30
|
-
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
31
30
|
*/
|
|
32
31
|
var SeparatorItem = Item.extend("sap.ui.core.SeparatorItem", /** @lends sap.ui.core.SeparatorItem.prototype */ { metadata : {
|
|
33
32
|
|
package/src/sap/ui/core/Title.js
CHANGED
|
@@ -25,12 +25,11 @@ sap.ui.define(['./Element', './library'],
|
|
|
25
25
|
* @extends sap.ui.core.Element
|
|
26
26
|
*
|
|
27
27
|
* @author SAP SE
|
|
28
|
-
* @version 1.
|
|
28
|
+
* @version 1.107.1
|
|
29
29
|
*
|
|
30
30
|
* @public
|
|
31
31
|
* @since 1.16.0
|
|
32
32
|
* @alias sap.ui.core.Title
|
|
33
|
-
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
34
33
|
*/
|
|
35
34
|
var Title = Element.extend("sap.ui.core.Title", /** @lends sap.ui.core.Title.prototype */ { metadata : {
|
|
36
35
|
|
|
@@ -30,11 +30,10 @@ sap.ui.define([
|
|
|
30
30
|
* @class
|
|
31
31
|
* Abstract class that can be extended in order to implement any extended tooltip. For example, RichTooltip Control is based on it. It provides the opening/closing behavior and the main "text" property.
|
|
32
32
|
* @extends sap.ui.core.Control
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.107.1
|
|
34
34
|
*
|
|
35
35
|
* @public
|
|
36
36
|
* @alias sap.ui.core.TooltipBase
|
|
37
|
-
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
38
37
|
*/
|
|
39
38
|
var TooltipBase = Control.extend("sap.ui.core.TooltipBase", /** @lends sap.ui.core.TooltipBase.prototype */ {
|
|
40
39
|
metadata : {
|