@openui5/sap.ui.core 1.132.1 → 1.134.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/.dtsgenrc +5 -0
- package/.eslintrc.json +4 -0
- package/.reuse/dep5 +2 -9
- package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
- package/THIRDPARTY.txt +45 -78
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +159 -12
- package/src/sap/base/util/JSTokenizer.js +25 -18
- package/src/sap/base/util/LoaderExtensions.js +2 -8
- package/src/sap/base/util/mixedFetch.js +0 -1
- 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 +0 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +3 -3
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +14 -11
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +136 -25
- package/src/sap/ui/core/.library +5 -10
- package/src/sap/ui/core/AppCacheBuster.js +4 -9
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +2 -2
- 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 +3 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- 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 +20 -3
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +101 -79
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- 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 +22 -3
- package/src/sap/ui/core/_IconRegistry.js +2 -0
- package/src/sap/ui/core/boot/_bootConfig.js +134 -105
- package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +36 -24
- package/src/sap/ui/core/cldr/ar.json +106 -98
- package/src/sap/ui/core/cldr/ar_EG.json +106 -98
- package/src/sap/ui/core/cldr/ar_SA.json +106 -98
- package/src/sap/ui/core/cldr/bg.json +44 -38
- package/src/sap/ui/core/cldr/ca.json +65 -65
- package/src/sap/ui/core/cldr/cnr.json +182 -170
- package/src/sap/ui/core/cldr/cs.json +39 -31
- package/src/sap/ui/core/cldr/cy.json +319 -233
- package/src/sap/ui/core/cldr/da.json +36 -32
- package/src/sap/ui/core/cldr/de.json +134 -135
- package/src/sap/ui/core/cldr/de_AT.json +134 -135
- package/src/sap/ui/core/cldr/de_CH.json +135 -136
- package/src/sap/ui/core/cldr/el.json +44 -37
- package/src/sap/ui/core/cldr/el_CY.json +44 -37
- package/src/sap/ui/core/cldr/en.json +91 -53
- package/src/sap/ui/core/cldr/en_AU.json +108 -70
- package/src/sap/ui/core/cldr/en_GB.json +123 -85
- package/src/sap/ui/core/cldr/en_HK.json +102 -64
- package/src/sap/ui/core/cldr/en_IE.json +102 -64
- package/src/sap/ui/core/cldr/en_IN.json +207 -67
- package/src/sap/ui/core/cldr/en_NZ.json +102 -64
- package/src/sap/ui/core/cldr/en_PG.json +102 -64
- package/src/sap/ui/core/cldr/en_SG.json +102 -64
- package/src/sap/ui/core/cldr/en_ZA.json +106 -66
- package/src/sap/ui/core/cldr/es.json +43 -39
- package/src/sap/ui/core/cldr/es_AR.json +92 -64
- package/src/sap/ui/core/cldr/es_BO.json +92 -64
- package/src/sap/ui/core/cldr/es_CL.json +92 -64
- package/src/sap/ui/core/cldr/es_CO.json +92 -64
- package/src/sap/ui/core/cldr/es_MX.json +131 -83
- package/src/sap/ui/core/cldr/es_PE.json +69 -41
- package/src/sap/ui/core/cldr/es_UY.json +93 -65
- package/src/sap/ui/core/cldr/es_VE.json +92 -64
- package/src/sap/ui/core/cldr/et.json +60 -59
- package/src/sap/ui/core/cldr/fa.json +122 -116
- package/src/sap/ui/core/cldr/fi.json +186 -82
- package/src/sap/ui/core/cldr/fr.json +57 -56
- package/src/sap/ui/core/cldr/fr_BE.json +56 -55
- package/src/sap/ui/core/cldr/fr_CA.json +139 -89
- package/src/sap/ui/core/cldr/fr_CH.json +47 -46
- package/src/sap/ui/core/cldr/fr_LU.json +57 -56
- package/src/sap/ui/core/cldr/he.json +458 -381
- package/src/sap/ui/core/cldr/hi.json +204 -170
- package/src/sap/ui/core/cldr/hr.json +64 -57
- package/src/sap/ui/core/cldr/hu.json +145 -148
- package/src/sap/ui/core/cldr/id.json +72 -62
- package/src/sap/ui/core/cldr/it.json +76 -75
- package/src/sap/ui/core/cldr/it_CH.json +76 -75
- package/src/sap/ui/core/cldr/ja.json +62 -44
- package/src/sap/ui/core/cldr/kk.json +171 -146
- package/src/sap/ui/core/cldr/ko.json +91 -73
- package/src/sap/ui/core/cldr/lt.json +134 -135
- package/src/sap/ui/core/cldr/lv.json +119 -111
- package/src/sap/ui/core/cldr/mk.json +316 -314
- package/src/sap/ui/core/cldr/ms.json +91 -75
- package/src/sap/ui/core/cldr/nb.json +37 -37
- package/src/sap/ui/core/cldr/nl.json +45 -48
- package/src/sap/ui/core/cldr/nl_BE.json +45 -48
- package/src/sap/ui/core/cldr/pl.json +47 -42
- package/src/sap/ui/core/cldr/pt.json +129 -124
- package/src/sap/ui/core/cldr/pt_PT.json +43 -38
- package/src/sap/ui/core/cldr/ro.json +42 -37
- package/src/sap/ui/core/cldr/ru.json +59 -51
- package/src/sap/ui/core/cldr/ru_UA.json +59 -51
- package/src/sap/ui/core/cldr/sk.json +55 -46
- package/src/sap/ui/core/cldr/sl.json +45 -31
- package/src/sap/ui/core/cldr/sr.json +189 -177
- package/src/sap/ui/core/cldr/sr_Latn.json +189 -177
- package/src/sap/ui/core/cldr/sv.json +42 -41
- package/src/sap/ui/core/cldr/th.json +104 -90
- package/src/sap/ui/core/cldr/tr.json +40 -39
- package/src/sap/ui/core/cldr/uk.json +143 -123
- package/src/sap/ui/core/cldr/vi.json +136 -133
- package/src/sap/ui/core/cldr/zh_CN.json +47 -41
- package/src/sap/ui/core/cldr/zh_HK.json +47 -41
- package/src/sap/ui/core/cldr/zh_SG.json +47 -41
- package/src/sap/ui/core/cldr/zh_TW.json +163 -160
- package/src/sap/ui/core/date/Buddhist.js +2 -2
- package/src/sap/ui/core/date/CalendarUtils.js +4 -4
- package/src/sap/ui/core/date/Gregorian.js +2 -2
- package/src/sap/ui/core/date/Islamic.js +2 -2
- package/src/sap/ui/core/date/Japanese.js +2 -2
- package/src/sap/ui/core/date/Persian.js +2 -2
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/UniversalDate.js +12 -12
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -5
- package/src/sap/ui/core/dnd/DragAndDrop.js +14 -7
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/fieldhelp/FieldHelp.js +355 -53
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +10 -8
- package/src/sap/ui/core/format/DateFormat.js +18 -16
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +346 -364
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +36 -5
- 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/MessageMixin.js +12 -4
- 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_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +1 -1
- 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 +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- 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/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/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +1 -6
- package/src/sap/ui/core/theming/ThemeManager.js +84 -33
- 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 +1 -1
- 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 +1 -1
- package/src/sap/ui/core/util/MockServer.js +5 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- 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/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.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.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +5 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +21 -12
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -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 +1 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +51 -13
- package/src/sap/ui/model/base/ManagedObjectModel.js +5 -2
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +46 -14
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataUtils.js +2 -2
- package/src/sap/ui/model/odata/UpdateMethod.js +18 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +63 -37
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +52 -23
- package/src/sap/ui/model/odata/v4/ODataBinding.js +9 -6
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +5 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +137 -56
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +19 -8
- package/src/sap/ui/model/odata/v4/ODataModel.js +54 -33
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -3
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -4
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +33 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +13 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +334 -139
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +20 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +26 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- 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 +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/BranchTracking.js +1 -1
- package/src/sap/ui/test/TestUtils.js +82 -14
- package/src/sap/ui/test/actions/EnterText.js +2 -20
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +12 -3
- package/src/sap/ui/test/starter/_utils.js +0 -1
- package/src/sap/ui/thirdparty/jquery-compat.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +4 -1
- package/test/sap/ui/qunit/TestRunner.js +10 -11
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
- package/LICENSES/Unicode-DFS-2015.txt +0 -51
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.134.0
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -88,10 +88,7 @@ sap.ui.define([
|
|
|
88
88
|
}
|
|
89
89
|
BaseContext.call(this, oModel, sPath);
|
|
90
90
|
this.oBinding = oBinding;
|
|
91
|
-
this.
|
|
92
|
-
// ensure to return a promise that is resolved w/o data
|
|
93
|
-
&& Promise.resolve(oCreatePromise).then(function () {});
|
|
94
|
-
this.oSyncCreatePromise = oCreatePromise;
|
|
91
|
+
this.setCreated(oCreatePromise);
|
|
95
92
|
// a promise waiting for the deletion, also used as indicator for #isDeleted
|
|
96
93
|
this.oDeletePromise = null;
|
|
97
94
|
// avoids recursion when calling #doSetProperty within the createActivate event handler
|
|
@@ -211,8 +208,7 @@ sap.ui.define([
|
|
|
211
208
|
* A promise which is resolved without a defined result when the entity represented by this
|
|
212
209
|
* context has been created in the back end. It is rejected with an <code>Error</code>
|
|
213
210
|
* instance where <code>oError.canceled === true</code> if the transient entity is deleted
|
|
214
|
-
* before it is created in the back end, for example via
|
|
215
|
-
* {@link sap.ui.model.odata.v4.Context#delete},
|
|
211
|
+
* before it is created in the back end, for example via {@link #delete},
|
|
216
212
|
* {@link sap.ui.model.odata.v4.ODataListBinding#resetChanges} or
|
|
217
213
|
* {@link sap.ui.model.odata.v4.ODataModel#resetChanges}, and for all nested contexts within a
|
|
218
214
|
* deep create. It is rejected with an <code>Error</code> instance without
|
|
@@ -294,6 +290,8 @@ sap.ui.define([
|
|
|
294
290
|
* {@link #isKeepAlive kept alive},
|
|
295
291
|
* <li> the context is already being deleted,
|
|
296
292
|
* <li> the context's binding is a list binding with data aggregation,
|
|
293
|
+
* <li> the context is transient but its binding is not a list binding ("upsert") and it
|
|
294
|
+
* therefore must be reset via {@link #resetChanges},
|
|
297
295
|
* <li> the restrictions for deleting from a recursive hierarchy (see above) are not met.
|
|
298
296
|
* </ul>
|
|
299
297
|
*
|
|
@@ -322,12 +320,15 @@ sap.ui.define([
|
|
|
322
320
|
}
|
|
323
321
|
this.oBinding.checkSuspended();
|
|
324
322
|
if (this.isTransient()) {
|
|
323
|
+
if (!this.oBinding.getHeaderContext) { // upsert
|
|
324
|
+
throw new Error("Cannot delete " + this);
|
|
325
|
+
}
|
|
325
326
|
if (this.iIndex === undefined) {
|
|
326
327
|
return Promise.resolve(); // already deleted, nothing to do
|
|
327
328
|
}
|
|
328
329
|
sGroupId = null;
|
|
329
330
|
} else if (sGroupId === null) {
|
|
330
|
-
if (
|
|
331
|
+
if (this.iIndex !== undefined || !this.isKeepAlive()) {
|
|
331
332
|
throw new Error("Cannot delete " + this);
|
|
332
333
|
}
|
|
333
334
|
}
|
|
@@ -433,7 +434,7 @@ sap.ui.define([
|
|
|
433
434
|
* instance of <code>Error</code> in case of failure
|
|
434
435
|
*
|
|
435
436
|
* @private
|
|
436
|
-
* @see
|
|
437
|
+
* @see #delete
|
|
437
438
|
*/
|
|
438
439
|
Context.prototype.doDelete = function (oGroupLock, sEditUrl, sPath, oETagEntity, oBinding,
|
|
439
440
|
fnCallback) {
|
|
@@ -584,7 +585,7 @@ sap.ui.define([
|
|
|
584
585
|
bUpdating);
|
|
585
586
|
}
|
|
586
587
|
|
|
587
|
-
if (that.
|
|
588
|
+
if (that.bInactive && !that.bFiringCreateActivate) {
|
|
588
589
|
// early cache update so that the new value is properly available on the
|
|
589
590
|
// event listener
|
|
590
591
|
// runs synchronously - setProperty calls fetchValue with $cached
|
|
@@ -596,6 +597,10 @@ sap.ui.define([
|
|
|
596
597
|
oCache.setInactive(sEntityPath, that.bInactive);
|
|
597
598
|
}
|
|
598
599
|
|
|
600
|
+
const fnSetUpsertPromise = _Helper.hasPathSuffix(that.sPath, sEntityPath)
|
|
601
|
+
? that.setCreated.bind(that)
|
|
602
|
+
: null;
|
|
603
|
+
|
|
599
604
|
// if request is canceled fnPatchSent and fnErrorCallback are not called and
|
|
600
605
|
// returned Promise is rejected -> no patch events
|
|
601
606
|
return oCache.update(oGroupLock, oResult.propertyPath, vValue,
|
|
@@ -603,7 +608,7 @@ sap.ui.define([
|
|
|
603
608
|
// Note: use that.oModel intentionally, fails if already destroyed!
|
|
604
609
|
oMetaModel.getUnitOrCurrencyPath(that.oModel.resolve(sPath, that)),
|
|
605
610
|
oBinding.isPatchWithoutSideEffects(), patchSent,
|
|
606
|
-
that.isEffectivelyKeptAlive.bind(that)
|
|
611
|
+
that.isEffectivelyKeptAlive.bind(that), fnSetUpsertPromise
|
|
607
612
|
).then(function () {
|
|
608
613
|
firePatchCompleted(true);
|
|
609
614
|
}, function (oError) {
|
|
@@ -673,6 +678,7 @@ sap.ui.define([
|
|
|
673
678
|
if (!bAll) {
|
|
674
679
|
throw new Error("Already expanded: " + this);
|
|
675
680
|
}
|
|
681
|
+
this.oBinding.collapse(this, /*bAll*/false, /*bSilent*/true);
|
|
676
682
|
// falls through
|
|
677
683
|
case false: {
|
|
678
684
|
const iLevels = bAll ? Number.MAX_SAFE_INTEGER : 1;
|
|
@@ -1195,7 +1201,7 @@ sap.ui.define([
|
|
|
1195
1201
|
var that = this;
|
|
1196
1202
|
|
|
1197
1203
|
return this.isTransient() && this.isInactive() !== true
|
|
1198
|
-
|| this.oDeletePromise
|
|
1204
|
+
|| this.oDeletePromise?.isPending()
|
|
1199
1205
|
|| this.oBinding.hasPendingChangesForPath(this.sPath)
|
|
1200
1206
|
|| this.oModel.getDependentBindings(this).some(function (oDependentBinding) {
|
|
1201
1207
|
return oDependentBinding.oCache
|
|
@@ -1287,7 +1293,7 @@ sap.ui.define([
|
|
|
1287
1293
|
|| !mParameters.$$sharedRequest
|
|
1288
1294
|
&& this.oBinding.getHeaderContext?.()
|
|
1289
1295
|
&& this.oBinding.getHeaderContext().isSelected() !== this.isSelected()
|
|
1290
|
-
&& !
|
|
1296
|
+
&& (mParameters.$$ownRequest || !this.oBinding.isRelative())
|
|
1291
1297
|
&& !_Helper.isDataAggregation(mParameters)
|
|
1292
1298
|
// check for key predicate in the last path segment
|
|
1293
1299
|
&& this.sPath.indexOf("(", this.sPath.lastIndexOf("/")) > 0;
|
|
@@ -1403,7 +1409,7 @@ sap.ui.define([
|
|
|
1403
1409
|
* @since 1.43.0
|
|
1404
1410
|
*/
|
|
1405
1411
|
Context.prototype.isTransient = function () {
|
|
1406
|
-
return this.oSyncCreatePromise
|
|
1412
|
+
return this.oSyncCreatePromise?.isPending();
|
|
1407
1413
|
};
|
|
1408
1414
|
|
|
1409
1415
|
/**
|
|
@@ -1475,11 +1481,11 @@ sap.ui.define([
|
|
|
1475
1481
|
if (oNextSibling === undefined && oParent === undefined) {
|
|
1476
1482
|
return Promise.resolve(); // "no move happens"
|
|
1477
1483
|
}
|
|
1478
|
-
if (this.
|
|
1484
|
+
if (this.iIndex === undefined || this.isDeleted() || this.isTransient()) {
|
|
1479
1485
|
throw new Error("Cannot move " + this);
|
|
1480
1486
|
}
|
|
1481
1487
|
if (oParent
|
|
1482
|
-
&& (oParent.
|
|
1488
|
+
&& (oParent.iIndex === undefined || oParent.isDeleted() || oParent.isTransient())) {
|
|
1483
1489
|
throw new Error("Cannot move to " + oParent);
|
|
1484
1490
|
}
|
|
1485
1491
|
if (this.isAncestorOf(oParent)) {
|
|
@@ -1639,8 +1645,7 @@ sap.ui.define([
|
|
|
1639
1645
|
* any part thereof. The data is a JSON structure as described in <a href=
|
|
1640
1646
|
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html"
|
|
1641
1647
|
* >"OData JSON Format Version 4.0"</a>.
|
|
1642
|
-
* Note that the function clones the result. Modify values via
|
|
1643
|
-
* {@link sap.ui.model.odata.v4.Context#setProperty}.
|
|
1648
|
+
* Note that the function clones the result. Modify values via {@link #setProperty}.
|
|
1644
1649
|
*
|
|
1645
1650
|
* The header context of a list binding only delivers <code>$count</code> and
|
|
1646
1651
|
* <code>@$ui5.context.isSelected</code> (wrapped in an object if <code>sPath</code> is "").
|
|
@@ -2112,8 +2117,7 @@ sap.ui.define([
|
|
|
2112
2117
|
/**
|
|
2113
2118
|
* Resets all property changes, created entities, and entity deletions of this context. Resets
|
|
2114
2119
|
* also invalid user input and inactive contexts which had their activation prevented (see
|
|
2115
|
-
* {@link
|
|
2116
|
-
* invocation of OData operations (see
|
|
2120
|
+
* {@link #isInactive}). This function does not reset the invocation of OData operations (see
|
|
2117
2121
|
* {@link sap.ui.model.odata.v4.ODataContextBinding#invoke}). For a context which is currently
|
|
2118
2122
|
* {@link #delete deleted} on the client, but not yet on the server, this method cancels the
|
|
2119
2123
|
* deletion and restores the context.
|
|
@@ -2126,8 +2130,8 @@ sap.ui.define([
|
|
|
2126
2130
|
* <li> the binding's root binding is suspended,
|
|
2127
2131
|
* <li> a change of this context has already been sent to the server and there is no response
|
|
2128
2132
|
* yet,
|
|
2129
|
-
* <li> this context is transient
|
|
2130
|
-
* {@link #delete}.
|
|
2133
|
+
* <li> this context is a transient row context but not inactive and therefore must be reset
|
|
2134
|
+
* via {@link #delete}.
|
|
2131
2135
|
* <li> this context is a
|
|
2132
2136
|
* {@link sap.ui.model.odata.v4.ODataListBinding#getHeaderContext header context}.
|
|
2133
2137
|
* <li> this context is a
|
|
@@ -2144,7 +2148,8 @@ sap.ui.define([
|
|
|
2144
2148
|
: [],
|
|
2145
2149
|
that = this;
|
|
2146
2150
|
|
|
2147
|
-
if (this.iIndex === iVIRTUAL
|
|
2151
|
+
if (this.iIndex === iVIRTUAL
|
|
2152
|
+
|| this.oBinding.getHeaderContext && !this.bInactive && this.isTransient()
|
|
2148
2153
|
|| this === this.oBinding.getHeaderContext?.()
|
|
2149
2154
|
// only operation bindings have a parameter context, for others the function fails
|
|
2150
2155
|
|| this.oBinding.oOperation && this === this.oBinding.getParameterContext()) {
|
|
@@ -2180,6 +2185,30 @@ sap.ui.define([
|
|
|
2180
2185
|
this.bSelected = false;
|
|
2181
2186
|
};
|
|
2182
2187
|
|
|
2188
|
+
/**
|
|
2189
|
+
* Sets this context's {@link #created created} promise based on the given one.
|
|
2190
|
+
*
|
|
2191
|
+
* Note: this is a private and internal API. Do not call this!
|
|
2192
|
+
*
|
|
2193
|
+
* @param {sap.ui.base.SyncPromise} [oSyncCreatePromise]
|
|
2194
|
+
* A promise which is resolved with the created entity when the PATCH or POST request has been
|
|
2195
|
+
* successfully sent and the entity has been marked as non-transient; used as base for
|
|
2196
|
+
* {@link #created}. If missing, this context's {@link #created created} promise is removed
|
|
2197
|
+
* again. Don't use <code>null</code>!
|
|
2198
|
+
* @throws {Error} If this context is not "created" or still transient
|
|
2199
|
+
*
|
|
2200
|
+
* @private
|
|
2201
|
+
*/
|
|
2202
|
+
Context.prototype.setCreated = function (oSyncCreatePromise) {
|
|
2203
|
+
if (oSyncCreatePromise && this.oCreatedPromise) {
|
|
2204
|
+
throw new Error("Already 'created'");
|
|
2205
|
+
}
|
|
2206
|
+
this.oCreatedPromise = oSyncCreatePromise
|
|
2207
|
+
// ensure to return a promise that is resolved w/o data
|
|
2208
|
+
&& Promise.resolve(oSyncCreatePromise).then(function () {});
|
|
2209
|
+
this.oSyncCreatePromise = oSyncCreatePromise;
|
|
2210
|
+
};
|
|
2211
|
+
|
|
2183
2212
|
/**
|
|
2184
2213
|
* Sets the inactive flag to <code>true</code>
|
|
2185
2214
|
*
|
|
@@ -403,7 +403,7 @@ sap.ui.define([
|
|
|
403
403
|
* Destroys the object. The object must not be used anymore after this function was called.
|
|
404
404
|
*
|
|
405
405
|
* @public
|
|
406
|
-
* @since 1.66
|
|
406
|
+
* @since 1.66.0
|
|
407
407
|
*/
|
|
408
408
|
ODataBinding.prototype.destroy = function () {
|
|
409
409
|
this.mCacheByResourcePath = undefined;
|
|
@@ -422,8 +422,8 @@ sap.ui.define([
|
|
|
422
422
|
};
|
|
423
423
|
|
|
424
424
|
/**
|
|
425
|
-
* Hook method for {@link
|
|
426
|
-
*
|
|
425
|
+
* Hook method for {@link #fetchCache} to create a cache for this binding with the given
|
|
426
|
+
* resource path and query options.
|
|
427
427
|
*
|
|
428
428
|
* @param {string} sResourcePath
|
|
429
429
|
* The resource path, for example "EMPLOYEES"
|
|
@@ -1157,6 +1157,8 @@ sap.ui.define([
|
|
|
1157
1157
|
* @param {string} sCanonicalPath
|
|
1158
1158
|
* The canonical path of the entity (as a context path with the leading "/")
|
|
1159
1159
|
*
|
|
1160
|
+
* @abstract
|
|
1161
|
+
* @function
|
|
1160
1162
|
* @name sap.ui.model.odata.v4.ODataBinding#onDelete
|
|
1161
1163
|
* @private
|
|
1162
1164
|
*/
|
|
@@ -1426,8 +1428,9 @@ sap.ui.define([
|
|
|
1426
1428
|
* <li> the binding's root binding is suspended,
|
|
1427
1429
|
* <li> there is a change of this binding which has been sent to the server and for which
|
|
1428
1430
|
* there is no response yet,
|
|
1429
|
-
* <li> the binding is
|
|
1430
|
-
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create}
|
|
1431
|
+
* <li> the binding is part of a
|
|
1432
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create} because it is
|
|
1433
|
+
* relative to a {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
1431
1434
|
* </ul>
|
|
1432
1435
|
*
|
|
1433
1436
|
* @public
|
|
@@ -1559,7 +1562,7 @@ sap.ui.define([
|
|
|
1559
1562
|
* @param {Promise[]} aPromises
|
|
1560
1563
|
* List of (sync) promises which is extended for each call to
|
|
1561
1564
|
* {@link sap.ui.model.odata.v4.ODataParentBinding#requestSideEffects} or
|
|
1562
|
-
* {@link
|
|
1565
|
+
* {@link #refreshInternal}
|
|
1563
1566
|
* @param {string} [sPrefix=""]
|
|
1564
1567
|
* Prefix for navigation property meta paths; must only be used during recursion
|
|
1565
1568
|
*
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.134.0
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -841,6 +841,8 @@ sap.ui.define([
|
|
|
841
841
|
/**
|
|
842
842
|
* Handles setting a parameter property in case of a deferred operation binding, otherwise it
|
|
843
843
|
* returns <code>undefined</code>.
|
|
844
|
+
*
|
|
845
|
+
* @private
|
|
844
846
|
*/
|
|
845
847
|
// @override sap.ui.model.odata.v4.ODataParentBinding#doSetProperty
|
|
846
848
|
ODataContextBinding.prototype.doSetProperty = function (sPath, vValue, oGroupLock) {
|
|
@@ -1285,9 +1287,8 @@ sap.ui.define([
|
|
|
1285
1287
|
*
|
|
1286
1288
|
* @param {string} [sGroupId]
|
|
1287
1289
|
* The group ID to be used for the request; if not specified, the group ID for this binding is
|
|
1288
|
-
* used, see {@link
|
|
1289
|
-
* {@link #
|
|
1290
|
-
* be specified explicitly.
|
|
1290
|
+
* used, see {@link #constructor} and {@link #getGroupId}. To use the update group ID, see
|
|
1291
|
+
* {@link #getUpdateGroupId}, it needs to be specified explicitly.
|
|
1291
1292
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct', '$single', or
|
|
1292
1293
|
* application group IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. If
|
|
1293
1294
|
* '$single' is used, the request will be sent as fast as '$direct', but wrapped in a batch
|