@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
|
@@ -103,6 +103,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
103
103
|
/**
|
|
104
104
|
* Sets the force refresh flag of the context. If this is set, the context will force a refresh of dependent
|
|
105
105
|
* bindings, when the context is propagated.
|
|
106
|
+
*
|
|
107
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
108
|
+
* instead
|
|
106
109
|
* @private
|
|
107
110
|
* @param {boolean} bForceRefresh the force refresh flag
|
|
108
111
|
*/
|
|
@@ -112,6 +115,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
112
115
|
|
|
113
116
|
/**
|
|
114
117
|
* This method returns, whether dependent bindings need to be refreshed.
|
|
118
|
+
*
|
|
119
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
120
|
+
* instead
|
|
115
121
|
* @private
|
|
116
122
|
* @return {boolean} the force refresh flag
|
|
117
123
|
*/
|
|
@@ -123,6 +129,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
123
129
|
* Sets the preliminary flag of the context. If this is set, the context is not yet linked to actual model
|
|
124
130
|
* data, but does just contain path information. This can be used by dependent bindings to send their request
|
|
125
131
|
* in parallel to the request of the context binding.
|
|
132
|
+
*
|
|
133
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
134
|
+
* instead
|
|
126
135
|
* @private
|
|
127
136
|
* @param {boolean} bPreliminary the preliminary flag
|
|
128
137
|
*/
|
|
@@ -132,6 +141,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
132
141
|
|
|
133
142
|
/**
|
|
134
143
|
* This method returns, whether the context is preliminary.
|
|
144
|
+
*
|
|
145
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
146
|
+
* instead
|
|
135
147
|
* @private
|
|
136
148
|
* @ui5-restricted sap.suite.ui.generic
|
|
137
149
|
* @return {boolean} the preliminary flag
|
|
@@ -143,6 +155,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
143
155
|
/**
|
|
144
156
|
* Sets the updated flag of the context. If this is set, the context was updated. E.g. the path changed from
|
|
145
157
|
* a preliminary path to the canonical one.
|
|
158
|
+
*
|
|
159
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
160
|
+
* instead
|
|
146
161
|
* @private
|
|
147
162
|
* @param {boolean} bUpdated the preliminary flag
|
|
148
163
|
*/
|
|
@@ -152,6 +167,9 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
152
167
|
|
|
153
168
|
/**
|
|
154
169
|
* This method returns, whether the context is updated.
|
|
170
|
+
*
|
|
171
|
+
* @deprecated since 1.93.0; only supported by the OData V2 Model; use V2 specific Context
|
|
172
|
+
* instead
|
|
155
173
|
* @private
|
|
156
174
|
* @return {boolean} the updated flag
|
|
157
175
|
*/
|
|
@@ -159,6 +177,17 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
159
177
|
return this.bUpdated;
|
|
160
178
|
};
|
|
161
179
|
|
|
180
|
+
/**
|
|
181
|
+
* Whether this context has changed. By default this context cannot be changed but subclasses
|
|
182
|
+
* can override this behaviour.
|
|
183
|
+
*
|
|
184
|
+
* @return {boolean} Whether this context has changed
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
Context.prototype.hasChanged = function() {
|
|
188
|
+
return this.isUpdated() || this.isRefreshForced();
|
|
189
|
+
};
|
|
190
|
+
|
|
162
191
|
/**
|
|
163
192
|
* Compares the two given Contexts. Returns true if the context instances are not equal,
|
|
164
193
|
* if the new context is updated or if the new context is refreshed.
|
|
@@ -169,17 +198,8 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/util/isPlainObject"],
|
|
|
169
198
|
* @private
|
|
170
199
|
*/
|
|
171
200
|
Context.hasChanged = function(oOldContext, oNewContext) {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (oOldContext !== oNewContext) {
|
|
175
|
-
bChanged = true;
|
|
176
|
-
} else if (oNewContext && oNewContext.isUpdated()) {
|
|
177
|
-
bChanged = true;
|
|
178
|
-
} else if (oNewContext && oNewContext.isRefreshForced()) {
|
|
179
|
-
bChanged = true;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return bChanged;
|
|
201
|
+
return oOldContext !== oNewContext
|
|
202
|
+
|| !!oNewContext && !!oNewContext.hasChanged();
|
|
183
203
|
};
|
|
184
204
|
|
|
185
205
|
/**
|
|
@@ -168,6 +168,25 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
|
|
|
168
168
|
return this.getContexts();
|
|
169
169
|
};
|
|
170
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Returns the count of entries in the list, or <code>undefined</code> if it is unknown.
|
|
173
|
+
* The count is by default identical to the list length if it is final. Concrete subclasses may,
|
|
174
|
+
* however, override the method, for example:
|
|
175
|
+
* <ul>
|
|
176
|
+
* <li> for server-side models where lists are not completely read by the client,
|
|
177
|
+
* <li> for lists representing hierarchical data.
|
|
178
|
+
* </ul>
|
|
179
|
+
*
|
|
180
|
+
* @returns {number|undefined} The count of entries
|
|
181
|
+
* @public
|
|
182
|
+
* @see #getLength
|
|
183
|
+
* @see #isLengthFinal
|
|
184
|
+
* @since 1.93.0
|
|
185
|
+
*/
|
|
186
|
+
ListBinding.prototype.getCount = function() {
|
|
187
|
+
return this.isLengthFinal() ? this.getLength() : undefined;
|
|
188
|
+
};
|
|
189
|
+
|
|
171
190
|
/**
|
|
172
191
|
* Returns the number of entries in the list.
|
|
173
192
|
*
|
|
@@ -46,7 +46,7 @@ sap.ui.define([
|
|
|
46
46
|
* @extends sap.ui.core.message.MessageProcessor
|
|
47
47
|
*
|
|
48
48
|
* @author SAP SE
|
|
49
|
-
* @version 1.
|
|
49
|
+
* @version 1.95.0
|
|
50
50
|
*
|
|
51
51
|
* @public
|
|
52
52
|
* @alias sap.ui.model.Model
|
|
@@ -739,7 +739,7 @@ sap.ui.define([
|
|
|
739
739
|
* is automatically converted into an absolute path.
|
|
740
740
|
*
|
|
741
741
|
* @param {string} sPath path to resolve
|
|
742
|
-
* @param {sap.ui.
|
|
742
|
+
* @param {sap.ui.model.Context} [oContext] context to resolve a relative path against
|
|
743
743
|
* @return {string} resolved path or undefined
|
|
744
744
|
*/
|
|
745
745
|
Model.prototype.resolve = function(sPath, oContext) {
|
|
@@ -1104,7 +1104,7 @@ sap.ui.define([
|
|
|
1104
1104
|
* data was accepted or rejected
|
|
1105
1105
|
*
|
|
1106
1106
|
* @param {string} sPath Path to resolve
|
|
1107
|
-
* @param {sap.ui.
|
|
1107
|
+
* @param {sap.ui.model.Context} [oContext] Context to resolve a relative path against
|
|
1108
1108
|
* @returns {boolean} true if the data in this path is laundering
|
|
1109
1109
|
*/
|
|
1110
1110
|
Model.prototype.isLaundering = function(sPath, oContext) {
|
|
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
|
|
|
20
20
|
* @extends sap.ui.base.EventProvider
|
|
21
21
|
*
|
|
22
22
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.95.0
|
|
24
24
|
*
|
|
25
25
|
* @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
|
|
26
26
|
*
|
|
@@ -51,12 +51,16 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
|
|
|
51
51
|
/**
|
|
52
52
|
* SelectionMode: Single Selection
|
|
53
53
|
* @public
|
|
54
|
+
* @readonly
|
|
55
|
+
* @type {int}
|
|
54
56
|
*/
|
|
55
57
|
SelectionModel.SINGLE_SELECTION = 0;
|
|
56
58
|
|
|
57
59
|
/**
|
|
58
60
|
* SelectionMode: Multi Selection
|
|
59
61
|
* @public
|
|
62
|
+
* @readonly
|
|
63
|
+
* @type {int}
|
|
60
64
|
*/
|
|
61
65
|
SelectionModel.MULTI_SELECTION = 1;
|
|
62
66
|
|
package/src/sap/ui/model/Type.js
CHANGED
|
@@ -335,13 +335,16 @@ sap.ui.define([
|
|
|
335
335
|
|
|
336
336
|
// considering different count mode settings
|
|
337
337
|
if (mParameters && mParameters.countMode == CountMode.None) {
|
|
338
|
-
oLogger.fatal("requested count mode is ignored; OData requests will include
|
|
338
|
+
oLogger.fatal("requested count mode is ignored; OData requests will include"
|
|
339
|
+
+ " $inlinecount options");
|
|
339
340
|
} else if (mParameters
|
|
340
341
|
&& (mParameters.countMode == CountMode.Request
|
|
341
342
|
|| mParameters.countMode == CountMode.Both)) {
|
|
342
|
-
oLogger.warning("default count mode is ignored; OData requests will include
|
|
343
|
+
oLogger.warning("default count mode is ignored; OData requests will include"
|
|
344
|
+
+ " $inlinecount options");
|
|
343
345
|
} else if (this.oModel.sDefaultCountMode == CountMode.Request) {
|
|
344
|
-
oLogger.warning("default count mode is ignored; OData requests will include
|
|
346
|
+
oLogger.warning("default count mode is ignored; OData requests will include"
|
|
347
|
+
+ " $inlinecount options");
|
|
345
348
|
}
|
|
346
349
|
|
|
347
350
|
// detect ODataModel version
|
|
@@ -3494,17 +3497,19 @@ sap.ui.define([
|
|
|
3494
3497
|
AnalyticalBinding.prototype._calculateRequiredGroupSection = function (sGroupId, iStartIndex,
|
|
3495
3498
|
iLength, iThreshold) {
|
|
3496
3499
|
var aElements = this.mKeyIndex[sGroupId] || [],
|
|
3497
|
-
iLimit = this.mFinalLength[sGroupId]
|
|
3500
|
+
iLimit = this.mFinalLength[sGroupId] ? this.mLength[sGroupId] : undefined,
|
|
3498
3501
|
aIntervals = ODataUtils._getReadIntervals(aElements, iStartIndex, iLength, iThreshold,
|
|
3499
|
-
iLimit)
|
|
3502
|
+
iLimit),
|
|
3503
|
+
oInterval = ODataUtils._mergeIntervals(aIntervals);
|
|
3500
3504
|
|
|
3501
|
-
if (
|
|
3505
|
+
if (oInterval) {
|
|
3502
3506
|
return {
|
|
3503
|
-
startIndex :
|
|
3504
|
-
length :
|
|
3507
|
+
startIndex : oInterval.start,
|
|
3508
|
+
length : oInterval.end - oInterval.start
|
|
3505
3509
|
};
|
|
3506
3510
|
}
|
|
3507
|
-
|
|
3511
|
+
|
|
3512
|
+
return {startIndex : 0, length : Math.min(0, iLength)};
|
|
3508
3513
|
};
|
|
3509
3514
|
|
|
3510
3515
|
/**
|
|
@@ -146,18 +146,20 @@ sap.ui.define([
|
|
|
146
146
|
/**
|
|
147
147
|
* Create a representation of the analytical semantics of OData service metadata
|
|
148
148
|
*
|
|
149
|
-
* @param {object}
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* @
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
149
|
+
* @param {object} oModelReference
|
|
150
|
+
* An instance of {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel} or
|
|
151
|
+
* {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceWithWorkaround} for locating
|
|
152
|
+
* the OData service. {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI} is
|
|
153
|
+
* deprecated.
|
|
154
|
+
* @param {object} [mParameter]
|
|
155
|
+
* Additional parameters for controlling the model construction. Currently supported are:
|
|
156
|
+
* <li> sAnnotationJSONDoc - A JSON document providing extra annotations to the elements of
|
|
157
|
+
* the structure of the given service
|
|
158
|
+
* </li>
|
|
159
|
+
* <li> modelVersion (deprecated) - Parameter to define which ODataModel version should be
|
|
160
|
+
* used if you use {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI};
|
|
161
|
+
* supported values are: 1 (default), 2
|
|
162
|
+
* </li>
|
|
161
163
|
*
|
|
162
164
|
* @class Representation of an OData model with analytical annotations defined
|
|
163
165
|
* by OData4SAP.
|
|
@@ -177,6 +179,8 @@ sap.ui.define([
|
|
|
177
179
|
*
|
|
178
180
|
* @class Handle to an OData model by the URI pointing to it.
|
|
179
181
|
* @name sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI
|
|
182
|
+
* @deprecated Since 1.94 use
|
|
183
|
+
* {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel} instead
|
|
180
184
|
* @public
|
|
181
185
|
*/
|
|
182
186
|
odata4analytics.Model.ReferenceByURI = function(sURI) {
|
|
@@ -219,12 +223,12 @@ sap.ui.define([
|
|
|
219
223
|
* exists, they are linked via annotation.</li>
|
|
220
224
|
*
|
|
221
225
|
*
|
|
222
|
-
* @param {object}
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
* @param {string[]}
|
|
227
|
-
*
|
|
226
|
+
* @param {object} oModel
|
|
227
|
+
* Holds a reference to the OData model, obtained by
|
|
228
|
+
* {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel}, or by
|
|
229
|
+
* {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI} which is deprecated.
|
|
230
|
+
* @param {string[]} aWorkaroundID
|
|
231
|
+
* All workarounds to be applied.
|
|
228
232
|
*
|
|
229
233
|
* @class Handle to an already instantiated SAPUI5 OData model.
|
|
230
234
|
* @name sap.ui.model.analytics.odata4analytics.Model.ReferenceWithWorkaround
|
|
@@ -245,12 +249,14 @@ sap.ui.define([
|
|
|
245
249
|
* @private
|
|
246
250
|
*/
|
|
247
251
|
_init : function(oModelReference, mParameter) {
|
|
252
|
+
var ODataModelClass,
|
|
253
|
+
that = this;
|
|
254
|
+
|
|
248
255
|
if (typeof mParameter == "string") {
|
|
249
256
|
throw "Deprecated second argument: Adjust your invocation by passing an object with a property sAnnotationJSONDoc as a second argument instead";
|
|
250
257
|
}
|
|
251
258
|
this._mParameter = mParameter;
|
|
252
259
|
|
|
253
|
-
var that = this;
|
|
254
260
|
/*
|
|
255
261
|
* get access to OData model
|
|
256
262
|
*/
|
|
@@ -277,14 +283,16 @@ sap.ui.define([
|
|
|
277
283
|
checkForMetadata();
|
|
278
284
|
} else if (mParameter && mParameter.modelVersion === AnalyticalVersionInfo.V2) {
|
|
279
285
|
// Check if the user wants a V2 model
|
|
280
|
-
|
|
281
|
-
|
|
286
|
+
ODataModelClass = sap.ui.require("sap/ui/model/odata/v2/ODataModel") ||
|
|
287
|
+
sap.ui.requireSync("sap/ui/model/odata/v2/ODataModel");
|
|
288
|
+
this._oModel = new ODataModelClass(oModelReference.sServiceURI);
|
|
282
289
|
this._iVersion = AnalyticalVersionInfo.V2;
|
|
283
290
|
checkForMetadata();
|
|
284
291
|
} else {
|
|
285
292
|
//default is V1 Model
|
|
286
|
-
|
|
287
|
-
|
|
293
|
+
ODataModelClass = sap.ui.require("sap/ui/model/odata/ODataModel") ||
|
|
294
|
+
sap.ui.requireSync("sap/ui/model/odata/ODataModel");
|
|
295
|
+
this._oModel = new ODataModelClass(oModelReference.sServiceURI);
|
|
288
296
|
this._iVersion = AnalyticalVersionInfo.V1;
|
|
289
297
|
checkForMetadata();
|
|
290
298
|
}
|
|
@@ -23,6 +23,10 @@ sap.ui.define([
|
|
|
23
23
|
function _adaptDeepChildObservation(caller, oControl, oAggregation, bObserve) {
|
|
24
24
|
var aChildren = oAggregation.get(oControl) || [], oChild, bRecord;
|
|
25
25
|
|
|
26
|
+
if (aChildren && !Array.isArray(aChildren) && !oAggregation.multiple) {
|
|
27
|
+
aChildren = [aChildren];
|
|
28
|
+
}
|
|
29
|
+
|
|
26
30
|
for (var i = 0; i < aChildren.length; i++) {
|
|
27
31
|
oChild = aChildren[i];
|
|
28
32
|
if (!(oChild instanceof ManagedObject)) {
|
|
@@ -990,17 +994,25 @@ sap.ui.define([
|
|
|
990
994
|
*/
|
|
991
995
|
ManagedObjectModel.prototype.checkUpdate = function (bForceUpdate, bAsync, fnFilter) {
|
|
992
996
|
if (bAsync) {
|
|
997
|
+
this.bForceUpdate = this.bForceUpdate || bForceUpdate;
|
|
993
998
|
if (!this.sUpdateTimer) {
|
|
999
|
+
this.fnFilter = this.fnFilter || fnFilter;
|
|
994
1000
|
this.sUpdateTimer = setTimeout(function () {
|
|
995
|
-
this.checkUpdate(bForceUpdate, false, fnFilter);
|
|
1001
|
+
this.checkUpdate(this.bForceUpdate, false, this.fnFilter);
|
|
996
1002
|
}.bind(this), 0);
|
|
1003
|
+
} else if (this.fnFilter && this.fnFilter !== fnFilter) {
|
|
1004
|
+
this.fnFilter = undefined; // if different filter set use no filter
|
|
997
1005
|
}
|
|
998
1006
|
return;
|
|
999
1007
|
}
|
|
1008
|
+
bForceUpdate = this.bForceUpdate || bForceUpdate;
|
|
1009
|
+
fnFilter = !this.fnFilter || this.fnFilter === fnFilter ? fnFilter : undefined; // if different filter set use no filter
|
|
1000
1010
|
|
|
1001
1011
|
if (this.sUpdateTimer) {
|
|
1002
1012
|
clearTimeout(this.sUpdateTimer);
|
|
1003
1013
|
this.sUpdateTimer = null;
|
|
1014
|
+
this.bForceUpdate = undefined;
|
|
1015
|
+
this.fnFilter = undefined;
|
|
1004
1016
|
}
|
|
1005
1017
|
var aBindings = this.aBindings.slice(0);
|
|
1006
1018
|
aBindings.forEach(function (oBinding) {
|
|
@@ -37,12 +37,14 @@ sap.ui.define([
|
|
|
37
37
|
* @param {boolean} [bObserve] Whether to observe the JSON data for property changes (experimental)
|
|
38
38
|
*
|
|
39
39
|
* @class
|
|
40
|
-
* Model implementation for JSON format
|
|
40
|
+
* Model implementation for the JSON format.
|
|
41
|
+
*
|
|
42
|
+
* This model is not prepared to be inherited from.
|
|
41
43
|
*
|
|
42
44
|
* @extends sap.ui.model.ClientModel
|
|
43
45
|
*
|
|
44
46
|
* @author SAP SE
|
|
45
|
-
* @version 1.
|
|
47
|
+
* @version 1.95.0
|
|
46
48
|
* @public
|
|
47
49
|
* @alias sap.ui.model.json.JSONModel
|
|
48
50
|
*/
|
|
@@ -22,12 +22,14 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
|
|
|
22
22
|
* Constructor for a new JSONModel.
|
|
23
23
|
*
|
|
24
24
|
* @class
|
|
25
|
-
* Model implementation for Messages
|
|
25
|
+
* Model implementation for Messages.
|
|
26
|
+
*
|
|
27
|
+
* This model is not prepared to be inherited from.
|
|
26
28
|
*
|
|
27
29
|
* @extends sap.ui.model.ClientModel
|
|
28
30
|
*
|
|
29
31
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
32
|
+
* @version 1.95.0
|
|
31
33
|
*
|
|
32
34
|
* @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
|
|
33
35
|
* @public
|
|
@@ -336,6 +336,7 @@ sap.ui.define([
|
|
|
336
336
|
// TODO: what if nested list is not complete, because it was too large?
|
|
337
337
|
var oRef = this.oModel._getObject(this.sPath, this.oContext);
|
|
338
338
|
this.aExpandRefs = oRef;
|
|
339
|
+
// eslint-disable-next-line no-unsafe-negation
|
|
339
340
|
if (Array.isArray(oRef) && !this.aSorters.length > 0 && !this.aFilters.length > 0) {
|
|
340
341
|
this.aKeys = oRef;
|
|
341
342
|
this.iLength = oRef.length;
|
|
@@ -89,6 +89,8 @@ sap.ui.define([
|
|
|
89
89
|
* as a foundation and merges V4 annotations from the existing
|
|
90
90
|
* {@link sap.ui.model.odata.ODataAnnotations} directly into the corresponding model element.
|
|
91
91
|
*
|
|
92
|
+
* This model is not prepared to be inherited from.
|
|
93
|
+
*
|
|
92
94
|
* Also, annotations from the "http://www.sap.com/Protocols/SAPData" namespace are lifted up
|
|
93
95
|
* from the <code>extensions</code> array and transformed from objects into simple properties
|
|
94
96
|
* with an "sap:" prefix for their name. Note that this happens in addition, thus the
|
|
@@ -206,7 +208,7 @@ sap.ui.define([
|
|
|
206
208
|
* {@link #loaded loaded} has been resolved!
|
|
207
209
|
*
|
|
208
210
|
* @author SAP SE
|
|
209
|
-
* @version 1.
|
|
211
|
+
* @version 1.95.0
|
|
210
212
|
* @alias sap.ui.model.odata.ODataMetaModel
|
|
211
213
|
* @extends sap.ui.model.MetaModel
|
|
212
214
|
* @public
|
|
@@ -588,7 +590,8 @@ sap.ui.define([
|
|
|
588
590
|
oReadPromise = new SyncPromise(function (fnResolve, fnReject) {
|
|
589
591
|
oCodeListModel.read("/" + sCollectionPath, {
|
|
590
592
|
error : fnReject,
|
|
591
|
-
success : fnResolve
|
|
593
|
+
success : fnResolve,
|
|
594
|
+
urlParameters : {$skip : 0, $top : 5000} // avoid server-driven paging
|
|
592
595
|
});
|
|
593
596
|
});
|
|
594
597
|
oMappingPromise = new SyncPromise(function (fnResolve, fnReject) {
|
|
@@ -34,13 +34,14 @@ sap.ui.define([
|
|
|
34
34
|
"sap/ui/model/Context",
|
|
35
35
|
"sap/ui/model/FilterProcessor",
|
|
36
36
|
"sap/ui/model/Model",
|
|
37
|
+
"sap/ui/model/odata/ODataAnnotations",
|
|
37
38
|
"sap/ui/model/odata/ODataMetaModel",
|
|
38
39
|
"sap/ui/thirdparty/datajs",
|
|
39
40
|
"sap/ui/thirdparty/URI"
|
|
40
41
|
], function(CountMode, ODataContextBinding, ODataListBinding, ODataMetadata, ODataPropertyBinding,
|
|
41
42
|
ODataTreeBinding, ODataUtils, assert, Log, encodeURL, each, extend, isEmptyObject,
|
|
42
|
-
isPlainObject, merge, uid, BindingMode, Context, FilterProcessor, Model,
|
|
43
|
-
OData, URI) {
|
|
43
|
+
isPlainObject, merge, uid, BindingMode, Context, FilterProcessor, Model, ODataAnnotations,
|
|
44
|
+
ODataMetaModel, OData, URI) {
|
|
44
45
|
"use strict";
|
|
45
46
|
|
|
46
47
|
/**
|
|
@@ -75,7 +76,7 @@ sap.ui.define([
|
|
|
75
76
|
*
|
|
76
77
|
*
|
|
77
78
|
* @author SAP SE
|
|
78
|
-
* @version 1.
|
|
79
|
+
* @version 1.95.0
|
|
79
80
|
*
|
|
80
81
|
* @public
|
|
81
82
|
* @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
|
|
@@ -3441,13 +3442,13 @@ sap.ui.define([
|
|
|
3441
3442
|
};
|
|
3442
3443
|
|
|
3443
3444
|
/**
|
|
3444
|
-
*
|
|
3445
|
+
* Get or create the annotation parser instance.
|
|
3446
|
+
* @param {object} mAnnotationData The annotation data
|
|
3445
3447
|
*
|
|
3446
|
-
* @return {sap.ui.model.odata.
|
|
3448
|
+
* @return {sap.ui.model.odata.ODataAnnotations} The annotation parser instance
|
|
3447
3449
|
*/
|
|
3448
3450
|
ODataModel.prototype._getAnnotationParser = function(mAnnotationData) {
|
|
3449
3451
|
if (!this.oAnnotations) {
|
|
3450
|
-
var ODataAnnotations = sap.ui.requireSync("sap/ui/model/odata/ODataAnnotations");
|
|
3451
3452
|
this.oAnnotations = new ODataAnnotations({
|
|
3452
3453
|
annotationData: mAnnotationData,
|
|
3453
3454
|
url: null,
|
|
@@ -107,7 +107,8 @@ sap.ui.define([
|
|
|
107
107
|
* same path are ORed and filters on different paths are ANDed with each other
|
|
108
108
|
* @see ODataUtils._createFilterParams
|
|
109
109
|
* @param {sap.ui.model.Filter|sap.ui.model.Filter[]} vFilter the root filter or filter array
|
|
110
|
-
* @param {object}
|
|
110
|
+
* @param {object} oMetadata the entity metadata object
|
|
111
|
+
* @param {object} oEntityType the entity type object
|
|
111
112
|
* @return {string} the URL encoded filter parameters
|
|
112
113
|
* @private
|
|
113
114
|
*/
|
|
@@ -130,7 +131,8 @@ sap.ui.define([
|
|
|
130
131
|
* Creates a string of logically (or/and) linked filter options,
|
|
131
132
|
* which will be used as URL query parameters for filtering.
|
|
132
133
|
* @param {sap.ui.model.Filter|sap.ui.model.Filter[]} vFilter the root filter or filter array
|
|
133
|
-
* @param {object}
|
|
134
|
+
* @param {object} oMetadata the entity metadata object
|
|
135
|
+
* @param {object} oEntityType the entity type object
|
|
134
136
|
* @return {string} the URL encoded filter parameters
|
|
135
137
|
* @private
|
|
136
138
|
*/
|
|
@@ -189,7 +191,7 @@ sap.ui.define([
|
|
|
189
191
|
* If vParams is an object map, it will be also encoded properly.
|
|
190
192
|
*
|
|
191
193
|
* @private
|
|
192
|
-
* @param {string|object|array} vParams
|
|
194
|
+
* @param {string|object|array} vParams parameters
|
|
193
195
|
*/
|
|
194
196
|
ODataUtils._createUrlParamsArray = function(vParams) {
|
|
195
197
|
var aUrlParams, sType = typeof vParams, sParams;
|
|
@@ -369,9 +371,9 @@ sap.ui.define([
|
|
|
369
371
|
sFinalAnnotationURL = sAnnotationWithOrigin + sAnnotationUrlRest;
|
|
370
372
|
}
|
|
371
373
|
} else if (iHanaXsSegmentIndex >= 0) {
|
|
372
|
-
// Hana XS case: the Hana XS engine can provide static Annotation files for its
|
|
373
|
-
// The services can be
|
|
374
|
-
// the Annotation URLs need also adaption.
|
|
374
|
+
// Hana XS case: the Hana XS engine can provide static Annotation files for its
|
|
375
|
+
// services. The services can be identified by their URL segment ".xsodata"; if such a
|
|
376
|
+
// service uses the origin feature the Annotation URLs need also adaption.
|
|
375
377
|
sFinalAnnotationURL = ODataUtils.setOrigin(sAnnotationURL, vParameters);
|
|
376
378
|
|
|
377
379
|
} else {
|
|
@@ -489,10 +491,10 @@ sap.ui.define([
|
|
|
489
491
|
* <a href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
490
492
|
* EDM type</a>.
|
|
491
493
|
*
|
|
492
|
-
* @param {any} vValue
|
|
493
|
-
* @param {string} sType
|
|
494
|
-
* @param {boolean} bCaseSensitive
|
|
495
|
-
* @return {string}
|
|
494
|
+
* @param {any} vValue The value to format
|
|
495
|
+
* @param {string} sType The EDM type (e.g. Edm.Decimal)
|
|
496
|
+
* @param {boolean} bCaseSensitive Whether strings gets compared case sensitive or not
|
|
497
|
+
* @return {string} The formatted value
|
|
496
498
|
* @public
|
|
497
499
|
*/
|
|
498
500
|
ODataUtils.formatValue = function(vValue, sType, bCaseSensitive) {
|
|
@@ -800,6 +802,25 @@ sap.ui.define([
|
|
|
800
802
|
return sKey.replace(rNormalizeString, fnNormalizeString).replace(rNormalizeCase, fnNormalizeCase).replace(rNormalizeBinary, fnNormalizeBinary);
|
|
801
803
|
};
|
|
802
804
|
|
|
805
|
+
/**
|
|
806
|
+
* Merges the given intervals into a single interval. The start and end of the resulting
|
|
807
|
+
* interval are the start of the first interval and the end of the last interval.
|
|
808
|
+
*
|
|
809
|
+
* @param {object[]} aIntervals
|
|
810
|
+
* The array of available intervals
|
|
811
|
+
* @returns {object|undefined}
|
|
812
|
+
* The merged interval with a member <code>start</code> and <code>end</code>, or
|
|
813
|
+
* <code>undefined</code> if no intervals are given.
|
|
814
|
+
*
|
|
815
|
+
* @private
|
|
816
|
+
*/
|
|
817
|
+
ODataUtils._mergeIntervals = function (aIntervals) {
|
|
818
|
+
if (aIntervals.length) {
|
|
819
|
+
return {start : aIntervals[0].start, end : aIntervals[aIntervals.length - 1].end};
|
|
820
|
+
}
|
|
821
|
+
return undefined;
|
|
822
|
+
};
|
|
823
|
+
|
|
803
824
|
/**
|
|
804
825
|
* Returns the array of gaps in the given array of elements, taking the given start index,
|
|
805
826
|
* length, and prefetch length into consideration.
|