@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
package/src/jquery.sap.global.js
CHANGED
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/*global XMLHttpRequest, localStorage, alert, document */
|
|
8
|
-
|
|
9
7
|
/**
|
|
10
8
|
* Provides base functionality of the SAP jQuery plugin as extension of the jQuery framework.<br/>
|
|
11
9
|
* See also <a href="http://api.jquery.com/jQuery/">jQuery</a> for details.<br/>
|
|
@@ -33,6 +31,7 @@ sap.ui.define([
|
|
|
33
31
|
|
|
34
32
|
// former sap-ui-core.js dependencies
|
|
35
33
|
"sap/ui/Device",
|
|
34
|
+
"sap/ui/core/Configuration",
|
|
36
35
|
|
|
37
36
|
"sap/ui/thirdparty/jquery",
|
|
38
37
|
"sap/ui/thirdparty/jqueryui/jquery-ui-position",
|
|
@@ -48,6 +47,7 @@ sap.ui.define([
|
|
|
48
47
|
syncXHRFix, LoaderExtensions,
|
|
49
48
|
|
|
50
49
|
Device,
|
|
50
|
+
Configuration,
|
|
51
51
|
|
|
52
52
|
jQuery /*, jqueryUiPosition, ui5loaderAutoconfig, jquerySapStubs, URI, PasteEventFix */) {
|
|
53
53
|
"use strict";
|
|
@@ -64,15 +64,6 @@ sap.ui.define([
|
|
|
64
64
|
|
|
65
65
|
var _ui5loader = ui5loader._;
|
|
66
66
|
|
|
67
|
-
// early logging support
|
|
68
|
-
var _earlyLogs = [];
|
|
69
|
-
function _earlyLog(sLevel, sMessage) {
|
|
70
|
-
_earlyLogs.push({
|
|
71
|
-
level: sLevel,
|
|
72
|
-
message: sMessage
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
|
|
76
67
|
var oJQVersion = Version(jQuery.fn.jquery);
|
|
77
68
|
|
|
78
69
|
(function() {
|
|
@@ -185,190 +176,33 @@ sap.ui.define([
|
|
|
185
176
|
syncXHRFix();
|
|
186
177
|
}
|
|
187
178
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
o[il] = v;
|
|
204
|
-
delete o[i];
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return o;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
function loadExternalConfig(url) {
|
|
211
|
-
var sCfgFile = "sap-ui-config.json",
|
|
212
|
-
config;
|
|
213
|
-
|
|
214
|
-
Log.warning("Loading external bootstrap configuration from \"" + url + "\". This is a design time feature and not for productive usage!");
|
|
215
|
-
if (url !== sCfgFile) {
|
|
216
|
-
Log.warning("The external bootstrap configuration file should be named \"" + sCfgFile + "\"!");
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
var xhr = new XMLHttpRequest();
|
|
220
|
-
xhr.addEventListener('load', function(e) {
|
|
221
|
-
if ( xhr.status === 200 && xhr.responseText ) {
|
|
222
|
-
try {
|
|
223
|
-
config = JSON.parse( xhr.responseText );
|
|
224
|
-
} catch (error) {
|
|
225
|
-
Log.error("Parsing externalized bootstrap configuration from \"" + url + "\" failed! Reason: " + error + "!");
|
|
226
|
-
}
|
|
227
|
-
} else {
|
|
228
|
-
Log.error("Loading externalized bootstrap configuration from \"" + url + "\" failed! Response: " + xhr.status + "!");
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
xhr.open('GET', url, false);
|
|
232
|
-
try {
|
|
233
|
-
xhr.send();
|
|
234
|
-
} catch (error) {
|
|
235
|
-
Log.error("Loading externalized bootstrap configuration from \"" + url + "\" failed! Reason: " + error + "!");
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
config = config || {};
|
|
239
|
-
config.__loaded = true; // mark config as 'being loaded', needed to detect sync call
|
|
240
|
-
|
|
241
|
-
return config;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
function getInfo() {
|
|
245
|
-
function check(oScript, rUrlPattern) {
|
|
246
|
-
var sUrl = oScript && oScript.getAttribute("src");
|
|
247
|
-
var oMatch = rUrlPattern.exec(sUrl);
|
|
248
|
-
if ( oMatch ) {
|
|
249
|
-
return {
|
|
250
|
-
tag: oScript,
|
|
251
|
-
url: sUrl,
|
|
252
|
-
resourceRoot: oMatch[1] || ""
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
var rResources = /^((?:.*\/)?resources\/)/,
|
|
258
|
-
rBootScripts, aScripts, i, oResult;
|
|
259
|
-
|
|
260
|
-
// Prefer script tags which have the sap-ui-bootstrap ID
|
|
261
|
-
// This prevents issues when multiple script tags point to files named
|
|
262
|
-
// "sap-ui-core.js", for example when using the cache buster for UI5 resources
|
|
263
|
-
oResult = check(document.querySelector('SCRIPT[src][id=sap-ui-bootstrap]'), rResources);
|
|
264
|
-
|
|
265
|
-
if ( !oResult ) {
|
|
266
|
-
aScripts = document.querySelectorAll('SCRIPT[src]');
|
|
267
|
-
rBootScripts = /^([^?#]*\/)?(?:sap-ui-(?:core|custom|boot|merged)(?:-[^?#/]*)?|jquery.sap.global|ui5loader(?:-autoconfig)?)\.js(?:[?#]|$)/;
|
|
268
|
-
for ( i = 0; i < aScripts.length; i++ ) {
|
|
269
|
-
oResult = check(aScripts[i], rBootScripts);
|
|
270
|
-
if ( oResult ) {
|
|
271
|
-
break;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
return oResult || {};
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
var _oBootstrap = getInfo(),
|
|
280
|
-
oScriptTag = _oBootstrap.tag,
|
|
281
|
-
oCfg = window["sap-ui-config"];
|
|
282
|
-
|
|
283
|
-
// load the configuration from an external JSON file
|
|
284
|
-
if (typeof oCfg === "string") {
|
|
285
|
-
oCfg = loadExternalConfig(oCfg);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
oCfg = normalize(oCfg || {});
|
|
289
|
-
oCfg.resourceroots = oCfg.resourceroots || {};
|
|
290
|
-
oCfg.themeroots = oCfg.themeroots || {};
|
|
291
|
-
|
|
292
|
-
// map loadall mode to sync preload mode
|
|
293
|
-
if ( /(^|\/)(sap-?ui5|[^\/]+-all).js([?#]|$)/.test(_oBootstrap.url) ) {
|
|
294
|
-
Log.error(
|
|
295
|
-
"The all-in-one file 'sap-ui-core-all.js' has been abandoned in favour of standard preloads." +
|
|
296
|
-
" Please migrate to sap-ui-core.js and consider to use async preloads.");
|
|
297
|
-
oCfg.preload = 'sync';
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
// if a script tag has been identified, collect its configuration info
|
|
301
|
-
if ( oScriptTag ) {
|
|
302
|
-
// evaluate the config attribute first - if present
|
|
303
|
-
var sConfig = oScriptTag.getAttribute("data-sap-ui-config");
|
|
304
|
-
if ( sConfig ) {
|
|
305
|
-
try {
|
|
306
|
-
var oParsedConfig;
|
|
307
|
-
try {
|
|
308
|
-
// first try to parse the config as a plain JSON
|
|
309
|
-
oParsedConfig = JSON.parse("{" + sConfig + "}");
|
|
310
|
-
} catch (e) {
|
|
311
|
-
// if the JSON.parse fails, we fall back to the more lenient "new Function" eval for compatibility reasons
|
|
312
|
-
Log.error("JSON.parse on the data-sap-ui-config attribute failed. Please check the config for JSON syntax violations.");
|
|
313
|
-
/*eslint-disable no-new-func */
|
|
314
|
-
oParsedConfig = (new Function("return {" + sConfig + "};"))();
|
|
315
|
-
/*eslint-enable no-new-func */
|
|
316
|
-
}
|
|
317
|
-
Object.assign(oCfg, normalize(oParsedConfig));
|
|
318
|
-
} catch (e) {
|
|
319
|
-
// no log yet, how to report this error?
|
|
320
|
-
Log.error("failed to parse data-sap-ui-config attribute: " + (e.message || e));
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// merge with any existing "data-sap-ui-" attributes
|
|
325
|
-
for (var i = 0; i < oScriptTag.attributes.length; i++) {
|
|
326
|
-
var attr = oScriptTag.attributes[i];
|
|
327
|
-
var m = attr.name.match(/^data-sap-ui-(.*)$/);
|
|
328
|
-
if ( m ) {
|
|
329
|
-
// the following (deactivated) conversion would implement multi-word names like "resource-roots"
|
|
330
|
-
m = m[1].toLowerCase(); // .replace(/\-([a-z])/g, function(s,w) { return w.toUpperCase(); })
|
|
331
|
-
if ( m === 'resourceroots' ) {
|
|
332
|
-
// merge map entries instead of overwriting map
|
|
333
|
-
Object.assign(oCfg[m], JSON.parse(attr.value));
|
|
334
|
-
} else if ( m === 'theme-roots' ) {
|
|
335
|
-
// merge map entries, but rename to camelCase
|
|
336
|
-
Object.assign(oCfg.themeroots, JSON.parse(attr.value));
|
|
337
|
-
} else if ( m !== 'config' ) {
|
|
338
|
-
oCfg[m] = attr.value;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
}
|
|
179
|
+
// Normalize configuration to stay compatible
|
|
180
|
+
// Previously the sap/ui/core/_ConfigurationProvider code (incl. normalization)
|
|
181
|
+
// was executed here. Since we moved the coding to an own module which is
|
|
182
|
+
// a dependency of sap/ui/core/Configuration it's possible, that someone requires
|
|
183
|
+
// the configuration and normalizes the window['sap-ui-config'] object at an
|
|
184
|
+
// earlier point in time. To avoid, that someone adds configuration parameters
|
|
185
|
+
// to the window object inbetween normalization done by _ConfigurationProvider
|
|
186
|
+
// and the usage within jquery.sap.global we normalize here again.
|
|
187
|
+
var oCfg = window["sap-ui-config"];
|
|
188
|
+
for (var sKey in oCfg) {
|
|
189
|
+
var vValue = oCfg[sKey];
|
|
190
|
+
var sLowerCaseKey = sKey.toLowerCase();
|
|
191
|
+
if ( !oCfg.hasOwnProperty(sLowerCaseKey) ) {
|
|
192
|
+
oCfg[sLowerCaseKey] = vValue;
|
|
193
|
+
delete oCfg[sKey];
|
|
342
194
|
}
|
|
343
|
-
|
|
344
|
-
return oCfg;
|
|
345
|
-
}());
|
|
346
|
-
|
|
347
|
-
var syncCallBehavior = 0; // ignore
|
|
348
|
-
if ( oCfgData['xx-nosync'] === 'warn' || /(?:\?|&)sap-ui-xx-nosync=(?:warn)/.exec(window.location.search) ) {
|
|
349
|
-
syncCallBehavior = 1;
|
|
350
|
-
}
|
|
351
|
-
if ( oCfgData['xx-nosync'] === true || oCfgData['xx-nosync'] === 'true' || /(?:\?|&)sap-ui-xx-nosync=(?:x|X|true)/.exec(window.location.search) ) {
|
|
352
|
-
syncCallBehavior = 2;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
ui5loader.config({
|
|
356
|
-
reportSyncCalls: syncCallBehavior
|
|
357
|
-
});
|
|
358
|
-
|
|
359
|
-
if ( syncCallBehavior && oCfgData.__loaded ) {
|
|
360
|
-
_earlyLog(syncCallBehavior === 1 ? "warning" : "error", "[nosync]: configuration loaded via sync XHR");
|
|
361
195
|
}
|
|
362
196
|
|
|
363
197
|
// check whether noConflict must be used...
|
|
364
|
-
if (
|
|
198
|
+
if ( Configuration.getValue("noConflict") ) {
|
|
365
199
|
jQuery.noConflict();
|
|
366
200
|
}
|
|
367
201
|
|
|
368
202
|
/**
|
|
369
203
|
* Root Namespace for the jQuery plug-in provided by SAP SE.
|
|
370
204
|
*
|
|
371
|
-
* @version 1.
|
|
205
|
+
* @version 1.106.0
|
|
372
206
|
* @namespace
|
|
373
207
|
* @public
|
|
374
208
|
* @static
|
|
@@ -958,24 +792,6 @@ sap.ui.define([
|
|
|
958
792
|
}
|
|
959
793
|
};
|
|
960
794
|
|
|
961
|
-
// evaluate configuration
|
|
962
|
-
oCfgData.loglevel = (function() {
|
|
963
|
-
var m = /(?:\?|&)sap-ui-log(?:L|-l)evel=([^&]*)/.exec(window.location.search);
|
|
964
|
-
return m && m[1];
|
|
965
|
-
}()) || oCfgData.loglevel;
|
|
966
|
-
if ( oCfgData.loglevel ) {
|
|
967
|
-
Log.setLevel(Log.Level[oCfgData.loglevel.toUpperCase()] || parseInt(oCfgData.loglevel));
|
|
968
|
-
} else if (!window["sap-ui-optimized"]) {
|
|
969
|
-
Log.setLevel(Log.Level.DEBUG);
|
|
970
|
-
}
|
|
971
|
-
|
|
972
|
-
Log.info("SAP Logger started.");
|
|
973
|
-
// log early logs
|
|
974
|
-
jQuery.each(_earlyLogs, function(i,e) {
|
|
975
|
-
Log[e.level](e.message);
|
|
976
|
-
});
|
|
977
|
-
_earlyLogs = null;
|
|
978
|
-
|
|
979
795
|
// ------------------------------------------- OBJECT --------------------------------------------------------
|
|
980
796
|
|
|
981
797
|
/**
|
|
@@ -1091,7 +907,7 @@ sap.ui.define([
|
|
|
1091
907
|
iEndCreate = isNaN(iNoCreates) ? 0 : l - iNoCreates,
|
|
1092
908
|
i;
|
|
1093
909
|
|
|
1094
|
-
if (
|
|
910
|
+
if ( Configuration.getSyncCallBehavior() && oContext === window ) {
|
|
1095
911
|
Log.error("[nosync] getObject called to retrieve global name '" + sName + "'");
|
|
1096
912
|
}
|
|
1097
913
|
|
|
@@ -1490,7 +1306,7 @@ sap.ui.define([
|
|
|
1490
1306
|
* @private
|
|
1491
1307
|
*/
|
|
1492
1308
|
var oLog = _ui5loader.logger = Log.getLogger("sap.ui.ModuleSystem",
|
|
1493
|
-
(/sap-ui-xx-debug(M|-m)odule(L|-l)oading=(true|x|X)/.test(location.search) ||
|
|
1309
|
+
(/sap-ui-xx-debug(M|-m)odule(L|-l)oading=(true|x|X)/.test(location.search) || Configuration.getValue("xx-debugModuleLoading")) ? Log.Level.DEBUG : Math.min(Log.getLevel(), Log.Level.INFO)
|
|
1494
1310
|
),
|
|
1495
1311
|
|
|
1496
1312
|
mKnownSubtypes = LoaderExtensions.getKnownSubtypes(),
|
|
@@ -1772,14 +1588,6 @@ sap.ui.define([
|
|
|
1772
1588
|
*/
|
|
1773
1589
|
jQuery.sap.getAllDeclaredModules = LoaderExtensions.getAllRequiredModules;
|
|
1774
1590
|
|
|
1775
|
-
|
|
1776
|
-
// take resource roots from configuration
|
|
1777
|
-
var paths = {};
|
|
1778
|
-
for ( var n in oCfgData.resourceroots ) {
|
|
1779
|
-
paths[ui5ToRJS(n)] = oCfgData.resourceroots[n] || ".";
|
|
1780
|
-
}
|
|
1781
|
-
ui5loader.config({paths: paths});
|
|
1782
|
-
|
|
1783
1591
|
var mUrlPrefixes = _ui5loader.getUrlPrefixes();
|
|
1784
1592
|
// dump the URL prefixes
|
|
1785
1593
|
oLog.info("URL prefixes set to:");
|
|
@@ -2131,9 +1939,9 @@ sap.ui.define([
|
|
|
2131
1939
|
// --------------------- support hooks ---------------------------------------------------------
|
|
2132
1940
|
|
|
2133
1941
|
// TODO should be in core, but then the 'callback' could not be implemented
|
|
2134
|
-
if ( !(
|
|
2135
|
-
SupportHotkeys.init(getModuleSystemInfo
|
|
2136
|
-
TestRecorderHotkeyListener.init(getModuleSystemInfo
|
|
1942
|
+
if ( !Configuration.getValue("productive") ) {
|
|
1943
|
+
SupportHotkeys.init(getModuleSystemInfo);
|
|
1944
|
+
TestRecorderHotkeyListener.init(getModuleSystemInfo);
|
|
2137
1945
|
}
|
|
2138
1946
|
|
|
2139
1947
|
// -----------------------------------------------------------------------
|
|
@@ -217,7 +217,7 @@ sap.ui.define([
|
|
|
217
217
|
* @param {function} fn The function that will be called when the identifier is matched with the hash.
|
|
218
218
|
* @param {object} [oThis] If oThis is provided, the fn function's this keyword will be bound to this object.
|
|
219
219
|
*
|
|
220
|
-
* @returns {
|
|
220
|
+
* @returns {this} It returns the this object to enable chaining.
|
|
221
221
|
*
|
|
222
222
|
* @function
|
|
223
223
|
* @public
|
|
@@ -67,7 +67,7 @@ sap.ui.define(['jquery.sap.global', 'sap/base/util/Properties'],
|
|
|
67
67
|
* {@link #setProperty} to store or change a value for a key and {@link #getKeys}
|
|
68
68
|
* can be used to retrieve an array of all keys that are currently stored in the collection.
|
|
69
69
|
*
|
|
70
|
-
* @version 1.
|
|
70
|
+
* @version 1.106.0
|
|
71
71
|
* @since 0.9.0
|
|
72
72
|
* @name jQuery.sap.util.Properties
|
|
73
73
|
* @public
|
|
@@ -83,7 +83,7 @@ sap.ui.define(['jquery.sap.global', 'sap/base/util/Properties'],
|
|
|
83
83
|
* @param {string} sKey Key to return the value for
|
|
84
84
|
* @param {string} [sDefaultValue=null] Optional, a default value that will be returned
|
|
85
85
|
* if the requested key is not in the collection
|
|
86
|
-
* @returns {string} Value for the given key or the default value or <code>null</code>
|
|
86
|
+
* @returns {string|null} Value for the given key or the default value or <code>null</code>
|
|
87
87
|
* if no default value or a falsy default value was given
|
|
88
88
|
* @public
|
|
89
89
|
*
|
package/src/jquery.sap.script.js
CHANGED
|
@@ -267,7 +267,7 @@ sap.ui.define([
|
|
|
267
267
|
* Use {@link jQuery.sap.getUriParameters} to create an instance of jQuery.sap.util.UriParameters.
|
|
268
268
|
*
|
|
269
269
|
* @author SAP SE
|
|
270
|
-
* @version 1.
|
|
270
|
+
* @version 1.106.0
|
|
271
271
|
* @since 0.9.0
|
|
272
272
|
* @name jQuery.sap.util.UriParameters
|
|
273
273
|
* @public
|
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
* @param {string} [sIdPrefix] Prefix used for the Ids. If not set a default prefix is used.
|
|
38
38
|
* @returns {jQuery.sap.storage.Storage}
|
|
39
39
|
*
|
|
40
|
-
* @version 1.
|
|
40
|
+
* @version 1.106.0
|
|
41
41
|
* @since 0.11.0
|
|
42
42
|
* @namespace
|
|
43
43
|
* @public
|
|
@@ -97,7 +97,7 @@ sap.ui.define([
|
|
|
97
97
|
* should be deleted the method {@link #removeAll} should be used.
|
|
98
98
|
*
|
|
99
99
|
* @author SAP SE
|
|
100
|
-
* @version 1.
|
|
100
|
+
* @version 1.106.0
|
|
101
101
|
* @since 0.11.0
|
|
102
102
|
* @public
|
|
103
103
|
* @name jQuery.sap.storage.Storage
|
|
@@ -134,7 +134,7 @@ sap.ui.define([
|
|
|
134
134
|
* sStorageKeyPrefix is the id prefix defined for the storage instance (@see jQuery.sap#storage)
|
|
135
135
|
*
|
|
136
136
|
* @param {string} sId Id for the state to retrieve
|
|
137
|
-
* @return {string} the string from the storage, if the retrieval
|
|
137
|
+
* @return {string|null} the string from the storage, if the retrieval
|
|
138
138
|
* was successful, and null otherwise
|
|
139
139
|
* @public
|
|
140
140
|
* @name jQuery.sap.storage.Storage#get
|
|
@@ -201,7 +201,7 @@ sap.ui.define([
|
|
|
201
201
|
* Enumeration of the storage types supported by {@link jQuery.sap.storage.Storage}
|
|
202
202
|
* @enum {string}
|
|
203
203
|
* @public
|
|
204
|
-
* @version 1.
|
|
204
|
+
* @version 1.106.0
|
|
205
205
|
* @since 0.11.0
|
|
206
206
|
*/
|
|
207
207
|
jQuery.sap.storage.Type = Storage.Type;
|
|
@@ -320,9 +320,6 @@ sap.ui.define([
|
|
|
320
320
|
*
|
|
321
321
|
* @param {module:sap/base/i18n/ResourceBundle} oCustomBundle an instance of a <code>sap/base/i18n/ResourceBundle</code>
|
|
322
322
|
* @private
|
|
323
|
-
*
|
|
324
|
-
* @function
|
|
325
|
-
* @name module:sap/base/i18n/ResourceBundle.prototype._enhance
|
|
326
323
|
*/
|
|
327
324
|
ResourceBundle.prototype._enhance = function(oCustomBundle) {
|
|
328
325
|
if (oCustomBundle instanceof ResourceBundle) {
|
|
@@ -350,9 +347,8 @@ sap.ui.define([
|
|
|
350
347
|
* whenever <code>aArgs</code> is given, no matter whether the text contains placeholders or not
|
|
351
348
|
* and no matter whether <code>aArgs</code> contains a value for <i>n</i> or not.
|
|
352
349
|
* @param {boolean} [bIgnoreKeyFallback=false] If set, <code>undefined</code> is returned instead of the key string, when the key is not found in any bundle or fallback bundle.
|
|
353
|
-
* @returns {string} The value belonging to the key, if found; otherwise the key itself or <code>undefined</code> depending on <code>bIgnoreKeyFallback</code>.
|
|
350
|
+
* @returns {string|undefined} The value belonging to the key, if found; otherwise the key itself or <code>undefined</code> depending on <code>bIgnoreKeyFallback</code>.
|
|
354
351
|
*
|
|
355
|
-
* @function
|
|
356
352
|
* @public
|
|
357
353
|
*/
|
|
358
354
|
ResourceBundle.prototype.getText = function(sKey, aArgs, bIgnoreKeyFallback){
|
|
@@ -383,7 +379,7 @@ sap.ui.define([
|
|
|
383
379
|
* @param {string} sValue the given input value
|
|
384
380
|
* @param {string} sKey the key within the bundle
|
|
385
381
|
* @param {array} [aArgs] arguments to format the message
|
|
386
|
-
* @returns {string} formatted string, <code>null</code> if sValue is not a string
|
|
382
|
+
* @returns {string|null} formatted string, <code>null</code> if sValue is not a string
|
|
387
383
|
* @private
|
|
388
384
|
*/
|
|
389
385
|
ResourceBundle.prototype._formatValue = function(sValue, sKey, aArgs){
|
|
@@ -412,7 +408,7 @@ sap.ui.define([
|
|
|
412
408
|
* The custom bundles are checked first in reverse order.
|
|
413
409
|
* @param {string} sKey the key within the bundle
|
|
414
410
|
* @param {array} [aArgs] arguments to format the message
|
|
415
|
-
* @returns {string} the formatted value if found, <code>null</code> otherwise
|
|
411
|
+
* @returns {string|null} the formatted value if found, <code>null</code> otherwise
|
|
416
412
|
* @private
|
|
417
413
|
*/
|
|
418
414
|
ResourceBundle.prototype._getTextFromFallback = function(sKey, aArgs){
|
|
@@ -451,7 +447,7 @@ sap.ui.define([
|
|
|
451
447
|
* The custom bundles are checked first in reverse order.
|
|
452
448
|
* @param {string} sKey the key within the bundle
|
|
453
449
|
* @param {array} [aArgs] arguments to format the message
|
|
454
|
-
* @returns {string} the formatted value if found, <code>null</code> otherwise
|
|
450
|
+
* @returns {string|null} the formatted value if found, <code>null</code> otherwise
|
|
455
451
|
* @private
|
|
456
452
|
*/
|
|
457
453
|
ResourceBundle.prototype._getTextFromProperties = function(sKey, aArgs){
|
|
@@ -491,9 +487,8 @@ sap.ui.define([
|
|
|
491
487
|
* used after the resource bundle has been loaded.
|
|
492
488
|
*
|
|
493
489
|
* @param {string} sKey Key to check
|
|
494
|
-
* @returns {boolean}
|
|
490
|
+
* @returns {boolean} Whether the text has been found in the concrete bundle
|
|
495
491
|
*
|
|
496
|
-
* @function
|
|
497
492
|
* @public
|
|
498
493
|
*/
|
|
499
494
|
ResourceBundle.prototype.hasText = function(sKey) {
|
|
@@ -537,7 +532,8 @@ sap.ui.define([
|
|
|
537
532
|
*
|
|
538
533
|
* @param {module:sap/base/i18n/ResourceBundle} oBundle ResourceBundle to extend
|
|
539
534
|
* @param {boolean} [bAsync=false] Whether the resource should be loaded asynchronously
|
|
540
|
-
* @returns
|
|
535
|
+
* @returns {module:sap/base/util/Properties|null|Promise<module:sap/base/util/Properties|null>}
|
|
536
|
+
* The newly loaded properties (sync mode) or a Promise on the properties (async mode);
|
|
541
537
|
* value / Promise fulfillment will be <code>null</code> when the properties for the
|
|
542
538
|
* next fallback locale should not be loaded or when loading failed or when there
|
|
543
539
|
* was no more fallback locale
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
'sap/ui/
|
|
8
|
+
'sap/ui/util/XMLHelper',
|
|
9
9
|
'sap/base/Log',
|
|
10
10
|
'sap/base/assert',
|
|
11
|
-
'sap/base/util/extend'
|
|
11
|
+
'sap/base/util/extend',
|
|
12
|
+
'sap/base/util/mixedFetch'
|
|
12
13
|
], function(
|
|
13
|
-
|
|
14
|
+
XMLHelper,
|
|
14
15
|
Log,
|
|
15
16
|
assert,
|
|
16
|
-
extend
|
|
17
|
+
extend,
|
|
18
|
+
mixedFetch
|
|
17
19
|
) {
|
|
18
20
|
"use strict";
|
|
19
21
|
|
|
@@ -246,9 +248,7 @@ sap.ui.define([
|
|
|
246
248
|
var sType,
|
|
247
249
|
oData,
|
|
248
250
|
sUrl,
|
|
249
|
-
|
|
250
|
-
oDeferred,
|
|
251
|
-
fnDone,
|
|
251
|
+
fnDone = function() {},
|
|
252
252
|
iSyncCallBehavior;
|
|
253
253
|
|
|
254
254
|
if (LoaderExtensions.notifyResourceLoading) {
|
|
@@ -271,44 +271,30 @@ sap.ui.define([
|
|
|
271
271
|
|
|
272
272
|
assert(/^(xml|html|json|text)$/.test(sType), "type must be one of xml, html, json or text");
|
|
273
273
|
|
|
274
|
-
oDeferred = mOptions.async ? new jQuery.Deferred() : null;
|
|
275
|
-
|
|
276
|
-
function handleData(d, e) {
|
|
277
|
-
if (d == null && mOptions.failOnError) {
|
|
278
|
-
oError = e || new Error("no data returned for " + sResourceName);
|
|
279
|
-
if (mOptions.async) {
|
|
280
|
-
oDeferred.reject(oError);
|
|
281
|
-
Log.error(oError);
|
|
282
|
-
}
|
|
283
|
-
if (fnDone) {
|
|
284
|
-
fnDone();
|
|
285
|
-
}
|
|
286
|
-
return null;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
if (mOptions.async) {
|
|
290
|
-
oDeferred.resolve(d);
|
|
291
|
-
}
|
|
292
|
-
if (fnDone) {
|
|
293
|
-
fnDone();
|
|
294
|
-
}
|
|
295
|
-
return d;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
274
|
function convertData(d) {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
275
|
+
switch (sType) {
|
|
276
|
+
case "json":
|
|
277
|
+
return JSON.parse(d);
|
|
278
|
+
case "xml":
|
|
279
|
+
return XMLHelper.parse(d);
|
|
280
|
+
default:
|
|
281
|
+
return d;
|
|
282
|
+
}
|
|
304
283
|
}
|
|
305
284
|
|
|
306
285
|
oData = sap.ui.loader._.getModuleContent(sResourceName, mOptions.url);
|
|
307
286
|
|
|
308
287
|
if (oData != undefined) {
|
|
288
|
+
// data available
|
|
309
289
|
oData = convertData(oData);
|
|
310
|
-
} else {
|
|
311
290
|
|
|
291
|
+
if (mOptions.async) {
|
|
292
|
+
return Promise.resolve(oData);
|
|
293
|
+
} else {
|
|
294
|
+
return oData;
|
|
295
|
+
}
|
|
296
|
+
} else {
|
|
297
|
+
// load data
|
|
312
298
|
iSyncCallBehavior = sap.ui.loader._.getSyncCallBehavior();
|
|
313
299
|
if (!mOptions.async && iSyncCallBehavior) {
|
|
314
300
|
if (iSyncCallBehavior >= 1) { // temp. raise a warning only
|
|
@@ -318,34 +304,56 @@ sap.ui.define([
|
|
|
318
304
|
}
|
|
319
305
|
}
|
|
320
306
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
headers: mOptions.headers,
|
|
326
|
-
success: function(data, textStatus, xhr) {
|
|
327
|
-
oData = handleData(data);
|
|
328
|
-
},
|
|
329
|
-
error: function(xhr, textStatus, error) {
|
|
330
|
-
oError = new Error("resource " + sResourceName + " could not be loaded from " + sUrl + ". Check for 'file not found' or parse errors. Reason: " + error);
|
|
331
|
-
oError.status = textStatus;
|
|
332
|
-
oError.error = error;
|
|
333
|
-
oError.statusCode = xhr.status;
|
|
334
|
-
oData = handleData(null, oError);
|
|
335
|
-
}
|
|
336
|
-
});
|
|
307
|
+
var oHeaders = {};
|
|
308
|
+
if (sType) {
|
|
309
|
+
oHeaders["Accept"] = mixedFetch.ContentTypes[sType.toUpperCase()];
|
|
310
|
+
}
|
|
337
311
|
|
|
338
|
-
|
|
312
|
+
sUrl = mOptions.url || sap.ui.loader._.getResourcePath(sResourceName);
|
|
313
|
+
|
|
314
|
+
var pResponse = mixedFetch(sUrl, {
|
|
315
|
+
headers: Object.assign(oHeaders, mOptions.headers)
|
|
316
|
+
}, !mOptions.async)
|
|
317
|
+
.then(function(response) {
|
|
318
|
+
if (response.ok) {
|
|
319
|
+
return response.text().then(function(responseText) {
|
|
320
|
+
return {
|
|
321
|
+
data: convertData(responseText)
|
|
322
|
+
};
|
|
323
|
+
});
|
|
324
|
+
} else {
|
|
325
|
+
var oError = new Error("resource " + sResourceName + " could not be loaded from " + sUrl +
|
|
326
|
+
". Check for 'file not found' or parse errors. Reason: " + response.statusText || response.status);
|
|
327
|
+
oError.status = response.statusText;
|
|
328
|
+
oError.statusCode = response.status;
|
|
329
|
+
throw oError;
|
|
330
|
+
}
|
|
331
|
+
})
|
|
332
|
+
.catch(function(error) {
|
|
333
|
+
return {
|
|
334
|
+
data: null,
|
|
335
|
+
error: error
|
|
336
|
+
};
|
|
337
|
+
})
|
|
338
|
+
.then(function(oInfo) {
|
|
339
|
+
fnDone();
|
|
339
340
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
341
|
+
if (oInfo.data !== null) {
|
|
342
|
+
return oInfo.data;
|
|
343
|
+
} else if (mOptions.failOnError) {
|
|
344
|
+
Log.error(oInfo.error);
|
|
345
|
+
throw oInfo.error;
|
|
346
|
+
} else {
|
|
347
|
+
return null;
|
|
348
|
+
}
|
|
349
|
+
});
|
|
343
350
|
|
|
344
|
-
|
|
345
|
-
|
|
351
|
+
if (mOptions.async) {
|
|
352
|
+
return pResponse;
|
|
353
|
+
} else {
|
|
354
|
+
return pResponse.unwrap();
|
|
355
|
+
}
|
|
346
356
|
}
|
|
347
|
-
|
|
348
|
-
return oData;
|
|
349
357
|
};
|
|
350
358
|
|
|
351
359
|
/**
|
|
@@ -89,7 +89,7 @@ sap.ui.define([], function() {
|
|
|
89
89
|
* @static
|
|
90
90
|
* @param {string|string[]} vObjectPath Path as string where each name is separated by '.'. Can also be an array of names.
|
|
91
91
|
* @param {Object} [oRootContext=window] Root context where the path starts
|
|
92
|
-
* @returns {any} Returns the value located in the provided path, or <code>undefined</code> if the path does not exist completely.
|
|
92
|
+
* @returns {any|undefined} Returns the value located in the provided path, or <code>undefined</code> if the path does not exist completely.
|
|
93
93
|
* @example
|
|
94
94
|
* ObjectPath.get("my.test.module", root) === root.my.test.module
|
|
95
95
|
* ObjectPath.get(["my", "test", "otherModule"], root) === root.my.test.otherModule
|
|
@@ -39,7 +39,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function(LoaderExtensions) {
|
|
|
39
39
|
* @param {string} sKey Key to return the value for
|
|
40
40
|
* @param {string} [sDefaultValue=null] Optional, a default value that will be returned
|
|
41
41
|
* if the requested key is not in the collection
|
|
42
|
-
* @returns {string} Value for the given key or the default value or <code>null</code>
|
|
42
|
+
* @returns {string|null} Value for the given key or the default value or <code>null</code>
|
|
43
43
|
* if no default value or a falsy default value was given
|
|
44
44
|
* @public
|
|
45
45
|
*/
|