@openui5/sap.ui.core 1.103.1 → 1.106.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/.reuse/dep5 +35 -15
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
- package/THIRDPARTY.txt +64 -21
- package/package.json +1 -1
- package/src/jquery.sap.dom.js +10 -10
- package/src/jquery.sap.global.js +24 -216
- package/src/jquery.sap.history.js +1 -1
- package/src/jquery.sap.properties.js +2 -2
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +4 -4
- package/src/sap/base/i18n/ResourceBundle.js +7 -11
- package/src/sap/base/util/LoaderExtensions.js +69 -61
- package/src/sap/base/util/ObjectPath.js +1 -1
- package/src/sap/base/util/Properties.js +1 -1
- package/src/sap/base/util/fetch.js +228 -0
- package/src/sap/base/util/mixedFetch.js +69 -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/base/util/syncFetch.js +66 -0
- package/src/sap/ui/Device.js +5 -5
- package/src/sap/ui/Global.js +7 -14
- package/src/sap/ui/VersionInfo.js +57 -54
- package/src/sap/ui/base/BindingInfo.js +198 -0
- package/src/sap/ui/base/DataType.js +1 -1
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +209 -979
- package/src/sap/ui/base/ManagedObjectMetadata.js +6 -6
- package/src/sap/ui/base/ManagedObjectObserver.js +2 -2
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +72 -50
- package/src/sap/ui/core/AccessKeysEnablement.js +173 -0
- package/src/sap/ui/core/AppCacheBuster.js +65 -51
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +52 -25
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +16 -23
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +598 -358
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +126 -185
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +68 -4
- package/src/sap/ui/core/ElementMetadata.js +6 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +2 -2
- package/src/sap/ui/core/FocusHandler.js +84 -39
- package/src/sap/ui/core/Fragment.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/IconPool.js +8 -8
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- 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 +4 -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 +1 -1
- package/src/sap/ui/core/LocaleData.js +8 -51
- package/src/sap/ui/core/Manifest.js +3 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +13 -8
- package/src/sap/ui/core/RenderManager.js +17 -21
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +28 -49
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +12 -13
- package/src/sap/ui/core/UIArea.js +13 -12
- package/src/sap/ui/core/UIComponent.js +3 -3
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +5 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +7 -7
- package/src/sap/ui/core/_ConfigurationProvider.js +187 -0
- package/src/sap/ui/core/_IconRegistry.js +66 -55
- package/src/sap/ui/core/cache/CacheManager.js +20 -16
- package/src/sap/ui/core/cache/CacheManagerNOP.js +5 -2
- package/src/sap/ui/core/cache/LRUPersistentCache.js +15 -8
- package/src/sap/ui/core/cldr/en.json +0 -1
- package/src/sap/ui/core/cldr/es_BO.json +3 -3
- package/src/sap/ui/core/cldr/es_CL.json +3 -3
- package/src/sap/ui/core/cldr/es_MX.json +3 -3
- package/src/sap/ui/core/cldr/es_PE.json +3 -3
- package/src/sap/ui/core/cldr/es_UY.json +3 -3
- package/src/sap/ui/core/cldr/es_VE.json +2 -2
- package/src/sap/ui/core/date/Buddhist.js +15 -13
- package/src/sap/ui/core/date/Japanese.js +0 -6
- package/src/sap/ui/core/date/UniversalDate.js +144 -34
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +13 -9
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +3 -3
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +36 -9
- package/src/sap/ui/core/format/NumberFormat.js +92 -26
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +44 -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 +1 -1
- 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.properties +2 -0
- package/src/sap/ui/core/messagebundle_ar.properties +54 -53
- package/src/sap/ui/core/messagebundle_bg.properties +54 -53
- package/src/sap/ui/core/messagebundle_ca.properties +28 -27
- package/src/sap/ui/core/messagebundle_cs.properties +37 -36
- package/src/sap/ui/core/messagebundle_cy.properties +57 -56
- package/src/sap/ui/core/messagebundle_da.properties +53 -52
- package/src/sap/ui/core/messagebundle_de.properties +54 -53
- package/src/sap/ui/core/messagebundle_el.properties +46 -45
- package/src/sap/ui/core/messagebundle_en.properties +57 -56
- package/src/sap/ui/core/messagebundle_en_GB.properties +57 -56
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +42 -41
- package/src/sap/ui/core/messagebundle_es_MX.properties +54 -53
- package/src/sap/ui/core/messagebundle_et.properties +51 -50
- package/src/sap/ui/core/messagebundle_fi.properties +48 -47
- package/src/sap/ui/core/messagebundle_fr.properties +37 -36
- package/src/sap/ui/core/messagebundle_fr_CA.properties +22 -21
- package/src/sap/ui/core/messagebundle_hi.properties +42 -41
- package/src/sap/ui/core/messagebundle_hr.properties +55 -54
- package/src/sap/ui/core/messagebundle_hu.properties +56 -55
- package/src/sap/ui/core/messagebundle_id.properties +55 -54
- package/src/sap/ui/core/messagebundle_it.properties +55 -54
- package/src/sap/ui/core/messagebundle_iw.properties +55 -54
- package/src/sap/ui/core/messagebundle_ja.properties +48 -47
- package/src/sap/ui/core/messagebundle_kk.properties +41 -40
- package/src/sap/ui/core/messagebundle_ko.properties +21 -20
- package/src/sap/ui/core/messagebundle_lt.properties +55 -54
- package/src/sap/ui/core/messagebundle_lv.properties +55 -54
- package/src/sap/ui/core/messagebundle_ms.properties +52 -51
- package/src/sap/ui/core/messagebundle_nl.properties +53 -52
- package/src/sap/ui/core/messagebundle_no.properties +53 -52
- package/src/sap/ui/core/messagebundle_pl.properties +52 -51
- package/src/sap/ui/core/messagebundle_pt.properties +54 -53
- package/src/sap/ui/core/messagebundle_pt_PT.properties +55 -54
- package/src/sap/ui/core/messagebundle_ro.properties +56 -55
- package/src/sap/ui/core/messagebundle_ru.properties +52 -51
- package/src/sap/ui/core/messagebundle_sh.properties +57 -56
- package/src/sap/ui/core/messagebundle_sk.properties +54 -53
- package/src/sap/ui/core/messagebundle_sl.properties +56 -55
- package/src/sap/ui/core/messagebundle_sv.properties +52 -51
- package/src/sap/ui/core/messagebundle_th.properties +25 -24
- package/src/sap/ui/core/messagebundle_tr.properties +56 -55
- package/src/sap/ui/core/messagebundle_uk.properties +55 -54
- package/src/sap/ui/core/messagebundle_vi.properties +56 -55
- package/src/sap/ui/core/messagebundle_zh_CN.properties +55 -54
- package/src/sap/ui/core/messagebundle_zh_TW.properties +55 -54
- package/src/sap/ui/core/mvc/Controller.js +17 -12
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +7 -7
- package/src/sap/ui/core/mvc/XMLView.js +1 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +16 -14
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -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/Router.js +4 -4
- package/src/sap/ui/core/routing/async/TargetCache.js +4 -0
- package/src/sap/ui/core/rules/App.support.js +11 -13
- package/src/sap/ui/core/rules/Config.support.js +14 -14
- package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
- package/src/sap/ui/core/rules/Model.support.js +8 -8
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +8 -8
- package/src/sap/ui/core/rules/View.support.js +20 -13
- package/src/sap/ui/core/search/OpenSearchProvider.js +25 -12
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- 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/Hotkeys.js +2 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +3 -4
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Debugging.js +4 -4
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +46 -33
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +3 -4
- package/src/sap/ui/core/support/support.html +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -3
- package/src/sap/ui/core/themes/base/Icon.less +4 -0
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +26 -26
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +5 -1
- package/src/sap/ui/core/themes/base/shared.less +6 -0
- package/src/sap/ui/core/theming/Parameters.js +52 -53
- 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 +7 -5
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- 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 +61 -42
- package/src/sap/ui/core/util/MockServer.js +45 -71
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +4 -3
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -3
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -4
- 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 +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.css +1 -31
- package/src/sap/ui/debug/PropertyList.js +6 -240
- package/src/sap/ui/dom/getScrollbarSize.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +1 -0
- package/src/sap/ui/events/jquery/EventSimulation.js +4 -4
- package/src/sap/ui/model/ClientModel.js +1 -1
- 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 +3 -0
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +3 -3
- package/src/sap/ui/model/ListBinding.js +2 -2
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +871 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +16 -5
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +2 -2
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/_Helper.js +3 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +2 -2
- package/src/sap/ui/model/base/ManagedObjectModel.js +2 -2
- package/src/sap/ui/model/json/JSONModel.js +2 -2
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- package/src/sap/ui/model/odata/ODataMetaModel.js +10 -10
- package/src/sap/ui/model/odata/ODataMetadata.js +6 -3
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +459 -268
- 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/DateTimeWithTimezone.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 +5 -5
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +5 -2
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +26 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +164 -125
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -2
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +3 -3
- package/src/sap/ui/model/odata/v4/Context.js +169 -79
- package/src/sap/ui/model/odata/v4/ODataBinding.js +51 -12
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +111 -92
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +206 -150
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -10
- package/src/sap/ui/model/odata/v4/ODataModel.js +249 -28
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +33 -18
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -11
- package/src/sap/ui/model/odata/v4/ODataUtils.js +7 -4
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +142 -35
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +167 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +388 -188
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +2 -3
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -43
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +2 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +13 -6
- package/src/sap/ui/model/resource/ResourceModel.js +2 -2
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +2 -2
- 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 +2 -2
- 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/trace/FESR.js +27 -24
- package/src/sap/ui/performance/trace/Interaction.js +66 -16
- package/src/sap/ui/qunit/QUnitUtils.js +1 -2
- package/src/sap/ui/qunit/sinon-qunit-bridge.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/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -1
- package/src/sap/ui/test/TestUtils.js +35 -2
- package/src/sap/ui/test/actions/Press.js +7 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +2 -3
- package/src/sap/ui/test/matchers/AggregationFilled.js +2 -3
- package/src/sap/ui/test/matchers/AggregationLengthEquals.js +2 -3
- package/src/sap/ui/test/matchers/Matcher.js +9 -11
- package/src/sap/ui/test/opaQunit.js +15 -9
- package/src/sap/ui/test/pipelines/ActionPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -3
- package/src/sap/ui/thirdparty/IPv6.js +1 -1
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
- package/src/sap/ui/thirdparty/URI.js +8 -2
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/XMLHelper.js +1 -1
|
@@ -16,22 +16,15 @@ sap.ui.define([
|
|
|
16
16
|
'sap/base/util/UriParameters',
|
|
17
17
|
'sap/base/Log',
|
|
18
18
|
'sap/base/util/extend',
|
|
19
|
+
'sap/base/util/syncFetch',
|
|
19
20
|
'sap/ui/core/ThemeCheck',
|
|
20
|
-
'
|
|
21
|
-
'
|
|
21
|
+
'./ThemeHelper',
|
|
22
|
+
'sap/ui/core/Configuration'
|
|
22
23
|
],
|
|
23
|
-
function(URI, Element, UriParameters, Log, extend, ThemeCheck,
|
|
24
|
+
function(URI, Element, UriParameters, Log, extend, syncFetch, ThemeCheck, ThemeHelper, Configuration) {
|
|
24
25
|
"use strict";
|
|
25
26
|
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
var syncCallBehavior = 0; // ignore
|
|
29
|
-
if (oCfgData['xx-nosync'] === 'warn' || /(?:\?|&)sap-ui-xx-nosync=(?:warn)/.exec(window.location.search)) {
|
|
30
|
-
syncCallBehavior = 1;
|
|
31
|
-
}
|
|
32
|
-
if (oCfgData['xx-nosync'] === true || oCfgData['xx-nosync'] === 'true' || /(?:\?|&)sap-ui-xx-nosync=(?:x|X|true)/.exec(window.location.search)) {
|
|
33
|
-
syncCallBehavior = 2;
|
|
34
|
-
}
|
|
27
|
+
var syncCallBehavior = Configuration.getSyncCallBehavior();
|
|
35
28
|
|
|
36
29
|
/**
|
|
37
30
|
* A helper used for (read-only) access to CSS parameters at runtime.
|
|
@@ -118,8 +111,8 @@ sap.ui.define([
|
|
|
118
111
|
}
|
|
119
112
|
|
|
120
113
|
function forEachStyleSheet(fnCallback) {
|
|
121
|
-
|
|
122
|
-
fnCallback(
|
|
114
|
+
document.querySelectorAll("link[id^=sap-ui-theme-]").forEach(function(linkNode) {
|
|
115
|
+
fnCallback(linkNode.getAttribute("id"));
|
|
123
116
|
});
|
|
124
117
|
}
|
|
125
118
|
|
|
@@ -135,8 +128,8 @@ sap.ui.define([
|
|
|
135
128
|
// In some browsers (e.g. Safari) it might happen that after switching the theme or adopting the <link>'s href,
|
|
136
129
|
// the parameters from the previous stylesheet are taken. This can be prevented by checking whether the theme is applied.
|
|
137
130
|
if (bThemeApplied && bUseInlineParameters) {
|
|
138
|
-
var
|
|
139
|
-
var sDataUri =
|
|
131
|
+
var oLink = document.getElementById(sId);
|
|
132
|
+
var sDataUri = window.getComputedStyle(oLink).getPropertyValue("background-image");
|
|
140
133
|
var aParams = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(sDataUri);
|
|
141
134
|
if (aParams && aParams.length >= 2) {
|
|
142
135
|
var sParams = aParams[1];
|
|
@@ -233,27 +226,46 @@ sap.ui.define([
|
|
|
233
226
|
* @param {boolean[]} aWithCredentials probing values for requesting with or without credentials
|
|
234
227
|
*/
|
|
235
228
|
function loadParametersJSON(sUrl, sThemeBaseUrl, aWithCredentials) {
|
|
236
|
-
var
|
|
229
|
+
var oHeaders = {
|
|
230
|
+
Accept: syncFetch.ContentTypes.JSON
|
|
231
|
+
};
|
|
237
232
|
|
|
238
|
-
var
|
|
233
|
+
var bCurrentWithCredentials = aWithCredentials.shift();
|
|
234
|
+
if (bCurrentWithCredentials) {
|
|
239
235
|
// the X-Requested-With Header is essential for the Theming-Service to determine if a GET request will be handled
|
|
240
236
|
// This forces a preflight request which should give us valid Allow headers:
|
|
241
237
|
// Access-Control-Allow-Origin: ... fully qualified requestor origin ...
|
|
242
238
|
// Access-Control-Allow-Credentials: true
|
|
243
|
-
"X-Requested-With"
|
|
244
|
-
}
|
|
239
|
+
oHeaders["X-Requested-With"] = "XMLHttpRequest";
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
function fnErrorCallback(error) {
|
|
243
|
+
// ignore failure at least temporarily as long as there are libraries built using outdated tools which produce no json file
|
|
244
|
+
Log.error("Could not load theme parameters from: " + sUrl, error); // could be an error as well, but let's avoid more CSN messages...
|
|
245
|
+
|
|
246
|
+
if (aWithCredentials.length > 0) {
|
|
247
|
+
// In a CORS scenario, IF we have sent credentials on the first try AND the request failed,
|
|
248
|
+
// we expect that a service could have answered with the following Allow header:
|
|
249
|
+
// Access-Control-Allow-Origin: *
|
|
250
|
+
// In this case we must not send credentials, otherwise the service would have answered with:
|
|
251
|
+
// Access-Control-Allow-Origin: https://...
|
|
252
|
+
// Access-Control-Allow-Credentials: true
|
|
253
|
+
// Due to security constraints, the browser does not hand out any more information in a CORS scenario,
|
|
254
|
+
// so now we try again without credentials.
|
|
255
|
+
Log.warning("Initial library-parameters.json request failed ('withCredentials=" + bCurrentWithCredentials + "'; sUrl: '" + sUrl + "').\n" +
|
|
256
|
+
"Retrying with 'withCredentials=" + !bCurrentWithCredentials + "'.", "sap.ui.core.theming.Parameters");
|
|
257
|
+
loadParametersJSON(sUrl, sThemeBaseUrl, aWithCredentials);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
245
260
|
|
|
246
261
|
// load and evaluate parameter file
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
},
|
|
255
|
-
headers: mHeaders,
|
|
256
|
-
success: function(data, textStatus, xhr) {
|
|
262
|
+
try {
|
|
263
|
+
var response = syncFetch(sUrl, {
|
|
264
|
+
credentials: bCurrentWithCredentials ? "include" : "omit",
|
|
265
|
+
headers: oHeaders
|
|
266
|
+
});
|
|
267
|
+
if (response.ok) {
|
|
268
|
+
var data = response.json();
|
|
257
269
|
// Once we have a successful request we track the credentials setting for this origin
|
|
258
270
|
var sThemeOrigin = new URI(sThemeBaseUrl).origin();
|
|
259
271
|
mOriginsNeedingCredentials[sThemeOrigin] = bCurrentWithCredentials;
|
|
@@ -267,26 +279,13 @@ sap.ui.define([
|
|
|
267
279
|
} else {
|
|
268
280
|
mergeParameters(data, sThemeBaseUrl);
|
|
269
281
|
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
// ignore failure at least temporarily as long as there are libraries built using outdated tools which produce no json file
|
|
273
|
-
Log.error("Could not load theme parameters from: " + sUrl, error); // could be an error as well, but let's avoid more CSN messages...
|
|
274
|
-
|
|
275
|
-
if (aWithCredentials.length > 0) {
|
|
276
|
-
// In a CORS scenario, IF we have sent credentials on the first try AND the request failed,
|
|
277
|
-
// we expect that a service could have answered with the following Allow header:
|
|
278
|
-
// Access-Control-Allow-Origin: *
|
|
279
|
-
// In this case we must not send credentials, otherwise the service would have answered with:
|
|
280
|
-
// Access-Control-Allow-Origin: https://...
|
|
281
|
-
// Access-Control-Allow-Credentials: true
|
|
282
|
-
// Due to security constraints, the browser does not hand out any more information in a CORS scenario,
|
|
283
|
-
// so now we try again without credentials.
|
|
284
|
-
Log.warning("Initial library-parameters.json request failed ('withCredentials=" + bCurrentWithCredentials + "'; sUrl: '" + sUrl + "').\n" +
|
|
285
|
-
"Retrying with 'withCredentials=" + !bCurrentWithCredentials + "'.", "sap.ui.core.theming.Parameters");
|
|
286
|
-
loadParametersJSON(sUrl, sThemeBaseUrl, aWithCredentials);
|
|
287
|
-
}
|
|
282
|
+
} else {
|
|
283
|
+
throw new Error(response.statusText || response.status);
|
|
288
284
|
}
|
|
289
|
-
|
|
285
|
+
|
|
286
|
+
} catch (error) {
|
|
287
|
+
fnErrorCallback(error);
|
|
288
|
+
}
|
|
290
289
|
}
|
|
291
290
|
|
|
292
291
|
/**
|
|
@@ -609,7 +608,7 @@ sap.ui.define([
|
|
|
609
608
|
}
|
|
610
609
|
|
|
611
610
|
if (!sTheme) {
|
|
612
|
-
sTheme =
|
|
611
|
+
sTheme = Configuration.getTheme();
|
|
613
612
|
}
|
|
614
613
|
// Parameters.get() without arguments returns
|
|
615
614
|
// copy of complete default parameter set
|
|
@@ -739,7 +738,7 @@ sap.ui.define([
|
|
|
739
738
|
"default": {},
|
|
740
739
|
"scopes": {}
|
|
741
740
|
};
|
|
742
|
-
sTheme =
|
|
741
|
+
sTheme = Configuration.getTheme();
|
|
743
742
|
forEachStyleSheet(function(sId) {
|
|
744
743
|
var sLibname = sId.substr(13); // length of sap-ui-theme-
|
|
745
744
|
if (mLibraryParameters[sLibname]) {
|
|
@@ -762,8 +761,8 @@ sap.ui.define([
|
|
|
762
761
|
Parameters.reset = function() {
|
|
763
762
|
// hidden parameter {boolean} bOnlyWhenNecessary
|
|
764
763
|
var bOnlyWhenNecessary = arguments[0] === true;
|
|
765
|
-
if ( !bOnlyWhenNecessary ||
|
|
766
|
-
sTheme =
|
|
764
|
+
if ( !bOnlyWhenNecessary || Configuration.getTheme() !== sTheme ) {
|
|
765
|
+
sTheme = Configuration.getTheme();
|
|
767
766
|
aParametersToLoad = [];
|
|
768
767
|
mParameters = null;
|
|
769
768
|
ThemeHelper.reset();
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// Provides base class sap.ui.core.tmpl.Template for all templates
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
'sap/ui/base/ManagedObject',
|
|
10
|
+
'sap/ui/base/BindingInfo',
|
|
10
11
|
'sap/ui/base/BindingParser',
|
|
11
12
|
'sap/ui/core/Control',
|
|
12
13
|
'sap/ui/core/RenderManager',
|
|
@@ -19,6 +20,7 @@ sap.ui.define([
|
|
|
19
20
|
],
|
|
20
21
|
function(
|
|
21
22
|
ManagedObject,
|
|
23
|
+
BindingInfo,
|
|
22
24
|
BindingParser,
|
|
23
25
|
Control,
|
|
24
26
|
RenderManager,
|
|
@@ -52,10 +54,10 @@ function(
|
|
|
52
54
|
* @extends sap.ui.base.ManagedObject
|
|
53
55
|
* @abstract
|
|
54
56
|
* @author SAP SE
|
|
55
|
-
* @version 1.
|
|
57
|
+
* @version 1.106.0
|
|
56
58
|
* @alias sap.ui.core.tmpl.Template
|
|
57
59
|
* @since 1.15
|
|
58
|
-
* @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link
|
|
60
|
+
* @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} instead.
|
|
59
61
|
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
60
62
|
*/
|
|
61
63
|
var Template = ManagedObject.extend("sap.ui.core.tmpl.Template", /** @lends sap.ui.core.tmpl.Template.prototype */
|
|
@@ -186,7 +188,7 @@ function(
|
|
|
186
188
|
throw new Error("The class 'sap.ui.core.tmpl.Template' is abstract and must not be instantiated!");
|
|
187
189
|
}
|
|
188
190
|
// check for complex binding syntax
|
|
189
|
-
if (
|
|
191
|
+
if (BindingInfo.parse === BindingParser.complexParser) {
|
|
190
192
|
/*
|
|
191
193
|
* we disable the complex binding parser for Templates
|
|
192
194
|
* TODO: reconsider a better solution later
|
|
@@ -194,9 +196,9 @@ function(
|
|
|
194
196
|
* @function
|
|
195
197
|
*/
|
|
196
198
|
Template.prototype.extractBindingInfo = function(oValue, bIgnoreObjects, oScope) {
|
|
197
|
-
|
|
199
|
+
BindingInfo.parse = BindingParser.simpleParser;
|
|
198
200
|
var oReturnValue = Control.prototype.extractBindingInfo.apply(this, arguments);
|
|
199
|
-
|
|
201
|
+
BindingInfo.parse = BindingParser.complexParser;
|
|
200
202
|
return oReturnValue;
|
|
201
203
|
};
|
|
202
204
|
}
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
'sap/ui/base/Object',
|
|
10
10
|
"sap/base/Log",
|
|
11
|
+
"sap/base/util/fetch",
|
|
11
12
|
"sap/base/util/Version",
|
|
12
13
|
"sap/ui/thirdparty/jquery"
|
|
13
14
|
],
|
|
14
|
-
function(BaseObject, Log, Version, jQuery) {
|
|
15
|
+
function(BaseObject, Log, fetch, Version, jQuery) {
|
|
15
16
|
"use strict";
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -20,7 +21,7 @@ sap.ui.define([
|
|
|
20
21
|
*
|
|
21
22
|
* @extends sap.ui.base.Object
|
|
22
23
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
24
|
+
* @version 1.106.0
|
|
24
25
|
* @private
|
|
25
26
|
* @alias sap.ui.core.util.LibraryInfo
|
|
26
27
|
*/
|
|
@@ -67,19 +68,28 @@ sap.ui.define([
|
|
|
67
68
|
|
|
68
69
|
sRequestUrl = typeof that.getResourceUrl === "function" ? that.getResourceUrl(sUrl) : sUrl;
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
that._oLibInfos[sLibraryName] = {name: sLibraryName, data: oData, url: sUrl};
|
|
80
|
-
fnCallback(that._oLibInfos[sLibraryName]);
|
|
71
|
+
function fnErrorCallback(error) {
|
|
72
|
+
Log.error("failed to load library details from '" + sUrl + sLibraryType + ": " + error.message + ", " + error);
|
|
73
|
+
that._oLibInfos[sLibraryName] = {name: sLibraryName, data: null, url: sUrl};
|
|
74
|
+
fnCallback(that._oLibInfos[sLibraryName]);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
fetch(sRequestUrl + sLibraryType, {
|
|
78
|
+
headers: {
|
|
79
|
+
Accept: fetch.ContentTypes.XML
|
|
81
80
|
}
|
|
82
|
-
})
|
|
81
|
+
}).then(function(response) {
|
|
82
|
+
if (response.ok) {
|
|
83
|
+
return response.text().then(function(responseText) {
|
|
84
|
+
var parser = new DOMParser();
|
|
85
|
+
var oData = parser.parseFromString(responseText, "text/xml");
|
|
86
|
+
that._oLibInfos[sLibraryName] = {name: sLibraryName, data: oData, url: sUrl};
|
|
87
|
+
fnCallback(that._oLibInfos[sLibraryName]);
|
|
88
|
+
});
|
|
89
|
+
} else {
|
|
90
|
+
throw new Error(response.statusText || response.status);
|
|
91
|
+
}
|
|
92
|
+
}).catch(fnErrorCallback);
|
|
83
93
|
};
|
|
84
94
|
|
|
85
95
|
|
|
@@ -158,18 +168,23 @@ sap.ui.define([
|
|
|
158
168
|
sUrl = that.getResourceUrl(sUrl);
|
|
159
169
|
}
|
|
160
170
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
171
|
+
fetch(sUrl, {
|
|
172
|
+
headers: {
|
|
173
|
+
Accept: fetch.ContentTypes.JSON
|
|
174
|
+
}
|
|
175
|
+
}).then(function(response) {
|
|
176
|
+
if (response.ok) {
|
|
177
|
+
response.json().then(function(oData) {
|
|
178
|
+
oData.library = lib;
|
|
179
|
+
oData.libraryUrl = libUrl;
|
|
180
|
+
fnCallback(oData);
|
|
181
|
+
});
|
|
182
|
+
} else {
|
|
183
|
+
throw new Error(response.statusText || response.status);
|
|
172
184
|
}
|
|
185
|
+
}).catch(function(error) {
|
|
186
|
+
Log.error("failed to load library docu from '" + sUrl + "': " + error.message + ", " + error);
|
|
187
|
+
fnCallback(result);
|
|
173
188
|
});
|
|
174
189
|
});
|
|
175
190
|
};
|
|
@@ -236,25 +251,29 @@ sap.ui.define([
|
|
|
236
251
|
sUrl = that.getResourceUrl(sUrl);
|
|
237
252
|
}
|
|
238
253
|
|
|
239
|
-
// load the changelog
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
// of the specific version instead of the full data of the release notes file.
|
|
254
|
-
fnCallback(oData, sVersion);
|
|
254
|
+
// load the changelog
|
|
255
|
+
fetch(sUrl, {
|
|
256
|
+
headers: {
|
|
257
|
+
Accept: fetch.ContentTypes.JSON
|
|
258
|
+
}
|
|
259
|
+
}).then(function(response) {
|
|
260
|
+
if (response.ok) {
|
|
261
|
+
return response.json().then(function(oData) {
|
|
262
|
+
// in case of a version is specified we return only the content
|
|
263
|
+
// of the specific version instead of the full data of the release notes file.
|
|
264
|
+
fnCallback(oData, sVersion);
|
|
265
|
+
});
|
|
266
|
+
} else {
|
|
267
|
+
throw new Error(response.statusText || response.status);
|
|
255
268
|
}
|
|
269
|
+
}).catch(function(error) {
|
|
270
|
+
if (error.name === "SyntaxError") {
|
|
271
|
+
Log.error("failed to parse release notes for library '" + sLibraryName + ", " + error);
|
|
272
|
+
} else {
|
|
273
|
+
Log.warning("failed to load release notes for library '" + sLibraryName + ", " + error);
|
|
274
|
+
}
|
|
275
|
+
fnCallback({});
|
|
256
276
|
});
|
|
257
|
-
|
|
258
277
|
});
|
|
259
278
|
};
|
|
260
279
|
|