@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
|
@@ -8,6 +8,7 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/core/support/techinfo/moduleTreeHelper",
|
|
9
9
|
"sap/ui/Device",
|
|
10
10
|
"sap/ui/Global",
|
|
11
|
+
"sap/ui/VersionInfo",
|
|
11
12
|
"sap/ui/core/format/DateFormat",
|
|
12
13
|
"sap/ui/model/resource/ResourceModel",
|
|
13
14
|
"sap/ui/model/json/JSONModel",
|
|
@@ -20,11 +21,13 @@ sap.ui.define([
|
|
|
20
21
|
"sap/ui/util/Storage",
|
|
21
22
|
"sap/ui/core/syncStyleClass",
|
|
22
23
|
"sap/base/Log",
|
|
24
|
+
"sap/ui/core/Fragment",
|
|
23
25
|
"sap/ui/thirdparty/jquery"
|
|
24
26
|
], function(
|
|
25
27
|
moduleTreeHelper,
|
|
26
28
|
Device,
|
|
27
29
|
Global,
|
|
30
|
+
VersionInfo,
|
|
28
31
|
DateFormat,
|
|
29
32
|
ResourceModel,
|
|
30
33
|
JSONModel,
|
|
@@ -37,6 +40,7 @@ sap.ui.define([
|
|
|
37
40
|
Storage,
|
|
38
41
|
syncStyleClass,
|
|
39
42
|
Log,
|
|
43
|
+
Fragment,
|
|
40
44
|
jQuery
|
|
41
45
|
) {
|
|
42
46
|
"use strict";
|
|
@@ -68,8 +72,8 @@ sap.ui.define([
|
|
|
68
72
|
* @param{function} fnCallback Callback that can be executed to fetch library and module information
|
|
69
73
|
*/
|
|
70
74
|
open: function (fnCallback) {
|
|
71
|
-
// early out if already open
|
|
72
|
-
if (this.
|
|
75
|
+
// early out if already loading or open
|
|
76
|
+
if (this._pOpenDialog) {
|
|
73
77
|
return;
|
|
74
78
|
}
|
|
75
79
|
|
|
@@ -77,32 +81,45 @@ sap.ui.define([
|
|
|
77
81
|
this._oModuleSystemInfo = fnCallback() || {};
|
|
78
82
|
|
|
79
83
|
// create dialog lazily
|
|
80
|
-
|
|
81
|
-
this._oDialog
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
// refresh configuration data and open dialog
|
|
85
|
-
this._initialize();
|
|
86
|
-
this._oDialog.open();
|
|
84
|
+
this._loadAndInitialize().then(function() {
|
|
85
|
+
this._oDialog.open();
|
|
86
|
+
this._bIsBeingClosed = false;
|
|
87
|
+
}.bind(this));
|
|
87
88
|
},
|
|
88
89
|
|
|
89
90
|
/**
|
|
90
|
-
* Closes the technical information dialog
|
|
91
|
+
* Closes the technical information dialog.
|
|
91
92
|
*/
|
|
92
93
|
close: function() {
|
|
93
|
-
this.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
if ( !this._pDestroyDialog ) {
|
|
95
|
+
this._bIsBeingClosed = true;
|
|
96
|
+
this._pDestroyDialog = Promise.all([
|
|
97
|
+
Promise.resolve(this._pAssistantPopover)
|
|
98
|
+
.then(function() {
|
|
99
|
+
if (this._oAssistantPopover) {
|
|
100
|
+
this._oAssistantPopover.destroy();
|
|
101
|
+
this._oAssistantPopover = null;
|
|
102
|
+
}
|
|
103
|
+
this._pAssistantPopover = null;
|
|
104
|
+
}.bind(this)),
|
|
105
|
+
Promise.resolve(this._pDebugPopover)
|
|
106
|
+
.then(function() {
|
|
107
|
+
if (this._oDebugPopover) {
|
|
108
|
+
this._oDebugPopover.destroy();
|
|
109
|
+
this._oDebugPopover = null;
|
|
110
|
+
}
|
|
111
|
+
this._pDebugPopover = null;
|
|
112
|
+
}.bind(this))
|
|
113
|
+
]).then(function() {
|
|
114
|
+
this._oDialog.close();
|
|
115
|
+
this._oDialog.destroy();
|
|
116
|
+
this._oDialog = null;
|
|
117
|
+
this._pOpenDialog = null;
|
|
118
|
+
this._pDestroyDialog = null;
|
|
119
|
+
}.bind(this));
|
|
100
120
|
}
|
|
101
121
|
|
|
102
|
-
|
|
103
|
-
this._oDebugPopover.destroy();
|
|
104
|
-
this._oDebugPopover = null;
|
|
105
|
-
}
|
|
122
|
+
return this._pDestroyDialog;
|
|
106
123
|
},
|
|
107
124
|
|
|
108
125
|
/* =========================================================== */
|
|
@@ -185,10 +202,11 @@ sap.ui.define([
|
|
|
185
202
|
this._updateTreeInfos();
|
|
186
203
|
|
|
187
204
|
// create dialog lazily
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
205
|
+
this._loadDebugPopover().then(function() {
|
|
206
|
+
// out early if TechnicalInfo is closing
|
|
207
|
+
if (this._bIsBeingClosed) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
192
210
|
var oControl = this._getControl("customDebugValue", this._DEBUG_MODULES_ID);
|
|
193
211
|
try {
|
|
194
212
|
this._validateCustomDebugValue(oControl.getValue());
|
|
@@ -196,13 +214,12 @@ sap.ui.define([
|
|
|
196
214
|
this._showError(oControl, oException.message);
|
|
197
215
|
return;
|
|
198
216
|
}
|
|
199
|
-
|
|
217
|
+
// adopt tree depth to the deepest currently selected module
|
|
218
|
+
this._getControl("tree", this._DEBUG_MODULES_ID).expandToLevel(Math.max(this._MIN_EXPAND_LEVEL_DEBUG_MODULES, oTreeResults.depth));
|
|
200
219
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
// open dialog
|
|
205
|
-
this._oDebugPopover.open();
|
|
220
|
+
// open dialog
|
|
221
|
+
this._oDebugPopover.open();
|
|
222
|
+
}.bind(this));
|
|
206
223
|
},
|
|
207
224
|
|
|
208
225
|
/**
|
|
@@ -411,36 +428,30 @@ sap.ui.define([
|
|
|
411
428
|
return;
|
|
412
429
|
}
|
|
413
430
|
// create dialog lazily
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
|
|
430
|
-
oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
|
|
431
|
-
oCurrentItem.setEnabled(true);
|
|
432
|
-
} else {
|
|
433
|
-
oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
|
|
434
|
-
oCurrentItem.setEnabled(false);
|
|
435
|
-
}
|
|
431
|
+
this._loadAssistantPopover().then(function() {
|
|
432
|
+
// out early if TechnicalInfo is closing
|
|
433
|
+
if (this._bIsBeingClosed) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
// enable or disable default option for version >= 1.48
|
|
437
|
+
var oCurrentItem = this._getControl("standardBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID).getItems()[0];
|
|
438
|
+
if (this._isVersionBiggerThanMinSupported()) {
|
|
439
|
+
var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
|
|
440
|
+
oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
|
|
441
|
+
oCurrentItem.setEnabled(true);
|
|
442
|
+
} else {
|
|
443
|
+
oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
|
|
444
|
+
oCurrentItem.setEnabled(false);
|
|
445
|
+
}
|
|
436
446
|
|
|
437
|
-
|
|
438
|
-
|
|
447
|
+
var oModel = this._oDialog.getModel("view"),
|
|
448
|
+
sSelectedLocation = oModel.getProperty("/SelectedLocation");
|
|
439
449
|
|
|
440
|
-
|
|
450
|
+
this._setActiveLocations(sSelectedLocation);
|
|
441
451
|
|
|
442
|
-
|
|
443
|
-
|
|
452
|
+
var oSupportAssistantSettingsButton = this._getControl("supportAssistantSettingsButton", this._TECHNICAL_INFO_DIALOG_ID);
|
|
453
|
+
this._oAssistantPopover.openBy(oSupportAssistantSettingsButton);
|
|
454
|
+
}.bind(this));
|
|
444
455
|
},
|
|
445
456
|
|
|
446
457
|
/* =========================================================== */
|
|
@@ -581,8 +592,33 @@ sap.ui.define([
|
|
|
581
592
|
});
|
|
582
593
|
},
|
|
583
594
|
|
|
584
|
-
|
|
585
|
-
|
|
595
|
+
_loadAndInitialize: function() {
|
|
596
|
+
// create dialog lazily
|
|
597
|
+
this._pOpenDialog =
|
|
598
|
+
Promise.all([
|
|
599
|
+
sap.ui.getCore().loadLibraries(["sap.ui.core", "sap.ui.layout", "sap.m"]),
|
|
600
|
+
this._loadVersionInfo(),
|
|
601
|
+
this._pDestroyDialog // wait for a pending destroy to finish
|
|
602
|
+
]).then(function() {
|
|
603
|
+
return Fragment.load({
|
|
604
|
+
id: this._TECHNICAL_INFO_DIALOG_ID,
|
|
605
|
+
name: "sap.ui.core.support.techinfo.TechnicalInfo",
|
|
606
|
+
controller: this
|
|
607
|
+
});
|
|
608
|
+
}.bind(this)).then(function(oDialog) {
|
|
609
|
+
this._oDialog = oDialog;
|
|
610
|
+
// refresh configuration data and open dialog
|
|
611
|
+
return this._initialize();
|
|
612
|
+
}.bind(this)).then(function() {
|
|
613
|
+
this._oDialog.open();
|
|
614
|
+
this._bIsBeingClosed = false;
|
|
615
|
+
}.bind(this));
|
|
616
|
+
|
|
617
|
+
return this._pOpenDialog;
|
|
618
|
+
},
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Initalizes the technical information dialog.
|
|
586
622
|
* @private
|
|
587
623
|
*/
|
|
588
624
|
_initialize: function () {
|
|
@@ -597,6 +633,18 @@ sap.ui.define([
|
|
|
597
633
|
this._oDialog.addStyleClass(this._getContentDensityClass());
|
|
598
634
|
},
|
|
599
635
|
|
|
636
|
+
_loadVersionInfo: function() {
|
|
637
|
+
return VersionInfo.load().catch(function(err) {
|
|
638
|
+
Log.error("failed to load global version info", err);
|
|
639
|
+
return {
|
|
640
|
+
name: "",
|
|
641
|
+
version: ""
|
|
642
|
+
};
|
|
643
|
+
}).then(function(oVersionInfo) {
|
|
644
|
+
this._oVersionInfo = oVersionInfo;
|
|
645
|
+
}.bind(this));
|
|
646
|
+
},
|
|
647
|
+
|
|
600
648
|
/**
|
|
601
649
|
* Initializes the view model with the current runtime information
|
|
602
650
|
* @private
|
|
@@ -623,23 +671,16 @@ sap.ui.define([
|
|
|
623
671
|
});
|
|
624
672
|
|
|
625
673
|
// load version info into view model
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
oVersionInfo = Global.getVersionInfo();
|
|
629
|
-
oViewModel.setProperty("/ProductName", oVersionInfo.name);
|
|
630
|
-
oViewModel.setProperty("/ProductVersion", oVersionInfo.version);
|
|
631
|
-
} catch (oException) {
|
|
632
|
-
oVersionInfo.version = "";
|
|
633
|
-
Log.error("failed to load global version info");
|
|
634
|
-
}
|
|
674
|
+
oViewModel.setProperty("/ProductName", this._oVersionInfo.name);
|
|
675
|
+
oViewModel.setProperty("/ProductVersion", this._oVersionInfo.version);
|
|
635
676
|
|
|
636
677
|
try {
|
|
637
|
-
oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(
|
|
678
|
+
oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(this._oVersionInfo.buildTimestamp));
|
|
638
679
|
} catch (oException) {
|
|
639
680
|
Log.error("failed to parse build timestamp from global version info");
|
|
640
681
|
}
|
|
641
682
|
|
|
642
|
-
if (!/openui5/i.test(
|
|
683
|
+
if (!/openui5/i.test(this._oVersionInfo.name)) {
|
|
643
684
|
oViewModel.setProperty("/OpenUI5ProductVersion", Global.version);
|
|
644
685
|
// convert build timestamp
|
|
645
686
|
try {
|
|
@@ -651,7 +692,7 @@ sap.ui.define([
|
|
|
651
692
|
|
|
652
693
|
var sAppVersion;
|
|
653
694
|
try {
|
|
654
|
-
sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption",
|
|
695
|
+
sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption", this._oVersionInfo.version);
|
|
655
696
|
} catch (oException) {
|
|
656
697
|
sAppVersion = "Application";
|
|
657
698
|
}
|
|
@@ -940,6 +981,42 @@ sap.ui.define([
|
|
|
940
981
|
oModel.setProperty("/DebugModuleSelectionCount", this._treeHelper.getSelectionCount(oTreeData));
|
|
941
982
|
sDisplayCount = oModel.getProperty("/DebugModuleSelectionCount").toString();
|
|
942
983
|
oModel.setProperty("/DebugModulesTitle", this._getText("TechInfo.DebugModulesConfigPopup.SelectionCounter", sDisplayCount));
|
|
984
|
+
},
|
|
985
|
+
|
|
986
|
+
_loadDebugPopover: function() {
|
|
987
|
+
// create dialog lazily
|
|
988
|
+
if (!this._pDebugPopover) {
|
|
989
|
+
this._pDebugPopover = Fragment.load({
|
|
990
|
+
id: this._DEBUG_MODULES_ID,
|
|
991
|
+
name: "sap.ui.core.support.techinfo.TechnicalInfoDebugDialog",
|
|
992
|
+
controller: this
|
|
993
|
+
}).then(function(oDebugPopover) {
|
|
994
|
+
this._oDebugPopover = oDebugPopover;
|
|
995
|
+
this._oDialog.addDependent(this._oDebugPopover);
|
|
996
|
+
syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oDebugPopover);
|
|
997
|
+
}.bind(this));
|
|
998
|
+
}
|
|
999
|
+
return this._pDebugPopover;
|
|
1000
|
+
},
|
|
1001
|
+
|
|
1002
|
+
_loadAssistantPopover: function() {
|
|
1003
|
+
if (!this._pAssistantPopover) {
|
|
1004
|
+
this._pAssistantPopover = Fragment.load({
|
|
1005
|
+
id: this._SUPPORT_ASSISTANT_POPOVER_ID,
|
|
1006
|
+
name: "sap.ui.core.support.techinfo.TechnicalInfoAssistantPopover",
|
|
1007
|
+
controller: this
|
|
1008
|
+
}).then(function(oAssistantPopover) {
|
|
1009
|
+
this._oAssistantPopover = oAssistantPopover;
|
|
1010
|
+
this._oAssistantPopover.attachAfterOpen(this._onAssistantPopoverOpened, this);
|
|
1011
|
+
this._oDialog.addDependent(this._oAssistantPopover);
|
|
1012
|
+
syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oAssistantPopover);
|
|
1013
|
+
|
|
1014
|
+
// register message validation and trigger it once to validate the value coming from local storage
|
|
1015
|
+
var oCustomBootstrapURL = this._getControl("customBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID);
|
|
1016
|
+
sap.ui.getCore().getMessageManager().registerObject(oCustomBootstrapURL, true);
|
|
1017
|
+
}.bind(this));
|
|
1018
|
+
}
|
|
1019
|
+
return this._pAssistantPopover;
|
|
943
1020
|
}
|
|
944
1021
|
};
|
|
945
1022
|
});
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
display: inline-block;
|
|
10
10
|
vertical-align: baseline;
|
|
11
11
|
line-height: 1;
|
|
12
|
+
position: relative;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.sapUiIconPointer {
|
|
@@ -28,6 +29,14 @@
|
|
|
28
29
|
-webkit-font-smoothing: antialiased;
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
.sapUiIcon > .sapUiIconTitle {
|
|
33
|
+
position: absolute;
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%;
|
|
36
|
+
left: 0;
|
|
37
|
+
top: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
/*
|
|
32
41
|
* The mirroring of icon is done on the pesudo element and not the root DOM.
|
|
33
42
|
* Because:
|
|
Binary file
|
|
@@ -631,6 +631,8 @@ sap.ui.define([
|
|
|
631
631
|
/**
|
|
632
632
|
* <p>
|
|
633
633
|
* Returns the current value for one or more theming parameters, depending on the given arguments.
|
|
634
|
+
* The synchronous usage of this API has been deprecated and only the asynchronous usage should still be used
|
|
635
|
+
* (see the 4th bullet point and the code examples below).
|
|
634
636
|
* </p>
|
|
635
637
|
*
|
|
636
638
|
* <p>
|
|
@@ -651,9 +653,9 @@ sap.ui.define([
|
|
|
651
653
|
* <p>
|
|
652
654
|
* The following API variants are available (see also the below examples):
|
|
653
655
|
* <ul>
|
|
654
|
-
* <li> <b>(deprecated since 1.92)
|
|
655
|
-
* <li>If a <code>string</code> is given as first parameter the value is returned as a <code>string</code></li>
|
|
656
|
-
* <li>If an <code>array</code> is given as first parameter a key-value map containing all parameters from the <code>array</code> is returned</li>
|
|
656
|
+
* <li> <b>(deprecated since 1.92)</b> If no parameter is given a key-value map containing all parameters is returned</li>
|
|
657
|
+
* <li> <b>(deprecated since 1.94)</b> If a <code>string</code> is given as first parameter the value is returned as a <code>string</code></li>
|
|
658
|
+
* <li> <b>(deprecated since 1.94)</b> If an <code>array</code> is given as first parameter a key-value map containing all parameters from the <code>array</code> is returned</li>
|
|
657
659
|
* <li>If an <code>object</code> is given as first parameter the result is returned immediately in case all parameters are loaded and available or within the callback in case not all CSS files are already loaded.
|
|
658
660
|
* This is the <b>only asynchronous</b> API variant. This variant is the preferred way to retrieve theming parameters.
|
|
659
661
|
* The structure of the return value is the same as listed above depending on the type of the name property within the <code>object</code>.</li>
|
|
@@ -772,7 +774,7 @@ sap.ui.define([
|
|
|
772
774
|
|
|
773
775
|
Log.warning(
|
|
774
776
|
"Legacy variant usage of sap.ui.core.theming.Parameters.get API detected for parameter(s): '" + aNames.join(", ") +
|
|
775
|
-
"'. This could lead to bad performance and
|
|
777
|
+
"'. This could lead to bad performance and additional synchronous XHRs, as parameters might not be available yet. Use asynchronous variant instead.",
|
|
776
778
|
"LegacyParametersGet",
|
|
777
779
|
"sap.ui.support",
|
|
778
780
|
function() { return { type: "LegacyParametersGet" }; }
|
|
@@ -13,7 +13,9 @@ sap.ui.define([
|
|
|
13
13
|
'sap/base/util/ObjectPath',
|
|
14
14
|
'sap/base/Log',
|
|
15
15
|
'sap/base/assert',
|
|
16
|
-
'sap/ui/thirdparty/jquery'
|
|
16
|
+
'sap/ui/thirdparty/jquery',
|
|
17
|
+
'sap/ui/core/tmpl/TemplateControl',
|
|
18
|
+
'./_parsePath'
|
|
17
19
|
],
|
|
18
20
|
function(
|
|
19
21
|
ManagedObject,
|
|
@@ -23,7 +25,9 @@ function(
|
|
|
23
25
|
ObjectPath,
|
|
24
26
|
Log,
|
|
25
27
|
assert,
|
|
26
|
-
jQuery
|
|
28
|
+
jQuery,
|
|
29
|
+
TemplateControl,
|
|
30
|
+
parsePath
|
|
27
31
|
) {
|
|
28
32
|
"use strict";
|
|
29
33
|
|
|
@@ -48,7 +52,7 @@ function(
|
|
|
48
52
|
* @extends sap.ui.base.ManagedObject
|
|
49
53
|
* @abstract
|
|
50
54
|
* @author SAP SE
|
|
51
|
-
* @version 1.
|
|
55
|
+
* @version 1.96.2
|
|
52
56
|
* @alias sap.ui.core.tmpl.Template
|
|
53
57
|
* @since 1.15
|
|
54
58
|
* @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link sap.ui.core.mvc.JSView JSView} instead.
|
|
@@ -170,28 +174,7 @@ function(
|
|
|
170
174
|
* @protected
|
|
171
175
|
* @static
|
|
172
176
|
*/
|
|
173
|
-
Template.parsePath =
|
|
174
|
-
|
|
175
|
-
// TODO: wouldn't this be something central in ManagedObject?
|
|
176
|
-
|
|
177
|
-
// parse the path
|
|
178
|
-
var sModelName,
|
|
179
|
-
iSeparatorPos = sPath.indexOf(">");
|
|
180
|
-
|
|
181
|
-
// if a model name is specified in the binding path
|
|
182
|
-
// we extract this binding path
|
|
183
|
-
if (iSeparatorPos > 0) {
|
|
184
|
-
sModelName = sPath.substr(0, iSeparatorPos);
|
|
185
|
-
sPath = sPath.substr(iSeparatorPos + 1);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// returns the path information
|
|
189
|
-
return {
|
|
190
|
-
path: sPath,
|
|
191
|
-
model: sModelName
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
};
|
|
177
|
+
Template.parsePath = parsePath;
|
|
195
178
|
|
|
196
179
|
/*
|
|
197
180
|
* overridden to prevent instantiation of Template
|
|
@@ -240,7 +223,6 @@ function(
|
|
|
240
223
|
var oMetadata = this.createMetadata(),
|
|
241
224
|
fnRenderer = this.createRenderer(),
|
|
242
225
|
that = this;
|
|
243
|
-
var TemplateControl = sap.ui.requireSync('sap/ui/core/tmpl/TemplateControl');
|
|
244
226
|
TemplateControl.extend(sControl, {
|
|
245
227
|
|
|
246
228
|
// the new control metadata
|
|
@@ -281,7 +263,6 @@ function(
|
|
|
281
263
|
Template.prototype.createControl = function(sId, oContext, oView) {
|
|
282
264
|
|
|
283
265
|
// create the anonymous control instance
|
|
284
|
-
var TemplateControl = sap.ui.requireSync('sap/ui/core/tmpl/TemplateControl');
|
|
285
266
|
var oControl = new TemplateControl({
|
|
286
267
|
id: sId,
|
|
287
268
|
template: this,
|
|
@@ -597,7 +578,8 @@ function(
|
|
|
597
578
|
}
|
|
598
579
|
|
|
599
580
|
// require and instantiate the proper template
|
|
600
|
-
var fnClass = sap.ui.requireSync(sClass.replace(/\./g, "/"));
|
|
581
|
+
var fnClass = sap.ui.requireSync(sClass.replace(/\./g, "/")); // legacy-relevant: Template is deprecated since 1.56 and XMLView should be used instead
|
|
582
|
+
|
|
601
583
|
fnClass = fnClass || ObjectPath.get(sClass || "");
|
|
602
584
|
|
|
603
585
|
// create a new instance of the template
|
|
@@ -10,8 +10,8 @@ sap.ui.define([
|
|
|
10
10
|
'sap/ui/core/DeclarativeSupport',
|
|
11
11
|
'sap/ui/core/UIArea',
|
|
12
12
|
'./DOMElement',
|
|
13
|
-
'./Template',
|
|
14
13
|
"./TemplateControlRenderer",
|
|
14
|
+
"./_parsePath",
|
|
15
15
|
"sap/base/strings/capitalize",
|
|
16
16
|
"sap/base/strings/hyphenate",
|
|
17
17
|
"sap/base/Log",
|
|
@@ -23,8 +23,8 @@ sap.ui.define([
|
|
|
23
23
|
DeclarativeSupport,
|
|
24
24
|
UIArea,
|
|
25
25
|
DOMElement,
|
|
26
|
-
Template,
|
|
27
26
|
TemplateControlRenderer,
|
|
27
|
+
parsePath,
|
|
28
28
|
capitalize,
|
|
29
29
|
hyphenate,
|
|
30
30
|
Log,
|
|
@@ -43,7 +43,7 @@ sap.ui.define([
|
|
|
43
43
|
* @class
|
|
44
44
|
* This is the base class for all template controls. Template controls are declared based on templates.
|
|
45
45
|
* @extends sap.ui.core.Control
|
|
46
|
-
* @version 1.
|
|
46
|
+
* @version 1.96.2
|
|
47
47
|
*
|
|
48
48
|
* @public
|
|
49
49
|
* @since 1.15
|
|
@@ -263,7 +263,7 @@ sap.ui.define([
|
|
|
263
263
|
TemplateControl.prototype.bind = function(sPath, sType) {
|
|
264
264
|
|
|
265
265
|
// parse the path and create the binding
|
|
266
|
-
var oPathInfo =
|
|
266
|
+
var oPathInfo = parsePath(sPath),
|
|
267
267
|
oModel = this.getModel(oPathInfo.model),
|
|
268
268
|
sPath = oPathInfo.path,
|
|
269
269
|
sModelFunc = sType ? "bind" + capitalize(sType) : "bindProperty",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([], function() {
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Parses the given path and extracts the model and path
|
|
11
|
+
*
|
|
12
|
+
* @param {string} sPath the path
|
|
13
|
+
* @return {object} the model and the path
|
|
14
|
+
*/
|
|
15
|
+
return function(sPath) {
|
|
16
|
+
// TODO: wouldn't this be something central in ManagedObject?
|
|
17
|
+
|
|
18
|
+
// parse the path
|
|
19
|
+
var sModelName,
|
|
20
|
+
iSeparatorPos = sPath.indexOf(">");
|
|
21
|
+
|
|
22
|
+
// if a model name is specified in the binding path
|
|
23
|
+
// we extract this binding path
|
|
24
|
+
if (iSeparatorPos > 0) {
|
|
25
|
+
sModelName = sPath.substr(0, iSeparatorPos);
|
|
26
|
+
sPath = sPath.substr(iSeparatorPos + 1);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// returns the path information
|
|
30
|
+
return {
|
|
31
|
+
path: sPath,
|
|
32
|
+
model: sModelName
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
});
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
|
-
"sap/ui/core/util/MockServer",
|
|
8
7
|
"sap/ui/thirdparty/jquery",
|
|
9
8
|
"sap/base/util/isEmptyObject",
|
|
10
9
|
"jquery.sap.sjax"
|
|
11
|
-
], function(
|
|
10
|
+
], function(jQuery, isEmptyObject /*, jQuerySapSjax*/) {
|
|
12
11
|
"use strict";
|
|
13
12
|
return {
|
|
14
13
|
|
|
@@ -69,6 +68,7 @@ sap.ui.define([
|
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
};
|
|
71
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
72
72
|
if (oAnnotations && oAnnotations.EntityContainer) {
|
|
73
73
|
var oEntitySetsAnnotations = oAnnotations.EntityContainer[Object.keys(oAnnotations.EntityContainer)[0]];
|
|
74
74
|
//iterate over entitysets annotations
|
|
@@ -161,6 +161,7 @@ sap.ui.define([
|
|
|
161
161
|
*/
|
|
162
162
|
_prepareDraftMetadata: function(mEntitySets) {
|
|
163
163
|
var that = this;
|
|
164
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
164
165
|
this._oDraftMetadata.draftNodes = [];
|
|
165
166
|
this._oDraftMetadata.draftRootKey = mEntitySets[this._oDraftMetadata.draftRootName].keys.filter(function(x) {
|
|
166
167
|
return that._calcSemanticKeys(that._oDraftMetadata.draftRootName, mEntitySets).indexOf(x) < 0;
|
|
@@ -401,6 +402,7 @@ sap.ui.define([
|
|
|
401
402
|
|
|
402
403
|
setRequests: function(aRequests) {
|
|
403
404
|
var that = this;
|
|
405
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
404
406
|
aRequests.push({
|
|
405
407
|
method: "POST",
|
|
406
408
|
path: new RegExp(that._oDraftMetadata.draftRootActivationName),
|
|
@@ -610,20 +612,21 @@ sap.ui.define([
|
|
|
610
612
|
},
|
|
611
613
|
|
|
612
614
|
_generateMockdata: function(mEntitySets, sBaseUrl) {
|
|
613
|
-
|
|
615
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
614
616
|
MockServer.prototype._generateMockdata.apply(this, [mEntitySets, sBaseUrl]);
|
|
615
617
|
|
|
616
618
|
this._handleDraftArtifacts(mEntitySets);
|
|
617
619
|
},
|
|
618
620
|
|
|
619
621
|
_loadMockdata: function(mEntitySets, sBaseUrl) {
|
|
620
|
-
|
|
622
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
621
623
|
MockServer.prototype._loadMockdata.apply(this, [mEntitySets, sBaseUrl]);
|
|
622
624
|
|
|
623
625
|
this._handleDraftArtifacts(mEntitySets);
|
|
624
626
|
},
|
|
625
627
|
|
|
626
628
|
_resolveNavigation: function(sEntitySetName, oFromRecord, sNavProp, oEntry) {
|
|
629
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
627
630
|
var aEntries = MockServer.prototype._resolveNavigation.apply(this, [sEntitySetName, oFromRecord, sNavProp, oEntry]);
|
|
628
631
|
if (sNavProp === this._oConstants.SIBLINGENTITY_NAVIGATION) {
|
|
629
632
|
if (oEntry && oEntry.IsActiveEntity) {
|
|
@@ -644,12 +647,14 @@ sap.ui.define([
|
|
|
644
647
|
},
|
|
645
648
|
|
|
646
649
|
_findEntitySets: function(oMetadata) {
|
|
650
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
647
651
|
var mEntitySets = MockServer.prototype._findEntitySets.apply(this, [oMetadata]);
|
|
648
652
|
this._prepareDraftMetadata(mEntitySets);
|
|
649
653
|
return mEntitySets;
|
|
650
654
|
},
|
|
651
655
|
|
|
652
656
|
getEntitySetData: function(sEntitySet) {
|
|
657
|
+
var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
|
|
653
658
|
var aEntitySet = MockServer.prototype.getEntitySetData.apply(this, [sEntitySet]);
|
|
654
659
|
var fnGetParameter = function() {
|
|
655
660
|
return aEntitySet;
|