@openui5/sap.ui.core 1.100.0 → 1.102.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +27 -5
- package/THIRDPARTY.txt +5 -5
- 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/assert.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- 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 +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
- 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 +2 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CommandExecution.js +15 -12
- package/src/sap/ui/core/Component.js +50 -27
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +27 -12
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +22 -8
- package/src/sap/ui/core/Control.js +2 -3
- package/src/sap/ui/core/Core.js +119 -36
- 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 +1 -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/ExtensionPoint.js +6 -1
- package/src/sap/ui/core/FocusHandler.js +2 -3
- 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 +2 -2
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +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 +136 -5
- package/src/sap/ui/core/Manifest.js +5 -3
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +3 -1
- package/src/sap/ui/core/Popup.js +12 -14
- 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 +21 -15
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
- 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 +3 -5
- 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 +514 -389
- package/src/sap/ui/core/cache/CacheManager.js +27 -0
- package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
- package/src/sap/ui/core/cache/LRUPersistentCache.js +74 -3
- package/src/sap/ui/core/cldr/ar.json +469 -1
- package/src/sap/ui/core/cldr/ar_EG.json +469 -1
- package/src/sap/ui/core/cldr/ar_SA.json +469 -1
- package/src/sap/ui/core/cldr/bg.json +469 -1
- package/src/sap/ui/core/cldr/ca.json +469 -1
- package/src/sap/ui/core/cldr/cs.json +469 -1
- package/src/sap/ui/core/cldr/cy.json +469 -1
- package/src/sap/ui/core/cldr/da.json +469 -1
- package/src/sap/ui/core/cldr/de.json +469 -1
- package/src/sap/ui/core/cldr/de_AT.json +469 -1
- package/src/sap/ui/core/cldr/de_CH.json +469 -1
- package/src/sap/ui/core/cldr/el.json +469 -1
- package/src/sap/ui/core/cldr/el_CY.json +469 -1
- package/src/sap/ui/core/cldr/en.json +469 -1
- package/src/sap/ui/core/cldr/en_AU.json +469 -1
- package/src/sap/ui/core/cldr/en_GB.json +469 -1
- package/src/sap/ui/core/cldr/en_HK.json +469 -1
- package/src/sap/ui/core/cldr/en_IE.json +469 -1
- package/src/sap/ui/core/cldr/en_IN.json +469 -1
- package/src/sap/ui/core/cldr/en_NZ.json +469 -1
- package/src/sap/ui/core/cldr/en_PG.json +469 -1
- package/src/sap/ui/core/cldr/en_SG.json +469 -1
- package/src/sap/ui/core/cldr/en_ZA.json +469 -1
- package/src/sap/ui/core/cldr/es.json +469 -1
- package/src/sap/ui/core/cldr/es_AR.json +469 -1
- package/src/sap/ui/core/cldr/es_BO.json +469 -1
- package/src/sap/ui/core/cldr/es_CL.json +469 -1
- package/src/sap/ui/core/cldr/es_CO.json +469 -1
- package/src/sap/ui/core/cldr/es_MX.json +469 -1
- package/src/sap/ui/core/cldr/es_PE.json +469 -1
- package/src/sap/ui/core/cldr/es_UY.json +469 -1
- package/src/sap/ui/core/cldr/es_VE.json +469 -1
- package/src/sap/ui/core/cldr/et.json +469 -1
- package/src/sap/ui/core/cldr/fa.json +469 -1
- package/src/sap/ui/core/cldr/fi.json +469 -1
- package/src/sap/ui/core/cldr/fr.json +469 -1
- package/src/sap/ui/core/cldr/fr_BE.json +469 -1
- package/src/sap/ui/core/cldr/fr_CA.json +469 -1
- package/src/sap/ui/core/cldr/fr_CH.json +469 -1
- package/src/sap/ui/core/cldr/fr_LU.json +469 -1
- package/src/sap/ui/core/cldr/he.json +469 -1
- package/src/sap/ui/core/cldr/hi.json +469 -1
- package/src/sap/ui/core/cldr/hr.json +469 -1
- package/src/sap/ui/core/cldr/hu.json +469 -1
- package/src/sap/ui/core/cldr/id.json +469 -1
- package/src/sap/ui/core/cldr/it.json +469 -1
- package/src/sap/ui/core/cldr/it_CH.json +469 -1
- package/src/sap/ui/core/cldr/ja.json +469 -1
- package/src/sap/ui/core/cldr/kk.json +469 -1
- package/src/sap/ui/core/cldr/ko.json +469 -1
- package/src/sap/ui/core/cldr/lt.json +469 -1
- package/src/sap/ui/core/cldr/lv.json +469 -1
- package/src/sap/ui/core/cldr/ms.json +469 -1
- package/src/sap/ui/core/cldr/nb.json +469 -1
- package/src/sap/ui/core/cldr/nl.json +469 -1
- package/src/sap/ui/core/cldr/nl_BE.json +469 -1
- package/src/sap/ui/core/cldr/pl.json +469 -1
- package/src/sap/ui/core/cldr/pt.json +469 -1
- package/src/sap/ui/core/cldr/pt_PT.json +469 -1
- package/src/sap/ui/core/cldr/ro.json +469 -1
- package/src/sap/ui/core/cldr/ru.json +469 -1
- package/src/sap/ui/core/cldr/ru_UA.json +469 -1
- package/src/sap/ui/core/cldr/sk.json +469 -1
- package/src/sap/ui/core/cldr/sl.json +469 -1
- package/src/sap/ui/core/cldr/sr.json +469 -1
- package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
- package/src/sap/ui/core/cldr/sv.json +469 -1
- package/src/sap/ui/core/cldr/th.json +469 -1
- package/src/sap/ui/core/cldr/tr.json +469 -1
- package/src/sap/ui/core/cldr/uk.json +469 -1
- package/src/sap/ui/core/cldr/vi.json +469 -1
- package/src/sap/ui/core/cldr/zh_CN.json +470 -2
- package/src/sap/ui/core/cldr/zh_HK.json +470 -2
- package/src/sap/ui/core/cldr/zh_SG.json +470 -2
- package/src/sap/ui/core/cldr/zh_TW.json +469 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +48 -48
- package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
- package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
- package/src/sap/ui/core/dnd/DragAndDrop.js +8 -6
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
- 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/format/DateFormat.js +162 -92
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +3 -0
- package/src/sap/ui/core/format/NumberFormat.js +28 -28
- package/src/sap/ui/core/format/TimezoneUtil.js +50 -18
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +135 -140
- 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/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 +2 -1
- package/src/sap/ui/core/mvc/XMLView.js +19 -23
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -59
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -3
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +1 -1
- package/src/sap/ui/core/rules/App.support.js +14 -9
- package/src/sap/ui/core/rules/Config.support.js +12 -12
- 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 +4 -4
- package/src/sap/ui/core/rules/View.support.js +9 -9
- 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 +29 -1
- package/src/sap/ui/core/support/Support.js +2 -2
- package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
- package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
- package/src/sap/ui/core/support/plugins/ControlTree.js +440 -349
- package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
- package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +10 -13
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
- package/src/sap/ui/core/support/plugins/Trace.js +7 -7
- package/src/sap/ui/core/support/plugins/ViewInfo.js +91 -43
- package/src/sap/ui/core/support/support.css +23 -23
- package/src/sap/ui/core/support/support.html +5 -7
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
- package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
- package/src/sap/ui/core/themes/base/base.less +419 -22
- package/src/sap/ui/core/themes/base/global.less +13 -9
- package/src/sap/ui/core/themes/base/shared.less +1 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +9 -5
- package/src/sap/ui/core/theming/Parameters.js +1 -1
- 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 +2 -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/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +7 -8
- 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/ClientListBinding.js +127 -21
- 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/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +32 -13
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +10 -7
- 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/_Helper.js +9 -5
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
- package/src/sap/ui/model/json/JSONListBinding.js +0 -58
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +0 -42
- 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 +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +4 -3
- package/src/sap/ui/model/odata/ODataUtils.js +7 -9
- package/src/sap/ui/model/odata/OperationMode.js +6 -0
- 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 +39 -37
- 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/type/UnitMixin.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +72 -3
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +191 -70
- package/src/sap/ui/model/odata/v2/ODataModel.js +107 -52
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +11 -4
- package/src/sap/ui/model/odata/v4/Context.js +33 -4
- package/src/sap/ui/model/odata/v4/ODataBinding.js +12 -12
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -2
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +161 -106
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -6
- package/src/sap/ui/model/odata/v4/ODataModel.js +118 -12
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +59 -5
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +202 -138
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +12 -0
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +110 -40
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +148 -68
- 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/XMLListBinding.js +0 -53
- 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/Opa5.js +9 -5
- package/src/sap/ui/test/TestUtils.js +2 -1
- package/src/sap/ui/test/actions/Action.js +3 -3
- package/src/sap/ui/test/actions/Press.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
- package/src/sap/ui/test/opaQunit.js +11 -10
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +8 -4
- package/ui5.yaml +1 -1
|
@@ -6,18 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/core/format/DateFormat",
|
|
9
|
-
"sap/ui/core/format/DateFormatTimezoneDisplay",
|
|
10
9
|
"sap/ui/model/_Helper",
|
|
11
10
|
"sap/ui/model/CompositeType",
|
|
12
11
|
"sap/ui/model/FormatException",
|
|
13
12
|
"sap/ui/model/ParseException"
|
|
14
|
-
], function (DateFormat,
|
|
15
|
-
ParseException) {
|
|
13
|
+
], function (DateFormat, _Helper, CompositeType, FormatException, ParseException) {
|
|
16
14
|
"use strict";
|
|
17
15
|
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
var sDateOrTimeRequired = "For type 'object', at least one of the format options 'showDate' or"
|
|
17
|
+
+ " 'showTime' must be enabled",
|
|
18
|
+
oDemoDateTime = new Date(Date.UTC(new Date().getFullYear(), 11, 31, 23, 59, 58));
|
|
21
19
|
|
|
22
20
|
/*
|
|
23
21
|
* Returns the formatter. Creates it lazily.
|
|
@@ -62,8 +60,7 @@ sap.ui.define([
|
|
|
62
60
|
* @public
|
|
63
61
|
* @see {sap.ui.model.odata.v2.ODataModel#bindProperty}
|
|
64
62
|
* @since 1.99.0
|
|
65
|
-
* @
|
|
66
|
-
* @version 1.100.0
|
|
63
|
+
* @version 1.102.1
|
|
67
64
|
*/
|
|
68
65
|
var DateTimeWithTimezone = CompositeType.extend("sap.ui.model.odata.type.DateTimeWithTimezone",
|
|
69
66
|
{
|
|
@@ -77,6 +74,10 @@ sap.ui.define([
|
|
|
77
74
|
this.bParseWithValues = true;
|
|
78
75
|
this.bUseInternalValues = true;
|
|
79
76
|
this.vEmptyTimezoneValue = null;
|
|
77
|
+
this.bShowDate = oFormatOptions.showDate === undefined || oFormatOptions.showDate;
|
|
78
|
+
this.bShowTime = oFormatOptions.showTime === undefined || oFormatOptions.showTime;
|
|
79
|
+
this.bShowTimezone = oFormatOptions.showTimezone === undefined
|
|
80
|
+
|| oFormatOptions.showTimezone;
|
|
80
81
|
|
|
81
82
|
// must not overwrite setConstraints and setFormatOptions on prototype as they are
|
|
82
83
|
// called in SimpleType constructor
|
|
@@ -99,7 +100,7 @@ sap.ui.define([
|
|
|
99
100
|
* @private
|
|
100
101
|
*/
|
|
101
102
|
DateTimeWithTimezone.prototype._getErrorMessage = function () {
|
|
102
|
-
var sMessageKey = this.
|
|
103
|
+
var sMessageKey = !this.bShowDate && !this.bShowTime
|
|
103
104
|
? "EnterDateTimeTimezone"
|
|
104
105
|
: "EnterDateTime";
|
|
105
106
|
|
|
@@ -127,7 +128,7 @@ sap.ui.define([
|
|
|
127
128
|
* <li>if the time zone or timestamp in <code>aValues</code> is <code>undefined</code>, or
|
|
128
129
|
* </li>
|
|
129
130
|
* <li>if the timestamp in <code>aValues</code> is not set and the <code>showTimezone</code>
|
|
130
|
-
* format option is set to <code>
|
|
131
|
+
* format option is set to <code>false</code>
|
|
131
132
|
* </li>
|
|
132
133
|
* </ul>
|
|
133
134
|
* @throws {sap.ui.model.FormatException}
|
|
@@ -137,21 +138,20 @@ sap.ui.define([
|
|
|
137
138
|
* <li>a timestamp is given in <code>aValues</code> that is not an instance of
|
|
138
139
|
* <code>Date</code>,</li>
|
|
139
140
|
* <li>the <code>sTargetType</code> is "object" or an equivalent primitive type, and the
|
|
140
|
-
* <code>showTimezone</code> format option is
|
|
141
|
-
* <code>
|
|
141
|
+
* <code>showTimezone</code> format option is enabled, but <code>showDate</code> and
|
|
142
|
+
* <code>showTime</code> are both <code>false</code></li>
|
|
142
143
|
* </ul>
|
|
143
144
|
* @public
|
|
144
145
|
*/
|
|
145
146
|
DateTimeWithTimezone.prototype.formatValue = function (aValues, sTargetType) {
|
|
146
|
-
var
|
|
147
|
-
oTimestamp = aValues && aValues[0],
|
|
147
|
+
var oTimestamp = aValues && aValues[0],
|
|
148
148
|
sTimezone = aValues && aValues[1];
|
|
149
149
|
|
|
150
150
|
if (!aValues
|
|
151
151
|
|| sTimezone === undefined // data is not yet available
|
|
152
152
|
|| oTimestamp === undefined // data is not yet available
|
|
153
153
|
// if time zone is not shown falsy timestamps cannot be formatted -> return null
|
|
154
|
-
|| (!oTimestamp &&
|
|
154
|
+
|| (!oTimestamp && !this.bShowTimezone)) {
|
|
155
155
|
return null;
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -162,8 +162,8 @@ sap.ui.define([
|
|
|
162
162
|
|
|
163
163
|
switch (this.getPrimitiveType(sTargetType)) {
|
|
164
164
|
case "object":
|
|
165
|
-
if (
|
|
166
|
-
throw new FormatException(
|
|
165
|
+
if (!this.bShowDate && !this.bShowTime) {
|
|
166
|
+
throw new FormatException(sDateOrTimeRequired);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
return oTimestamp;
|
|
@@ -192,13 +192,12 @@ sap.ui.define([
|
|
|
192
192
|
* Gets an array of indices that determine which parts of this type shall not propagate their
|
|
193
193
|
* model messages to the attached control. Prerequisite is that the corresponding binding
|
|
194
194
|
* supports this feature, see {@link sap.ui.model.Binding#supportsIgnoreMessages}. If the
|
|
195
|
-
* <code>showTimezone</code> format option is set to
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
* Analogously, if the format option <code>
|
|
199
|
-
* <code>
|
|
200
|
-
*
|
|
201
|
-
* to the control.
|
|
195
|
+
* <code>showTimezone</code> format option is set to <code>false</code>, the time zone is not
|
|
196
|
+
* shown in the control, and the part for the time zone shall not propagate model messages to
|
|
197
|
+
* the control.
|
|
198
|
+
* Analogously, if the format option <code>showDate</code> and <code>showTime</code> are both
|
|
199
|
+
* set to <code>false</code>, the date and time are not shown in the control, and the parts for
|
|
200
|
+
* the date and time shall not propagate model messages to the control.
|
|
202
201
|
*
|
|
203
202
|
* @return {number[]}
|
|
204
203
|
* An array of indices that determine which parts of this type shall not propagate their
|
|
@@ -209,11 +208,9 @@ sap.ui.define([
|
|
|
209
208
|
*/
|
|
210
209
|
// @override sap.ui.model.CompositeType#getPartsIgnoringMessages
|
|
211
210
|
DateTimeWithTimezone.prototype.getPartsIgnoringMessages = function () {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (sShowTimezone === DateFormatTimezoneDisplay.Only) {
|
|
211
|
+
if (!this.bShowDate && !this.bShowTime) {
|
|
215
212
|
return [0];
|
|
216
|
-
} else if (
|
|
213
|
+
} else if (!this.bShowTimezone) {
|
|
217
214
|
return [1];
|
|
218
215
|
}
|
|
219
216
|
|
|
@@ -247,17 +244,18 @@ sap.ui.define([
|
|
|
247
244
|
* <li>the value is not parsable,</li>
|
|
248
245
|
* <li><code>aCurrentValues</code> is not given,</li>
|
|
249
246
|
* <li>the <code>sSourceType</code> is "object" or an equivalent primitive type, and the
|
|
250
|
-
* <code>showTimezone</code> format option is
|
|
251
|
-
* <code>
|
|
247
|
+
* <code>showTimezone</code> format option is enabled, but <code>showDate</code> and
|
|
248
|
+
* <code>showTime</code> are both <code>false</code>,</li>
|
|
252
249
|
* <li>the <code>sSourceType</code> is "object" or an equivalent primitive type, and the
|
|
253
|
-
* value is not an instance of <code>Date</code
|
|
250
|
+
* value is not an instance of <code>Date</code>,</li>
|
|
251
|
+
* <li>the <code>sSourceType</code> is "string" or an equivalent primitive type, and either
|
|
252
|
+
* <code>showDate</code> or <code>showTime</code> format option is <code>false</code></li>
|
|
254
253
|
* </ul>
|
|
255
254
|
*
|
|
256
255
|
* @public
|
|
257
256
|
*/
|
|
258
257
|
DateTimeWithTimezone.prototype.parseValue = function (vValue, sSourceType, aCurrentValues) {
|
|
259
|
-
var aDateWithTimezone
|
|
260
|
-
sShowTimezone = this.oFormatOptions.showTimezone;
|
|
258
|
+
var aDateWithTimezone;
|
|
261
259
|
|
|
262
260
|
if (!aCurrentValues) {
|
|
263
261
|
throw new ParseException("'aCurrentValues' is mandatory");
|
|
@@ -265,8 +263,8 @@ sap.ui.define([
|
|
|
265
263
|
|
|
266
264
|
switch (this.getPrimitiveType(sSourceType)) {
|
|
267
265
|
case "object":
|
|
268
|
-
if (
|
|
269
|
-
throw new ParseException(
|
|
266
|
+
if (!this.bShowDate && !this.bShowTime) {
|
|
267
|
+
throw new ParseException(sDateOrTimeRequired);
|
|
270
268
|
}
|
|
271
269
|
|
|
272
270
|
if (!vValue) {
|
|
@@ -280,14 +278,18 @@ sap.ui.define([
|
|
|
280
278
|
return [vValue, undefined];
|
|
281
279
|
case "string":
|
|
282
280
|
if (!vValue) {
|
|
283
|
-
if (
|
|
281
|
+
if (!this.bShowDate && !this.bShowTime) {
|
|
284
282
|
return [/*unchanged*/undefined, this.vEmptyTimezoneValue];
|
|
285
283
|
}
|
|
286
284
|
|
|
287
285
|
return [null, /*unchanged*/undefined];
|
|
288
286
|
}
|
|
289
287
|
|
|
290
|
-
|
|
288
|
+
try {
|
|
289
|
+
aDateWithTimezone = getFormatter(this).parse(vValue, aCurrentValues[1]);
|
|
290
|
+
} catch (oError) { // wrap technical error to show the error at the control
|
|
291
|
+
throw new ParseException(oError.message);
|
|
292
|
+
}
|
|
291
293
|
if (!aDateWithTimezone) {
|
|
292
294
|
throw new ParseException(this._getErrorMessage());
|
|
293
295
|
}
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.102.1
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @extends sap.ui.model.odata.type.ODataType
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.51.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.102.1
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -110,7 +110,7 @@ sap.ui.define([
|
|
|
110
110
|
* @extends sap.ui.model.odata.type.ODataType
|
|
111
111
|
* @public
|
|
112
112
|
* @since 1.37.0
|
|
113
|
-
* @version 1.
|
|
113
|
+
* @version 1.102.1
|
|
114
114
|
*/
|
|
115
115
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
116
116
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @extends sap.ui.model.type.Unit
|
|
64
64
|
* @public
|
|
65
65
|
* @since 1.63.0
|
|
66
|
-
* @version 1.
|
|
66
|
+
* @version 1.102.1
|
|
67
67
|
*/
|
|
68
68
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
69
69
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -262,7 +262,7 @@ sap.ui.define([
|
|
|
262
262
|
}
|
|
263
263
|
|
|
264
264
|
aMatches = rDecimals.exec(vNumber);
|
|
265
|
-
iFractionDigits = aMatches ? aMatches[1].length : 0;
|
|
265
|
+
iFractionDigits = aMatches ? aMatches[1].replace(rTrailingZeros, "").length : 0;
|
|
266
266
|
iDecimals = this.mCustomUnits[sUnit].decimals;
|
|
267
267
|
if (iFractionDigits > iDecimals) {
|
|
268
268
|
throw this.getValidateException(iDecimals);
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
//Provides class sap.ui.model.odata.v2.Context
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/ui/base/SyncPromise",
|
|
10
|
-
"sap/ui/model/Context"
|
|
11
|
-
|
|
10
|
+
"sap/ui/model/Context",
|
|
11
|
+
"sap/ui/model/_Helper"
|
|
12
|
+
], function (SyncPromise, BaseContext, _Helper) {
|
|
12
13
|
"use strict";
|
|
13
14
|
|
|
15
|
+
var aDeleteParametersAllowList = ["changeSetId", "groupId", "refreshAfterChange"];
|
|
16
|
+
|
|
14
17
|
/**
|
|
15
18
|
* Do <strong>NOT</strong> call this private constructor.
|
|
16
19
|
*
|
|
@@ -57,7 +60,7 @@ sap.ui.define([
|
|
|
57
60
|
* @hideconstructor
|
|
58
61
|
* @public
|
|
59
62
|
* @since 1.93.0
|
|
60
|
-
* @version 1.
|
|
63
|
+
* @version 1.102.1
|
|
61
64
|
*/
|
|
62
65
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
63
66
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive) {
|
|
@@ -152,6 +155,72 @@ sap.ui.define([
|
|
|
152
155
|
return this.oCreatePromise;
|
|
153
156
|
};
|
|
154
157
|
|
|
158
|
+
/**
|
|
159
|
+
* Deletes the OData entity this context points to.
|
|
160
|
+
* <b>Note:</b> The context must not be used anymore after successful deletion.
|
|
161
|
+
*
|
|
162
|
+
* @param {object} [mParameters]
|
|
163
|
+
* For a persistent context, a map of parameters as specified for
|
|
164
|
+
* {@link sap.ui.model.odata.v2.ODataModel#remove}, except that the <code>groupId</code> and
|
|
165
|
+
* <code>changeSetId</code> parameters default to the values set via
|
|
166
|
+
* {@link sap.ui.model.odata.v2.ODataModel#setChangeGroups} for the type of the entity to be
|
|
167
|
+
* deleted.
|
|
168
|
+
* @param {string} [mParameters.groupId]
|
|
169
|
+
* ID of a request group; requests belonging to the same group will be bundled in one batch
|
|
170
|
+
* request. If not provided, the <code>groupId</code> defined for the type of the entity to be
|
|
171
|
+
* deleted is used.
|
|
172
|
+
* @param {string} [mParameters.changeSetId]
|
|
173
|
+
* ID of the <code>ChangeSet</code> that this request should belong to. If not provided, the
|
|
174
|
+
* <code>changeSetId</code> defined for the type of the entity to be deleted is used.
|
|
175
|
+
* @param {boolean} [mParameters.refreshAfterChange]
|
|
176
|
+
* Defines whether to update all bindings after submitting this change operation,
|
|
177
|
+
* see {@link #setRefreshAfterChange}. If given, this overrules the model-wide
|
|
178
|
+
* <code>refreshAfterChange</code> flag for this operation only.
|
|
179
|
+
* @returns {Promise} A promise resolving with <code>undefined</code> in case of successful
|
|
180
|
+
* deletion or rejecting with an error in case the deletion failed
|
|
181
|
+
* @throws {Error}
|
|
182
|
+
* If the given parameter map contains any other parameter than those documented above in case
|
|
183
|
+
* of a persistent context
|
|
184
|
+
*
|
|
185
|
+
* @public
|
|
186
|
+
* @since 1.101
|
|
187
|
+
*/
|
|
188
|
+
Context.prototype.delete = function (mParameters) {
|
|
189
|
+
var sParameterKey,
|
|
190
|
+
oModel = this.getModel(),
|
|
191
|
+
that = this;
|
|
192
|
+
|
|
193
|
+
mParameters = mParameters || {};
|
|
194
|
+
for (sParameterKey in mParameters) {
|
|
195
|
+
if (!aDeleteParametersAllowList.includes(sParameterKey)) {
|
|
196
|
+
throw new Error("Parameter '" + sParameterKey + "' is not supported");
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (this.isInactive()) {
|
|
201
|
+
oModel._discardEntityChanges(oModel._getKey(this), true);
|
|
202
|
+
oModel.checkUpdate();
|
|
203
|
+
|
|
204
|
+
return Promise.resolve();
|
|
205
|
+
} else if (this.isTransient()) {
|
|
206
|
+
return oModel.resetChanges([this.getPath()], /*bAll=abort deferred requests*/false,
|
|
207
|
+
/*bDeleteCreatedEntities*/true);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return new Promise(function (resolve, reject) {
|
|
211
|
+
var oGroupInfo = oModel._resolveGroup(that.getPath());
|
|
212
|
+
|
|
213
|
+
oModel.remove("",
|
|
214
|
+
_Helper.merge({
|
|
215
|
+
changeSetId : oGroupInfo.changeSetId,
|
|
216
|
+
context : that,
|
|
217
|
+
error : reject,
|
|
218
|
+
groupId : oGroupInfo.groupId,
|
|
219
|
+
success : function () {resolve();}
|
|
220
|
+
}, mParameters));
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
|
|
155
224
|
/**
|
|
156
225
|
* Returns the promise which resolves with <code>undefined</code> on activation of this context
|
|
157
226
|
* or if this context is already active; the promise never rejects.
|