@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
package/src/sap/ui/Device.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* This API is independent from any other part of the UI5 framework. This allows it to be loaded beforehand, if it is needed, to create the UI5 bootstrap
|
|
12
12
|
* dynamically depending on the capabilities of the browser or device.
|
|
13
13
|
*
|
|
14
|
-
* @version 1.
|
|
14
|
+
* @version 1.96.2
|
|
15
15
|
* @namespace
|
|
16
16
|
* @name sap.ui.Device
|
|
17
17
|
* @public
|
|
@@ -32,7 +32,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
32
32
|
|
|
33
33
|
//Skip initialization if API is already available
|
|
34
34
|
if (typeof window.sap.ui.Device === "object" || typeof window.sap.ui.Device === "function") {
|
|
35
|
-
var apiVersion = "1.
|
|
35
|
+
var apiVersion = "1.96.2";
|
|
36
36
|
window.sap.ui.Device._checkAPIVersion(apiVersion);
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
@@ -105,7 +105,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
105
105
|
|
|
106
106
|
//Only used internal to make clear when Device API is loaded in wrong version
|
|
107
107
|
Device._checkAPIVersion = function(sVersion) {
|
|
108
|
-
var v = "1.
|
|
108
|
+
var v = "1.96.2";
|
|
109
109
|
if (v != sVersion) {
|
|
110
110
|
oLogger.log(WARNING, "Device API version differs: " + v + " <-> " + sVersion);
|
|
111
111
|
}
|
|
@@ -325,14 +325,18 @@ if (typeof window.sap.ui !== "object") {
|
|
|
325
325
|
var rVersion = /Windows NT (\d+).(\d)/i;
|
|
326
326
|
var uaResult = userAgent.match(rVersion);
|
|
327
327
|
var sVersionStr = "";
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
328
|
+
// Using Lighthouse tool within chrome on windows does not provide a valid userAgent
|
|
329
|
+
// navigator.platform is 'Win' but navigator.userAgent indicates macOS
|
|
330
|
+
if (uaResult) {
|
|
331
|
+
if (uaResult[1] == "6") {
|
|
332
|
+
if (uaResult[2] == 1) {
|
|
333
|
+
sVersionStr = "7";
|
|
334
|
+
} else if (uaResult[2] > 1) {
|
|
335
|
+
sVersionStr = "8";
|
|
336
|
+
}
|
|
337
|
+
} else {
|
|
338
|
+
sVersionStr = uaResult[1];
|
|
333
339
|
}
|
|
334
|
-
} else {
|
|
335
|
-
sVersionStr = uaResult[1];
|
|
336
340
|
}
|
|
337
341
|
return {
|
|
338
342
|
"name": OS.WINDOWS,
|
|
@@ -1479,10 +1483,11 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1479
1483
|
/**
|
|
1480
1484
|
* Provides a basic categorization of the used device based on various indicators.
|
|
1481
1485
|
*
|
|
1482
|
-
* These indicators are for example the support of touch events, the
|
|
1483
|
-
* the user agent of the browser.
|
|
1486
|
+
* These indicators are, for example, the support of touch events, the used operating system, and the user agent of the browser.
|
|
1484
1487
|
*
|
|
1485
|
-
* <b>Note:</b>
|
|
1488
|
+
* <b>Note:</b> There is no easy way to precisely determine the used device from the information provided by the browser. We therefore rely especially on the user agent.
|
|
1489
|
+
* In combination with given device capabilities, it is therefore possible that multiple flags are set to <code>true</code>.
|
|
1490
|
+
* This is mostly the case for desktop devices with touch capability, and for mobile devices requesting web pages as desktop pages.
|
|
1486
1491
|
*
|
|
1487
1492
|
* @namespace
|
|
1488
1493
|
* @name sap.ui.Device.system
|
|
@@ -1493,8 +1498,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1493
1498
|
*
|
|
1494
1499
|
* Furthermore, a CSS class <code>sap-tablet</code> is added to the document root element.
|
|
1495
1500
|
*
|
|
1496
|
-
* <b>Note:</b> This flag is also true for some browsers on desktop devices
|
|
1497
|
-
* documentation for {@link sap.ui.Device.system.combi} devices.
|
|
1501
|
+
* <b>Note:</b> This flag is also <code>true</code> for some browsers running on desktop devices. See the documentation for {@link sap.ui.Device.system.combi} devices.
|
|
1498
1502
|
* You can use the following logic to ensure that the current device is a tablet device:
|
|
1499
1503
|
*
|
|
1500
1504
|
* <pre>
|
|
@@ -1512,6 +1516,10 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1512
1516
|
*
|
|
1513
1517
|
* Furthermore, a CSS class <code>sap-phone</code> is added to the document root element.
|
|
1514
1518
|
*
|
|
1519
|
+
* <b>Note:</b> In case a phone requests a web page as a "Desktop Page", it is possible
|
|
1520
|
+
* that all properties except <code>Device.system.phone</code> are set to <code>true</code>.
|
|
1521
|
+
* In this case it is not possible to differentiate between tablet and phone relying on the user agent.
|
|
1522
|
+
*
|
|
1515
1523
|
* @name sap.ui.Device.system.phone
|
|
1516
1524
|
* @type boolean
|
|
1517
1525
|
* @public
|
|
@@ -1521,6 +1529,10 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1521
1529
|
*
|
|
1522
1530
|
* Furthermore, a CSS class <code>sap-desktop</code> is added to the document root element.
|
|
1523
1531
|
*
|
|
1532
|
+
* <b>Note:</b> This flag is by default also true for Safari on iPads running on iOS 13 or higher.
|
|
1533
|
+
* The end user can change this behavior by disabling "Request Desktop Website -> All websites" within the iOS settings.
|
|
1534
|
+
* See also the documentation for {@link sap.ui.Device.system.combi} devices.
|
|
1535
|
+
*
|
|
1524
1536
|
* @name sap.ui.Device.system.desktop
|
|
1525
1537
|
* @type boolean
|
|
1526
1538
|
* @public
|
|
@@ -1530,8 +1542,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1530
1542
|
*
|
|
1531
1543
|
* Furthermore, a CSS class <code>sap-combi</code> is added to the document root element.
|
|
1532
1544
|
*
|
|
1533
|
-
* <b>Note:</b> This property is
|
|
1534
|
-
* natively by the browser being used. This property is set to <code>true</code> only when both mouse and touch event are natively supported.
|
|
1545
|
+
* <b>Note:</b> This property is set to <code>true</code> only when both a desktop and a mobile device is detected.
|
|
1535
1546
|
*
|
|
1536
1547
|
* @name sap.ui.Device.system.combi
|
|
1537
1548
|
* @type boolean
|
|
@@ -1554,15 +1565,13 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1554
1565
|
|
|
1555
1566
|
Device.system = {};
|
|
1556
1567
|
|
|
1557
|
-
function getSystem(
|
|
1558
|
-
var bTabletDetected = isTablet(customUA);
|
|
1559
|
-
var isWin8Upwards = Device.os.windows && Device.os.version >= 8;
|
|
1560
|
-
var isWin7 = Device.os.windows && Device.os.version === 7;
|
|
1568
|
+
function getSystem(customUA) {
|
|
1569
|
+
var bTabletDetected = !!isTablet(customUA);
|
|
1561
1570
|
|
|
1562
1571
|
var oSystem = {};
|
|
1563
|
-
oSystem.tablet =
|
|
1564
|
-
oSystem.phone =
|
|
1565
|
-
oSystem.desktop = !!((!oSystem.tablet && !oSystem.phone) ||
|
|
1572
|
+
oSystem.tablet = bTabletDetected;
|
|
1573
|
+
oSystem.phone = Device.support.touch && !bTabletDetected;
|
|
1574
|
+
oSystem.desktop = !!((!oSystem.tablet && !oSystem.phone) || Device.os.windows || Device.os.linux || Device.os.macintosh);
|
|
1566
1575
|
oSystem.combi = oSystem.desktop && oSystem.tablet;
|
|
1567
1576
|
oSystem.SYSTEMTYPE = SYSTEMTYPE;
|
|
1568
1577
|
|
|
@@ -1576,7 +1585,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1576
1585
|
var sUserAgent = customUA || navigator.userAgent;
|
|
1577
1586
|
if (Device.os.ios) {
|
|
1578
1587
|
return /ipad/i.test(sUserAgent);
|
|
1579
|
-
} else if (Device.os.macintosh || Device.os.linux) {
|
|
1588
|
+
} else if (Device.os.windows || Device.os.macintosh || Device.os.linux) {
|
|
1580
1589
|
// For iOS:
|
|
1581
1590
|
// With iOS 13 the string 'iPad' was removed from the user agent string through a browser setting, which is applied on all sites by default:
|
|
1582
1591
|
// "Request Desktop Website -> All websites" (for more infos see: https://forums.developer.apple.com/thread/119186).
|
|
@@ -1588,11 +1597,7 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1588
1597
|
return Device.support.touch;
|
|
1589
1598
|
} else {
|
|
1590
1599
|
//in real mobile device
|
|
1591
|
-
if (Device.support.touch) {
|
|
1592
|
-
if (Device.os.windows && Device.os.version >= 8) {
|
|
1593
|
-
return true;
|
|
1594
|
-
}
|
|
1595
|
-
|
|
1600
|
+
if (Device.support.touch) { // eslint-disable-line no-lonely-if
|
|
1596
1601
|
if (Device.browser.chrome && Device.os.android && Device.os.version >= 4.4) {
|
|
1597
1602
|
// From Android version 4.4, WebView also uses Chrome as Kernel.
|
|
1598
1603
|
// We can use the user agent pattern defined in Chrome to do phone/tablet detection
|
|
@@ -1641,8 +1646,8 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1641
1646
|
}
|
|
1642
1647
|
}
|
|
1643
1648
|
|
|
1644
|
-
function setSystem(
|
|
1645
|
-
Device.system = getSystem(
|
|
1649
|
+
function setSystem(customUA) {
|
|
1650
|
+
Device.system = getSystem(customUA);
|
|
1646
1651
|
if (Device.system.tablet || Device.system.phone) {
|
|
1647
1652
|
Device.browser.mobile = true;
|
|
1648
1653
|
}
|
|
@@ -1951,16 +1956,6 @@ if (typeof window.sap.ui !== "object") {
|
|
|
1951
1956
|
iClearFlagTimeout = null;
|
|
1952
1957
|
}
|
|
1953
1958
|
|
|
1954
|
-
//******** Update browser settings for test purposes ********
|
|
1955
|
-
|
|
1956
|
-
Device._update = function(simMobileOnDesktop) {
|
|
1957
|
-
ua = navigator.userAgent;
|
|
1958
|
-
oLogger.log(WARNING, "Device API values manipulated: NOT PRODUCTIVE FEATURE!!! This should be only used for test purposes. Only use if you know what you are doing.");
|
|
1959
|
-
setBrowser();
|
|
1960
|
-
setOS();
|
|
1961
|
-
setSystem(simMobileOnDesktop);
|
|
1962
|
-
};
|
|
1963
|
-
|
|
1964
1959
|
//********************************************************
|
|
1965
1960
|
|
|
1966
1961
|
setResizeInfo(Device.resize);
|
package/src/sap/ui/Global.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* sap.ui.lazyRequire("sap.ui.core.Control");
|
|
19
19
|
* sap.ui.lazyRequire("sap.ui.commons.Button");
|
|
20
20
|
*
|
|
21
|
-
* @version 1.
|
|
21
|
+
* @version 1.96.2
|
|
22
22
|
* @author SAP SE
|
|
23
23
|
* @public
|
|
24
24
|
*/
|
|
@@ -48,7 +48,7 @@ sap.ui.define([
|
|
|
48
48
|
* The <code>sap</code> namespace is automatically registered with the
|
|
49
49
|
* OpenAjax hub if it exists.
|
|
50
50
|
*
|
|
51
|
-
* @version 1.
|
|
51
|
+
* @version 1.96.2
|
|
52
52
|
* @namespace
|
|
53
53
|
* @public
|
|
54
54
|
* @name sap
|
|
@@ -61,7 +61,7 @@ sap.ui.define([
|
|
|
61
61
|
* The <code>sap.ui</code> namespace is the central OpenAjax compliant entry
|
|
62
62
|
* point for UI related JavaScript functionality provided by SAP.
|
|
63
63
|
*
|
|
64
|
-
* @version 1.
|
|
64
|
+
* @version 1.96.2
|
|
65
65
|
* @namespace
|
|
66
66
|
* @name sap.ui
|
|
67
67
|
* @public
|
|
@@ -75,8 +75,9 @@ sap.ui.define([
|
|
|
75
75
|
* The version of the SAP UI Library
|
|
76
76
|
* @type string
|
|
77
77
|
*/
|
|
78
|
-
version: "1.
|
|
79
|
-
buildinfo
|
|
78
|
+
version: "1.96.2",
|
|
79
|
+
// buildinfo.lastchange is deprecated and is therefore defaulted to empty string
|
|
80
|
+
buildinfo : { lastchange : "", buildtime : "${buildtime}" }
|
|
80
81
|
});
|
|
81
82
|
|
|
82
83
|
var oCfgData = window["sap-ui-config"] || {};
|
|
@@ -206,7 +207,7 @@ sap.ui.define([
|
|
|
206
207
|
} else {
|
|
207
208
|
Log.debug("lazy stub for constructor '" + sFullClass + "' called.");
|
|
208
209
|
}
|
|
209
|
-
sap.ui.requireSync(sModuleName.replace(/\./g, "/"));
|
|
210
|
+
sap.ui.requireSync(sModuleName.replace(/\./g, "/")); // legacy-relevant: 'sap.ui.lazyRequire' is deprecated
|
|
210
211
|
var oRealClass = oPackage[sClass];
|
|
211
212
|
assert(typeof oRealClass === "function", "lazyRequire: oRealClass must be a function after loading");
|
|
212
213
|
if ( oRealClass._sapUiLazyLoader ) {
|
|
@@ -267,7 +268,7 @@ sap.ui.define([
|
|
|
267
268
|
} else {
|
|
268
269
|
Log.debug("lazy stub for method '" + sFullClass + "." + sMethod + "' called.");
|
|
269
270
|
}
|
|
270
|
-
sap.ui.requireSync(sModuleName.replace(/\./g, "/"));
|
|
271
|
+
sap.ui.requireSync(sModuleName.replace(/\./g, "/")); // legacy-relevant: 'sap.ui.lazyRequire' is deprecated
|
|
271
272
|
var oRealClass = oPackage[sClass];
|
|
272
273
|
assert(typeof oRealClass === "function" || typeof oRealClass === "object", "lazyRequire: oRealClass must be a function or object after loading");
|
|
273
274
|
assert(typeof oRealClass[sMethod] === "function", "lazyRequire: method must be a function");
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
/* global Set */
|
|
8
|
+
|
|
7
9
|
// Provides class sap.ui.base.DataType
|
|
8
10
|
sap.ui.define([
|
|
9
11
|
'sap/base/util/ObjectPath',
|
|
@@ -614,30 +616,34 @@ sap.ui.define([
|
|
|
614
616
|
|
|
615
617
|
// ---- minimal support for interface types -------------------------------------------------------------------
|
|
616
618
|
|
|
617
|
-
var
|
|
619
|
+
var oInterfaces = new Set();
|
|
618
620
|
|
|
619
621
|
/**
|
|
620
622
|
* Registers the given array of type names as known interface types.
|
|
621
623
|
* Only purpose is to enable the {@link #isInterfaceType} check.
|
|
622
624
|
* @param {string[]} aTypes interface types to be registered
|
|
623
625
|
* @private
|
|
624
|
-
* @ui5-restricted sap.ui.
|
|
626
|
+
* @ui5-restricted sap.ui.core.Core
|
|
625
627
|
*/
|
|
626
628
|
DataType.registerInterfaceTypes = function(aTypes) {
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
629
|
+
aTypes.forEach(function(sType) {
|
|
630
|
+
oInterfaces.add(sType);
|
|
631
|
+
|
|
632
|
+
// Defining the interface on global namespace for compatibility reasons.
|
|
633
|
+
// This has never been a public feature and it is strongly discouraged it be relied upon.
|
|
634
|
+
// An interface must always be referenced by a string literal, not via the global namespace.
|
|
635
|
+
ObjectPath.set(sType, sType);
|
|
636
|
+
});
|
|
631
637
|
};
|
|
632
638
|
|
|
633
639
|
/**
|
|
634
640
|
* @param {string} sType name of type to check
|
|
635
641
|
* @returns {boolean} whether the given type is known to be an interface type
|
|
636
642
|
* @private
|
|
637
|
-
* @ui5-restricted sap.ui.base
|
|
643
|
+
* @ui5-restricted sap.ui.base.ManagedObject
|
|
638
644
|
*/
|
|
639
645
|
DataType.isInterfaceType = function(sType) {
|
|
640
|
-
return
|
|
646
|
+
return oInterfaces.has(sType);
|
|
641
647
|
};
|
|
642
648
|
|
|
643
649
|
|
package/src/sap/ui/base/Event.js
CHANGED
|
@@ -46,22 +46,25 @@ sap.ui.define([
|
|
|
46
46
|
});
|
|
47
47
|
},
|
|
48
48
|
"compare": function () {
|
|
49
|
-
var ODataUtils
|
|
49
|
+
var oODataUtils = sap.ui.require("sap/ui/model/odata/v4/ODataUtils")
|
|
50
|
+
|| sap.ui.requireSync("sap/ui/model/odata/v4/ODataUtils");
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
return ODataUtils.compare.apply(ODataUtils, arguments);
|
|
52
|
+
return oODataUtils.compare.apply(oODataUtils, arguments);
|
|
53
53
|
},
|
|
54
54
|
"fillUriTemplate": function (sExpression, mData) {
|
|
55
55
|
if (!URI.expand) {
|
|
56
|
+
// probing is not required since the presence of URI.expand is the indicator
|
|
57
|
+
// that URITemplate has been loaded already
|
|
56
58
|
/* URITemplate = */ sap.ui.requireSync("sap/ui/thirdparty/URITemplate");
|
|
57
59
|
}
|
|
60
|
+
|
|
58
61
|
return URI.expand(sExpression.trim(), mData).toString();
|
|
59
62
|
},
|
|
60
63
|
"uriEncode": function () {
|
|
61
|
-
var ODataUtils
|
|
64
|
+
var oODataUtils = sap.ui.require("sap/ui/model/odata/ODataUtils")
|
|
65
|
+
|| sap.ui.requireSync("sap/ui/model/odata/ODataUtils");
|
|
62
66
|
|
|
63
|
-
|
|
64
|
-
return ODataUtils.formatValue.apply(ODataUtils, arguments);
|
|
67
|
+
return oODataUtils.formatValue.apply(oODataUtils, arguments);
|
|
65
68
|
}
|
|
66
69
|
},
|
|
67
70
|
"parseFloat": parseFloat,
|
|
@@ -5,12 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Provides class sap.ui.base.Interface
|
|
8
|
-
sap.ui.define([], function() {
|
|
8
|
+
sap.ui.define(['sap/ui/base/Object'], function(BaseObject) {
|
|
9
9
|
"use strict";
|
|
10
10
|
|
|
11
|
-
// lazy dependency to avoid cycle
|
|
12
|
-
var BaseObject;
|
|
13
|
-
|
|
14
11
|
/**
|
|
15
12
|
* Constructs a facade for the given object, containing only the named methods.
|
|
16
13
|
*
|
|
@@ -31,58 +28,15 @@ sap.ui.define([], function() {
|
|
|
31
28
|
* no internals of the class can be accessed.
|
|
32
29
|
*
|
|
33
30
|
* @author Malte Wedel, Daniel Brinkmann
|
|
34
|
-
* @version 1.
|
|
31
|
+
* @version 1.96.2
|
|
35
32
|
* @param {sap.ui.base.Object} oObject
|
|
36
33
|
* Object for which a facade should be created
|
|
37
34
|
* @param {string[]} aMethods
|
|
38
35
|
* Names of the methods, that should be available in the new facade
|
|
39
|
-
*
|
|
40
36
|
* @public
|
|
41
37
|
* @alias sap.ui.base.Interface
|
|
42
38
|
*/
|
|
43
|
-
|
|
44
|
-
var Interface = function(oObject, aMethods, _bReturnFacade) {
|
|
45
|
-
|
|
46
|
-
// if object is null or undefined, return itself
|
|
47
|
-
if (!oObject) {
|
|
48
|
-
return oObject;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// resolve lazy dependency
|
|
52
|
-
BaseObject = BaseObject || sap.ui.requireSync('sap/ui/base/Object');
|
|
53
|
-
|
|
54
|
-
function fCreateDelegator(oObject, sMethodName) {
|
|
55
|
-
return function() {
|
|
56
|
-
// return oObject[sMethodName].apply(oObject, arguments);
|
|
57
|
-
var tmp = oObject[sMethodName].apply(oObject, arguments);
|
|
58
|
-
// to avoid to hide the implementation behind the interface you need
|
|
59
|
-
// to override the getInterface function in the object or create the interface with bFacade = true
|
|
60
|
-
if (_bReturnFacade) {
|
|
61
|
-
return this;
|
|
62
|
-
} else {
|
|
63
|
-
return (tmp instanceof BaseObject) ? tmp.getInterface() : tmp;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// if there are no methods return
|
|
69
|
-
if (!aMethods) {
|
|
70
|
-
return {};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
var sMethodName;
|
|
74
|
-
|
|
75
|
-
// create functions for all delegated methods
|
|
76
|
-
// PERFOPT: 'cache' length of aMethods to reduce # of resolutions
|
|
77
|
-
for (var i = 0, ml = aMethods.length; i < ml; i++) {
|
|
78
|
-
sMethodName = aMethods[i];
|
|
79
|
-
//!oObject[sMethodName] for 'lazy' loading interface methods ;-)
|
|
80
|
-
if (!oObject[sMethodName] || typeof oObject[sMethodName] === "function") {
|
|
81
|
-
this[sMethodName] = fCreateDelegator(oObject, sMethodName);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
};
|
|
39
|
+
var Interface = BaseObject._Interface;
|
|
86
40
|
|
|
87
41
|
return Interface;
|
|
88
42
|
|
|
@@ -266,7 +266,7 @@ sap.ui.define([
|
|
|
266
266
|
*
|
|
267
267
|
* @extends sap.ui.base.EventProvider
|
|
268
268
|
* @author SAP SE
|
|
269
|
-
* @version 1.
|
|
269
|
+
* @version 1.96.2
|
|
270
270
|
* @public
|
|
271
271
|
* @alias sap.ui.base.ManagedObject
|
|
272
272
|
*/
|
|
@@ -1151,7 +1151,7 @@ sap.ui.define([
|
|
|
1151
1151
|
if (oBindingInfo && typeof oBindingInfo === "object") {
|
|
1152
1152
|
this.bindProperty(sKey, oBindingInfo);
|
|
1153
1153
|
} else {
|
|
1154
|
-
this[oKeyInfo._sMutator](oBindingInfo
|
|
1154
|
+
this[oKeyInfo._sMutator](typeof oBindingInfo === "string" ? oBindingInfo : oValue);
|
|
1155
1155
|
}
|
|
1156
1156
|
break;
|
|
1157
1157
|
case 1: // SINGLE_AGGREGATION
|
|
@@ -1166,7 +1166,7 @@ sap.ui.define([
|
|
|
1166
1166
|
}
|
|
1167
1167
|
oValue = oValue[0];
|
|
1168
1168
|
}
|
|
1169
|
-
this[oKeyInfo._sMutator](makeObject(oBindingInfo
|
|
1169
|
+
this[oKeyInfo._sMutator](makeObject(typeof oBindingInfo === "string" ? oBindingInfo : oValue, oKeyInfo, oScope));
|
|
1170
1170
|
}
|
|
1171
1171
|
break;
|
|
1172
1172
|
case 2: // MULTIPLE_AGGREGATION
|
|
@@ -1174,7 +1174,7 @@ sap.ui.define([
|
|
|
1174
1174
|
if (oBindingInfo && typeof oBindingInfo === "object" ) {
|
|
1175
1175
|
this.bindAggregation(sKey, oBindingInfo);
|
|
1176
1176
|
} else {
|
|
1177
|
-
oValue = oBindingInfo
|
|
1177
|
+
oValue = typeof oBindingInfo === "string" ? oBindingInfo : oValue; // could be an unescaped string if altTypes contains 'string'
|
|
1178
1178
|
if ( oValue ) {
|
|
1179
1179
|
if ( Array.isArray(oValue) ) {
|
|
1180
1180
|
addAllToAggregation(oValue); // wrap a single object as array
|
|
@@ -4292,6 +4292,7 @@ sap.ui.define([
|
|
|
4292
4292
|
ManagedObject.prototype.updateBindings = function(bUpdateAll, sModelName) {
|
|
4293
4293
|
var that = this,
|
|
4294
4294
|
sName,
|
|
4295
|
+
bCanCreate,
|
|
4295
4296
|
oBindingInfo;
|
|
4296
4297
|
|
|
4297
4298
|
/*
|
|
@@ -4376,14 +4377,18 @@ sap.ui.define([
|
|
|
4376
4377
|
// create object bindings if they don't exist yet
|
|
4377
4378
|
for ( sName in this.mObjectBindingInfos ) {
|
|
4378
4379
|
oBindingInfo = this.mObjectBindingInfos[sName];
|
|
4379
|
-
|
|
4380
|
+
bCanCreate = canCreate(oBindingInfo);
|
|
4380
4381
|
// if there is a binding and if it became invalid through the current model change, then remove it
|
|
4381
4382
|
if ( oBindingInfo.binding && becameInvalid(oBindingInfo) ) {
|
|
4382
4383
|
removeBinding(oBindingInfo);
|
|
4384
|
+
// if model does not exists anymore, also delete the BindingContext
|
|
4385
|
+
if (!bCanCreate) {
|
|
4386
|
+
delete this.mElementBindingContexts[sName];
|
|
4387
|
+
}
|
|
4383
4388
|
}
|
|
4384
4389
|
|
|
4385
4390
|
// if there is no binding and if all required information is available, create a binding object
|
|
4386
|
-
if ( !oBindingInfo.binding &&
|
|
4391
|
+
if ( !oBindingInfo.binding && bCanCreate ) {
|
|
4387
4392
|
this._bindObject(oBindingInfo);
|
|
4388
4393
|
}
|
|
4389
4394
|
}
|
|
@@ -4656,7 +4661,7 @@ sap.ui.define([
|
|
|
4656
4661
|
* <b>Note:</b> A ManagedObject inherits binding contexts from the Core only when it is a descendant of a UIArea.
|
|
4657
4662
|
*
|
|
4658
4663
|
* @param {string} [sModelName] the name of the model or <code>undefined</code>
|
|
4659
|
-
* @
|
|
4664
|
+
* @returns {sap.ui.model.Context|null|undefined} The binding context of this object
|
|
4660
4665
|
* @public
|
|
4661
4666
|
*/
|
|
4662
4667
|
ManagedObject.prototype.getBindingContext = function(sModelName){
|