@openui5/sap.ui.core 1.131.1 → 1.132.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 +17 -0
- package/THIRDPARTY.txt +1 -1
- package/package.json +1 -1
- package/src/jquery.sap.act.js +1 -1
- package/src/jquery.sap.dom.js +1 -1
- package/src/jquery.sap.encoder.js +1 -1
- package/src/jquery.sap.events.js +1 -1
- package/src/jquery.sap.global.js +2 -2
- package/src/jquery.sap.history.js +1 -1
- package/src/jquery.sap.keycodes.js +1 -1
- package/src/jquery.sap.mobile.js +1 -1
- package/src/jquery.sap.promise.js +1 -1
- package/src/jquery.sap.properties.js +2 -2
- package/src/jquery.sap.resources.js +2 -2
- package/src/jquery.sap.script.js +2 -2
- package/src/jquery.sap.sjax.js +1 -1
- package/src/jquery.sap.storage.js +4 -4
- package/src/jquery.sap.strings.js +1 -1
- package/src/jquery.sap.stubs.js +1 -1
- package/src/jquery.sap.trace.js +1 -1
- package/src/jquery.sap.ui.js +1 -1
- package/src/jquery.sap.xml.js +1 -1
- package/src/sap/base/Event.js +2 -2
- package/src/sap/base/Eventing.js +2 -2
- package/src/sap/base/Log.js +1 -1
- package/src/sap/base/assert.js +1 -1
- package/src/sap/base/config/MemoryConfigurationProvider.js +1 -1
- package/src/sap/base/config.js +2 -2
- package/src/sap/base/future.js +1 -1
- package/src/sap/base/i18n/Formatting.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +2 -2
- package/src/sap/base/i18n/Localization.js +2 -4
- package/src/sap/base/i18n/ResourceBundle.js +4 -3
- package/src/sap/base/i18n/date/CalendarType.js +1 -1
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +2 -2
- package/src/sap/base/i18n/date/_EnumHelper.js +1 -1
- package/src/sap/base/security/URLListValidator.js +1 -1
- package/src/sap/base/security/URLWhitelist.js +1 -1
- package/src/sap/base/security/encodeCSS.js +1 -1
- package/src/sap/base/security/encodeJS.js +1 -1
- package/src/sap/base/security/encodeURL.js +1 -1
- package/src/sap/base/security/encodeURLParameters.js +1 -1
- package/src/sap/base/security/encodeXML.js +1 -1
- package/src/sap/base/security/sanitizeHTML.js +1 -1
- package/src/sap/base/strings/camelize.js +1 -1
- package/src/sap/base/strings/capitalize.js +1 -1
- package/src/sap/base/strings/escapeRegExp.js +1 -1
- package/src/sap/base/strings/formatMessage.js +1 -1
- package/src/sap/base/strings/hash.js +1 -1
- package/src/sap/base/strings/hyphenate.js +1 -1
- package/src/sap/base/strings/toHex.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/Deferred.js +1 -1
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +1 -1
- package/src/sap/base/util/ObjectPath.js +1 -1
- package/src/sap/base/util/Properties.js +1 -1
- package/src/sap/base/util/UriParameters.js +1 -1
- package/src/sap/base/util/Version.js +1 -1
- package/src/sap/base/util/_merge.js +1 -1
- package/src/sap/base/util/array/diff.js +1 -1
- package/src/sap/base/util/array/uniqueSort.js +1 -1
- package/src/sap/base/util/clamp.js +1 -1
- package/src/sap/base/util/deepClone.js +1 -1
- package/src/sap/base/util/deepEqual.js +1 -1
- package/src/sap/base/util/deepExtend.js +1 -1
- package/src/sap/base/util/defineCoupledProperty.js +1 -1
- package/src/sap/base/util/defineLazyProperty.js +1 -1
- package/src/sap/base/util/each.js +1 -1
- package/src/sap/base/util/extend.js +1 -1
- package/src/sap/base/util/fetch.js +1 -1
- package/src/sap/base/util/includes.js +1 -1
- package/src/sap/base/util/isEmptyObject.js +1 -1
- package/src/sap/base/util/isPlainObject.js +1 -1
- package/src/sap/base/util/merge.js +1 -1
- package/src/sap/base/util/mixedFetch.js +1 -1
- package/src/sap/base/util/now.js +1 -1
- package/src/sap/base/util/resolveReference.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +2 -2
- package/src/sap/base/util/restricted/_compact.js +2 -2
- package/src/sap/base/util/restricted/_curry.js +2 -2
- package/src/sap/base/util/restricted/_debounce.js +2 -2
- package/src/sap/base/util/restricted/_difference.js +2 -2
- package/src/sap/base/util/restricted/_differenceBy.js +2 -2
- package/src/sap/base/util/restricted/_differenceWith.js +2 -2
- package/src/sap/base/util/restricted/_flatMap.js +2 -2
- package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
- package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
- package/src/sap/base/util/restricted/_flatten.js +2 -2
- package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
- package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
- package/src/sap/base/util/restricted/_intersection.js +2 -2
- package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
- package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
- package/src/sap/base/util/restricted/_isEqual.js +2 -2
- package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
- package/src/sap/base/util/restricted/_isNil.js +2 -2
- package/src/sap/base/util/restricted/_max.js +2 -2
- package/src/sap/base/util/restricted/_merge.js +2 -2
- package/src/sap/base/util/restricted/_mergeWith.js +2 -2
- package/src/sap/base/util/restricted/_min.js +2 -2
- package/src/sap/base/util/restricted/_omit.js +2 -2
- package/src/sap/base/util/restricted/_pick.js +2 -2
- package/src/sap/base/util/restricted/_pickBy.js +2 -2
- package/src/sap/base/util/restricted/_throttle.js +2 -2
- package/src/sap/base/util/restricted/_toArray.js +2 -2
- package/src/sap/base/util/restricted/_union.js +2 -2
- package/src/sap/base/util/restricted/_unionBy.js +2 -2
- package/src/sap/base/util/restricted/_unionWith.js +2 -2
- package/src/sap/base/util/restricted/_uniq.js +2 -2
- package/src/sap/base/util/restricted/_uniqBy.js +2 -2
- package/src/sap/base/util/restricted/_uniqWith.js +2 -2
- package/src/sap/base/util/restricted/_without.js +2 -2
- package/src/sap/base/util/restricted/_xor.js +2 -2
- package/src/sap/base/util/restricted/_xorBy.js +2 -2
- package/src/sap/base/util/restricted/_xorWith.js +2 -2
- package/src/sap/base/util/restricted/_zipObject.js +2 -2
- package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
- package/src/sap/base/util/syncFetch.js +1 -1
- package/src/sap/base/util/uid.js +1 -1
- package/src/sap/base/util/values.js +1 -1
- package/src/sap/ui/Device.js +65 -6
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +1 -1
- package/src/sap/ui/base/BindingInfo.js +1 -1
- package/src/sap/ui/base/BindingParser.js +1 -1
- package/src/sap/ui/base/DataType.js +1 -1
- package/src/sap/ui/base/DesignTime.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/Exception.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +1 -1
- package/src/sap/ui/base/Interface.js +2 -2
- package/src/sap/ui/base/ManagedObject.js +2 -2
- package/src/sap/ui/base/ManagedObjectMetadata.js +6 -6
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
- package/src/sap/ui/base/ManagedObjectRegistry.js +1 -1
- package/src/sap/ui/base/Metadata.js +3 -4
- package/src/sap/ui/base/Object.js +2 -2
- package/src/sap/ui/base/ObjectPool.js +2 -2
- package/src/sap/ui/base/SyncPromise.js +1 -1
- package/src/sap/ui/base/syncXHRFix.js +1 -1
- package/src/sap/ui/core/.library +2 -2
- package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
- package/src/sap/ui/core/AnimationMode.js +1 -1
- package/src/sap/ui/core/AppCacheBuster.js +1 -1
- package/src/sap/ui/core/BlockLayerUtils.js +1 -1
- package/src/sap/ui/core/BusyIndicator.js +2 -2
- package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/CalendarType.js +3 -3
- package/src/sap/ui/core/CommandExecution.js +46 -42
- package/src/sap/ui/core/Component.js +20 -7
- package/src/sap/ui/core/ComponentContainer.js +2 -2
- package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
- package/src/sap/ui/core/ComponentHooks.js +51 -4
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentRegistry.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +2 -2
- package/src/sap/ui/core/Configuration.js +2 -2
- package/src/sap/ui/core/ContextMenuSupport.js +1 -1
- package/src/sap/ui/core/Control.js +10 -8
- package/src/sap/ui/core/ControlBehavior.js +1 -1
- package/src/sap/ui/core/Core.js +3 -3
- package/src/sap/ui/core/CustomData.js +2 -2
- package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +2 -2
- package/src/sap/ui/core/Element.js +10 -9
- package/src/sap/ui/core/ElementMetadata.js +2 -2
- package/src/sap/ui/core/ElementRegistry.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +2 -2
- package/src/sap/ui/core/EventBus.js +2 -2
- package/src/sap/ui/core/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +1 -1
- package/src/sap/ui/core/FocusMode.js +1 -1
- package/src/sap/ui/core/Fragment.js +188 -189
- package/src/sap/ui/core/HTML.js +2 -2
- package/src/sap/ui/core/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +2 -2
- package/src/sap/ui/core/Icon.js +5 -2
- package/src/sap/ui/core/IconPool.js +1 -1
- package/src/sap/ui/core/IconRenderer.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- package/src/sap/ui/core/IntervalTrigger.js +2 -2
- package/src/sap/ui/core/InvisibleMessage.js +2 -2
- package/src/sap/ui/core/InvisibleRenderer.js +2 -2
- package/src/sap/ui/core/InvisibleText.js +2 -2
- package/src/sap/ui/core/Item.js +2 -2
- package/src/sap/ui/core/LabelEnablement.js +3 -3
- package/src/sap/ui/core/LayoutData.js +2 -2
- package/src/sap/ui/core/Lib.js +13 -7
- package/src/sap/ui/core/ListItem.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
- package/src/sap/ui/core/Locale.js +2 -2
- package/src/sap/ui/core/LocaleData.js +2 -2
- package/src/sap/ui/core/Manifest.js +2 -2
- package/src/sap/ui/core/Message.js +2 -2
- package/src/sap/ui/core/Messaging.js +1 -1
- package/src/sap/ui/core/Patcher.js +1 -1
- package/src/sap/ui/core/Placeholder.js +1 -1
- package/src/sap/ui/core/Popup.js +37 -78
- package/src/sap/ui/core/RenderManager.js +12 -2
- package/src/sap/ui/core/Renderer.js +2 -2
- package/src/sap/ui/core/Rendering.js +9 -7
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- package/src/sap/ui/core/ScrollBar.js +2 -2
- package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
- package/src/sap/ui/core/SeparatorItem.js +2 -2
- package/src/sap/ui/core/Shortcut.js +1 -1
- package/src/sap/ui/core/ShortcutHint.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
- package/src/sap/ui/core/StashedControlSupport.js +1 -1
- package/src/sap/ui/core/StaticArea.js +1 -9
- package/src/sap/ui/core/Supportability.js +4 -4
- package/src/sap/ui/core/Title.js +2 -2
- package/src/sap/ui/core/TooltipBase.js +2 -2
- package/src/sap/ui/core/UIArea.js +3 -3
- package/src/sap/ui/core/UIAreaRegistry.js +1 -1
- package/src/sap/ui/core/UIComponent.js +6 -2
- package/src/sap/ui/core/UIComponentMetadata.js +2 -3
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +2 -2
- package/src/sap/ui/core/XMLComposite.js +2 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
- package/src/sap/ui/core/XMLTemplateProcessor.js +4 -3
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/_UrlResolver.js +1 -1
- package/src/sap/ui/core/boot/FieldHelpEndpoint.js +1 -1
- package/src/sap/ui/core/boot/_bootConfig.js +1 -1
- package/src/sap/ui/core/boot/_runBoot.js +1 -1
- package/src/sap/ui/core/boot/initDOM.js +1 -1
- package/src/sap/ui/core/boot/loadCalendar.js +1 -1
- package/src/sap/ui/core/boot/loadManifest.js +1 -1
- package/src/sap/ui/core/boot/loadModules.js +1 -1
- package/src/sap/ui/core/boot/onInit.js +1 -1
- package/src/sap/ui/core/boot.js +1 -1
- package/src/sap/ui/core/cache/CacheManager.js +1 -1
- package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
- package/src/sap/ui/core/date/Buddhist.js +1 -1
- package/src/sap/ui/core/date/CalendarUtils.js +1 -1
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +1 -1
- package/src/sap/ui/core/date/Gregorian.js +1 -1
- package/src/sap/ui/core/date/Islamic.js +1 -1
- package/src/sap/ui/core/date/Japanese.js +1 -1
- package/src/sap/ui/core/date/Persian.js +1 -1
- package/src/sap/ui/core/date/UI5Date.js +2 -2
- package/src/sap/ui/core/date/UniversalDate.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
- package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
- package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
- package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
- package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
- package/src/sap/ui/core/designtime/library.designtime.js +1 -1
- package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
- package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
- package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
- package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
- package/src/sap/ui/core/dnd/DragInfo.js +2 -2
- package/src/sap/ui/core/dnd/DropInfo.js +2 -2
- package/src/sap/ui/core/fieldhelp/FieldHelp.js +1 -1
- package/src/sap/ui/core/fieldhelp/FieldHelpCustomData.js +1 -1
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +8 -7
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
- package/src/sap/ui/core/format/FileSizeFormat.js +1 -1
- package/src/sap/ui/core/format/FormatUtils.js +2 -2
- package/src/sap/ui/core/format/ListFormat.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +128 -15
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
- package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
- package/src/sap/ui/core/library.js +4 -4
- package/src/sap/ui/core/library.support.js +1 -1
- package/src/sap/ui/core/message/ControlMessageProcessor.js +2 -2
- package/src/sap/ui/core/message/Message.js +2 -2
- package/src/sap/ui/core/message/MessageManager.js +2 -2
- package/src/sap/ui/core/message/MessageMixin.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +2 -2
- package/src/sap/ui/core/message/MessageProcessor.js +2 -2
- package/src/sap/ui/core/message/MessageType.js +1 -1
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +291 -294
- package/src/sap/ui/core/mvc/Controller.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +2 -2
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -2
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/ViewType.js +1 -1
- package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +2 -2
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
- package/src/sap/ui/core/plugin/LessSupport.js +2 -2
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
- package/src/sap/ui/core/postmessage/Bus.js +2 -2
- package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
- package/src/sap/ui/core/routing/HashChanger.js +1 -1
- package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
- package/src/sap/ui/core/routing/History.js +1 -1
- package/src/sap/ui/core/routing/Route.js +1 -1
- package/src/sap/ui/core/routing/Router.js +1 -1
- package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
- package/src/sap/ui/core/routing/Target.js +1 -1
- package/src/sap/ui/core/routing/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/Targets.js +1 -1
- package/src/sap/ui/core/routing/Views.js +1 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -1
- package/src/sap/ui/core/routing/async/Target.js +1 -2
- package/src/sap/ui/core/routing/async/TargetCache.js +1 -2
- package/src/sap/ui/core/routing/async/Targets.js +1 -2
- package/src/sap/ui/core/routing/sync/Route.js +1 -1
- package/src/sap/ui/core/routing/sync/Target.js +1 -1
- package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/sync/Targets.js +1 -1
- package/src/sap/ui/core/rules/App.support.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +1 -1
- package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
- package/src/sap/ui/core/rules/Misc.support.js +1 -1
- package/src/sap/ui/core/rules/Model.support.js +1 -1
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +1 -1
- package/src/sap/ui/core/rules/View.support.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- package/src/sap/ui/core/service/Service.js +2 -2
- package/src/sap/ui/core/service/ServiceFactory.js +2 -2
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
- package/src/sap/ui/core/support/BootSupportTool.js +1 -1
- package/src/sap/ui/core/support/Hotkeys.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +2 -2
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
- package/src/sap/ui/core/support/Support.js +2 -2
- package/src/sap/ui/core/support/ToolsAPI.js +1 -1
- package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
- package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
- package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
- package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
- package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
- package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
- package/src/sap/ui/core/support/debugReboot.js +1 -1
- package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +17 -6
- package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
- package/src/sap/ui/core/support/plugins/Performance.js +2 -2
- package/src/sap/ui/core/support/plugins/Selector.js +2 -2
- package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
- package/src/sap/ui/core/support/plugins/Trace.js +2 -2
- package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +5 -5
- package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +1 -1
- package/src/sap/ui/core/support/trace/EppLib.js +1 -1
- package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
- package/src/sap/ui/core/syncStyleClass.js +1 -1
- package/src/sap/ui/core/themes/base/base.less +858 -404
- package/src/sap/ui/core/themes/base/global.less +117 -5
- package/src/sap/ui/core/themes/base/library.source.less +1 -1
- package/src/sap/ui/core/themes/base/shared.less +6 -2
- package/src/sap/ui/core/themes/base/skeleton.less +53 -3
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/core/theming/Parameters.js +2 -2
- package/src/sap/ui/core/theming/ThemeHelper.js +1 -1
- package/src/sap/ui/core/theming/ThemeManager.js +1 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
- package/src/sap/ui/core/tmpl/Template.js +2 -2
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
- package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
- package/src/sap/ui/core/util/DraftEnabledMockServer.js +1 -1
- package/src/sap/ui/core/util/Export.js +2 -2
- package/src/sap/ui/core/util/ExportCell.js +2 -2
- package/src/sap/ui/core/util/ExportColumn.js +2 -2
- package/src/sap/ui/core/util/ExportRow.js +2 -2
- package/src/sap/ui/core/util/ExportType.js +2 -2
- package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
- package/src/sap/ui/core/util/File.js +2 -2
- package/src/sap/ui/core/util/LibraryInfo.js +2 -2
- package/src/sap/ui/core/util/MockServer.js +2 -2
- package/src/sap/ui/core/util/PasteHelper.js +2 -2
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
- package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
- package/src/sap/ui/core/util/_LocalizationHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +1 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
- package/src/sap/ui/core/webc/WebComponent.js +47 -5
- package/src/sap/ui/core/webc/WebComponentMetadata.js +6 -3
- package/src/sap/ui/core/webc/WebComponentRenderer.js +5 -3
- package/src/sap/ui/core/ws/ReadyState.js +2 -2
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
- package/src/sap/ui/core/ws/WebSocket.js +2 -2
- package/src/sap/ui/debug/ControlTree.js +2 -2
- package/src/sap/ui/debug/DebugEnv.js +2 -2
- package/src/sap/ui/debug/Highlighter.js +1 -1
- package/src/sap/ui/debug/LogViewer.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +2 -2
- package/src/sap/ui/dom/_ready.js +1 -1
- package/src/sap/ui/dom/containsOrEquals.js +1 -1
- package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
- package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
- package/src/sap/ui/dom/findTabbable.js +1 -1
- package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
- package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
- package/src/sap/ui/dom/getOwnerWindow.js +1 -1
- package/src/sap/ui/dom/getScrollbarSize.js +1 -1
- package/src/sap/ui/dom/includeScript.js +1 -1
- package/src/sap/ui/dom/includeStylesheet.js +1 -1
- package/src/sap/ui/dom/isBehindOtherElement.js +1 -1
- package/src/sap/ui/dom/isElementCovered.js +1 -1
- package/src/sap/ui/dom/isHidden.js +1 -1
- package/src/sap/ui/dom/jquery/Aria.js +1 -1
- package/src/sap/ui/dom/jquery/Focusable.js +1 -1
- package/src/sap/ui/dom/jquery/Selection.js +1 -1
- package/src/sap/ui/dom/jquery/Selectors.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +1 -1
- package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
- package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
- package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
- package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
- package/src/sap/ui/dom/jquery/rect.js +1 -1
- package/src/sap/ui/dom/jquery/rectContains.js +1 -1
- package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
- package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
- package/src/sap/ui/dom/jquery/selectText.js +1 -1
- package/src/sap/ui/dom/jquery/zIndex.js +1 -1
- package/src/sap/ui/dom/units/Rem.js +1 -1
- package/src/sap/ui/events/ControlEvents.js +1 -1
- package/src/sap/ui/events/F6Navigation.js +1 -1
- package/src/sap/ui/events/KeyCodes.js +1 -1
- package/src/sap/ui/events/PasteEventFix.js +1 -1
- package/src/sap/ui/events/PseudoEvents.js +1 -1
- package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
- package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
- package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
- package/src/sap/ui/events/isSpecialKey.js +1 -1
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
- package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
- package/src/sap/ui/model/Binding.js +31 -12
- package/src/sap/ui/model/BindingMode.js +1 -1
- package/src/sap/ui/model/ChangeReason.js +1 -1
- package/src/sap/ui/model/ClientContextBinding.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +1 -1
- package/src/sap/ui/model/ClientModel.js +2 -2
- package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +13 -1
- package/src/sap/ui/model/CompositeDataState.js +2 -2
- package/src/sap/ui/model/CompositeType.js +2 -2
- package/src/sap/ui/model/Context.js +1 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +1 -1
- package/src/sap/ui/model/FilterOperator.js +1 -1
- package/src/sap/ui/model/FilterProcessor.js +1 -1
- package/src/sap/ui/model/FilterType.js +1 -1
- package/src/sap/ui/model/FormatException.js +1 -1
- package/src/sap/ui/model/ListBinding.js +1 -1
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +1 -1
- package/src/sap/ui/model/MetaModel.js +2 -2
- package/src/sap/ui/model/Model.js +2 -2
- package/src/sap/ui/model/ParseException.js +1 -1
- package/src/sap/ui/model/PropertyBinding.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +2 -2
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +1 -1
- package/src/sap/ui/model/SorterProcessor.js +1 -1
- package/src/sap/ui/model/StaticBinding.js +3 -3
- package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
- package/src/sap/ui/model/TreeBinding.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
- package/src/sap/ui/model/TreeBindingUtils.js +1 -1
- package/src/sap/ui/model/Type.js +2 -2
- package/src/sap/ui/model/ValidateException.js +1 -1
- package/src/sap/ui/model/_Helper.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +1 -1
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +1 -1
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +2 -2
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +2 -2
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
- package/src/sap/ui/model/odata/CountMode.js +1 -1
- package/src/sap/ui/model/odata/Filter.js +1 -1
- package/src/sap/ui/model/odata/MessageScope.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataExpressionAddons.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +4 -4
- 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/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
- package/src/sap/ui/model/odata/ODataUtils.js +20 -1
- package/src/sap/ui/model/odata/OperationMode.js +1 -1
- package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +2 -2
- package/src/sap/ui/model/odata/type/Byte.js +3 -2
- package/src/sap/ui/model/odata/type/Currency.js +10 -4
- package/src/sap/ui/model/odata/type/Date.js +2 -2
- package/src/sap/ui/model/odata/type/DateTime.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeBase.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/ui/model/odata/type/Decimal.js +3 -2
- package/src/sap/ui/model/odata/type/Double.js +3 -2
- package/src/sap/ui/model/odata/type/Guid.js +2 -2
- package/src/sap/ui/model/odata/type/Int.js +3 -2
- package/src/sap/ui/model/odata/type/Int16.js +3 -2
- package/src/sap/ui/model/odata/type/Int32.js +3 -2
- package/src/sap/ui/model/odata/type/Int64.js +3 -2
- package/src/sap/ui/model/odata/type/ODataType.js +2 -2
- package/src/sap/ui/model/odata/type/Raw.js +2 -2
- package/src/sap/ui/model/odata/type/SByte.js +3 -2
- package/src/sap/ui/model/odata/type/Single.js +3 -2
- package/src/sap/ui/model/odata/type/Stream.js +2 -2
- package/src/sap/ui/model/odata/type/String.js +2 -2
- package/src/sap/ui/model/odata/type/Time.js +2 -2
- package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
- package/src/sap/ui/model/odata/type/Unit.js +10 -4
- package/src/sap/ui/model/odata/type/UnitMixin.js +9 -3
- package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +5 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +20 -5
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +59 -28
- package/src/sap/ui/model/odata/v4/ODataBinding.js +16 -2
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +24 -7
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +42 -17
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +57 -28
- package/src/sap/ui/model/odata/v4/ODataModel.js +10 -5
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +23 -13
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
- package/src/sap/ui/model/odata/v4/ValueListType.js +1 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +9 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +75 -51
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +80 -24
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +28 -13
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +29 -12
- package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/ts.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +2 -2
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +2 -2
- package/src/sap/ui/model/type/Currency.js +3 -2
- package/src/sap/ui/model/type/Date.js +2 -2
- package/src/sap/ui/model/type/DateInterval.js +2 -2
- package/src/sap/ui/model/type/DateTime.js +2 -2
- package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
- package/src/sap/ui/model/type/FileSize.js +2 -2
- package/src/sap/ui/model/type/Float.js +3 -2
- package/src/sap/ui/model/type/Integer.js +3 -2
- package/src/sap/ui/model/type/String.js +2 -2
- package/src/sap/ui/model/type/Time.js +2 -2
- package/src/sap/ui/model/type/TimeInterval.js +2 -2
- package/src/sap/ui/model/type/Unit.js +15 -7
- package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +2 -2
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
- package/src/sap/ui/performance/BeaconRequest.js +1 -1
- package/src/sap/ui/performance/Measurement.js +8 -11
- package/src/sap/ui/performance/XHRInterceptor.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +4 -1
- package/src/sap/ui/performance/trace/FESRHelper.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +1 -1
- package/src/sap/ui/performance/trace/Passport.js +1 -1
- package/src/sap/ui/performance/trace/_InteractionImpl.js +4 -4
- package/src/sap/ui/performance/trace/initTraces.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +1 -1
- package/src/sap/ui/qunit/qunit-2-css.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage.js +1 -1
- package/src/sap/ui/qunit/qunit-css.js +1 -1
- package/src/sap/ui/qunit/qunit-junit.js +1 -1
- package/src/sap/ui/qunit/qunit-redirect.js +1 -1
- package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +2 -2
- package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
- package/src/sap/ui/qunit/utils/nextUIUpdate.js +1 -1
- package/src/sap/ui/qunit/utils/waitForThemeApplied.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +1 -1
- package/src/sap/ui/test/BlanketReporter.js +1 -1
- package/src/sap/ui/test/BranchTracking.js +1 -1
- package/src/sap/ui/test/ModuleTracking.js +1 -1
- package/src/sap/ui/test/Opa.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/OpaExtension.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +1 -1
- package/src/sap/ui/test/PageObjectFactory.js +1 -1
- package/src/sap/ui/test/RecordReplay.js +1 -1
- package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
- package/src/sap/ui/test/TestUtils.js +1 -1
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
- package/src/sap/ui/test/_ControlFinder.js +1 -1
- package/src/sap/ui/test/_FocusListener.js +1 -1
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/_OpaLogger.js +1 -1
- package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
- package/src/sap/ui/test/_ParameterValidator.js +1 -1
- package/src/sap/ui/test/_UsageReport.js +1 -1
- package/src/sap/ui/test/_ValidationParameters.js +1 -1
- package/src/sap/ui/test/actions/Action.js +1 -1
- package/src/sap/ui/test/actions/Drag.js +1 -1
- package/src/sap/ui/test/actions/Drop.js +1 -1
- package/src/sap/ui/test/actions/EnterText.js +1 -1
- package/src/sap/ui/test/actions/Press.js +1 -1
- package/src/sap/ui/test/actions/Scroll.js +1 -1
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
- package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
- package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_fetchWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_promiseWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_utils.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +2 -2
- package/src/sap/ui/test/generic/Utils.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -1
- package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
- package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
- package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
- package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
- package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
- package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
- package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
- package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
- package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
- package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
- package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
- package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
- package/src/sap/ui/test/matchers/Ancestor.js +1 -1
- package/src/sap/ui/test/matchers/BindingPath.js +1 -1
- package/src/sap/ui/test/matchers/Descendant.js +1 -1
- package/src/sap/ui/test/matchers/I18NText.js +1 -1
- package/src/sap/ui/test/matchers/Interactable.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +1 -1
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
- package/src/sap/ui/test/matchers/Properties.js +1 -1
- package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
- package/src/sap/ui/test/matchers/Sibling.js +1 -1
- package/src/sap/ui/test/matchers/Visible.js +1 -1
- package/src/sap/ui/test/matchers/_Busy.js +1 -1
- package/src/sap/ui/test/matchers/_Editable.js +1 -1
- package/src/sap/ui/test/matchers/_Enabled.js +1 -1
- package/src/sap/ui/test/matchers/_Visitor.js +1 -1
- package/src/sap/ui/test/matchers/matchers.js +1 -1
- package/src/sap/ui/test/opaQunit.js +1 -1
- package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
- package/src/sap/ui/test/qunitPause.js +1 -1
- package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
- package/src/sap/ui/test/selectors/_ControlType.js +1 -1
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
- package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
- package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
- package/src/sap/ui/test/selectors/_Properties.js +1 -1
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
- package/src/sap/ui/test/selectors/_ViewID.js +1 -1
- package/src/sap/ui/test/selectors/_selectors.js +1 -1
- package/src/sap/ui/test/starter/_configureLoader.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
- package/src/sap/ui/test/starter/_utils.js +31 -14
- package/src/sap/ui/test/starter/createSuite.js +1 -1
- package/src/sap/ui/test/starter/runTest.js +1 -1
- package/src/sap/ui/test/utils/nextUIUpdate.js +1 -1
- package/src/sap/ui/test/utils/waitForThemeApplied.js +1 -1
- package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/src/sap/ui/util/ActivityDetection.js +1 -1
- package/src/sap/ui/util/Mobile.js +1 -1
- package/src/sap/ui/util/Storage.js +2 -2
- package/src/sap/ui/util/XMLHelper.js +1 -1
- package/src/sap/ui/util/_FeatureDetection.js +1 -1
- package/src/sap/ui/util/_enforceNoReturnValue.js +1 -1
- package/src/sap/ui/util/defaultLinkTypes.js +1 -1
- package/src/sap/ui/util/isCrossOriginURL.js +1 -1
- package/src/sap/ui/util/openWindow.js +1 -1
- package/src/sap-ui-boot.js +1 -1
- package/src/sap-ui-core-nojQuery.js +1 -1
- package/src/sap-ui-core.js +1 -1
- package/src/sap-ui-debug.js +1 -1
- package/src/ui5loader-autoconfig.js +26 -6
- package/src/ui5loader.js +2 -3
- package/ui5.yaml +1 -0
- package/ui5lint.config.js +9 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -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.132.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
|
|
@@ -232,8 +232,10 @@ sap.ui.define([
|
|
|
232
232
|
return that.refreshDependentBindings("", oGroupLock.getGroupId(), true);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
oPromise =
|
|
236
|
-
|
|
235
|
+
oPromise = SyncPromise.all([
|
|
236
|
+
oMetaModel.fetchObject(sResolvedMetaPath + "/@$ui5.overload"),
|
|
237
|
+
this.ready2Inherit()
|
|
238
|
+
]).then(function ([aOperationMetadata]) {
|
|
237
239
|
var fnGetEntity, iIndex, sPath;
|
|
238
240
|
|
|
239
241
|
if (!aOperationMetadata) {
|
|
@@ -626,7 +628,7 @@ sap.ui.define([
|
|
|
626
628
|
|
|
627
629
|
oResult = fnOnStrictHandlingFailed(
|
|
628
630
|
_Helper.extractMessages(oError).map(function (oRawMessage) {
|
|
629
|
-
return
|
|
631
|
+
return oModel.createUI5Message(oRawMessage);
|
|
630
632
|
})
|
|
631
633
|
);
|
|
632
634
|
|
|
@@ -646,7 +648,7 @@ sap.ui.define([
|
|
|
646
648
|
if (bAction && fnGetEntity) {
|
|
647
649
|
vEntity = fnGetEntity();
|
|
648
650
|
}
|
|
649
|
-
if (bIgnoreETag && !(bAction && oOperationMetadata.$IsBound && vEntity)) {
|
|
651
|
+
if (bIgnoreETag && !(bAction && oOperationMetadata.$IsBound && vEntity !== null)) {
|
|
650
652
|
throw new Error("Not a bound action: " + sPath);
|
|
651
653
|
}
|
|
652
654
|
if (this.bInheritExpandSelect
|
|
@@ -1292,7 +1294,8 @@ sap.ui.define([
|
|
|
1292
1294
|
* request like '$auto' (since 1.121.0).
|
|
1293
1295
|
* @param {boolean} [bIgnoreETag]
|
|
1294
1296
|
* Whether the entity's ETag should be actively ignored (If-Match:*); supported for bound
|
|
1295
|
-
* actions only, since 1.90.0.
|
|
1297
|
+
* actions only, since 1.90.0. This parameter is ignored if there is no ETag (since 1.93.0)
|
|
1298
|
+
* unless no data has been read so far (since 1.132.0).
|
|
1296
1299
|
* @param {function(sap.ui.core.message.Message[]):Promise<boolean>} [fnOnStrictHandlingFailed]
|
|
1297
1300
|
* If this callback is given for an action, the preference "handling=strict" is applied. If
|
|
1298
1301
|
* the service responds with the HTTP status code 412 and a
|
|
@@ -1494,6 +1497,20 @@ sap.ui.define([
|
|
|
1494
1497
|
&& !oMetadata.$EntitySetPath.includes("/"); // case 3
|
|
1495
1498
|
};
|
|
1496
1499
|
|
|
1500
|
+
/**
|
|
1501
|
+
* Returns a sync promise that tells whether we are ready to inherit $expand/$select.
|
|
1502
|
+
*
|
|
1503
|
+
* @returns {sap.ui.base.SyncPromise}
|
|
1504
|
+
* A sync promise that resolves without a defined result as soon as we are ready to inherit
|
|
1505
|
+
* $expand/$select
|
|
1506
|
+
*
|
|
1507
|
+
* @private
|
|
1508
|
+
*/
|
|
1509
|
+
ODataContextBinding.prototype.ready2Inherit = function () {
|
|
1510
|
+
return this.bInheritExpandSelect && this.bRelative && this.oContext.getBinding?.().ready()
|
|
1511
|
+
|| SyncPromise.resolve();
|
|
1512
|
+
};
|
|
1513
|
+
|
|
1497
1514
|
/**
|
|
1498
1515
|
* Refreshes all dependent bindings with the given parameters and waits for them to have
|
|
1499
1516
|
* finished.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -59,7 +59,7 @@ sap.ui.define([
|
|
|
59
59
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
60
60
|
* @public
|
|
61
61
|
* @since 1.37.0
|
|
62
|
-
* @version 1.
|
|
62
|
+
* @version 1.132.0
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
64
64
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
65
65
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -1867,8 +1867,19 @@ sap.ui.define([
|
|
|
1867
1867
|
return SyncPromise.resolve(null);
|
|
1868
1868
|
}
|
|
1869
1869
|
|
|
1870
|
+
const sMetaPath = _Helper.getMetaPath(this.getResolvedPath());
|
|
1871
|
+
// Note: All paths in mChildPathsReducedToParent start with the partner navigation property
|
|
1872
|
+
// of the last segment in the binding's path because they are backlinks. When wrapped, this
|
|
1873
|
+
// results in exactly one $expand.
|
|
1874
|
+
const mAdditionalExpand = {};
|
|
1875
|
+
for (const sChildPath in this.mChildPathsReducedToParent) {
|
|
1876
|
+
const mQueryOptions = _Helper.wrapChildQueryOptions(sMetaPath, sChildPath, {},
|
|
1877
|
+
this.oModel.oInterface.fetchMetadata, /*bDoNotSelectKeyProperties*/true);
|
|
1878
|
+
_Helper.aggregateExpandSelect(mAdditionalExpand, mQueryOptions);
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1870
1881
|
return this.withCache(function (oCache, sPath) {
|
|
1871
|
-
return oCache.getDownloadUrl(sPath, mUriParameters);
|
|
1882
|
+
return oCache.getDownloadUrl(sPath, mUriParameters, mAdditionalExpand);
|
|
1872
1883
|
});
|
|
1873
1884
|
};
|
|
1874
1885
|
|
|
@@ -1878,6 +1889,8 @@ sap.ui.define([
|
|
|
1878
1889
|
* {@link sap.ui.filter.Filter.NONE} is set as any of the dynamic filters, it will override
|
|
1879
1890
|
* all static filters.
|
|
1880
1891
|
*
|
|
1892
|
+
* As a side effect, this method computes <code>$$aggregation.$leafLevelAggregated</code>.
|
|
1893
|
+
*
|
|
1881
1894
|
* @param {sap.ui.model.Context} oContext
|
|
1882
1895
|
* The context instance to be used; it is given as a parameter and this.oContext is unused
|
|
1883
1896
|
* because setContext calls this method (indirectly) before calling the superclass to ensure
|
|
@@ -1896,6 +1909,7 @@ sap.ui.define([
|
|
|
1896
1909
|
* @private
|
|
1897
1910
|
*/
|
|
1898
1911
|
ODataListBinding.prototype.fetchFilter = function (oContext, sStaticFilter) {
|
|
1912
|
+
let aFiltersNoThese;
|
|
1899
1913
|
const oMetaModel = this.oModel.getMetaModel();
|
|
1900
1914
|
const oMetaContext = oMetaModel.getMetaContext(this.oModel.resolve(this.sPath, oContext));
|
|
1901
1915
|
|
|
@@ -1917,7 +1931,7 @@ sap.ui.define([
|
|
|
1917
1931
|
}
|
|
1918
1932
|
|
|
1919
1933
|
bToLower = sEdmType === "Edm.String" && oFilter.bCaseSensitive === false;
|
|
1920
|
-
sFilterPath = bThese
|
|
1934
|
+
sFilterPath = bThese && !aFiltersNoThese?.includes(oFilter)
|
|
1921
1935
|
? setCase(`$these/aggregate(${oFilter.sPath})`)
|
|
1922
1936
|
: setCase(decodeURIComponent(oFilter.sPath));
|
|
1923
1937
|
sValue = setCase(_Helper.formatLiteral(oFilter.oValue1, sEdmType));
|
|
@@ -2043,20 +2057,26 @@ sap.ui.define([
|
|
|
2043
2057
|
|
|
2044
2058
|
const oCombinedFilter
|
|
2045
2059
|
= FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
|
|
2046
|
-
if (!oCombinedFilter) {
|
|
2047
|
-
return SyncPromise.resolve([sStaticFilter]);
|
|
2048
|
-
}
|
|
2049
|
-
if (oCombinedFilter === Filter.NONE) {
|
|
2050
|
-
return SyncPromise.resolve(["false"]);
|
|
2051
|
-
}
|
|
2052
2060
|
|
|
2053
2061
|
const oPromise = _Helper.isDataAggregation(this.mParameters)
|
|
2054
2062
|
? oMetaModel.fetchObject(oMetaContext.getPath() + "/")
|
|
2055
|
-
: SyncPromise.resolve();
|
|
2063
|
+
: SyncPromise.resolve(); // Note: no oEntityType available below!
|
|
2056
2064
|
|
|
2057
2065
|
return oPromise.then((oEntityType) => {
|
|
2058
|
-
const
|
|
2059
|
-
|
|
2066
|
+
const oAggregation = this.mParameters.$$aggregation;
|
|
2067
|
+
if (oEntityType) {
|
|
2068
|
+
oAggregation.$leafLevelAggregated
|
|
2069
|
+
= !oEntityType.$Key?.every((sKey) => sKey in oAggregation.group);
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
if (!oCombinedFilter) {
|
|
2073
|
+
return [sStaticFilter];
|
|
2074
|
+
}
|
|
2075
|
+
if (oCombinedFilter === Filter.NONE) {
|
|
2076
|
+
return ["false"];
|
|
2077
|
+
}
|
|
2078
|
+
const aFilters = _AggregationHelper.splitFilter(oCombinedFilter, oAggregation);
|
|
2079
|
+
aFiltersNoThese = aFilters[3];
|
|
2060
2080
|
|
|
2061
2081
|
return SyncPromise.all([
|
|
2062
2082
|
fetchFilter(aFilters[0], {}, /*bWithinAnd*/sStaticFilter)
|
|
@@ -2509,7 +2529,7 @@ sap.ui.define([
|
|
|
2509
2529
|
aElements = oCache.getElements(sPath);
|
|
2510
2530
|
}, "", /*bSync*/true);
|
|
2511
2531
|
|
|
2512
|
-
if (aElements && this.createContexts(0, aElements)) {
|
|
2532
|
+
if (aElements && this.createContexts(0, aElements, /*bCreateOnly*/true)) {
|
|
2513
2533
|
// In the case that a control has requested new data and the data request is already
|
|
2514
2534
|
// completed, but the new contexts are not yet created, we have to ensure that a change
|
|
2515
2535
|
// event is fired to inform the control about these new contexts.
|
|
@@ -4379,7 +4399,7 @@ sap.ui.define([
|
|
|
4379
4399
|
}
|
|
4380
4400
|
}
|
|
4381
4401
|
if (bSingle) {
|
|
4382
|
-
|
|
4402
|
+
oModel.withUnresolvedBindings("removeCachesAndMessages",
|
|
4383
4403
|
oContext.getPath().slice(1));
|
|
4384
4404
|
|
|
4385
4405
|
return this.refreshSingle(oContext, this.lockGroup(sGroupId), /*bAllowRemoval*/false,
|
|
@@ -4642,7 +4662,10 @@ sap.ui.define([
|
|
|
4642
4662
|
* </ul>
|
|
4643
4663
|
* @param {string[]} [oAggregation.groupLevels]
|
|
4644
4664
|
* A list of groupable property names used to determine group levels. They may, but don't need
|
|
4645
|
-
* to, be repeated in <code>oAggregation.group</code>.
|
|
4665
|
+
* to, be repeated in <code>oAggregation.group</code>. Since 1.132.0, the last group level is
|
|
4666
|
+
* interpreted as the leaf level in case there are no other groups than those given here. In
|
|
4667
|
+
* that case, {@link #getAggregation} returns a shorter <code>groupLevels</code> list.
|
|
4668
|
+
* Group levels cannot be combined with:
|
|
4646
4669
|
* <ul>
|
|
4647
4670
|
* <li> filtering for aggregated properties,
|
|
4648
4671
|
* <li> "$search" (since 1.93.0),
|
|
@@ -4793,7 +4816,9 @@ sap.ui.define([
|
|
|
4793
4816
|
this.oHeaderContext ??= Context.create(this.oModel, this, sResolvedPath);
|
|
4794
4817
|
if (this.mParameters.$$aggregation) {
|
|
4795
4818
|
_AggregationHelper.setPath(this.mParameters.$$aggregation, sResolvedPath);
|
|
4796
|
-
} else if (
|
|
4819
|
+
} else if (!_Helper.isEmptyObject(this.mChildPathsReducedToParent)
|
|
4820
|
+
&& this.oModel.bAutoExpandSelect) {
|
|
4821
|
+
// restart auto-$expand/$select
|
|
4797
4822
|
this.mCanUseCachePromiseByChildPath = {};
|
|
4798
4823
|
this.sChangeReason = "AddVirtualContext"; // JIRA: CPOUI5ODATAV4-848
|
|
4799
4824
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -58,7 +58,7 @@ sap.ui.define([
|
|
|
58
58
|
}
|
|
59
59
|
}),
|
|
60
60
|
oBooleanType,
|
|
61
|
-
mCodeListUrl2Promise =
|
|
61
|
+
mCodeListUrl2Promise = {},
|
|
62
62
|
DEBUG = Log.Level.DEBUG,
|
|
63
63
|
aInt64Names = ["$count", "@$ui5.node.groupLevelCount", "@$ui5.node.level"],
|
|
64
64
|
oInt64Type,
|
|
@@ -68,7 +68,6 @@ sap.ui.define([
|
|
|
68
68
|
rPredicate = /\(.*\)$/,
|
|
69
69
|
oRawType = new Raw(),
|
|
70
70
|
rRightBraces = /\$\)/g,
|
|
71
|
-
mSharedModelByUrl = new Map(),
|
|
72
71
|
mSupportedEvents = {
|
|
73
72
|
messageChange : true
|
|
74
73
|
},
|
|
@@ -158,7 +157,7 @@ sap.ui.define([
|
|
|
158
157
|
* @hideconstructor
|
|
159
158
|
* @public
|
|
160
159
|
* @since 1.37.0
|
|
161
|
-
* @version 1.
|
|
160
|
+
* @version 1.132.0
|
|
162
161
|
*/
|
|
163
162
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
164
163
|
constructor : constructor
|
|
@@ -552,6 +551,7 @@ sap.ui.define([
|
|
|
552
551
|
// "B." : {"/B/$metadata" : true} // namespace already read
|
|
553
552
|
// }
|
|
554
553
|
this.mSchema2MetadataUrl = {};
|
|
554
|
+
this.mSharedModelByUrl = {}; // see #getOrCreateSharedModel
|
|
555
555
|
this.mSupportedBindingModes = {OneTime : true, OneWay : true};
|
|
556
556
|
this.bSupportReferences = bSupportReferences !== false; // default is true
|
|
557
557
|
// ClientListBinding#filter calls checkFilter on the model; ClientModel does
|
|
@@ -1009,6 +1009,8 @@ sap.ui.define([
|
|
|
1009
1009
|
*/
|
|
1010
1010
|
ODataMetaModel.prototype.destroy = function () {
|
|
1011
1011
|
this.oMetaModelForAnnotations = undefined;
|
|
1012
|
+
Object.values(this.mSharedModelByUrl).forEach((oModel) => oModel.destroy());
|
|
1013
|
+
this.mSharedModelByUrl = undefined;
|
|
1012
1014
|
|
|
1013
1015
|
MetaModel.prototype.destroy.apply(this);
|
|
1014
1016
|
};
|
|
@@ -2493,40 +2495,50 @@ sap.ui.define([
|
|
|
2493
2495
|
/**
|
|
2494
2496
|
* Creates an OData model for the given URL, normalizes the path, caches it, and retrieves it
|
|
2495
2497
|
* from the cache upon further requests. The model is read-only ("OneWay") and can, thus, safely
|
|
2496
|
-
* be shared
|
|
2497
|
-
*
|
|
2498
|
+
* be shared across multiple calls to this method (but not across multiple meta models). It
|
|
2499
|
+
* shares this meta model's security token and "Retry-After" handler. Annotations are copied if
|
|
2500
|
+
* requested; in this case it is expected that the metadata and the local annotation files have
|
|
2501
|
+
* already been loaded.
|
|
2498
2502
|
*
|
|
2499
2503
|
* @param {string} sUrl
|
|
2500
2504
|
* The (relative) $metadata URL, for example "../ValueListService/$metadata"
|
|
2501
|
-
* @param {
|
|
2502
|
-
*
|
|
2505
|
+
* @param {boolean} [bCopyAnnotations]
|
|
2506
|
+
* Whether to copy annotations to the shared model, which is a value list model - not a code
|
|
2507
|
+
* list model!
|
|
2503
2508
|
* @param {boolean} [bAutoExpandSelect]
|
|
2504
2509
|
* Whether the model is to be created with autoExpandSelect
|
|
2505
2510
|
* @returns {sap.ui.model.odata.v4.ODataModel}
|
|
2506
|
-
* The
|
|
2511
|
+
* The shared model
|
|
2507
2512
|
*
|
|
2508
2513
|
* @private
|
|
2509
2514
|
*/
|
|
2510
|
-
ODataMetaModel.prototype.getOrCreateSharedModel = function (sUrl,
|
|
2511
|
-
|
|
2512
|
-
oSharedModel;
|
|
2513
|
-
|
|
2515
|
+
ODataMetaModel.prototype.getOrCreateSharedModel = function (sUrl, bCopyAnnotations,
|
|
2516
|
+
bAutoExpandSelect) {
|
|
2514
2517
|
sUrl = this.getAbsoluteServiceUrl(sUrl);
|
|
2515
|
-
|
|
2516
|
-
|
|
2518
|
+
const sMapKey = !!bAutoExpandSelect + sUrl; // no separator needed as sUrl.startsWith("/")
|
|
2519
|
+
let mSharedModelByUrl = this.mSharedModelByUrl;
|
|
2520
|
+
if (!bCopyAnnotations) {
|
|
2521
|
+
// #requestCodeList must not fail, but no need to share if already destroyed
|
|
2522
|
+
mSharedModelByUrl ??= {};
|
|
2523
|
+
}
|
|
2524
|
+
let oSharedModel = mSharedModelByUrl[sMapKey];
|
|
2517
2525
|
if (!oSharedModel) {
|
|
2518
2526
|
oSharedModel = new this.oModel.constructor({
|
|
2519
2527
|
autoExpandSelect : bAutoExpandSelect,
|
|
2520
|
-
groupId :
|
|
2528
|
+
groupId : bCopyAnnotations ? undefined : "$direct",
|
|
2521
2529
|
httpHeaders : this.oModel.getHttpHeaders(),
|
|
2522
2530
|
metadataUrlParams : this.sLanguage && {"sap-language" : this.sLanguage},
|
|
2523
2531
|
operationMode : OperationMode.Server,
|
|
2524
2532
|
serviceUrl : sUrl,
|
|
2525
2533
|
sharedRequests : true
|
|
2526
2534
|
});
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2535
|
+
if (bCopyAnnotations) {
|
|
2536
|
+
oSharedModel.getMetaModel()._copyAnnotations(this.oMetaModelForAnnotations ?? this);
|
|
2537
|
+
}
|
|
2538
|
+
oSharedModel.setRetryAfterHandler((oError) => {
|
|
2539
|
+
return this.oModel.getOrCreateRetryAfterPromise(oError);
|
|
2540
|
+
});
|
|
2541
|
+
mSharedModelByUrl[sMapKey] = oSharedModel;
|
|
2530
2542
|
}
|
|
2531
2543
|
return oSharedModel;
|
|
2532
2544
|
};
|
|
@@ -2739,14 +2751,17 @@ sap.ui.define([
|
|
|
2739
2751
|
return null;
|
|
2740
2752
|
}
|
|
2741
2753
|
|
|
2742
|
-
sUrl =
|
|
2743
|
-
|
|
2744
|
-
|
|
2754
|
+
sUrl = that.getAbsoluteServiceUrl(
|
|
2755
|
+
_Helper.setLanguage(oCodeList.Url, that.sLanguage));
|
|
2756
|
+
// separator needed (Note: path must not include hash)
|
|
2757
|
+
sCacheKey = oCodeList.CollectionPath + "#" + sUrl;
|
|
2758
|
+
oPromise = mCodeListUrl2Promise[sCacheKey];
|
|
2745
2759
|
if (oPromise) {
|
|
2746
2760
|
return oPromise;
|
|
2747
2761
|
}
|
|
2748
2762
|
|
|
2749
|
-
|
|
2763
|
+
const bDestroyAlreadyCalled = !that.mSharedModelByUrl;
|
|
2764
|
+
oCodeListModel = that.getOrCreateSharedModel(sUrl);
|
|
2750
2765
|
oCodeListMetaModel = oCodeListModel.getMetaModel();
|
|
2751
2766
|
sTypePath = "/" + oCodeList.CollectionPath + "/";
|
|
2752
2767
|
oPromise = oCodeListMetaModel.requestObject(sTypePath).then(function (oType) {
|
|
@@ -2849,9 +2864,12 @@ sap.ui.define([
|
|
|
2849
2864
|
return aContexts.reduce(addCustomizing, {});
|
|
2850
2865
|
}).finally(function () {
|
|
2851
2866
|
oCodeListBinding.destroy();
|
|
2867
|
+
if (bDestroyAlreadyCalled) {
|
|
2868
|
+
oCodeListModel.destroy();
|
|
2869
|
+
}
|
|
2852
2870
|
});
|
|
2853
2871
|
});
|
|
2854
|
-
mCodeListUrl2Promise
|
|
2872
|
+
mCodeListUrl2Promise[sCacheKey] = oPromise;
|
|
2855
2873
|
|
|
2856
2874
|
return oPromise;
|
|
2857
2875
|
});
|
|
@@ -3334,7 +3352,9 @@ sap.ui.define([
|
|
|
3334
3352
|
* data model. Since 1.80.0, that model's parameter "sharedRequests" is set automatically (see
|
|
3335
3353
|
* {@link sap.ui.model.odata.v4.ODataModel#constructor}). If the value list model is the data
|
|
3336
3354
|
* model associated with this meta model, use the binding-specific parameter "$$sharedRequest"
|
|
3337
|
-
* instead, see {@link sap.ui.model.odata.v4.ODataModel#bindList}.
|
|
3355
|
+
* instead, see {@link sap.ui.model.odata.v4.ODataModel#bindList}. Since 1.132.0, the data
|
|
3356
|
+
* model's {@link sap.ui.model.odata.v4.ODataModel#setRetryAfterHandler "Retry-After" handler}
|
|
3357
|
+
* is reused by default, but can of course be overwritten.
|
|
3338
3358
|
*
|
|
3339
3359
|
* For fixed values, only one mapping is expected and the qualifier is ignored. The mapping
|
|
3340
3360
|
* is available with key "" and has an additional property "$qualifier" which is the original
|
|
@@ -3404,7 +3424,7 @@ sap.ui.define([
|
|
|
3404
3424
|
function addMapping(mValueListMapping, sQualifier, sMappingUrl, oModel) {
|
|
3405
3425
|
if ("CollectionRoot" in mValueListMapping) {
|
|
3406
3426
|
oModel = that.getOrCreateSharedModel(mValueListMapping.CollectionRoot,
|
|
3407
|
-
|
|
3427
|
+
/*bCopyAnnotations*/true, bAutoExpandSelect);
|
|
3408
3428
|
if (oValueListInfo[sQualifier]
|
|
3409
3429
|
&& oValueListInfo[sQualifier].$model === oModel) {
|
|
3410
3430
|
// same model -> allow overriding the qualifier
|
|
@@ -3438,8 +3458,8 @@ sap.ui.define([
|
|
|
3438
3458
|
|
|
3439
3459
|
// fetch mappings for each entry and wait for all
|
|
3440
3460
|
return Promise.all(aMappingUrls.map(function (sMappingUrl) {
|
|
3441
|
-
var oValueListModel = that.getOrCreateSharedModel(sMappingUrl,
|
|
3442
|
-
bAutoExpandSelect);
|
|
3461
|
+
var oValueListModel = that.getOrCreateSharedModel(sMappingUrl,
|
|
3462
|
+
/*bCopyAnnotations*/true, bAutoExpandSelect);
|
|
3443
3463
|
|
|
3444
3464
|
// fetch the mappings for the given mapping URL
|
|
3445
3465
|
return that.fetchValueListMappings(oValueListModel,
|
|
@@ -3666,5 +3686,14 @@ sap.ui.define([
|
|
|
3666
3686
|
return mScope;
|
|
3667
3687
|
};
|
|
3668
3688
|
|
|
3689
|
+
/**
|
|
3690
|
+
* Clears the cache used in {@link #requestCodeList}. To be used by test code only!
|
|
3691
|
+
*
|
|
3692
|
+
* @private
|
|
3693
|
+
*/
|
|
3694
|
+
ODataMetaModel.clearCodeListsCache = function () {
|
|
3695
|
+
mCodeListUrl2Promise = {};
|
|
3696
|
+
};
|
|
3697
|
+
|
|
3669
3698
|
return ODataMetaModel;
|
|
3670
3699
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -240,7 +240,7 @@ sap.ui.define([
|
|
|
240
240
|
* @extends sap.ui.model.Model
|
|
241
241
|
* @public
|
|
242
242
|
* @since 1.37.0
|
|
243
|
-
* @version 1.
|
|
243
|
+
* @version 1.132.0
|
|
244
244
|
*/
|
|
245
245
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
246
246
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -2627,13 +2627,17 @@ sap.ui.define([
|
|
|
2627
2627
|
* parameter
|
|
2628
2628
|
* @param {boolean} [bSilent]
|
|
2629
2629
|
* Whether the created UI5 messages should only be returned without reporting them
|
|
2630
|
+
* @param {string} [sOriginalResourcePath]
|
|
2631
|
+
* The "original resource path" to be used to build the target path for bound messages that
|
|
2632
|
+
* do not address "$Parameter/...", useful in case of a return value context (R.V.C.)
|
|
2630
2633
|
* @returns {sap.ui.core.message.Message[]|undefined}
|
|
2631
2634
|
* An array of <code>aMessages</code> transformed to UI5 message instances, or
|
|
2632
2635
|
* <code>undefined</code> in case there are no messages
|
|
2633
2636
|
*
|
|
2634
2637
|
* @private
|
|
2635
2638
|
*/
|
|
2636
|
-
ODataModel.prototype.reportTransitionMessages = function (aMessages, sResourcePath, bSilent
|
|
2639
|
+
ODataModel.prototype.reportTransitionMessages = function (aMessages, sResourcePath, bSilent,
|
|
2640
|
+
sOriginalResourcePath) {
|
|
2637
2641
|
var sContextPath, oOperationMetadata;
|
|
2638
2642
|
|
|
2639
2643
|
if (!aMessages.length) {
|
|
@@ -2658,7 +2662,8 @@ sap.ui.define([
|
|
|
2658
2662
|
if (oOperationMetadata) {
|
|
2659
2663
|
oMessage = _Helper.clone(oMessage);
|
|
2660
2664
|
// make targets absolute, will not be adjusted again in #createUI5Message
|
|
2661
|
-
_Helper.adjustTargets(oMessage, oOperationMetadata, undefined, sContextPath
|
|
2665
|
+
_Helper.adjustTargets(oMessage, oOperationMetadata, undefined, sContextPath,
|
|
2666
|
+
sOriginalResourcePath);
|
|
2662
2667
|
}
|
|
2663
2668
|
oMessage.transition = true;
|
|
2664
2669
|
|
|
@@ -3050,7 +3055,7 @@ sap.ui.define([
|
|
|
3050
3055
|
// $$canonicalPath is not allowed, binding path and resource path are (almost) identical
|
|
3051
3056
|
const oTemporaryBinding = this.mKeepAliveBindingsByPath[oBinding.getResolvedPath()];
|
|
3052
3057
|
if (oTemporaryBinding) {
|
|
3053
|
-
return oTemporaryBinding.
|
|
3058
|
+
return oTemporaryBinding.ready();
|
|
3054
3059
|
}
|
|
3055
3060
|
}
|
|
3056
3061
|
return SyncPromise.resolve();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -35,8 +35,9 @@ sap.ui.define([
|
|
|
35
35
|
// auto-$expand/$select: promises to wait until child bindings have provided
|
|
36
36
|
// their path and query options
|
|
37
37
|
this.aChildCanUseCachePromises = [];
|
|
38
|
-
//
|
|
39
|
-
|
|
38
|
+
// the child paths that are handled by the parent binding due to path reduction, see
|
|
39
|
+
// #fetchIfChildCanUseCache and ODLB#fetchDownloadUrl
|
|
40
|
+
this.mChildPathsReducedToParent = {};
|
|
40
41
|
// counts the sent but not yet completed PATCHes
|
|
41
42
|
this.iPatchCounter = 0;
|
|
42
43
|
// whether all sent PATCHes have been successfully processed
|
|
@@ -646,6 +647,8 @@ sap.ui.define([
|
|
|
646
647
|
ODataParentBinding.prototype.destroy = function () {
|
|
647
648
|
this.mAggregatedQueryOptions = undefined;
|
|
648
649
|
this.aChildCanUseCachePromises = [];
|
|
650
|
+
// cannot be set to undefined, it might be modified after destruction
|
|
651
|
+
this.mChildPathsReducedToParent = {};
|
|
649
652
|
this.removeReadGroupLock();
|
|
650
653
|
this.oRefreshPromise = undefined;
|
|
651
654
|
this.oResumePromise = undefined;
|
|
@@ -857,7 +860,7 @@ sap.ui.define([
|
|
|
857
860
|
|
|
858
861
|
if (sReducedChildMetaPath === undefined) {
|
|
859
862
|
// the child's data does not fit into this bindings's cache, try the parent
|
|
860
|
-
that.
|
|
863
|
+
that.mChildPathsReducedToParent[sChildPath] = true;
|
|
861
864
|
return oParentContext.getBinding().fetchIfChildCanUseCache(oParentContext,
|
|
862
865
|
_Helper.getRelativePath(sResolvedChildPath, oParentContext.getPath()),
|
|
863
866
|
mChildQueryOptions, bIsProperty);
|
|
@@ -971,7 +974,8 @@ sap.ui.define([
|
|
|
971
974
|
mConvertedQueryOptions,
|
|
972
975
|
sMetaPath,
|
|
973
976
|
oModel = this.oModel,
|
|
974
|
-
mQueryOptions = this.getQueryOptionsFromParameters()
|
|
977
|
+
mQueryOptions = this.getQueryOptionsFromParameters(),
|
|
978
|
+
that = this;
|
|
975
979
|
|
|
976
980
|
if (!(oModel.bAutoExpandSelect && mQueryOptions.$select)) {
|
|
977
981
|
return SyncPromise.resolve(mQueryOptions);
|
|
@@ -987,16 +991,22 @@ sap.ui.define([
|
|
|
987
991
|
sMetaSelectPath = sMetaSelectPath.slice(0, -1);
|
|
988
992
|
}
|
|
989
993
|
|
|
990
|
-
return _Helper.fetchPropertyAndType(fnFetchMetadata, sMetaSelectPath)
|
|
991
|
-
|
|
994
|
+
return _Helper.fetchPropertyAndType(fnFetchMetadata, sMetaSelectPath)
|
|
995
|
+
.then(function (oProperty) {
|
|
996
|
+
if (!oProperty && !sMetaSelectPath.endsWith("/*")) {
|
|
997
|
+
throw new Error("Invalid (navigation) property '" + sSelectPath
|
|
998
|
+
+ "' in $select of " + that);
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
const mWrappedQueryOptions = _Helper.wrapChildQueryOptions(
|
|
992
1002
|
sMetaPath, sSelectPath, {}, fnFetchMetadata);
|
|
993
1003
|
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1004
|
+
if (mWrappedQueryOptions) {
|
|
1005
|
+
_Helper.aggregateExpandSelect(mConvertedQueryOptions, mWrappedQueryOptions);
|
|
1006
|
+
} else {
|
|
1007
|
+
_Helper.addToSelect(mConvertedQueryOptions, [sSelectPath]);
|
|
1008
|
+
}
|
|
1009
|
+
});
|
|
1000
1010
|
})).then(function () {
|
|
1001
1011
|
return mConvertedQueryOptions;
|
|
1002
1012
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.132.0
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -60,7 +60,9 @@ sap.ui.define([
|
|
|
60
60
|
_Cache.call(this, oRequestor, sResourcePath, mQueryOptions, true);
|
|
61
61
|
|
|
62
62
|
this.oAggregation = oAggregation;
|
|
63
|
-
|
|
63
|
+
// #getDownloadUrl must be called early (for recursive hierarchy to determine
|
|
64
|
+
// $DistanceFromRoot and for data aggregation before adding $$leaves)
|
|
65
|
+
this.sToString = this.getDownloadUrl("");
|
|
64
66
|
this.aElements = [];
|
|
65
67
|
this.aElements.$byPredicate = {};
|
|
66
68
|
this.aElements.$count = undefined;
|
|
@@ -1099,14 +1101,6 @@ sap.ui.define([
|
|
|
1099
1101
|
return _AggregationHelper.buildApply(this.oAggregation, mQueryOptions, 0, true);
|
|
1100
1102
|
};
|
|
1101
1103
|
|
|
1102
|
-
/**
|
|
1103
|
-
* @override
|
|
1104
|
-
* @see sap.ui.model.odata.v4.lib._Cache#getDownloadUrl
|
|
1105
|
-
*/
|
|
1106
|
-
_AggregationCache.prototype.getDownloadUrl = function (_sPath, _mCustomQueryOptions) {
|
|
1107
|
-
return this.sDownloadUrl;
|
|
1108
|
-
};
|
|
1109
|
-
|
|
1110
1104
|
/**
|
|
1111
1105
|
* Returns an array containing elements of this aggregation cache's flat list; the array is
|
|
1112
1106
|
* annotated with the collection's $count. If no range is given, all elements are returned. If
|
|
@@ -2303,8 +2297,8 @@ sap.ui.define([
|
|
|
2303
2297
|
// "super" call (like @borrows ...)
|
|
2304
2298
|
const fnSuper = this.oFirstLevel.reset;
|
|
2305
2299
|
fnSuper.call(this, aKeptElementPredicates, sGroupId, mQueryOptions);
|
|
2306
|
-
// reset modifies the cache's query options => recalculate
|
|
2307
|
-
this.
|
|
2300
|
+
// reset modifies the cache's query options => recalculate result of #toString
|
|
2301
|
+
this.sToString = this.getDownloadUrl("");
|
|
2308
2302
|
if (sGroupId) { // sGroupId means we are in a side-effects refresh
|
|
2309
2303
|
this.oBackup.oCountPromise = this.oCountPromise;
|
|
2310
2304
|
this.oBackup.oFirstLevel = this.oFirstLevel;
|
|
@@ -2422,16 +2416,11 @@ sap.ui.define([
|
|
|
2422
2416
|
};
|
|
2423
2417
|
|
|
2424
2418
|
/**
|
|
2425
|
-
*
|
|
2426
|
-
*
|
|
2427
|
-
* @returns {string} The URL
|
|
2428
|
-
*
|
|
2429
|
-
* @public
|
|
2430
|
-
* @see sap.ui.model.odata.v4.lib._AggregationCache#getDownloadUrl
|
|
2419
|
+
* @override
|
|
2420
|
+
* @see sap.ui.model.odata.v4.lib._Cache#toString
|
|
2431
2421
|
*/
|
|
2432
|
-
// @override sap.ui.model.odata.v4.lib._Cache#toString
|
|
2433
2422
|
_AggregationCache.prototype.toString = function () {
|
|
2434
|
-
return this.
|
|
2423
|
+
return this.sToString;
|
|
2435
2424
|
};
|
|
2436
2425
|
|
|
2437
2426
|
/**
|