@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
|
@@ -9,7 +9,6 @@ sap.ui.define([
|
|
|
9
9
|
'sap/ui/base/ManagedObject',
|
|
10
10
|
'./Control',
|
|
11
11
|
'./Component',
|
|
12
|
-
'./Core',
|
|
13
12
|
'./library',
|
|
14
13
|
"./ComponentContainerRenderer",
|
|
15
14
|
"sap/base/Log"
|
|
@@ -18,7 +17,6 @@ sap.ui.define([
|
|
|
18
17
|
ManagedObject,
|
|
19
18
|
Control,
|
|
20
19
|
Component,
|
|
21
|
-
Core,
|
|
22
20
|
library,
|
|
23
21
|
ComponentContainerRenderer,
|
|
24
22
|
Log
|
|
@@ -61,7 +59,7 @@ sap.ui.define([
|
|
|
61
59
|
* See also {@link module:sap/ui/core/ComponentSupport}.
|
|
62
60
|
*
|
|
63
61
|
* @extends sap.ui.core.Control
|
|
64
|
-
* @version 1.
|
|
62
|
+
* @version 1.96.2
|
|
65
63
|
*
|
|
66
64
|
* @public
|
|
67
65
|
* @alias sap.ui.core.ComponentContainer
|
|
@@ -220,7 +218,7 @@ sap.ui.define([
|
|
|
220
218
|
*/
|
|
221
219
|
function setContainerComponent(oComponentContainer, vComponent, bSuppressInvalidate, bDestroyOldComponent) {
|
|
222
220
|
// find the reference to the current component and to the old component
|
|
223
|
-
var oComponent = typeof vComponent === "string" ?
|
|
221
|
+
var oComponent = typeof vComponent === "string" ? Component.get(vComponent) : vComponent;
|
|
224
222
|
var oOldComponent = oComponentContainer.getComponentInstance();
|
|
225
223
|
// if there is no difference between the old and the new component just skip this setter
|
|
226
224
|
if (oOldComponent !== oComponent) {
|
|
@@ -252,7 +250,7 @@ sap.ui.define([
|
|
|
252
250
|
*/
|
|
253
251
|
ComponentContainer.prototype.getComponentInstance = function () {
|
|
254
252
|
var sComponentId = this.getComponent();
|
|
255
|
-
return sComponentId &&
|
|
253
|
+
return sComponentId && Component.get(sComponentId);
|
|
256
254
|
};
|
|
257
255
|
|
|
258
256
|
// Delegate registered by the ComponentContainer#showPlaceholder function
|
|
@@ -270,27 +268,45 @@ sap.ui.define([
|
|
|
270
268
|
*
|
|
271
269
|
* @param {object} mSettings Object containing the placeholder object
|
|
272
270
|
* @param {sap.ui.core.Placeholder} mSettings.placeholder The placeholder instance
|
|
273
|
-
* @
|
|
271
|
+
* @return {Promise} Promise that resolves with the placeholder
|
|
272
|
+
*
|
|
273
|
+
* @private
|
|
274
|
+
* @ui5-restricted SAPUI5 Distribution libraries only
|
|
274
275
|
* @since 1.91
|
|
275
276
|
*/
|
|
276
277
|
ComponentContainer.prototype.showPlaceholder = function(mSettings) {
|
|
278
|
+
var pLoaded;
|
|
279
|
+
|
|
280
|
+
if (!sap.ui.getCore().getConfiguration().getPlaceholder()) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
|
|
277
284
|
if (this._placeholder) {
|
|
278
285
|
this.hidePlaceholder();
|
|
279
286
|
}
|
|
280
287
|
|
|
281
|
-
if (
|
|
288
|
+
if (mSettings.placeholder) {
|
|
282
289
|
this._placeholder = mSettings.placeholder;
|
|
290
|
+
pLoaded = this._placeholder._load();
|
|
291
|
+
} else {
|
|
292
|
+
pLoaded = Promise.resolve();
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
if (this.getDomRef() && this._placeholder) {
|
|
283
296
|
this._placeholder.show(this);
|
|
284
297
|
}
|
|
285
298
|
|
|
286
299
|
// Add an event delegate to reinsert the placeholder after it's removed after a rerendering
|
|
287
300
|
this.addEventDelegate(oPlaceholderDelegate, this);
|
|
301
|
+
|
|
302
|
+
return pLoaded;
|
|
288
303
|
};
|
|
289
304
|
|
|
290
305
|
/**
|
|
291
306
|
* Hides the placeholder that is shown on the component container.
|
|
292
307
|
*
|
|
293
|
-
* @
|
|
308
|
+
* @private
|
|
309
|
+
* @ui5-restricted SAP internal apps
|
|
294
310
|
* @since 1.91
|
|
295
311
|
*/
|
|
296
312
|
ComponentContainer.prototype.hidePlaceholder = function() {
|
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
* @public
|
|
37
37
|
* @class
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.
|
|
39
|
+
* @version 1.96.2
|
|
40
40
|
* @since 1.9.2
|
|
41
41
|
* @alias sap.ui.core.ComponentMetadata
|
|
42
42
|
* @extends sap.ui.base.ManagedObjectMetadata
|
|
@@ -540,10 +540,21 @@ sap.ui.define([
|
|
|
540
540
|
*
|
|
541
541
|
* @return {string[]} Included files.
|
|
542
542
|
* @public
|
|
543
|
-
* @deprecated Since 1.27.1.
|
|
543
|
+
* @deprecated Since 1.27.1. For CSS, please use {@link sap.ui.core.Component#getManifestEntry}("/sap.ui5/resources/css").
|
|
544
544
|
*/
|
|
545
545
|
ComponentMetadata.prototype.getIncludes = function() {
|
|
546
|
-
|
|
546
|
+
Log.warning(
|
|
547
|
+
"Usage of sap.ui.core.ComponentMetadata.protoype.getIncludes() is deprecated. " +
|
|
548
|
+
"For CSS files, please use the '/sap.ui5/resources/css' section in your 'manifest.json'. ",
|
|
549
|
+
"Deprecation",
|
|
550
|
+
null,
|
|
551
|
+
function() {
|
|
552
|
+
return {
|
|
553
|
+
type: "sap.ui.core.ComponentMetadata",
|
|
554
|
+
name: this.getName()
|
|
555
|
+
};
|
|
556
|
+
}.bind(this));
|
|
557
|
+
|
|
547
558
|
if (!this._aLegacyIncludes) {
|
|
548
559
|
var aIncludes = [],
|
|
549
560
|
mResources = this.getManifestEntry("/sap.ui5/resources") || {},
|
|
@@ -37,9 +37,6 @@ sap.ui.define([
|
|
|
37
37
|
) {
|
|
38
38
|
"use strict";
|
|
39
39
|
|
|
40
|
-
// lazy dependencies. Can't be declared as this would result in cyclic dependencies
|
|
41
|
-
var LocaleData;
|
|
42
|
-
|
|
43
40
|
/**
|
|
44
41
|
* Creates a new Configuration object.
|
|
45
42
|
*
|
|
@@ -99,7 +96,7 @@ sap.ui.define([
|
|
|
99
96
|
}
|
|
100
97
|
|
|
101
98
|
// Definition of supported settings
|
|
102
|
-
// Valid property types are: string, boolean, string[], code, object, function.
|
|
99
|
+
// Valid property types are: string, boolean, string[], code, object, function, function[].
|
|
103
100
|
// Objects as an enumeration list of valid values can also be provided (e.g. Configuration.AnimationMode).
|
|
104
101
|
var M_SETTINGS = {
|
|
105
102
|
"theme" : { type : "string", defaultValue : "base" },
|
|
@@ -141,6 +138,8 @@ sap.ui.define([
|
|
|
141
138
|
"support" : { type : "string[]", defaultValue : null },
|
|
142
139
|
"testRecorder" : { type : "string[]", defaultValue : null },
|
|
143
140
|
"activeTerminologies" : { type : "string[]", defaultValue: undefined},
|
|
141
|
+
"securityTokenHandlers" : { type : "function[]", defaultValue: [], noUrl: true },
|
|
142
|
+
"xx-placeholder" : { type : "boolean", defaultValue : true },
|
|
144
143
|
"xx-rootComponentNode" : { type : "string", defaultValue : "", noUrl:true },
|
|
145
144
|
"xx-appCacheBusterMode" : { type : "string", defaultValue : "sync" },
|
|
146
145
|
"xx-appCacheBusterHooks": { type : "object", defaultValue : undefined, noUrl:true }, // e.g.: { handleURL: fn, onIndexLoad: fn, onIndexLoaded: fn }
|
|
@@ -187,40 +186,48 @@ sap.ui.define([
|
|
|
187
186
|
var config = this;
|
|
188
187
|
/*eslint-enable consistent-this */
|
|
189
188
|
|
|
190
|
-
function setValue(sName,
|
|
191
|
-
if ( typeof
|
|
189
|
+
function setValue(sName, vValue) {
|
|
190
|
+
if ( typeof vValue === "undefined" || vValue === null ) {
|
|
192
191
|
return;
|
|
193
192
|
}
|
|
194
193
|
switch (M_SETTINGS[sName].type) {
|
|
195
194
|
case "boolean":
|
|
196
|
-
if ( typeof
|
|
195
|
+
if ( typeof vValue === "string" ) {
|
|
197
196
|
if (M_SETTINGS[sName].defaultValue) {
|
|
198
|
-
config[sName] =
|
|
197
|
+
config[sName] = vValue.toLowerCase() != "false";
|
|
199
198
|
} else {
|
|
200
|
-
config[sName] =
|
|
199
|
+
config[sName] = vValue.toLowerCase() === "true" || vValue.toLowerCase() === "x";
|
|
201
200
|
}
|
|
202
201
|
} else {
|
|
203
202
|
// boolean etc.
|
|
204
|
-
config[sName] = !!
|
|
203
|
+
config[sName] = !!vValue;
|
|
205
204
|
}
|
|
206
205
|
break;
|
|
207
206
|
case "string":
|
|
208
|
-
config[sName] = "" +
|
|
207
|
+
config[sName] = "" + vValue; // enforce string
|
|
209
208
|
break;
|
|
210
209
|
case "code":
|
|
211
|
-
config[sName] = typeof
|
|
210
|
+
config[sName] = typeof vValue === "function" ? vValue : String(vValue);
|
|
212
211
|
break;
|
|
213
212
|
case "function":
|
|
214
|
-
if ( typeof
|
|
213
|
+
if ( typeof vValue !== "function" ) {
|
|
215
214
|
throw new Error("unsupported value");
|
|
216
215
|
}
|
|
217
|
-
config[sName] =
|
|
216
|
+
config[sName] = vValue;
|
|
217
|
+
break;
|
|
218
|
+
case "function[]":
|
|
219
|
+
vValue.forEach(function(fnFunction) {
|
|
220
|
+
if ( typeof fnFunction !== "function" ) {
|
|
221
|
+
throw new Error("Not a function: " + fnFunction);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
config[sName] = vValue.slice();
|
|
218
225
|
break;
|
|
219
226
|
case "string[]":
|
|
220
|
-
if ( Array.isArray(
|
|
221
|
-
config[sName] =
|
|
222
|
-
} else if ( typeof
|
|
223
|
-
config[sName] =
|
|
227
|
+
if ( Array.isArray(vValue) ) {
|
|
228
|
+
config[sName] = vValue;
|
|
229
|
+
} else if ( typeof vValue === "string" ) {
|
|
230
|
+
config[sName] = vValue.split(/[ ,;]/).map(function(s) {
|
|
224
231
|
return s.trim();
|
|
225
232
|
});
|
|
226
233
|
} else {
|
|
@@ -228,13 +235,13 @@ sap.ui.define([
|
|
|
228
235
|
}
|
|
229
236
|
break;
|
|
230
237
|
case "object":
|
|
231
|
-
if ( typeof
|
|
238
|
+
if ( typeof vValue !== "object" ) {
|
|
232
239
|
throw new Error("unsupported value");
|
|
233
240
|
}
|
|
234
|
-
config[sName] =
|
|
241
|
+
config[sName] = vValue;
|
|
235
242
|
break;
|
|
236
243
|
case "Locale":
|
|
237
|
-
var oLocale = convertToLocaleOrNull(
|
|
244
|
+
var oLocale = convertToLocaleOrNull(vValue);
|
|
238
245
|
if ( oLocale || M_SETTINGS[sName].defaultValue == null ) {
|
|
239
246
|
config[sName] = oLocale;
|
|
240
247
|
} else {
|
|
@@ -245,8 +252,8 @@ sap.ui.define([
|
|
|
245
252
|
// When the type is none of the above types, check if an object as enum is provided to validate the value.
|
|
246
253
|
var vType = M_SETTINGS[sName].type;
|
|
247
254
|
if (typeof vType === "object") {
|
|
248
|
-
checkEnum(vType,
|
|
249
|
-
config[sName] =
|
|
255
|
+
checkEnum(vType, vValue, sName);
|
|
256
|
+
config[sName] = vValue;
|
|
250
257
|
} else {
|
|
251
258
|
throw new Error("illegal state");
|
|
252
259
|
}
|
|
@@ -598,6 +605,10 @@ sap.ui.define([
|
|
|
598
605
|
return this.theme;
|
|
599
606
|
},
|
|
600
607
|
|
|
608
|
+
getPlaceholder : function() {
|
|
609
|
+
return this["xx-placeholder"];
|
|
610
|
+
},
|
|
611
|
+
|
|
601
612
|
/**
|
|
602
613
|
* Allows setting the theme name
|
|
603
614
|
* @param {string} sTheme the theme name
|
|
@@ -860,11 +871,6 @@ sap.ui.define([
|
|
|
860
871
|
getCalendarType : function() {
|
|
861
872
|
var sName;
|
|
862
873
|
|
|
863
|
-
// lazy load of LocaleData to avoid cyclic dependencies
|
|
864
|
-
if ( !LocaleData ) {
|
|
865
|
-
LocaleData = sap.ui.requireSync("sap/ui/core/LocaleData");
|
|
866
|
-
}
|
|
867
|
-
|
|
868
874
|
if (this.calendarType) {
|
|
869
875
|
for (sName in CalendarType) {
|
|
870
876
|
if (sName.toLowerCase() === this.calendarType.toLowerCase()) {
|
|
@@ -896,7 +902,7 @@ sap.ui.define([
|
|
|
896
902
|
return CalendarType.Persian;
|
|
897
903
|
}
|
|
898
904
|
|
|
899
|
-
return
|
|
905
|
+
return this.getLocale().getPreferredCalendarType();
|
|
900
906
|
},
|
|
901
907
|
|
|
902
908
|
/**
|
|
@@ -1216,7 +1222,7 @@ sap.ui.define([
|
|
|
1216
1222
|
*
|
|
1217
1223
|
* @returns {string} name of the application
|
|
1218
1224
|
* @public
|
|
1219
|
-
* @deprecated Since 1.15.1. Please use
|
|
1225
|
+
* @deprecated Since 1.15.1. Please use {@link module:sap/ui/core/ComponentSupport} instead. See also {@link topic:82a0fcecc3cb427c91469bc537ebdddf Declarative API for Initial Components}.
|
|
1220
1226
|
*/
|
|
1221
1227
|
getApplication : function() {
|
|
1222
1228
|
return this.application;
|
|
@@ -1227,7 +1233,7 @@ sap.ui.define([
|
|
|
1227
1233
|
*
|
|
1228
1234
|
* @returns {string} name of the root component
|
|
1229
1235
|
* @public
|
|
1230
|
-
* @
|
|
1236
|
+
* @deprecated Since 1.95. Please use {@link module:sap/ui/core/ComponentSupport} instead. See also {@link topic:82a0fcecc3cb427c91469bc537ebdddf Declarative API for Initial Components}.
|
|
1231
1237
|
*/
|
|
1232
1238
|
getRootComponent : function() {
|
|
1233
1239
|
return this.rootComponent;
|
|
@@ -1520,6 +1526,36 @@ sap.ui.define([
|
|
|
1520
1526
|
return this["activeTerminologies"];
|
|
1521
1527
|
},
|
|
1522
1528
|
|
|
1529
|
+
/**
|
|
1530
|
+
* Returns the security token handlers of an OData V4 model.
|
|
1531
|
+
*
|
|
1532
|
+
* @returns {function[]} the security token handlers (an empty array if there are none)
|
|
1533
|
+
* @public
|
|
1534
|
+
* @since 1.95.0
|
|
1535
|
+
* @see #setSecurityTokenHandlers
|
|
1536
|
+
*/
|
|
1537
|
+
getSecurityTokenHandlers : function () {
|
|
1538
|
+
return this.securityTokenHandlers.slice();
|
|
1539
|
+
},
|
|
1540
|
+
|
|
1541
|
+
/**
|
|
1542
|
+
* Sets the security token handlers for an OData V4 model. See chapter "Security Token
|
|
1543
|
+
* Handling" in
|
|
1544
|
+
* {@link topic:9613f1f2d88747cab21896f7216afdac Model Instantiation and Data Access}.
|
|
1545
|
+
*
|
|
1546
|
+
* @param {function[]} aSecurityTokenHandlers - The security token handlers
|
|
1547
|
+
* @public
|
|
1548
|
+
* @since 1.95.0
|
|
1549
|
+
* @see #getSecurityTokenHandlers
|
|
1550
|
+
*/
|
|
1551
|
+
setSecurityTokenHandlers : function (aSecurityTokenHandlers) {
|
|
1552
|
+
aSecurityTokenHandlers.forEach(function (fnSecurityTokenHandler) {
|
|
1553
|
+
check(typeof fnSecurityTokenHandler === "function",
|
|
1554
|
+
"Not a function: " + fnSecurityTokenHandler);
|
|
1555
|
+
});
|
|
1556
|
+
this.securityTokenHandlers = aSecurityTokenHandlers.slice();
|
|
1557
|
+
},
|
|
1558
|
+
|
|
1523
1559
|
/**
|
|
1524
1560
|
* Applies multiple changes to the configuration at once.
|
|
1525
1561
|
*
|
|
@@ -77,7 +77,7 @@ sap.ui.define([
|
|
|
77
77
|
* @extends sap.ui.core.Element
|
|
78
78
|
* @abstract
|
|
79
79
|
* @author SAP SE
|
|
80
|
-
* @version 1.
|
|
80
|
+
* @version 1.96.2
|
|
81
81
|
* @alias sap.ui.core.Control
|
|
82
82
|
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
83
83
|
*/
|
package/src/sap/ui/core/Core.js
CHANGED
|
@@ -210,7 +210,7 @@ sap.ui.define([
|
|
|
210
210
|
* @extends sap.ui.base.Object
|
|
211
211
|
* @final
|
|
212
212
|
* @author SAP SE
|
|
213
|
-
* @version 1.
|
|
213
|
+
* @version 1.96.2
|
|
214
214
|
* @alias sap.ui.core.Core
|
|
215
215
|
* @public
|
|
216
216
|
* @hideconstructor
|
|
@@ -589,7 +589,7 @@ sap.ui.define([
|
|
|
589
589
|
oSyncPoint2.finishTask(iLoadACBTask);
|
|
590
590
|
});
|
|
591
591
|
} else {
|
|
592
|
-
var AppCacheBuster = sap.ui.requireSync('sap/ui/core/AppCacheBuster');
|
|
592
|
+
var AppCacheBuster = sap.ui.requireSync('sap/ui/core/AppCacheBuster'); // legacy-relevant: Synchronous path
|
|
593
593
|
AppCacheBuster.boot(oSyncPoint2);
|
|
594
594
|
}
|
|
595
595
|
}
|
|
@@ -618,8 +618,8 @@ sap.ui.define([
|
|
|
618
618
|
};
|
|
619
619
|
});
|
|
620
620
|
fnCallbackSupportBootstrapInfo(
|
|
621
|
-
sap.ui.requireSync("sap/ui/core/support/Support"),
|
|
622
|
-
sap.ui.requireSync("sap/ui/support/Bootstrap")
|
|
621
|
+
sap.ui.requireSync("sap/ui/core/support/Support"), // legacy-relevant: Synchronous path
|
|
622
|
+
sap.ui.requireSync("sap/ui/support/Bootstrap") // legacy-relevant: Synchronous path
|
|
623
623
|
);
|
|
624
624
|
}
|
|
625
625
|
}
|
|
@@ -647,7 +647,7 @@ sap.ui.define([
|
|
|
647
647
|
};
|
|
648
648
|
});
|
|
649
649
|
fnCallbackTestRecorder(
|
|
650
|
-
sap.ui.requireSync("sap/ui/testrecorder/Bootstrap")
|
|
650
|
+
sap.ui.requireSync("sap/ui/testrecorder/Bootstrap") // legacy-relevant: Synchronous preloading
|
|
651
651
|
);
|
|
652
652
|
}
|
|
653
653
|
}
|
|
@@ -893,6 +893,9 @@ sap.ui.define([
|
|
|
893
893
|
this.includeLibraryTheme("sap-ui-merged", undefined, "?l=" + aCSSLibs.join(","));
|
|
894
894
|
}
|
|
895
895
|
|
|
896
|
+
// add CalendarClass to list of modules
|
|
897
|
+
this.oConfiguration.modules.push("sap/ui/core/date/" + this.oConfiguration.getCalendarType());
|
|
898
|
+
|
|
896
899
|
// load all modules now
|
|
897
900
|
if ( bAsync ) {
|
|
898
901
|
return this._requireModulesAsync().then(function() {
|
|
@@ -914,7 +917,7 @@ sap.ui.define([
|
|
|
914
917
|
this.loadLibrary(m[1]);
|
|
915
918
|
} else {
|
|
916
919
|
// data-sap-ui-modules might contain legacy jquery.sap.* modules
|
|
917
|
-
sap.ui.requireSync( /^jquery\.sap\./.test(mod) ? mod : mod.replace(/\./g, "/"));
|
|
920
|
+
sap.ui.requireSync( /^jquery\.sap\./.test(mod) ? mod : mod.replace(/\./g, "/")); // legacy-relevant: Sync loading of modules and libraries
|
|
918
921
|
}
|
|
919
922
|
}.bind(this));
|
|
920
923
|
|
|
@@ -1320,7 +1323,7 @@ sap.ui.define([
|
|
|
1320
1323
|
if (sRootComponent) {
|
|
1321
1324
|
|
|
1322
1325
|
Log.info("Loading Root Component: " + sRootComponent,null,METHOD);
|
|
1323
|
-
var oComponent = sap.ui.component({
|
|
1326
|
+
var oComponent = sap.ui.component({ //legacy-relevant: Deprecated rootComponent API
|
|
1324
1327
|
name: sRootComponent
|
|
1325
1328
|
});
|
|
1326
1329
|
this.oRootComponent = oComponent;
|
|
@@ -1330,7 +1333,7 @@ sap.ui.define([
|
|
|
1330
1333
|
var oRootNode = document.getElementById(sRootNode);
|
|
1331
1334
|
if (oRootNode) {
|
|
1332
1335
|
Log.info("Creating ComponentContainer for Root Component: " + sRootComponent,null,METHOD);
|
|
1333
|
-
var ComponentContainer = sap.ui.requireSync('sap/ui/core/ComponentContainer'),
|
|
1336
|
+
var ComponentContainer = sap.ui.requireSync('sap/ui/core/ComponentContainer'), // legacy-relevant: Deprecated rootComponent API
|
|
1334
1337
|
oContainer = new ComponentContainer({
|
|
1335
1338
|
component: oComponent,
|
|
1336
1339
|
propagateModel: true /* TODO: is this a configuration or do this by default? right now it behaves like the application */
|
|
@@ -1354,7 +1357,7 @@ sap.ui.define([
|
|
|
1354
1357
|
});
|
|
1355
1358
|
|
|
1356
1359
|
Log.info("Loading Application: " + sApplication,null,METHOD);
|
|
1357
|
-
sap.ui.requireSync(sApplication.replace(/\./g, "/"));
|
|
1360
|
+
sap.ui.requireSync(sApplication.replace(/\./g, "/")); // legacy-relevant: deprecated
|
|
1358
1361
|
var oClass = ObjectPath.get(sApplication);
|
|
1359
1362
|
assert(oClass !== undefined, "The specified application \"" + sApplication + "\" could not be found!");
|
|
1360
1363
|
var oApplication = new oClass();
|
|
@@ -1571,12 +1574,14 @@ sap.ui.define([
|
|
|
1571
1574
|
"lib must be a non-empty string or an object with at least a non-empty 'name' property and an optional (boolean) property 'json'" );
|
|
1572
1575
|
|
|
1573
1576
|
var fileTypeSupportedByLib = 'both';
|
|
1577
|
+
var lazy = false;
|
|
1574
1578
|
if ( typeof lib === 'object' ) {
|
|
1575
1579
|
if ( lib.json === true ) {
|
|
1576
1580
|
fileTypeSupportedByLib = 'json';
|
|
1577
1581
|
} else if ( lib.json === false ) {
|
|
1578
1582
|
fileTypeSupportedByLib = 'js';
|
|
1579
1583
|
}
|
|
1584
|
+
lazy = !!lib.lazy;
|
|
1580
1585
|
lib = lib.name;
|
|
1581
1586
|
}
|
|
1582
1587
|
|
|
@@ -1593,7 +1598,8 @@ sap.ui.define([
|
|
|
1593
1598
|
|
|
1594
1599
|
return {
|
|
1595
1600
|
name: lib,
|
|
1596
|
-
fileType: fileType
|
|
1601
|
+
fileType: fileType,
|
|
1602
|
+
lazy: lazy
|
|
1597
1603
|
};
|
|
1598
1604
|
|
|
1599
1605
|
}
|
|
@@ -1630,6 +1636,15 @@ sap.ui.define([
|
|
|
1630
1636
|
return libInfo.promise;
|
|
1631
1637
|
}
|
|
1632
1638
|
|
|
1639
|
+
if ( libConfig.lazy ) {
|
|
1640
|
+
// For selected lazy dependencies, we load a library-preload-lazy module.
|
|
1641
|
+
// Errors are ignored and the promise is not added to the library bookkeeping
|
|
1642
|
+
// (but the loader avoids double loading).
|
|
1643
|
+
Log.debug("Lazy dependency to '" + lib + "' encountered, loading library-preload-lazy.js");
|
|
1644
|
+
return sap.ui.loader._.loadJSResourceAsync(
|
|
1645
|
+
libPackage + '/library-preload-lazy.js', /* ignoreErrors = */ true);
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1633
1648
|
// otherwise mark as pending
|
|
1634
1649
|
libInfo.pending = true;
|
|
1635
1650
|
libInfo.async = true;
|
|
@@ -1662,7 +1677,18 @@ sap.ui.define([
|
|
|
1662
1677
|
oManifest = getManifest(lib);
|
|
1663
1678
|
|
|
1664
1679
|
if ( dependencies && dependencies.length ) {
|
|
1665
|
-
|
|
1680
|
+
var eagerDependencies = dependencies.filter(function(dep) {
|
|
1681
|
+
return typeof dep === "string";
|
|
1682
|
+
});
|
|
1683
|
+
var lazyDependencies = dependencies.filter(function(dep) {
|
|
1684
|
+
return typeof dep !== "string";
|
|
1685
|
+
});
|
|
1686
|
+
eagerDependencies = VersionInfo._getTransitiveDependencyForLibraries(eagerDependencies);
|
|
1687
|
+
|
|
1688
|
+
// combine transitive closure of eager dependencies and direct lazy dependencies,
|
|
1689
|
+
// the latter might be redundant
|
|
1690
|
+
dependencies = eagerDependencies.concat(lazyDependencies);
|
|
1691
|
+
|
|
1666
1692
|
aPromises = dependencies.map(preloadLibraryAsync.bind(that));
|
|
1667
1693
|
}
|
|
1668
1694
|
|
|
@@ -1710,6 +1736,18 @@ sap.ui.define([
|
|
|
1710
1736
|
}
|
|
1711
1737
|
}
|
|
1712
1738
|
|
|
1739
|
+
/**
|
|
1740
|
+
* Set of libraries that provide a bundle info file (library-preload-lazy.js).
|
|
1741
|
+
*
|
|
1742
|
+
* The file will be loaded, when a lazy dependency to the library is encountered.
|
|
1743
|
+
* @private
|
|
1744
|
+
*/
|
|
1745
|
+
var oLibraryWithBundleInfo = new Set([
|
|
1746
|
+
"sap.suite.ui.generic.template",
|
|
1747
|
+
"sap.ui.comp",
|
|
1748
|
+
"sap.ui.layout",
|
|
1749
|
+
"sap.ui.unified"
|
|
1750
|
+
]);
|
|
1713
1751
|
|
|
1714
1752
|
function dependenciesFromManifest(lib) {
|
|
1715
1753
|
|
|
@@ -1721,6 +1759,11 @@ sap.ui.define([
|
|
|
1721
1759
|
return Object.keys(libs).reduce(function(result, dep) {
|
|
1722
1760
|
if ( !libs[dep].lazy ) {
|
|
1723
1761
|
result.push(dep);
|
|
1762
|
+
} else if (oLibraryWithBundleInfo.has(dep)) {
|
|
1763
|
+
result.push({
|
|
1764
|
+
name: dep,
|
|
1765
|
+
lazy: true
|
|
1766
|
+
});
|
|
1724
1767
|
}
|
|
1725
1768
|
return result;
|
|
1726
1769
|
}, []);
|
|
@@ -1823,9 +1866,11 @@ sap.ui.define([
|
|
|
1823
1866
|
return;
|
|
1824
1867
|
}
|
|
1825
1868
|
|
|
1826
|
-
// currently loading
|
|
1827
1869
|
if ( libInfo.pending ) {
|
|
1828
|
-
if (
|
|
1870
|
+
if ( libConfig.lazy ) {
|
|
1871
|
+
// ignore a lazy request when an eager request is already pending
|
|
1872
|
+
return;
|
|
1873
|
+
} else if ( libInfo.async ) {
|
|
1829
1874
|
Log.warning("request to load " + lib + " synchronously while async loading is pending; this causes a duplicate request and should be avoided by caller");
|
|
1830
1875
|
// fall through and preload synchronously
|
|
1831
1876
|
} else {
|
|
@@ -1835,6 +1880,19 @@ sap.ui.define([
|
|
|
1835
1880
|
}
|
|
1836
1881
|
}
|
|
1837
1882
|
|
|
1883
|
+
if ( libConfig.lazy ) {
|
|
1884
|
+
// For selected lazy dependencies, we load a library-preload-lazy module.
|
|
1885
|
+
// Errors are ignored and the library is not marked as pending in the bookkeeping
|
|
1886
|
+
// (but the loader avoids double loading).
|
|
1887
|
+
Log.debug("Lazy dependency to '" + lib + "' encountered, loading library-preload-lazy.js");
|
|
1888
|
+
try {
|
|
1889
|
+
sap.ui.requireSync(libPackage + '/library-preload-lazy');
|
|
1890
|
+
} catch (e) {
|
|
1891
|
+
Log.error("failed to load '" + libPackage + "/library-preload-lazy.js" + "' synchronously (" + (e && e.message || e) + ")");
|
|
1892
|
+
}
|
|
1893
|
+
return;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1838
1896
|
libInfo.pending = true;
|
|
1839
1897
|
libInfo.async = false;
|
|
1840
1898
|
|
|
@@ -1847,7 +1905,7 @@ sap.ui.define([
|
|
|
1847
1905
|
if ( fileType !== 'json' /* 'js' or 'both', not forced to JSON */ ) {
|
|
1848
1906
|
var sPreloadModule = libPackage + '/library-preload';
|
|
1849
1907
|
try {
|
|
1850
|
-
sap.ui.requireSync(sPreloadModule);
|
|
1908
|
+
sap.ui.requireSync(sPreloadModule); // legacy-relevant: Synchronous preloading
|
|
1851
1909
|
dependencies = dependenciesFromManifest(lib);
|
|
1852
1910
|
} catch (e) {
|
|
1853
1911
|
Log.error("failed to load '" + sPreloadModule + "' (" + (e && e.message || e) + ")");
|
|
@@ -1977,11 +2035,11 @@ sap.ui.define([
|
|
|
1977
2035
|
* });
|
|
1978
2036
|
* </pre>
|
|
1979
2037
|
*
|
|
1980
|
-
* @param {string} sLibrary
|
|
2038
|
+
* @param {string} sLibrary Name of the library to load
|
|
1981
2039
|
* @param {string|boolean|object} [vUrl] URL to load the library from or the async flag or a complex configuration object
|
|
1982
|
-
* @param {string} [vUrl.url] URL to load the library from
|
|
1983
2040
|
* @param {boolean} [vUrl.async] Whether to load the library asynchronously
|
|
1984
|
-
* @
|
|
2041
|
+
* @param {string} [vUrl.url] URL to load the library from
|
|
2042
|
+
* @returns {object|Promise<object>} An info object for the library (sync) or a Promise on it (async).
|
|
1985
2043
|
* @public
|
|
1986
2044
|
*/
|
|
1987
2045
|
Core.prototype.loadLibrary = function(sLibrary, vUrl) {
|
|
@@ -2000,7 +2058,9 @@ sap.ui.define([
|
|
|
2000
2058
|
if ( vUrl.url && mLibraryPreloadBundles[sLibrary] == null ) { // only if lib has not been loaded yet
|
|
2001
2059
|
registerModulePath(sLibrary, vUrl.url);
|
|
2002
2060
|
}
|
|
2003
|
-
return this.loadLibraries([sLibrary])
|
|
2061
|
+
return this.loadLibraries([sLibrary]).then(function() {
|
|
2062
|
+
return this.mLibraries[sLibrary];
|
|
2063
|
+
}.bind(this));
|
|
2004
2064
|
}
|
|
2005
2065
|
vUrl = vUrl.url;
|
|
2006
2066
|
}
|
|
@@ -2020,7 +2080,7 @@ sap.ui.define([
|
|
|
2020
2080
|
}
|
|
2021
2081
|
|
|
2022
2082
|
// require the library module (which in turn will call initLibrary())
|
|
2023
|
-
sap.ui.requireSync(sModule.replace(/\./g, "/"));
|
|
2083
|
+
sap.ui.requireSync(sModule.replace(/\./g, "/")); // legacy-relevant
|
|
2024
2084
|
|
|
2025
2085
|
// check for legacy code
|
|
2026
2086
|
if ( !mLoadedLibraries[sLibrary] ) {
|
|
@@ -2091,7 +2151,7 @@ sap.ui.define([
|
|
|
2091
2151
|
}
|
|
2092
2152
|
|
|
2093
2153
|
function requireLibsSync() {
|
|
2094
|
-
getLibraryModuleNames().forEach(sap.ui.requireSync);
|
|
2154
|
+
getLibraryModuleNames().forEach(sap.ui.requireSync); // legacy-relevant: Sync path
|
|
2095
2155
|
}
|
|
2096
2156
|
|
|
2097
2157
|
if ( bAsync ) {
|
|
@@ -2137,6 +2197,8 @@ sap.ui.define([
|
|
|
2137
2197
|
* @param {string} [sId] the ID for the component instance
|
|
2138
2198
|
* @param {object} [mSettings] the settings object for the component
|
|
2139
2199
|
* @public
|
|
2200
|
+
* @returns {sap.ui.core.Component} the created Component instance
|
|
2201
|
+
* @deprecated Since 1.95. Please use {@link sap.ui.core.Component.create Component.create} instead.
|
|
2140
2202
|
*/
|
|
2141
2203
|
Core.prototype.createComponent = function(vComponent, sUrl, sId, mSettings) {
|
|
2142
2204
|
|
|
@@ -2166,7 +2228,7 @@ sap.ui.define([
|
|
|
2166
2228
|
}
|
|
2167
2229
|
|
|
2168
2230
|
// use deprecated factory for sync use case or when legacy options are used
|
|
2169
|
-
return sap.ui.component(vComponent);
|
|
2231
|
+
return sap.ui.component(vComponent); // legacy-relevant
|
|
2170
2232
|
|
|
2171
2233
|
};
|
|
2172
2234
|
|
|
@@ -2175,6 +2237,7 @@ sap.ui.define([
|
|
|
2175
2237
|
*
|
|
2176
2238
|
* @return {sap.ui.core.Component} instance of the current root component
|
|
2177
2239
|
* @public
|
|
2240
|
+
* @deprecated Since 1.95. Please use {@link module:sap/ui/core/ComponentSupport} instead. See also {@link topic:82a0fcecc3cb427c91469bc537ebdddf Declarative API for Initial Components}.
|
|
2178
2241
|
*/
|
|
2179
2242
|
Core.prototype.getRootComponent = function() {
|
|
2180
2243
|
return this.oRootComponent;
|
|
@@ -2330,7 +2393,7 @@ sap.ui.define([
|
|
|
2330
2393
|
Log.debug("resolve Dependencies to " + sDepLib, null, METHOD);
|
|
2331
2394
|
if ( mLoadedLibraries[sDepLib] !== true ) {
|
|
2332
2395
|
Log.warning("Dependency from " + sLibName + " to " + sDepLib + " has not been resolved by library itself", null, METHOD);
|
|
2333
|
-
this.loadLibrary(sDepLib);
|
|
2396
|
+
this.loadLibrary(sDepLib); // legacy-relevant: Sync fallback for missing manifest/AMD dependencies
|
|
2334
2397
|
}
|
|
2335
2398
|
}
|
|
2336
2399
|
|
|
@@ -3307,6 +3370,7 @@ sap.ui.define([
|
|
|
3307
3370
|
* @return {sap.ui.core.Component} the component for the given id
|
|
3308
3371
|
* @function
|
|
3309
3372
|
* @public
|
|
3373
|
+
* @deprecated Since 1.95. Please use {@link sap.ui.core.Component.get Component.get} instead.
|
|
3310
3374
|
*/
|
|
3311
3375
|
Core.prototype.getComponent = Component.registry.get;
|
|
3312
3376
|
|
|
@@ -3325,7 +3389,7 @@ sap.ui.define([
|
|
|
3325
3389
|
name: "Core.prototype.getTemplate"
|
|
3326
3390
|
};
|
|
3327
3391
|
});
|
|
3328
|
-
var Template = sap.ui.requireSync('sap/ui/core/tmpl/Template');
|
|
3392
|
+
var Template = sap.ui.requireSync('sap/ui/core/tmpl/Template'); // legacy-relevant
|
|
3329
3393
|
return Template.byId(sId);
|
|
3330
3394
|
};
|
|
3331
3395
|
|
|
@@ -3407,8 +3471,22 @@ sap.ui.define([
|
|
|
3407
3471
|
* @public
|
|
3408
3472
|
*/
|
|
3409
3473
|
Core.prototype.attachIntervalTimer = function(fnFunction, oListener) {
|
|
3474
|
+
Log.warning(
|
|
3475
|
+
"Usage of sap.ui.getCore().attachIntervalTimer() is deprecated. " +
|
|
3476
|
+
"Please use 'IntervalTrigger.addListener()' from 'sap/ui/core/IntervalTrigger' module instead.",
|
|
3477
|
+
"Deprecation",
|
|
3478
|
+
null,
|
|
3479
|
+
function() {
|
|
3480
|
+
return {
|
|
3481
|
+
type: "sap.ui.core.Core",
|
|
3482
|
+
name: "Core"
|
|
3483
|
+
};
|
|
3484
|
+
});
|
|
3485
|
+
|
|
3410
3486
|
if (!oIntervalTrigger) {
|
|
3411
|
-
|
|
3487
|
+
// IntervalTrigger should be available via transitive dependency (sap/ui/core/ResizeHandler)
|
|
3488
|
+
oIntervalTrigger = sap.ui.require("sap/ui/core/IntervalTrigger") ||
|
|
3489
|
+
sap.ui.requireSync("sap/ui/core/IntervalTrigger"); // legacy-relevant: Sync fallback;
|
|
3412
3490
|
}
|
|
3413
3491
|
oIntervalTrigger.addListener(fnFunction, oListener);
|
|
3414
3492
|
};
|
|
@@ -3752,7 +3830,7 @@ sap.ui.define([
|
|
|
3752
3830
|
name: "core-eventbus"
|
|
3753
3831
|
};
|
|
3754
3832
|
});
|
|
3755
|
-
EventBus = sap.ui.requireSync('sap/ui/core/EventBus');
|
|
3833
|
+
EventBus = sap.ui.requireSync('sap/ui/core/EventBus'); // legacy-relevant: fallback for missing dependency
|
|
3756
3834
|
}
|
|
3757
3835
|
var oEventBus = this.oEventBus = new EventBus();
|
|
3758
3836
|
this._preserveHandler = function(event) {
|