@openui5/sap.ui.core 1.92.0 → 1.95.0
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 → .eslintrc.json} +1 -2
- package/.reuse/dep5 +1 -6
- package/THIRDPARTY.txt +4 -10
- package/package.json +1 -1
- package/src/jquery.sap.global.js +9 -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 +7 -4
- package/src/jquery.sap.stubs.js +2 -1
- package/src/jquery.sap.trace.js +2 -1
- package/src/sap/base/i18n/ResourceBundle.js +8 -4
- package/src/sap/base/strings/whitespaceReplacer.js +52 -0
- package/src/sap/base/util/Properties.js +4 -1
- package/src/sap/base/util/isEmptyObject.js +1 -2
- 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 +6 -6
- package/src/sap/ui/VersionInfo.js +1 -0
- package/src/sap/ui/base/DataType.js +14 -7
- 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 +131 -24
- package/src/sap/ui/base/ManagedObjectMetadata.js +13 -4
- 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/BusyIndicatorUtils.js +4 -1
- package/src/sap/ui/core/Component.js +441 -179
- package/src/sap/ui/core/ComponentContainer.js +16 -6
- 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 +64 -32
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +57 -40
- 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 +5 -5
- package/src/sap/ui/core/IconPool.js +15 -1097
- package/src/sap/ui/core/IconRenderer.js +2 -2
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +9 -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 +124 -126
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +53 -80
- package/src/sap/ui/core/Placeholder.js +25 -11
- package/src/sap/ui/core/Popup.js +29 -5
- package/src/sap/ui/core/RenderManager.js +41 -24
- 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/ThemeCheck.js +13 -61
- 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 +5 -2
- package/src/sap/ui/core/UIComponent.js +81 -40
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +5 -5
- package/src/sap/ui/core/_IconRegistry.js +1215 -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 +2 -9
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +41 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +2 -0
- package/src/sap/ui/core/format/NumberFormat.js +2 -0
- 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 -13
- 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 +166 -9
- 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 +4 -2
- package/src/sap/ui/core/mvc/JSONView.js +8 -6
- package/src/sap/ui/core/mvc/JSView.js +5 -3
- package/src/sap/ui/core/mvc/TemplateView.js +2 -2
- package/src/sap/ui/core/mvc/View.js +73 -89
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +14 -10
- 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 +36 -18
- package/src/sap/ui/core/routing/Route.js +10 -1
- package/src/sap/ui/core/routing/Router.js +8 -5
- package/src/sap/ui/core/routing/Target.js +13 -0
- package/src/sap/ui/core/routing/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/Targets.js +39 -2
- package/src/sap/ui/core/routing/async/Route.js +7 -4
- package/src/sap/ui/core/routing/async/Target.js +383 -262
- package/src/sap/ui/core/routing/sync/Target.js +15 -0
- package/src/sap/ui/core/rules/App.support.js +35 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/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 +8 -50
- 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 +23 -26
- 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/support/trace/E2eTraceLib.js +3 -3
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +5 -0
- package/src/sap/ui/core/themes/base/base.less +27 -25
- package/src/sap/ui/core/themes/base/shared.less +1 -0
- package/src/sap/ui/core/theming/Parameters.js +225 -61
- package/src/sap/ui/core/theming/ThemeHelper.js +94 -0
- 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 +11 -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 +24 -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 +154 -63
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +171 -152
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +419 -291
- 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 +2 -2
- package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
- 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/PropertyList.css +55 -0
- package/src/sap/ui/debug/PropertyList.js +111 -182
- package/src/sap/ui/events/jquery/EventSimulation.js +7 -6
- package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +3 -1
- package/src/sap/ui/model/ClientTreeBinding.js +14 -8
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +31 -11
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +19 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +3 -3
- package/src/sap/ui/model/SelectionModel.js +5 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +14 -9
- package/src/sap/ui/model/analytics/odata4analytics.js +31 -23
- package/src/sap/ui/model/base/ManagedObjectModel.js +13 -1
- package/src/sap/ui/model/json/JSONModel.js +4 -2
- package/src/sap/ui/model/message/MessageModel.js +4 -2
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +5 -2
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +7 -6
- package/src/sap/ui/model/odata/ODataUtils.js +31 -10
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +30 -27
- 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 +7 -2
- 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 +3 -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 +7 -2
- package/src/sap/ui/model/odata/type/UnitMixin.js +20 -7
- package/src/sap/ui/model/odata/v2/Context.js +187 -0
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +55 -51
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +42 -106
- package/src/sap/ui/model/odata/v2/ODataModel.js +251 -159
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +163 -136
- package/src/sap/ui/model/odata/v4/Context.js +6 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +97 -25
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +112 -24
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +15 -12
- package/src/sap/ui/model/odata/v4/ODataModel.js +85 -77
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +25 -15
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +21 -12
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +13 -4
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +28 -17
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +47 -30
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +55 -19
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
- package/src/sap/ui/model/resource/ResourceModel.js +5 -2
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +4 -2
- package/src/sap/ui/performance/Measurement.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +2 -1
- package/src/sap/ui/performance/trace/Interaction.js +42 -25
- package/src/sap/ui/performance/trace/initTraces.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +2 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -0
- package/src/sap/ui/test/TestUtils.js +28 -34
- 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 +1 -4
- package/src/sap/ui/test/matchers/I18NText.js +29 -11
- package/src/sap/ui/test/opaQunit.js +11 -9
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -4
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/src/sap/ui/thirdparty/crossroads.js +16 -6
- 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/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/src/ui5loader.js +5 -2
- package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
|
@@ -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.95.0
|
|
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
|
|
@@ -2797,6 +2797,19 @@ sap.ui.define([
|
|
|
2797
2797
|
this.iSuppressInvalidate++;
|
|
2798
2798
|
}
|
|
2799
2799
|
|
|
2800
|
+
// Data Binding
|
|
2801
|
+
for (sName in this.mBindingInfos) {
|
|
2802
|
+
if (this.mBindingInfos[sName].factory) {
|
|
2803
|
+
this._detachAggregationBindingHandlers(sName);
|
|
2804
|
+
} else {
|
|
2805
|
+
this._detachPropertyBindingHandlers(sName);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
|
|
2809
|
+
for (sName in this.mObjectBindingInfos) {
|
|
2810
|
+
this._detachObjectBindingHandlers(sName);
|
|
2811
|
+
}
|
|
2812
|
+
|
|
2800
2813
|
if (this.exit) {
|
|
2801
2814
|
this.exit();
|
|
2802
2815
|
}
|
|
@@ -3099,6 +3112,25 @@ sap.ui.define([
|
|
|
3099
3112
|
oBinding.initialize();
|
|
3100
3113
|
};
|
|
3101
3114
|
|
|
3115
|
+
/**
|
|
3116
|
+
* Detach all object binding event handler
|
|
3117
|
+
*
|
|
3118
|
+
* @param {string} sModelName Name of the model to detach the handler for.
|
|
3119
|
+
* @private
|
|
3120
|
+
*/
|
|
3121
|
+
ManagedObject.prototype._detachObjectBindingHandlers = function(sModelName) {
|
|
3122
|
+
var oBindingInfo = this.mObjectBindingInfos[sModelName];
|
|
3123
|
+
if (oBindingInfo) {
|
|
3124
|
+
if (oBindingInfo.binding) {
|
|
3125
|
+
oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
|
|
3126
|
+
oBindingInfo.binding.detachEvents(oBindingInfo.events);
|
|
3127
|
+
if (this.refreshDataState) {
|
|
3128
|
+
oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
3129
|
+
}
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
};
|
|
3133
|
+
|
|
3102
3134
|
/**
|
|
3103
3135
|
* Removes the defined binding context of this object, all bindings will now resolve
|
|
3104
3136
|
* relative to the parent context again.
|
|
@@ -3111,10 +3143,8 @@ sap.ui.define([
|
|
|
3111
3143
|
var oBindingInfo = this.mObjectBindingInfos[sModelName];
|
|
3112
3144
|
if (oBindingInfo) {
|
|
3113
3145
|
if (oBindingInfo.binding) {
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
if (this.refreshDataState) {
|
|
3117
|
-
oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
3146
|
+
if (!this._bIsBeingDestroyed) {
|
|
3147
|
+
this._detachObjectBindingHandlers(sModelName);
|
|
3118
3148
|
}
|
|
3119
3149
|
oBindingInfo.binding.destroy();
|
|
3120
3150
|
}
|
|
@@ -3515,6 +3545,33 @@ sap.ui.define([
|
|
|
3515
3545
|
}
|
|
3516
3546
|
};
|
|
3517
3547
|
|
|
3548
|
+
/**
|
|
3549
|
+
* Detach all property binding event handler
|
|
3550
|
+
*
|
|
3551
|
+
* Note: The DataState event handler could not be detached here. This must happen after
|
|
3552
|
+
* the destroy call to correctly cleanup messages. We leave it in unbindProperty and
|
|
3553
|
+
* check for destroy state in the handler itself.
|
|
3554
|
+
*
|
|
3555
|
+
* @param {string} sName the name of the property
|
|
3556
|
+
* @private
|
|
3557
|
+
*/
|
|
3558
|
+
ManagedObject.prototype._detachPropertyBindingHandlers = function(sName) {
|
|
3559
|
+
var oBindingInfo = this.mBindingInfos[sName],
|
|
3560
|
+
oBinding;
|
|
3561
|
+
if (oBindingInfo) {
|
|
3562
|
+
oBinding = oBindingInfo.binding;
|
|
3563
|
+
if (oBinding) {
|
|
3564
|
+
oBinding.detachChange(oBindingInfo.modelChangeHandler);
|
|
3565
|
+
oBinding.detachEvents(oBindingInfo.events);
|
|
3566
|
+
/* to reset messages on a control we need to detach the datastate handler after destroy,
|
|
3567
|
+
as binding destroy clears up validation messages */
|
|
3568
|
+
if (this.refreshDataState && this._bIsBeingDestroyed) {
|
|
3569
|
+
oBinding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
3570
|
+
}
|
|
3571
|
+
}
|
|
3572
|
+
}
|
|
3573
|
+
};
|
|
3574
|
+
|
|
3518
3575
|
/**
|
|
3519
3576
|
* Unbind the property from the model
|
|
3520
3577
|
*
|
|
@@ -3529,17 +3586,18 @@ sap.ui.define([
|
|
|
3529
3586
|
if (oBindingInfo) {
|
|
3530
3587
|
oBinding = oBindingInfo.binding;
|
|
3531
3588
|
if (oBinding) {
|
|
3532
|
-
|
|
3533
|
-
|
|
3589
|
+
if (!this._bIsBeingDestroyed) {
|
|
3590
|
+
this._detachPropertyBindingHandlers(sName);
|
|
3591
|
+
}
|
|
3534
3592
|
oBinding.destroy();
|
|
3535
3593
|
/* to reset messages on a control we need to detach the datastate handler after destroy,
|
|
3536
3594
|
as binding destroy clears up validation messages */
|
|
3537
|
-
if (this.refreshDataState) {
|
|
3595
|
+
if (this.refreshDataState && !this._bIsBeingDestroyed) {
|
|
3538
3596
|
oBinding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
3539
3597
|
}
|
|
3540
3598
|
}
|
|
3541
3599
|
|
|
3542
|
-
if (this._observer) {
|
|
3600
|
+
if (this._observer && !this._bIsBeingDestroyed) {
|
|
3543
3601
|
this._observer.bindingChange(this,sName,"remove", this.mBindingInfos[sName], "property");
|
|
3544
3602
|
}
|
|
3545
3603
|
|
|
@@ -3699,7 +3757,7 @@ sap.ui.define([
|
|
|
3699
3757
|
* Name of the model to bind against; when <code>undefined</code> or omitted, the default model is used
|
|
3700
3758
|
* @property {sap.ui.base.ManagedObject} [template]
|
|
3701
3759
|
* The template to clone for each item in the aggregation; either a template or a factory must be given
|
|
3702
|
-
* @property {boolean
|
|
3760
|
+
* @property {boolean} [templateShareable=undefined]
|
|
3703
3761
|
* Whether the framework should assume that the application takes care of the lifecycle of the given
|
|
3704
3762
|
* template; when set to <code>true</code>, the template can be used in multiple bindings, either in
|
|
3705
3763
|
* parallel or over time, and the framework won't clone it when this <code>ManagedObject</code> is cloned;
|
|
@@ -3941,6 +3999,26 @@ sap.ui.define([
|
|
|
3941
3999
|
}
|
|
3942
4000
|
};
|
|
3943
4001
|
|
|
4002
|
+
/**
|
|
4003
|
+
* Detach all aggregation binding event handler
|
|
4004
|
+
*
|
|
4005
|
+
* @param {string} sName the name of the aggregation
|
|
4006
|
+
* @private
|
|
4007
|
+
*/
|
|
4008
|
+
ManagedObject.prototype._detachAggregationBindingHandlers = function(sName) {
|
|
4009
|
+
var oBindingInfo = this.mBindingInfos[sName];
|
|
4010
|
+
if (oBindingInfo) {
|
|
4011
|
+
if (oBindingInfo.binding) {
|
|
4012
|
+
oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
|
|
4013
|
+
oBindingInfo.binding.detachRefresh(oBindingInfo.modelRefreshHandler);
|
|
4014
|
+
oBindingInfo.binding.detachEvents(oBindingInfo.events);
|
|
4015
|
+
if (this.refreshDataState) {
|
|
4016
|
+
oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
4017
|
+
}
|
|
4018
|
+
}
|
|
4019
|
+
}
|
|
4020
|
+
};
|
|
4021
|
+
|
|
3944
4022
|
/**
|
|
3945
4023
|
* Unbind the aggregation from the model.
|
|
3946
4024
|
*
|
|
@@ -3963,11 +4041,8 @@ sap.ui.define([
|
|
|
3963
4041
|
oAggregationInfo = this.getMetadata().getAggregation(sName);
|
|
3964
4042
|
if (oBindingInfo) {
|
|
3965
4043
|
if (oBindingInfo.binding) {
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
oBindingInfo.binding.detachEvents(oBindingInfo.events);
|
|
3969
|
-
if (this.refreshDataState) {
|
|
3970
|
-
oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
|
|
4044
|
+
if (!this._bIsBeingDestroyed) {
|
|
4045
|
+
this._detachAggregationBindingHandlers(sName);
|
|
3971
4046
|
}
|
|
3972
4047
|
oBindingInfo.binding.destroy();
|
|
3973
4048
|
}
|
|
@@ -3980,8 +4055,7 @@ sap.ui.define([
|
|
|
3980
4055
|
oBindingInfo.template._sapui_candidateForDestroy = true;
|
|
3981
4056
|
}
|
|
3982
4057
|
}
|
|
3983
|
-
|
|
3984
|
-
if (this._observer) {
|
|
4058
|
+
if (this._observer && !this._bIsBeingDestroyed) {
|
|
3985
4059
|
this._observer.bindingChange(this,sName,"remove", this.mBindingInfos[sName], "aggregation");
|
|
3986
4060
|
}
|
|
3987
4061
|
delete this.mBindingInfos[sName];
|
|
@@ -4218,6 +4292,7 @@ sap.ui.define([
|
|
|
4218
4292
|
ManagedObject.prototype.updateBindings = function(bUpdateAll, sModelName) {
|
|
4219
4293
|
var that = this,
|
|
4220
4294
|
sName,
|
|
4295
|
+
bCanCreate,
|
|
4221
4296
|
oBindingInfo;
|
|
4222
4297
|
|
|
4223
4298
|
/*
|
|
@@ -4302,14 +4377,18 @@ sap.ui.define([
|
|
|
4302
4377
|
// create object bindings if they don't exist yet
|
|
4303
4378
|
for ( sName in this.mObjectBindingInfos ) {
|
|
4304
4379
|
oBindingInfo = this.mObjectBindingInfos[sName];
|
|
4305
|
-
|
|
4380
|
+
bCanCreate = canCreate(oBindingInfo);
|
|
4306
4381
|
// if there is a binding and if it became invalid through the current model change, then remove it
|
|
4307
4382
|
if ( oBindingInfo.binding && becameInvalid(oBindingInfo) ) {
|
|
4308
4383
|
removeBinding(oBindingInfo);
|
|
4384
|
+
// if model does not exists anymore, also delete the BindingContext
|
|
4385
|
+
if (!bCanCreate) {
|
|
4386
|
+
delete this.mElementBindingContexts[sName];
|
|
4387
|
+
}
|
|
4309
4388
|
}
|
|
4310
4389
|
|
|
4311
4390
|
// if there is no binding and if all required information is available, create a binding object
|
|
4312
|
-
if ( !oBindingInfo.binding &&
|
|
4391
|
+
if ( !oBindingInfo.binding && bCanCreate ) {
|
|
4313
4392
|
this._bindObject(oBindingInfo);
|
|
4314
4393
|
}
|
|
4315
4394
|
}
|
|
@@ -4582,7 +4661,7 @@ sap.ui.define([
|
|
|
4582
4661
|
* <b>Note:</b> A ManagedObject inherits binding contexts from the Core only when it is a descendant of a UIArea.
|
|
4583
4662
|
*
|
|
4584
4663
|
* @param {string} [sModelName] the name of the model or <code>undefined</code>
|
|
4585
|
-
* @
|
|
4664
|
+
* @returns {sap.ui.model.Context|null|undefined} The binding context of this object
|
|
4586
4665
|
* @public
|
|
4587
4666
|
*/
|
|
4588
4667
|
ManagedObject.prototype.getBindingContext = function(sModelName){
|
|
@@ -4869,7 +4948,7 @@ sap.ui.define([
|
|
|
4869
4948
|
* Omitting the model name (or using the value <code>undefined</code>) is explicitly allowed and
|
|
4870
4949
|
* refers to the default model.
|
|
4871
4950
|
*
|
|
4872
|
-
* @param {string
|
|
4951
|
+
* @param {string} [sModelName] name of the model to be retrieved
|
|
4873
4952
|
* @return {sap.ui.model.Model} oModel
|
|
4874
4953
|
* @public
|
|
4875
4954
|
*/
|
|
@@ -5315,6 +5394,34 @@ sap.ui.define([
|
|
|
5315
5394
|
this._onContextualSettingsChanged();
|
|
5316
5395
|
};
|
|
5317
5396
|
|
|
5397
|
+
/**
|
|
5398
|
+
* Checks if an object's destruction has been started. During the
|
|
5399
|
+
* descruction of an object its ID is still registered, and child
|
|
5400
|
+
* objects could be still aggregated.
|
|
5401
|
+
* Creating another object with the same ID would lead to duplicate ID
|
|
5402
|
+
* issues.
|
|
5403
|
+
* To check if the destruction is finished, call <code>isDestroyed</code>.
|
|
5404
|
+
*
|
|
5405
|
+
* @return {boolean} Whether an object's destruction has been started
|
|
5406
|
+
* @since 1.93
|
|
5407
|
+
* @protected
|
|
5408
|
+
*/
|
|
5409
|
+
ManagedObject.prototype.isDestroyStarted = function() {
|
|
5410
|
+
return !!this._bIsBeingDestroyed;
|
|
5411
|
+
};
|
|
5412
|
+
|
|
5413
|
+
/**
|
|
5414
|
+
* Returns whether this object is destroyed or not. A
|
|
5415
|
+
* destroyed object cannot be used anymore.
|
|
5416
|
+
*
|
|
5417
|
+
* @return {boolean} Whether the object is destroyed
|
|
5418
|
+
* @since 1.93
|
|
5419
|
+
* @public
|
|
5420
|
+
*/
|
|
5421
|
+
ManagedObject.prototype.isDestroyed = function() {
|
|
5422
|
+
return !!this.bIsDestroyed;
|
|
5423
|
+
};
|
|
5424
|
+
|
|
5318
5425
|
ManagedObject._defaultContextualSettings = {};
|
|
5319
5426
|
|
|
5320
5427
|
return ManagedObject;
|
|
@@ -73,7 +73,7 @@ function(
|
|
|
73
73
|
*
|
|
74
74
|
*
|
|
75
75
|
* @author Frank Weigel
|
|
76
|
-
* @version 1.
|
|
76
|
+
* @version 1.95.0
|
|
77
77
|
* @since 0.8.6
|
|
78
78
|
* @alias sap.ui.base.ManagedObjectMetadata
|
|
79
79
|
* @extends sap.ui.base.Metadata
|
|
@@ -211,7 +211,10 @@ function(
|
|
|
211
211
|
};
|
|
212
212
|
|
|
213
213
|
Property.prototype.getType = function() {
|
|
214
|
-
|
|
214
|
+
if (!this._oType) {
|
|
215
|
+
this._oType = DataType.getType(this.type);
|
|
216
|
+
}
|
|
217
|
+
return this._oType;
|
|
215
218
|
};
|
|
216
219
|
|
|
217
220
|
Property.prototype.getDefaultValue = function() {
|
|
@@ -323,7 +326,10 @@ function(
|
|
|
323
326
|
};
|
|
324
327
|
|
|
325
328
|
Aggregation.prototype.getType = function() {
|
|
326
|
-
|
|
329
|
+
if (!this._oType) {
|
|
330
|
+
this._oType = DataType.getType(this.type);
|
|
331
|
+
}
|
|
332
|
+
return this._oType;
|
|
327
333
|
};
|
|
328
334
|
|
|
329
335
|
Aggregation.prototype.get = function(instance) {
|
|
@@ -704,7 +710,10 @@ function(
|
|
|
704
710
|
};
|
|
705
711
|
|
|
706
712
|
Association.prototype.getType = function() {
|
|
707
|
-
|
|
713
|
+
if (!this._oType) {
|
|
714
|
+
this._oType = DataType.getType(this.type);
|
|
715
|
+
}
|
|
716
|
+
return this._oType;
|
|
708
717
|
};
|
|
709
718
|
|
|
710
719
|
Association.prototype.get = function(instance) {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
// Provides class sap.ui.base.Object
|
|
16
|
-
sap.ui.define(['./
|
|
17
|
-
function(
|
|
16
|
+
sap.ui.define(['./Metadata', "sap/base/Log"],
|
|
17
|
+
function(Metadata, Log) {
|
|
18
18
|
"use strict";
|
|
19
19
|
|
|
20
20
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
|
|
|
26
26
|
* @class Base class for all SAPUI5 Objects.
|
|
27
27
|
* @abstract
|
|
28
28
|
* @author Malte Wedel
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.95.0
|
|
30
30
|
* @public
|
|
31
31
|
* @alias sap.ui.base.Object
|
|
32
32
|
* @throws {Error} When an instance of the class or its subclasses is created without the <code>new</code> operator.
|
|
@@ -67,7 +67,7 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
|
|
|
67
67
|
// initially, an Object instance has no associated Interface and the getInterface
|
|
68
68
|
// method is defined only in the prototype. So the code here will be executed.
|
|
69
69
|
// It creates an interface (basically the same code as in the old implementation)
|
|
70
|
-
var oInterface = new
|
|
70
|
+
var oInterface = new BaseObject._Interface(this, this.getMetadata().getAllPublicMethods());
|
|
71
71
|
// Now this Object instance gets a new, private implementation of getInterface
|
|
72
72
|
// that returns the newly created oInterface. Future calls of getInterface on the
|
|
73
73
|
// same Object therefore will return the already created interface
|
|
@@ -236,6 +236,51 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
|
|
|
236
236
|
return oObject instanceof BaseObject && oObject.isA(vTypeName);
|
|
237
237
|
};
|
|
238
238
|
|
|
239
|
+
/**
|
|
240
|
+
* @param {sap.ui.base.Object} [oObject] Object for which a facade should be created
|
|
241
|
+
* @param {string[]} [aMethods=[]] Names of the methods, that should be available in the new facade
|
|
242
|
+
* @param {boolean} [_bReturnFacade=false] If true, the return value of a function call is this created Interface instance instead of the BaseObject interface
|
|
243
|
+
* @private
|
|
244
|
+
* @static
|
|
245
|
+
*/
|
|
246
|
+
BaseObject._Interface = function(oObject, aMethods, _bReturnFacade) {
|
|
247
|
+
// if object is null or undefined, return itself
|
|
248
|
+
if (!oObject) {
|
|
249
|
+
return oObject;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
function fCreateDelegator(oObject, sMethodName) {
|
|
253
|
+
return function() {
|
|
254
|
+
// return oObject[sMethodName].apply(oObject, arguments);
|
|
255
|
+
var tmp = oObject[sMethodName].apply(oObject, arguments);
|
|
256
|
+
// to avoid to hide the implementation behind the interface you need
|
|
257
|
+
// to override the getInterface function in the object or create the interface with bFacade = true
|
|
258
|
+
if (_bReturnFacade) {
|
|
259
|
+
return this;
|
|
260
|
+
} else {
|
|
261
|
+
return (tmp instanceof BaseObject) ? tmp.getInterface() : tmp;
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// if there are no methods return
|
|
267
|
+
if (!aMethods) {
|
|
268
|
+
return {};
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
var sMethodName;
|
|
272
|
+
|
|
273
|
+
// create functions for all delegated methods
|
|
274
|
+
// PERFOPT: 'cache' length of aMethods to reduce # of resolutions
|
|
275
|
+
for (var i = 0, ml = aMethods.length; i < ml; i++) {
|
|
276
|
+
sMethodName = aMethods[i];
|
|
277
|
+
//!oObject[sMethodName] for 'lazy' loading interface methods ;-)
|
|
278
|
+
if (!oObject[sMethodName] || typeof oObject[sMethodName] === "function") {
|
|
279
|
+
this[sMethodName] = fCreateDelegator(oObject, sMethodName);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
|
|
239
284
|
return BaseObject;
|
|
240
285
|
|
|
241
286
|
}, /* bExport= */ true);
|
|
@@ -100,7 +100,8 @@ sap.ui.define([], function() {
|
|
|
100
100
|
aArgs = [fnWrappedHandler, 0].concat(arguments);
|
|
101
101
|
_timeout.apply(window, aArgs);
|
|
102
102
|
} else {
|
|
103
|
-
|
|
103
|
+
// eslint-disable-next-line no-new-func
|
|
104
|
+
fnHandler = typeof vHandler !== "function" ? new Function(vHandler) : vHandler; // legacy-relevant
|
|
104
105
|
fnHandler.apply(window, arguments);
|
|
105
106
|
}
|
|
106
107
|
};
|
package/src/sap/ui/core/.library
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.95.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>The SAPUI5 Core Runtime.
|
|
12
12
|
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
<raw-module name="sap/ui/thirdparty/URITemplate.js" depends="sap/ui/thirdparty/URI.js"/>
|
|
113
113
|
<raw-module name="sap/ui/thirdparty/vkbeautify.js" />
|
|
114
114
|
<raw-module name="sap/ui/thirdparty/zyngascroll.js" requiresTopLevelScope="false" />
|
|
115
|
-
<raw-module name="sap/ui/thirdparty/hyphenopoly/
|
|
115
|
+
<raw-module name="sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js" depends="sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js" />
|
|
116
116
|
<raw-module name="sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js" requiresTopLevelScope="false" />
|
|
117
117
|
<raw-module name="ui5loader.js" />
|
|
118
118
|
<raw-module name="ui5loader-autoconfig.js" depends="ui5loader.js" />
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
<exclude name="sap.ui.qunit." />
|
|
236
236
|
<exclude name="sap.ui.thirdparty." />
|
|
237
237
|
<exclude name="sap.ui.model.odata.datajs" /> <!-- legacy redirect, only part of internal core overlay -->
|
|
238
|
-
<exclude name="sap.ui.core.designtime.mvc.ControllerExtensionTemplate" /> <!-- template file with partially unexpected content -->
|
|
238
|
+
<exclude name="sap.ui.core.designtime.mvc.ControllerExtensionTemplate" /> <!-- template file with partially unexpected content -->
|
|
239
239
|
</jsdoc>
|
|
240
240
|
<!-- excludes for the JSCoverage -->
|
|
241
241
|
<jscoverage xmlns="http://www.sap.com/ui5/buildext/jscoverage" >
|
|
@@ -470,9 +470,9 @@
|
|
|
470
470
|
<copyright>OpenJS Foundation and other contributors</copyright>
|
|
471
471
|
<pattern>sap/ui/base/util/restricted/_/lodash.custom.js</pattern>
|
|
472
472
|
</lib>
|
|
473
|
-
<lib name="hyphenopoly" displayName="Hyphenopoly" version="
|
|
473
|
+
<lib name="hyphenopoly" displayName="Hyphenopoly" version="3.4.0" homepage="https://github.com/mnater/Hyphenopoly">
|
|
474
474
|
<license url="https://github.com/mnater/Hyphenopoly/blob/master/LICENSE" type="MIT" />
|
|
475
|
-
<copyright>
|
|
475
|
+
<copyright>2021 Mathias Nater</copyright>
|
|
476
476
|
<pattern>sap/ui/thirdparty/hyphenopoly/*</pattern>
|
|
477
477
|
</lib>
|
|
478
478
|
<lib name="p-cancelable" displayName="p-cancelable" version="2.0.0" homepage="https://github.com/sindresorhus/p-cancelable/tree/v2.0.0">
|
|
@@ -16,10 +16,10 @@ sap.ui.define([
|
|
|
16
16
|
'sap/base/util/extend',
|
|
17
17
|
'sap/base/strings/escapeRegExp',
|
|
18
18
|
'sap/ui/thirdparty/jquery',
|
|
19
|
-
'sap/ui/core/
|
|
19
|
+
'sap/ui/core/_IconRegistry',
|
|
20
20
|
'./Core' // provides sap.ui.getCore()
|
|
21
21
|
],
|
|
22
|
-
function(ManagedObject, URI, Log, extend, escapeRegExp, jQuery,
|
|
22
|
+
function(ManagedObject, URI, Log, extend, escapeRegExp, jQuery, _IconRegistry/*, Core */) {
|
|
23
23
|
"use strict";
|
|
24
24
|
|
|
25
25
|
/*
|
|
@@ -389,7 +389,7 @@ sap.ui.define([
|
|
|
389
389
|
return fnValidateProperty.apply(this, oArgs || arguments);
|
|
390
390
|
};
|
|
391
391
|
|
|
392
|
-
|
|
392
|
+
_IconRegistry._convertUrl = function(sUrl) {
|
|
393
393
|
return fnConvertUrl(sUrl);
|
|
394
394
|
};
|
|
395
395
|
|
|
@@ -446,7 +446,7 @@ sap.ui.define([
|
|
|
446
446
|
ManagedObject.prototype.validateProperty = fnValidateProperty;
|
|
447
447
|
|
|
448
448
|
// remove the function from IconPool
|
|
449
|
-
delete
|
|
449
|
+
delete _IconRegistry._convertUrl;
|
|
450
450
|
|
|
451
451
|
// only remove xhr interception if xhr#open was not modified meanwhile
|
|
452
452
|
if (XMLHttpRequest.prototype.open === fnEnhancedXhrOpen) {
|
|
@@ -38,7 +38,7 @@ sap.ui.define([
|
|
|
38
38
|
* Provides methods to show or hide a waiting animation covering the whole
|
|
39
39
|
* page and blocking user interaction.
|
|
40
40
|
* @namespace
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.95.0
|
|
42
42
|
* @public
|
|
43
43
|
* @alias sap.ui.core.BusyIndicator
|
|
44
44
|
*/
|
|
@@ -101,11 +101,6 @@ sap.ui.define([
|
|
|
101
101
|
* @private
|
|
102
102
|
*/
|
|
103
103
|
BusyIndicator._init = function() {
|
|
104
|
-
// Create the graphics element
|
|
105
|
-
// inserts 2 divs:
|
|
106
|
-
// 1. an empty one which will contain the old indicator (used in goldreflection)
|
|
107
|
-
// 2. a div containing the new standard busy indicator (used in bluecrystal)
|
|
108
|
-
|
|
109
104
|
var oRootDomRef = document.createElement("div");
|
|
110
105
|
oRootDomRef.id = this.sDOM_ID;
|
|
111
106
|
|
|
@@ -125,13 +120,8 @@ sap.ui.define([
|
|
|
125
120
|
oBusyElement.setAttribute("title", sTitle);
|
|
126
121
|
oRootDomRef.appendChild(oBusyElement);
|
|
127
122
|
|
|
128
|
-
// Render into invisible area, so the size settings from CSS are applied
|
|
129
|
-
var oInvisible = sap.ui.getCore().getStaticAreaRef();
|
|
130
|
-
oInvisible.appendChild(oRootDomRef);
|
|
131
|
-
|
|
132
123
|
this.oDomRef = oRootDomRef;
|
|
133
124
|
|
|
134
|
-
//TODO how could this be destroyed? Who can/will destroy this?
|
|
135
125
|
this.oPopup = new Popup(oRootDomRef);
|
|
136
126
|
this.oPopup.setModal(true, "sapUiBlyBusy");
|
|
137
127
|
this.oPopup.setShadow(false);
|
|
@@ -14,7 +14,8 @@ sap.ui.define(['./BlockLayerUtils'], //require of sap/ui/core/library not possib
|
|
|
14
14
|
/**
|
|
15
15
|
* @alias sap.ui.core.BusyIndicatorUtils
|
|
16
16
|
* @namespace
|
|
17
|
-
* @
|
|
17
|
+
* @private
|
|
18
|
+
* @ui5-restricted sap.ui.core, sap.chart
|
|
18
19
|
*/
|
|
19
20
|
var BusyIndicatorUtils = function() {};
|
|
20
21
|
|
|
@@ -24,6 +25,8 @@ sap.ui.define(['./BlockLayerUtils'], //require of sap/ui/core/library not possib
|
|
|
24
25
|
*
|
|
25
26
|
* @param {string} sSize either "Large" or "Medium". Other sizes will be mapped to "Medium"
|
|
26
27
|
* @returns {DOM.element} the element for the busy indicator
|
|
28
|
+
* @private
|
|
29
|
+
* @ui5-restricted sap.ui.core, sap.chart
|
|
27
30
|
*/
|
|
28
31
|
BusyIndicatorUtils.getElement = function(sSize) {
|
|
29
32
|
//default size is medium
|