@openui5/sap.ui.core 1.93.3 → 1.96.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +13 -2
- package/.reuse/dep5 +6 -11
- package/THIRDPARTY.txt +10 -16
- package/package.json +1 -1
- package/src/jquery.sap.global.js +5 -2
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/jquery.sap.stubs.js +2 -1
- package/src/jquery.sap.trace.js +2 -1
- package/src/sap/base/i18n/ResourceBundle.js +6 -2
- package/src/sap/base/strings/whitespaceReplacer.js +52 -0
- 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 +37 -42
- package/src/sap/ui/Global.js +8 -7
- package/src/sap/ui/base/DataType.js +14 -8
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +9 -6
- package/src/sap/ui/base/Interface.js +3 -49
- package/src/sap/ui/base/ManagedObject.js +12 -7
- 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 +49 -4
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/syncXHRFix.js +2 -1
- package/src/sap/ui/core/.library +5 -5
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -11
- package/src/sap/ui/core/Component.js +300 -140
- package/src/sap/ui/core/ComponentContainer.js +24 -8
- package/src/sap/ui/core/ComponentMetadata.js +14 -3
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +67 -31
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +103 -25
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
- package/src/sap/ui/core/DeclarativeSupport.js +3 -2
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +4 -2
- package/src/sap/ui/core/EnabledPropagator.js +91 -73
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +7 -14
- package/src/sap/ui/core/Fragment.js +30 -32
- 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 +7 -8
- package/src/sap/ui/core/IconPool.js +26 -1097
- package/src/sap/ui/core/IconRenderer.js +6 -6
- 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 +26 -4
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +4 -61
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +27 -3
- package/src/sap/ui/core/Placeholder.js +28 -15
- package/src/sap/ui/core/RenderManager.js +36 -6
- package/src/sap/ui/core/Renderer.js +13 -3
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +2 -2
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
- 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 +42 -16
- 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 +2 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
- package/src/sap/ui/core/XMLTemplateProcessor.js +116 -41
- package/src/sap/ui/core/_IconRegistry.js +1148 -0
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
- 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 +2 -2
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +16 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
- package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
- 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 +13 -15
- 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_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +2 -2
- package/src/sap/ui/core/mvc/Controller.js +38 -19
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
- package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +2 -2
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +2 -2
- package/src/sap/ui/core/mvc/View.js +58 -85
- package/src/sap/ui/core/mvc/XMLView.js +2 -2
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
- 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/History.js +10 -2
- package/src/sap/ui/core/routing/Router.js +8 -1
- package/src/sap/ui/core/routing/Target.js +13 -0
- package/src/sap/ui/core/routing/Targets.js +13 -2
- package/src/sap/ui/core/routing/async/Route.js +1 -1
- package/src/sap/ui/core/routing/async/Target.js +353 -259
- 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/BootSupportTool.js +11 -0
- package/src/sap/ui/core/support/InteractionTree.css +4 -0
- 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/ViewInfo.css +599 -0
- package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
- package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
- package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
- package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
- package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
- package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
- package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +147 -75
- package/src/sap/ui/core/support/plugins/Selector.js +19 -24
- package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
- package/src/sap/ui/core/support/plugins/Trace.js +95 -32
- package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
- package/src/sap/ui/core/support/support.css +109 -14
- package/src/sap/ui/core/support/support.html +6 -2
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
- package/src/sap/ui/core/themes/base/Icon.less +9 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -4
- 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 +10 -28
- package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
- package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
- 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 +5 -5
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
- 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 +10 -4
- package/src/sap/ui/debug/DebugEnv.js +3 -4
- package/src/sap/ui/debug/Highlighter.js +8 -2
- package/src/sap/ui/debug/PropertyList.css +55 -0
- package/src/sap/ui/debug/PropertyList.js +111 -182
- package/src/sap/ui/model/Binding.js +174 -118
- package/src/sap/ui/model/ClientContextBinding.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +1 -3
- package/src/sap/ui/model/ClientModel.js +4 -4
- package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
- package/src/sap/ui/model/ClientTreeBinding.js +15 -9
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
- package/src/sap/ui/model/CompositeBinding.js +98 -77
- package/src/sap/ui/model/CompositeDataState.js +2 -2
- package/src/sap/ui/model/CompositeType.js +2 -2
- package/src/sap/ui/model/Context.js +4 -2
- package/src/sap/ui/model/ContextBinding.js +6 -14
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +255 -53
- package/src/sap/ui/model/FilterOperator.js +1 -1
- package/src/sap/ui/model/FilterProcessor.js +27 -17
- package/src/sap/ui/model/FilterType.js +1 -1
- package/src/sap/ui/model/ListBinding.js +180 -117
- package/src/sap/ui/model/MetaModel.js +4 -9
- package/src/sap/ui/model/Model.js +345 -294
- package/src/sap/ui/model/PropertyBinding.js +92 -58
- package/src/sap/ui/model/SelectionModel.js +2 -2
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +1 -1
- package/src/sap/ui/model/SorterProcessor.js +1 -1
- package/src/sap/ui/model/StaticBinding.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
- package/src/sap/ui/model/TreeBinding.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
- package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
- package/src/sap/ui/model/TreeBindingUtils.js +1 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
- package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
- package/src/sap/ui/model/json/JSONListBinding.js +8 -5
- package/src/sap/ui/model/json/JSONModel.js +24 -15
- package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
- package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +6 -3
- package/src/sap/ui/model/message/MessageModel.js +23 -15
- package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
- package/src/sap/ui/model/odata/CountMode.js +1 -1
- package/src/sap/ui/model/odata/Filter.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +8 -7
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
- package/src/sap/ui/model/odata/ODataUtils.js +13 -11
- package/src/sap/ui/model/odata/OperationMode.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.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 +81 -9
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
- package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
- package/src/sap/ui/model/odata/v4/Context.js +6 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
- package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
- package/src/sap/ui/model/resource/ResourceModel.js +6 -2
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +2 -2
- package/src/sap/ui/model/type/Currency.js +2 -2
- package/src/sap/ui/model/type/Date.js +9 -3
- package/src/sap/ui/model/type/DateInterval.js +4 -2
- package/src/sap/ui/model/type/DateTime.js +2 -2
- package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
- package/src/sap/ui/model/type/FileSize.js +4 -2
- package/src/sap/ui/model/type/Float.js +4 -2
- package/src/sap/ui/model/type/Integer.js +4 -2
- package/src/sap/ui/model/type/String.js +2 -2
- package/src/sap/ui/model/type/Time.js +2 -2
- package/src/sap/ui/model/type/TimeInterval.js +2 -2
- package/src/sap/ui/model/type/Unit.js +14 -7
- package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
- package/src/sap/ui/model/xml/XMLModel.js +70 -41
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
- package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
- package/src/sap/ui/performance/trace/Interaction.js +30 -15
- package/src/sap/ui/performance/trace/initTraces.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +3 -2
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
- package/src/sap/ui/test/TestUtils.js +11 -4
- package/src/sap/ui/test/actions/Drag.js +6 -2
- package/src/sap/ui/test/actions/Drop.js +6 -2
- package/src/sap/ui/test/actions/EnterText.js +6 -0
- package/src/sap/ui/test/actions/Press.js +6 -0
- package/src/sap/ui/test/actions/Scroll.js +6 -0
- package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
- package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
- package/src/sap/ui/test/matchers/I18NText.js +29 -11
- package/src/sap/ui/test/opaQunit.js +5 -0
- package/src/sap/ui/thirdparty/crossroads.js +6 -4
- package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
- package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
- package/src/sap/ui/thirdparty/jquery.js +9 -1
- package/src/sap/ui/thirdparty/qunit-2.js +1 -1
- package/src/sap/ui/thirdparty/qunit.js +1 -1
- package/src/sap/ui/util/Mobile.js +2 -20
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/isCrossOriginURL.js +16 -6
- package/src/sap-ui-core-nojQuery.js +1 -1
- package/src/sap-ui-core.js +1 -1
- package/src/sap-ui-debug.js +3 -17
- package/ui5.yaml +5 -2
- package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(['./
|
|
6
|
+
sap.ui.define(['./_IconRegistry', './library', "sap/base/security/encodeCSS"], function(_IconRegistry, library, encodeCSS) {
|
|
7
7
|
"use strict";
|
|
8
8
|
|
|
9
9
|
// shortcut for enum(s)
|
|
@@ -26,7 +26,7 @@ sap.ui.define(['./IconPool', './library', "sap/base/security/encodeCSS"], functi
|
|
|
26
26
|
*/
|
|
27
27
|
IconRenderer.render = function(oRm, oControl) {
|
|
28
28
|
// write the HTML into the render manager
|
|
29
|
-
var vIconInfo =
|
|
29
|
+
var vIconInfo = _IconRegistry.getIconInfo(oControl.getSrc(), undefined, "mixed"),
|
|
30
30
|
sWidth = oControl.getWidth(),
|
|
31
31
|
sHeight = oControl.getHeight(),
|
|
32
32
|
sColor = oControl.getColor(),
|
|
@@ -65,10 +65,6 @@ sap.ui.define(['./IconPool', './library', "sap/base/security/encodeCSS"], functi
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
if (sTitle) {
|
|
69
|
-
oRm.attr("title", sTitle);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
68
|
if (oControl.hasListeners("press")) {
|
|
73
69
|
oRm.class("sapUiIconPointer");
|
|
74
70
|
if (!oControl.getNoTabStop()) {
|
|
@@ -91,6 +87,10 @@ sap.ui.define(['./IconPool', './library', "sap/base/security/encodeCSS"], functi
|
|
|
91
87
|
|
|
92
88
|
oRm.openEnd();
|
|
93
89
|
|
|
90
|
+
if (sTitle) {
|
|
91
|
+
oRm.openStart("span").class("sapUiIconTitle").attr("title", sTitle).attr("aria-hidden", true).openEnd().close("span");
|
|
92
|
+
}
|
|
93
|
+
|
|
94
94
|
if (aLabelledBy && aLabelledBy.length && oInvisibleText) {
|
|
95
95
|
oRm.renderControl(oInvisibleText);
|
|
96
96
|
}
|
|
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
|
|
|
12
12
|
* Provides the default renderer for the controls that have set their <code>visible</code> property to <code>false</code>.
|
|
13
13
|
*
|
|
14
14
|
* @author SAP SE
|
|
15
|
-
* @version 1.
|
|
15
|
+
* @version 1.96.2
|
|
16
16
|
* @alias module:sap/ui/core/InvisibleRenderer
|
|
17
17
|
* @since 1.66.0
|
|
18
18
|
* @protected
|
package/src/sap/ui/core/Item.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
//Provides the locale object sap.ui.core.Locale
|
|
8
|
-
sap.ui.define(['sap/ui/base/Object',
|
|
9
|
-
function(BaseObject, assert) {
|
|
8
|
+
sap.ui.define(['sap/ui/base/Object', 'sap/base/assert', './CalendarType'],
|
|
9
|
+
function(BaseObject, assert, CalendarType) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
|
|
@@ -38,7 +38,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/assert"],
|
|
|
38
38
|
*
|
|
39
39
|
* @extends sap.ui.base.Object
|
|
40
40
|
* @author SAP SE
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.96.2
|
|
42
42
|
* @public
|
|
43
43
|
* @alias sap.ui.core.Locale
|
|
44
44
|
*/
|
|
@@ -291,8 +291,19 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/assert"],
|
|
|
291
291
|
|| M_LOCALE_TO_ABAP_LANGUAGE[getPseudoLanguageTag(this.sPrivateUse)]
|
|
292
292
|
|| sLanguage.toUpperCase()
|
|
293
293
|
);
|
|
294
|
-
}
|
|
294
|
+
},
|
|
295
295
|
|
|
296
|
+
/**
|
|
297
|
+
*
|
|
298
|
+
* @returns {sap.ui.core.CalendarType} The preferred Calendar type.
|
|
299
|
+
* @private
|
|
300
|
+
* @ui5-restricted sap.ui.core
|
|
301
|
+
*/
|
|
302
|
+
getPreferredCalendarType: function() {
|
|
303
|
+
return Locale._mPreferredCalendar[this.getLanguage() + "-" + this.getRegion()] ||
|
|
304
|
+
Locale._mPreferredCalendar[this.getLanguage()] ||
|
|
305
|
+
Locale._mPreferredCalendar["default"];
|
|
306
|
+
}
|
|
296
307
|
});
|
|
297
308
|
|
|
298
309
|
/*
|
|
@@ -366,6 +377,17 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/assert"],
|
|
|
366
377
|
*/
|
|
367
378
|
Locale._cldrLocales = getDesigntimePropertyAsArray("$cldr-locales:ar,ar_EG,ar_SA,bg,ca,cy,cs,da,de,de_AT,de_CH,el,el_CY,en,en_AU,en_GB,en_HK,en_IE,en_IN,en_NZ,en_PG,en_SG,en_ZA,es,es_AR,es_BO,es_CL,es_CO,es_MX,es_PE,es_UY,es_VE,et,fa,fi,fr,fr_BE,fr_CA,fr_CH,fr_LU,he,hi,hr,hu,id,it,it_CH,ja,kk,ko,lt,lv,ms,nb,nl,nl_BE,pl,pt,pt_PT,ro,ru,ru_UA,sk,sl,sr,sr_Latn,sv,th,tr,uk,vi,zh_CN,zh_HK,zh_SG,zh_TW$");
|
|
368
379
|
|
|
380
|
+
/**
|
|
381
|
+
* A map of preferred Calendar types according to the language.
|
|
382
|
+
* @private
|
|
383
|
+
*/
|
|
384
|
+
Locale._mPreferredCalendar = {
|
|
385
|
+
"ar-SA": CalendarType.Islamic,
|
|
386
|
+
"fa": CalendarType.Persian,
|
|
387
|
+
"th": CalendarType.Buddhist,
|
|
388
|
+
"default": CalendarType.Gregorian
|
|
389
|
+
};
|
|
390
|
+
|
|
369
391
|
/**
|
|
370
392
|
* List of locales for which translated texts have been bundled with the UI5 runtime.
|
|
371
393
|
* @private
|
|
@@ -137,7 +137,7 @@ sap.ui.define([
|
|
|
137
137
|
* @class The Manifest class.
|
|
138
138
|
* @extends sap.ui.base.Object
|
|
139
139
|
* @author SAP SE
|
|
140
|
-
* @version 1.
|
|
140
|
+
* @version 1.96.2
|
|
141
141
|
* @alias sap.ui.core.Manifest
|
|
142
142
|
* @since 1.33.0
|
|
143
143
|
*/
|
|
@@ -410,7 +410,8 @@ sap.ui.define([
|
|
|
410
410
|
|
|
411
411
|
var sComponentName = this.getComponentName();
|
|
412
412
|
|
|
413
|
-
//
|
|
413
|
+
// [Deprecated since 1.94]: Load JS files.
|
|
414
|
+
// Standard dependencies should be used instead.
|
|
414
415
|
var aJSResources = mResources["js"];
|
|
415
416
|
if (aJSResources) {
|
|
416
417
|
var requireAsync = function (sModule) {
|
|
@@ -437,7 +438,7 @@ sap.ui.define([
|
|
|
437
438
|
if (bAsync) {
|
|
438
439
|
oPromise = oPromise.then(requireAsync(sJsUrl));
|
|
439
440
|
} else {
|
|
440
|
-
sap.ui.requireSync(sJsUrl);
|
|
441
|
+
sap.ui.requireSync(sJsUrl); // legacy-relevant: Sync path
|
|
441
442
|
}
|
|
442
443
|
}
|
|
443
444
|
}
|
|
@@ -686,19 +687,8 @@ sap.ui.define([
|
|
|
686
687
|
*/
|
|
687
688
|
init: function(oInstance) {
|
|
688
689
|
if (this._iInstanceCount === 0) {
|
|
689
|
-
|
|
690
690
|
this.loadDependenciesAndIncludes();
|
|
691
|
-
|
|
692
|
-
// activate the static customizing
|
|
693
|
-
this.activateCustomizing();
|
|
694
|
-
|
|
695
691
|
}
|
|
696
|
-
|
|
697
|
-
// activate the instance customizing
|
|
698
|
-
if (oInstance) {
|
|
699
|
-
this.activateCustomizing(oInstance);
|
|
700
|
-
}
|
|
701
|
-
|
|
702
692
|
this._iInstanceCount++;
|
|
703
693
|
},
|
|
704
694
|
|
|
@@ -750,16 +740,7 @@ sap.ui.define([
|
|
|
750
740
|
// ensure that the instance count is never negative
|
|
751
741
|
var iInstanceCount = Math.max(this._iInstanceCount - 1, 0);
|
|
752
742
|
|
|
753
|
-
// deactivate the instance customizing
|
|
754
|
-
if (oInstance) {
|
|
755
|
-
this.deactivateCustomizing(oInstance);
|
|
756
|
-
}
|
|
757
|
-
|
|
758
743
|
if (iInstanceCount === 0) {
|
|
759
|
-
|
|
760
|
-
// deactivcate the customizing
|
|
761
|
-
this.deactivateCustomizing();
|
|
762
|
-
|
|
763
744
|
// remove the custom scripts and CSS files
|
|
764
745
|
this.removeIncludes();
|
|
765
746
|
|
|
@@ -768,44 +749,6 @@ sap.ui.define([
|
|
|
768
749
|
|
|
769
750
|
this._iInstanceCount = iInstanceCount;
|
|
770
751
|
|
|
771
|
-
},
|
|
772
|
-
|
|
773
|
-
/**
|
|
774
|
-
* Activates the customizing for the component or a dedicated component
|
|
775
|
-
* instance when providing the component instance as parameter.
|
|
776
|
-
* @param {sap.ui.core.Component} [oInstance] Reference to the Component instance
|
|
777
|
-
* @private
|
|
778
|
-
*/
|
|
779
|
-
activateCustomizing: function(oInstance) {
|
|
780
|
-
// activate the customizing configuration
|
|
781
|
-
var oUI5Manifest = this.getEntry("sap.ui5", true),
|
|
782
|
-
mExtensions = oUI5Manifest && oUI5Manifest["extends"] && oUI5Manifest["extends"].extensions;
|
|
783
|
-
if (!isEmptyObject(mExtensions)) {
|
|
784
|
-
var CustomizingConfiguration = sap.ui.requireSync('sap/ui/core/CustomizingConfiguration');
|
|
785
|
-
if (!oInstance) {
|
|
786
|
-
CustomizingConfiguration.activateForComponent(this.getComponentName());
|
|
787
|
-
} else {
|
|
788
|
-
CustomizingConfiguration.activateForComponentInstance(oInstance);
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
},
|
|
792
|
-
|
|
793
|
-
/**
|
|
794
|
-
* Deactivates the customizing for the component or a dedicated component
|
|
795
|
-
* instance when providing the component instance as parameter.
|
|
796
|
-
* @param {sap.ui.core.Component} [oInstance] Reference to the Component instance
|
|
797
|
-
* @private
|
|
798
|
-
*/
|
|
799
|
-
deactivateCustomizing: function(oInstance) {
|
|
800
|
-
// deactivate the customizing configuration
|
|
801
|
-
var CustomizingConfiguration = sap.ui.require('sap/ui/core/CustomizingConfiguration');
|
|
802
|
-
if (CustomizingConfiguration) {
|
|
803
|
-
if (!oInstance) {
|
|
804
|
-
CustomizingConfiguration.deactivateForComponent(this.getComponentName());
|
|
805
|
-
} else {
|
|
806
|
-
CustomizingConfiguration.deactivateForComponentInstance(oInstance);
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
752
|
}
|
|
810
753
|
|
|
811
754
|
});
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Provides in-place rendering module for the RenderManager
|
|
8
|
-
sap.ui.define([
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
"sap/ui/Device"
|
|
10
|
+
], function(Device) {
|
|
9
11
|
"use strict";
|
|
10
12
|
|
|
11
13
|
// points a dummy CSSStyleDeclaration for style validation purposes
|
|
@@ -43,6 +45,22 @@ sap.ui.define([], function() {
|
|
|
43
45
|
}
|
|
44
46
|
};
|
|
45
47
|
|
|
48
|
+
if (Device.browser.safari) {
|
|
49
|
+
/*
|
|
50
|
+
* Safari 14ff reports calls to Element.prototype.removeAttribute("style") as CSP violations,
|
|
51
|
+
* if 'inline-style's are not allowed, see https://bugs.webkit.org/show_bug.cgi?id=227349#c3
|
|
52
|
+
*
|
|
53
|
+
* Assigning the empty string as style cleans up the CSS, but not the DOM, therefore we apply
|
|
54
|
+
* this fallback to Safari only.
|
|
55
|
+
*/
|
|
56
|
+
AttributeMutators.style = function(oElement, sNewValue) {
|
|
57
|
+
if ( sNewValue == null ) {
|
|
58
|
+
oElement.style = "";
|
|
59
|
+
return true; // skip removeAttribute
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
46
64
|
/**
|
|
47
65
|
* Creates an HTML element from the given tag name and parent namespace
|
|
48
66
|
*/
|
|
@@ -291,6 +309,11 @@ sap.ui.define([], function() {
|
|
|
291
309
|
* @return {this} Reference to <code>this</code> in order to allow method chaining
|
|
292
310
|
*/
|
|
293
311
|
Patcher.prototype.attr = function(sAttr, vValue) {
|
|
312
|
+
if (sAttr === "style") {
|
|
313
|
+
this._sStyles = vValue;
|
|
314
|
+
return this;
|
|
315
|
+
}
|
|
316
|
+
|
|
294
317
|
if (this._iTagOpenState == 1 /* Tag is Open and Created */) {
|
|
295
318
|
this._oCurrent.setAttribute(sAttr, vValue);
|
|
296
319
|
return this;
|
|
@@ -399,8 +422,9 @@ sap.ui.define([], function() {
|
|
|
399
422
|
|
|
400
423
|
for (var sAttribute in this._mAttributes) {
|
|
401
424
|
var fnMutator = AttributeMutators[sAttribute];
|
|
402
|
-
fnMutator
|
|
403
|
-
|
|
425
|
+
if (!fnMutator || !fnMutator(this._oCurrent, null)) {
|
|
426
|
+
this._oCurrent.removeAttribute(sAttribute);
|
|
427
|
+
}
|
|
404
428
|
delete this._mAttributes[sAttribute];
|
|
405
429
|
}
|
|
406
430
|
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
'sap/ui/base/Object',
|
|
8
|
+
'sap/base/util/Deferred',
|
|
8
9
|
'sap/base/util/LoaderExtensions',
|
|
9
10
|
'sap/ui/core/BlockLayerUtils'
|
|
10
11
|
], function(
|
|
11
12
|
BaseObject,
|
|
13
|
+
Deferred,
|
|
12
14
|
LoaderExtensions,
|
|
13
15
|
BlockLayerUtils
|
|
14
16
|
) {
|
|
@@ -36,9 +38,9 @@ sap.ui.define([
|
|
|
36
38
|
* @param {object} mParameters Object containing the placeholder HTML file name
|
|
37
39
|
* @param {string} [mParameters.html] Name of the HTML file that provides the placeholder content
|
|
38
40
|
*
|
|
39
|
-
* @
|
|
41
|
+
* @private
|
|
42
|
+
* @ui5-restricted SAPUI5 Distribution libraries only
|
|
40
43
|
* @since 1.92
|
|
41
|
-
* @public
|
|
42
44
|
*/
|
|
43
45
|
constructor : function(mParameters) {
|
|
44
46
|
BaseObject.call(this);
|
|
@@ -62,6 +64,7 @@ sap.ui.define([
|
|
|
62
64
|
*/
|
|
63
65
|
show: function(oControl, sBlockedSection) {
|
|
64
66
|
this.bShow = true;
|
|
67
|
+
|
|
65
68
|
return this._load().then(function(sPlaceholderContent) {
|
|
66
69
|
// Because it's in a 'then' method the loading promise, it could happen that the 'hide' function is
|
|
67
70
|
// already called. Therefore it's need to check the 'this.bShow' flag before inserting the placeholder
|
|
@@ -69,7 +72,7 @@ sap.ui.define([
|
|
|
69
72
|
// The 'show' method can be called from a rerendering delegate of a control. It's checked here whether
|
|
70
73
|
// the DOM element of the control contains the placeholder. Only when the control doesn't have the
|
|
71
74
|
// placeholder, a new placeholder DOM element is generated and inserted into the control.
|
|
72
|
-
if (this.bShow && !oControl.getDomRef().contains(this.placeholder)) {
|
|
75
|
+
if (sPlaceholderContent && this.bShow && !oControl.getDomRef().contains(this.placeholder)) {
|
|
73
76
|
// unblock old blockstate when multiple rendering happens
|
|
74
77
|
if (this.blockState) {
|
|
75
78
|
BlockLayerUtils.unblock(this.blockState);
|
|
@@ -81,6 +84,7 @@ sap.ui.define([
|
|
|
81
84
|
oDomRef.insertAdjacentHTML("beforeend", sPlaceholderContent);
|
|
82
85
|
this.placeholder = oDomRef;
|
|
83
86
|
}
|
|
87
|
+
|
|
84
88
|
return sPlaceholderContent;
|
|
85
89
|
}.bind(this));
|
|
86
90
|
},
|
|
@@ -98,6 +102,10 @@ sap.ui.define([
|
|
|
98
102
|
this.placeholder = undefined;
|
|
99
103
|
this.blockState = undefined;
|
|
100
104
|
}
|
|
105
|
+
|
|
106
|
+
if (this.pLoaded) {
|
|
107
|
+
this.pLoaded.resolve();
|
|
108
|
+
}
|
|
101
109
|
},
|
|
102
110
|
|
|
103
111
|
/**
|
|
@@ -107,17 +115,22 @@ sap.ui.define([
|
|
|
107
115
|
* @private
|
|
108
116
|
*/
|
|
109
117
|
_load: function() {
|
|
110
|
-
if (!this.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
if (!this.pLoaded) {
|
|
119
|
+
this.pLoaded = new Deferred();
|
|
120
|
+
if (this.placeholderHTML) {
|
|
121
|
+
LoaderExtensions.loadResource(this.placeholderHTML, {
|
|
122
|
+
async: true,
|
|
123
|
+
dataType: "html"
|
|
124
|
+
}).then(function(sPlaceholder) {
|
|
125
|
+
this.placeholderContent = sPlaceholder;
|
|
126
|
+
this.pLoaded.resolve(sPlaceholder);
|
|
127
|
+
}.bind(this));
|
|
128
|
+
} else {
|
|
129
|
+
this.pLoaded.reject();
|
|
130
|
+
}
|
|
120
131
|
}
|
|
132
|
+
|
|
133
|
+
return this.pLoaded.promise;
|
|
121
134
|
}
|
|
122
135
|
});
|
|
123
136
|
|
|
@@ -127,8 +140,8 @@ sap.ui.define([
|
|
|
127
140
|
*
|
|
128
141
|
* @param {function} fnProvider Provider function which provides the placeholder HTML file name
|
|
129
142
|
*
|
|
130
|
-
* @
|
|
131
|
-
* @ui5-restricted
|
|
143
|
+
* @private
|
|
144
|
+
* @ui5-restricted SAPUI5 Distribution libraries only
|
|
132
145
|
* @since 1.92
|
|
133
146
|
*/
|
|
134
147
|
Placeholder.registerProvider = function(fnProvider) {
|
|
@@ -182,7 +182,7 @@ sap.ui.define([
|
|
|
182
182
|
*
|
|
183
183
|
* @extends Object
|
|
184
184
|
* @author SAP SE
|
|
185
|
-
* @version 1.
|
|
185
|
+
* @version 1.96.2
|
|
186
186
|
* @alias sap.ui.core.RenderManager
|
|
187
187
|
* @public
|
|
188
188
|
*/
|
|
@@ -202,7 +202,9 @@ sap.ui.define([
|
|
|
202
202
|
oStringInterface = {}, // holds old string based rendering API and the string implementation of the new semantic rendering API
|
|
203
203
|
oDomInterface = {}, // semantic rendering API for the controls whose renderer provides apiVersion=2 marker
|
|
204
204
|
aRenderingStyles = [], // during string-based rendering, stores the styles that couldn't be set via style attribute due to CSP restrictions
|
|
205
|
-
oPatcher = new Patcher()
|
|
205
|
+
oPatcher = new Patcher(), // the Patcher instance to handle in-place DOM patching
|
|
206
|
+
sLastStyleMethod,
|
|
207
|
+
sLastClassMethod;
|
|
206
208
|
|
|
207
209
|
/**
|
|
208
210
|
* Sets the focus handler to be used by the RenderManager.
|
|
@@ -219,6 +221,7 @@ sap.ui.define([
|
|
|
219
221
|
* Reset all rendering related buffers.
|
|
220
222
|
*/
|
|
221
223
|
function reset() {
|
|
224
|
+
assert(!(sLastStyleMethod = sLastClassMethod = ""));
|
|
222
225
|
aBuffer = that.aBuffer = [];
|
|
223
226
|
aRenderedControls = that.aRenderedControls = [];
|
|
224
227
|
aStyleStack = that.aStyleStack = [{}];
|
|
@@ -247,14 +250,21 @@ sap.ui.define([
|
|
|
247
250
|
|
|
248
251
|
function assertValidAttr(sAttr) {
|
|
249
252
|
assertValidName(sAttr, "attr");
|
|
250
|
-
assert(sAttr != "class"
|
|
253
|
+
assert((sAttr != "class" || sLastClassMethod != "class" && (sLastClassMethod = "attr"))
|
|
254
|
+
&& (sAttr != "style" || sLastStyleMethod != "style" && (sLastStyleMethod = "attr")),
|
|
255
|
+
"Attributes 'class' and 'style' must not be written when the methods with the same name"
|
|
256
|
+
+ " have been called for the same element already");
|
|
251
257
|
}
|
|
252
258
|
|
|
253
259
|
function assertValidClass(sClass) {
|
|
260
|
+
assert(sLastClassMethod != "attr" && (sLastClassMethod = "class"),
|
|
261
|
+
"Method class() must not be called after the 'class' attribute has been written for the same element");
|
|
254
262
|
assert(typeof sClass == "string" && !/\s/.test(sClass) && arguments.length === 1, "Method 'class' must be called with exactly one class name");
|
|
255
263
|
}
|
|
256
264
|
|
|
257
265
|
function assertValidStyle(sStyle) {
|
|
266
|
+
assert(sLastStyleMethod != "attr" && (sLastStyleMethod = "style"),
|
|
267
|
+
"Method style() must not be called after the 'style' attribute has been written for the same element");
|
|
258
268
|
assert(sStyle && typeof sStyle == "string" && !/\s/.test(sStyle), "Method 'style' must be called with a non-empty string name");
|
|
259
269
|
}
|
|
260
270
|
|
|
@@ -479,6 +489,7 @@ sap.ui.define([
|
|
|
479
489
|
this.openStart = function(sTagName, vControlOrId) {
|
|
480
490
|
assertValidName(sTagName, "tag");
|
|
481
491
|
assertOpenTagHasEnded();
|
|
492
|
+
assert(!(sLastStyleMethod = sLastClassMethod = ""));
|
|
482
493
|
sOpenTag = sTagName;
|
|
483
494
|
|
|
484
495
|
this.write("<" + sTagName);
|
|
@@ -641,7 +652,11 @@ sap.ui.define([
|
|
|
641
652
|
this.attr = function(sName, vValue) {
|
|
642
653
|
assertValidAttr(sName);
|
|
643
654
|
|
|
644
|
-
|
|
655
|
+
if (sName == "style") {
|
|
656
|
+
aStyleStack[aStyleStack.length - 1].aStyle = [vValue];
|
|
657
|
+
} else {
|
|
658
|
+
this.writeAttributeEscaped(sName, vValue);
|
|
659
|
+
}
|
|
645
660
|
return this;
|
|
646
661
|
};
|
|
647
662
|
|
|
@@ -773,6 +788,9 @@ sap.ui.define([
|
|
|
773
788
|
* <li><code>alt: ""</code></li>
|
|
774
789
|
* </ul>
|
|
775
790
|
*
|
|
791
|
+
* <b>Note:</b> This function requires the {@link sap.ui.core.IconPool} module. Ensure that the module is
|
|
792
|
+
* loaded before this function is called to avoid syncXHRs.
|
|
793
|
+
*
|
|
776
794
|
* @param {sap.ui.core.URI} sURI URI of an image or of an icon registered in {@link sap.ui.core.IconPool}
|
|
777
795
|
* @param {array|string} [aClasses] Additional classes that are added to the rendered tag
|
|
778
796
|
* @param {object} [mAttributes] Additional attributes that will be added to the rendered tag.
|
|
@@ -792,6 +810,7 @@ sap.ui.define([
|
|
|
792
810
|
oDomInterface.openStart = function(sTagName, vControlOrId) {
|
|
793
811
|
assertValidName(sTagName, "tag");
|
|
794
812
|
assertOpenTagHasEnded();
|
|
813
|
+
assert(!(sLastStyleMethod = sLastClassMethod = ""));
|
|
795
814
|
sOpenTag = sTagName;
|
|
796
815
|
|
|
797
816
|
if (!vControlOrId) {
|
|
@@ -1866,8 +1885,19 @@ sap.ui.define([
|
|
|
1866
1885
|
* @deprecated Since 1.92. Instead use {@link sap.ui.core.RenderManager#icon} of the {@link sap.ui.core.RenderManager Semantic Rendering API}.
|
|
1867
1886
|
*/
|
|
1868
1887
|
RenderManager.prototype.writeIcon = function(sURI, aClasses, mAttributes){
|
|
1869
|
-
var IconPool = sap.ui.
|
|
1870
|
-
|
|
1888
|
+
var IconPool = sap.ui.require("sap/ui/core/IconPool");
|
|
1889
|
+
if (!IconPool) {
|
|
1890
|
+
Log.warning("Synchronous loading of IconPool due to sap.ui.core.RenderManager#icon call. " +
|
|
1891
|
+
"Ensure that 'sap/ui/core/IconPool is loaded before this function is called" , "SyncXHR", null, function() {
|
|
1892
|
+
return {
|
|
1893
|
+
type: "SyncXHR",
|
|
1894
|
+
name: "rendermanager-icon"
|
|
1895
|
+
};
|
|
1896
|
+
});
|
|
1897
|
+
IconPool = sap.ui.requireSync("sap/ui/core/IconPool"); // legacy-relevant: Sync fallback
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
var bIconURI = IconPool.isIconURI(sURI),
|
|
1871
1901
|
bAriaLabelledBy = false,
|
|
1872
1902
|
sProp, oIconInfo, mDefaultAttributes, sLabel, sInvTextId;
|
|
1873
1903
|
|
|
@@ -6,18 +6,19 @@
|
|
|
6
6
|
|
|
7
7
|
// Provides (optional) base class for all renderers
|
|
8
8
|
sap.ui.define([
|
|
9
|
+
"sap/base/Log",
|
|
9
10
|
"sap/base/util/isPlainObject",
|
|
10
11
|
"sap/base/util/ObjectPath",
|
|
11
12
|
"sap/base/assert",
|
|
12
13
|
"sap/base/util/extend"
|
|
13
|
-
], function(isPlainObject, ObjectPath, assert, extend) {
|
|
14
|
+
], function(Log, isPlainObject, ObjectPath, assert, extend) {
|
|
14
15
|
"use strict";
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* @classdesc Base Class for a Renderer.
|
|
18
19
|
*
|
|
19
20
|
* @author SAP SE
|
|
20
|
-
* @version 1.
|
|
21
|
+
* @version 1.96.2
|
|
21
22
|
* @namespace
|
|
22
23
|
* @public
|
|
23
24
|
* @alias sap.ui.core.Renderer
|
|
@@ -218,8 +219,17 @@ sap.ui.define([
|
|
|
218
219
|
*/
|
|
219
220
|
Renderer.getTextAlign = function(oTextAlign, oTextDirection) {
|
|
220
221
|
// lazy require sap.ui.core library
|
|
222
|
+
sapUiCore = sap.ui.require("sap/ui/core/library");
|
|
223
|
+
|
|
221
224
|
if (!sapUiCore) {
|
|
222
|
-
|
|
225
|
+
Log.warning("Synchronous loading of a library.js. Ensure that 'sap/ui/core/library.js' is loaded" +
|
|
226
|
+
" before sap.ui.core.Renderer#getTextAlign is called.", "SyncXHR", null, function() {
|
|
227
|
+
return {
|
|
228
|
+
type: "SyncXHR",
|
|
229
|
+
name: "renderer-getTextAlign"
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
sapUiCore = sap.ui.requireSync("sap/ui/core/library"); // legacy-relevant: core/library.js available via dependency in most cases
|
|
223
233
|
}
|
|
224
234
|
|
|
225
235
|
// create shortcuts for enums from sap.ui.core library
|
|
@@ -44,7 +44,7 @@ sap.ui.define([
|
|
|
44
44
|
* The ScrollBar control can be used for virtual scrolling of a certain area.
|
|
45
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.
|
|
46
46
|
* @extends sap.ui.core.Control
|
|
47
|
-
* @version 1.
|
|
47
|
+
* @version 1.96.2
|
|
48
48
|
*
|
|
49
49
|
* @public
|
|
50
50
|
* @deprecated as of version 1.56
|
|
@@ -148,7 +148,7 @@ sap.ui.define([
|
|
|
148
148
|
this._iMaxContentDivSize = 1000000; // small value that all browsers still can render without any problems
|
|
149
149
|
|
|
150
150
|
if (EventSimulation.touchEventMode === "ON") {
|
|
151
|
-
sap.ui.requireSync("sap/ui/thirdparty/zyngascroll");
|
|
151
|
+
sap.ui.requireSync("sap/ui/thirdparty/zyngascroll"); // legacy-relevant: sap.ui.core.ScrollBar is deprecated
|
|
152
152
|
|
|
153
153
|
// Remember last touch scroller position to prevent unneeded rendering
|
|
154
154
|
this._iLastTouchScrollerPosition = null;
|