@openui5/sap.ui.core 1.120.2 → 1.120.4
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/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/i18n/Formatting.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +2 -2
- package/src/sap/base/i18n/Localization.js +3 -2
- package/src/sap/base/i18n/ResourceBundle.js +17 -20
- 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 +23 -10
- 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/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 +4 -4
- package/src/sap/ui/Global.js +5 -5
- 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 +2 -2
- 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 +2 -2
- 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 +3 -3
- 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 +1 -1
- package/src/sap/ui/core/CommandExecution.js +1 -1
- package/src/sap/ui/core/Component.js +2 -2
- package/src/sap/ui/core/ComponentContainer.js +2 -2
- package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
- 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 +3 -3
- package/src/sap/ui/core/ContextMenuSupport.js +1 -1
- package/src/sap/ui/core/Control.js +2 -2
- package/src/sap/ui/core/ControlBehavior.js +1 -1
- package/src/sap/ui/core/Core.js +2 -2
- 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 +2 -2
- 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/Fragment.js +2 -2
- 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 +2 -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 +2 -2
- package/src/sap/ui/core/LayoutData.js +2 -2
- package/src/sap/ui/core/Lib.js +8 -1
- 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 +3 -3
- 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 +1 -1
- package/src/sap/ui/core/RenderManager.js +2 -2
- package/src/sap/ui/core/Renderer.js +2 -2
- package/src/sap/ui/core/Rendering.js +1 -1
- 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 +1 -1
- 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 -1
- package/src/sap/ui/core/Supportability.js +1 -1
- 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 +2 -2
- package/src/sap/ui/core/UIAreaRegistry.js +1 -1
- package/src/sap/ui/core/UIComponent.js +2 -2
- package/src/sap/ui/core/UIComponentMetadata.js +2 -2
- 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 +1 -1
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/_UrlResolver.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/cldr/ar.json +1 -0
- package/src/sap/ui/core/cldr/ar_EG.json +1 -0
- package/src/sap/ui/core/cldr/ar_SA.json +1 -0
- package/src/sap/ui/core/cldr/bg.json +1 -0
- package/src/sap/ui/core/cldr/ca.json +1 -0
- package/src/sap/ui/core/cldr/cnr.json +6169 -0
- package/src/sap/ui/core/cldr/cs.json +1 -0
- package/src/sap/ui/core/cldr/cy.json +1 -0
- package/src/sap/ui/core/cldr/da.json +1 -0
- package/src/sap/ui/core/cldr/de.json +1 -0
- package/src/sap/ui/core/cldr/de_AT.json +1 -0
- package/src/sap/ui/core/cldr/de_CH.json +1 -0
- package/src/sap/ui/core/cldr/el.json +1 -0
- package/src/sap/ui/core/cldr/el_CY.json +1 -0
- package/src/sap/ui/core/cldr/en.json +1 -0
- package/src/sap/ui/core/cldr/en_AU.json +1 -0
- package/src/sap/ui/core/cldr/en_GB.json +1 -0
- package/src/sap/ui/core/cldr/en_HK.json +1 -0
- package/src/sap/ui/core/cldr/en_IE.json +1 -0
- package/src/sap/ui/core/cldr/en_IN.json +1 -0
- package/src/sap/ui/core/cldr/en_NZ.json +1 -0
- package/src/sap/ui/core/cldr/en_PG.json +1 -0
- package/src/sap/ui/core/cldr/en_SG.json +1 -0
- package/src/sap/ui/core/cldr/en_ZA.json +1 -0
- package/src/sap/ui/core/cldr/es.json +1 -0
- package/src/sap/ui/core/cldr/es_AR.json +1 -0
- package/src/sap/ui/core/cldr/es_BO.json +1 -0
- package/src/sap/ui/core/cldr/es_CL.json +1 -0
- package/src/sap/ui/core/cldr/es_CO.json +1 -0
- package/src/sap/ui/core/cldr/es_MX.json +1 -0
- package/src/sap/ui/core/cldr/es_PE.json +1 -0
- package/src/sap/ui/core/cldr/es_UY.json +1 -0
- package/src/sap/ui/core/cldr/es_VE.json +1 -0
- package/src/sap/ui/core/cldr/et.json +1 -0
- package/src/sap/ui/core/cldr/fa.json +2 -0
- package/src/sap/ui/core/cldr/fi.json +1 -0
- package/src/sap/ui/core/cldr/fr.json +1 -0
- package/src/sap/ui/core/cldr/fr_BE.json +1 -0
- package/src/sap/ui/core/cldr/fr_CA.json +1 -0
- package/src/sap/ui/core/cldr/fr_CH.json +1 -0
- package/src/sap/ui/core/cldr/fr_LU.json +1 -0
- package/src/sap/ui/core/cldr/he.json +2 -0
- package/src/sap/ui/core/cldr/hi.json +1 -0
- package/src/sap/ui/core/cldr/hr.json +1 -0
- package/src/sap/ui/core/cldr/hu.json +1 -0
- package/src/sap/ui/core/cldr/id.json +1 -0
- package/src/sap/ui/core/cldr/it.json +1 -0
- package/src/sap/ui/core/cldr/it_CH.json +1 -0
- package/src/sap/ui/core/cldr/ja.json +1 -0
- package/src/sap/ui/core/cldr/kk.json +1 -0
- package/src/sap/ui/core/cldr/ko.json +1 -0
- package/src/sap/ui/core/cldr/lt.json +1 -0
- package/src/sap/ui/core/cldr/lv.json +1 -0
- package/src/sap/ui/core/cldr/mk.json +6045 -0
- package/src/sap/ui/core/cldr/ms.json +1 -0
- package/src/sap/ui/core/cldr/nb.json +2 -0
- package/src/sap/ui/core/cldr/nl.json +1 -0
- package/src/sap/ui/core/cldr/nl_BE.json +1 -0
- package/src/sap/ui/core/cldr/pl.json +1 -0
- package/src/sap/ui/core/cldr/pt.json +1 -0
- package/src/sap/ui/core/cldr/pt_PT.json +1 -0
- package/src/sap/ui/core/cldr/ro.json +1 -0
- package/src/sap/ui/core/cldr/ru.json +1 -0
- package/src/sap/ui/core/cldr/ru_UA.json +1 -0
- package/src/sap/ui/core/cldr/sk.json +1 -0
- package/src/sap/ui/core/cldr/sl.json +1 -0
- package/src/sap/ui/core/cldr/sr.json +1 -0
- package/src/sap/ui/core/cldr/sr_Latn.json +1 -0
- package/src/sap/ui/core/cldr/sv.json +1 -0
- package/src/sap/ui/core/cldr/th.json +1 -0
- package/src/sap/ui/core/cldr/tr.json +1 -0
- package/src/sap/ui/core/cldr/uk.json +1 -0
- package/src/sap/ui/core/cldr/vi.json +1 -0
- package/src/sap/ui/core/cldr/zh_CN.json +1 -0
- package/src/sap/ui/core/cldr/zh_HK.json +2 -0
- package/src/sap/ui/core/cldr/zh_SG.json +2 -0
- package/src/sap/ui/core/cldr/zh_TW.json +21 -20
- 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/format/DateFormat.js +1 -1
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
- package/src/sap/ui/core/format/FileSizeFormat.js +2 -2
- package/src/sap/ui/core/format/ListFormat.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +1 -1
- 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_cnr.properties +352 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +297 -285
- package/src/sap/ui/core/messagebundle_it.properties +2 -2
- package/src/sap/ui/core/messagebundle_ja.properties +2 -2
- package/src/sap/ui/core/messagebundle_mk.properties +2 -2
- package/src/sap/ui/core/messagebundle_sh.properties +67 -67
- package/src/sap/ui/core/messagebundle_sk.properties +1 -1
- package/src/sap/ui/core/messagebundle_sr.properties +352 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -2
- package/src/sap/ui/core/messagebundle_vi.properties +2 -2
- 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 -1
- package/src/sap/ui/core/routing/async/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/async/Targets.js +1 -1
- 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 +2 -2
- 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 +1 -1
- 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/library.source.less +1 -1
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/core/theming/Parameters.js +1 -1
- 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 +16 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +12 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +15 -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 +2 -2
- package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -2
- package/src/sap/ui/core/webc/WebComponentRenderer.js +1 -1
- 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/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/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 +1 -1
- 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 +1 -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 +1 -1
- 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 +62 -21
- 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/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/ODataMetadata.js +29 -15
- 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 +16 -10
- 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 +2 -2
- package/src/sap/ui/model/odata/type/Boolean.js +2 -2
- package/src/sap/ui/model/odata/type/Byte.js +2 -2
- package/src/sap/ui/model/odata/type/Currency.js +2 -2
- 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 +2 -2
- package/src/sap/ui/model/odata/type/Double.js +2 -2
- package/src/sap/ui/model/odata/type/Guid.js +2 -2
- package/src/sap/ui/model/odata/type/Int.js +2 -2
- package/src/sap/ui/model/odata/type/Int16.js +2 -2
- package/src/sap/ui/model/odata/type/Int32.js +2 -2
- package/src/sap/ui/model/odata/type/Int64.js +2 -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 +2 -2
- package/src/sap/ui/model/odata/type/Single.js +2 -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 +2 -2
- package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
- 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 +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -10
- 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 +5 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +19 -13
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +41 -18
- package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +1 -1
- 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 +24 -6
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +9 -1
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +21 -2
- 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 +1 -1
- 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 +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 +2 -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 +2 -2
- package/src/sap/ui/model/type/Integer.js +2 -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 +2 -2
- 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 +1 -1
- package/src/sap/ui/performance/XHRInterceptor.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +1 -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/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 +1 -1
- package/src/sap/ui/test/starter/createSuite.js +1 -1
- package/src/sap/ui/test/starter/runTest.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/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 +1 -1
- package/src/ui5loader.js +1 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +217 -6
- package/test/sap/ui/core/qunit/analytics/o4aMetadata.js +2 -0
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +1 -1
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +34 -1
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +51 -4
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +42 -116
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +107 -0
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +154 -0
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +29 -0
- package/test/sap/ui/core/qunit/odata/_ODataMetaModelUtils.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +371 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +11 -5
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +26 -2
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +75 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +84 -31
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +474 -53
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +27 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +73 -19
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +27 -2
- package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +19 -1
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +114 -2
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +20 -0
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +20 -2
- package/test/sap/ui/core/relnotes/changes-1.120.json +52 -0
|
@@ -2027,7 +2027,42 @@ sap.ui.define([
|
|
|
2027
2027
|
|
|
2028
2028
|
/**
|
|
2029
2029
|
* The following code (either {@link #createView} or anything before
|
|
2030
|
-
* {@link #waitForChanges}) is expected to report
|
|
2030
|
+
* {@link #waitForChanges}) is expected to report at least the given message. All expected
|
|
2031
|
+
* messages should have a different message text.
|
|
2032
|
+
*
|
|
2033
|
+
* @param {object} oExpectedMessage The expected message with properties corresponding
|
|
2034
|
+
* to the getters of sap.ui.core.message.Message: message and type are required; code,
|
|
2035
|
+
* descriptionUrl, persistent (default false), target (default ""), technical (default
|
|
2036
|
+
* false) are optional; technicalDetails is only compared if given
|
|
2037
|
+
* @param {boolean} [bHasMatcher] Whether the expected message has a Sinon.JS matcher
|
|
2038
|
+
* @returns {object} The test instance for chaining
|
|
2039
|
+
*
|
|
2040
|
+
* @see #expectMessages
|
|
2041
|
+
*/
|
|
2042
|
+
expectMessage : function (oExpectedMessage, bHasMatcher) {
|
|
2043
|
+
const aTargets = oExpectedMessage.targets || [oExpectedMessage.target || ""];
|
|
2044
|
+
const oClone = Object.assign({
|
|
2045
|
+
code : undefined,
|
|
2046
|
+
descriptionUrl : undefined,
|
|
2047
|
+
persistent : false,
|
|
2048
|
+
targets : aTargets,
|
|
2049
|
+
technical : false
|
|
2050
|
+
}, oExpectedMessage);
|
|
2051
|
+
|
|
2052
|
+
if (oExpectedMessage.target && oExpectedMessage.targets) {
|
|
2053
|
+
throw new Error("Use either target or targets, not both!");
|
|
2054
|
+
}
|
|
2055
|
+
delete oClone.target;
|
|
2056
|
+
|
|
2057
|
+
this.aMessages.push(oClone);
|
|
2058
|
+
this.aMessages.bHasMatcher ||= bHasMatcher;
|
|
2059
|
+
|
|
2060
|
+
return this;
|
|
2061
|
+
},
|
|
2062
|
+
|
|
2063
|
+
/**
|
|
2064
|
+
* The following code (either {@link #createView} or anything before
|
|
2065
|
+
* {@link #waitForChanges}) is expected to report *exactly* the given messages. All expected
|
|
2031
2066
|
* messages should have a different message text.
|
|
2032
2067
|
*
|
|
2033
2068
|
* @param {object[]} aExpectedMessages The expected messages with properties corresponding
|
|
@@ -2036,26 +2071,13 @@ sap.ui.define([
|
|
|
2036
2071
|
* false) are optional; technicalDetails is only compared if given
|
|
2037
2072
|
* @param {boolean} [bHasMatcher] Whether the expected messages have a Sinon.JS matcher
|
|
2038
2073
|
* @returns {object} The test instance for chaining
|
|
2074
|
+
*
|
|
2075
|
+
* @see #expectMessage
|
|
2039
2076
|
*/
|
|
2040
2077
|
expectMessages : function (aExpectedMessages, bHasMatcher) {
|
|
2041
|
-
this.aMessages =
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
code : undefined,
|
|
2045
|
-
descriptionUrl : undefined,
|
|
2046
|
-
persistent : false,
|
|
2047
|
-
targets : aTargets,
|
|
2048
|
-
technical : false
|
|
2049
|
-
}, oMessage);
|
|
2050
|
-
|
|
2051
|
-
if (oMessage.target && oMessage.targets) {
|
|
2052
|
-
throw new Error("Use either target or targets, not both!");
|
|
2053
|
-
}
|
|
2054
|
-
delete oClone.target;
|
|
2055
|
-
|
|
2056
|
-
return oClone;
|
|
2057
|
-
});
|
|
2058
|
-
this.aMessages.bHasMatcher = bHasMatcher;
|
|
2078
|
+
this.aMessages = [];
|
|
2079
|
+
this.aMessages.bHasMatcher = false;
|
|
2080
|
+
aExpectedMessages.forEach((oMessage) => this.expectMessage(oMessage, bHasMatcher));
|
|
2059
2081
|
|
|
2060
2082
|
return this;
|
|
2061
2083
|
},
|
|
@@ -8342,7 +8364,14 @@ sap.ui.define([
|
|
|
8342
8364
|
// check that no messages in the message model are touched.
|
|
8343
8365
|
//
|
|
8344
8366
|
// JIRA: CPOUI5ODATAV4-717
|
|
8345
|
-
|
|
8367
|
+
//
|
|
8368
|
+
// Optionally create a new item beforehand, with the POST response containing a (possibly empty)
|
|
8369
|
+
// messages array. This must not confuse the following message handling.
|
|
8370
|
+
// BCP: 2380140928
|
|
8371
|
+
[0, 1, 2].forEach((iCase) => { // 0: no POST // 1: POST w/o messages // 2: POST w/ messages
|
|
8372
|
+
const sTitle = "requestFilterForMessages on a relative list binding #" + iCase;
|
|
8373
|
+
|
|
8374
|
+
QUnit.test(sTitle, function (assert) {
|
|
8346
8375
|
var oBinding,
|
|
8347
8376
|
oModel = this.createSalesOrdersModel({autoExpandSelect : true}),
|
|
8348
8377
|
sView = '\
|
|
@@ -8399,12 +8428,46 @@ sap.ui.define([
|
|
|
8399
8428
|
return this.createView(assert, sView, oModel).then(function () {
|
|
8400
8429
|
oBinding = that.oView.byId("table").getBinding("items");
|
|
8401
8430
|
|
|
8431
|
+
if (iCase > 0) {
|
|
8432
|
+
that.expectChange("quantity", [,, "5.000"])
|
|
8433
|
+
.expectRequest({
|
|
8434
|
+
method : "POST",
|
|
8435
|
+
url : "SalesOrderList('42')/SO_2_SOITEM",
|
|
8436
|
+
payload : {Quantity : "5"}
|
|
8437
|
+
}, {
|
|
8438
|
+
ItemPosition : "0030",
|
|
8439
|
+
Messages : iCase > 1 ? [{
|
|
8440
|
+
message : "Well done!",
|
|
8441
|
+
numericSeverity : 1,
|
|
8442
|
+
target : "Quantity"
|
|
8443
|
+
}] : [],
|
|
8444
|
+
SalesOrderID : "42",
|
|
8445
|
+
Quantity : "5"
|
|
8446
|
+
});
|
|
8447
|
+
if (iCase > 1) {
|
|
8448
|
+
that.expectMessage({
|
|
8449
|
+
message : "Well done!",
|
|
8450
|
+
target : "/SalesOrderList('42')"
|
|
8451
|
+
+ "/SO_2_SOITEM(SalesOrderID='42',ItemPosition='0030')/Quantity",
|
|
8452
|
+
type : "Success"
|
|
8453
|
+
});
|
|
8454
|
+
}
|
|
8455
|
+
|
|
8456
|
+
return Promise.all([
|
|
8457
|
+
// code under test
|
|
8458
|
+
oBinding.create({Quantity : "5"}, /*bSkipRefresh*/true, /*bAtEnd*/true)
|
|
8459
|
+
.created(),
|
|
8460
|
+
that.waitForChanges(assert, "create new item")
|
|
8461
|
+
]);
|
|
8462
|
+
}
|
|
8463
|
+
}).then(function () {
|
|
8402
8464
|
// code under test
|
|
8403
8465
|
return oBinding.requestFilterForMessages();
|
|
8404
8466
|
}).then(function (oFilter) {
|
|
8405
8467
|
that.expectRequest("SalesOrderList('42')/SO_2_SOITEM"
|
|
8406
8468
|
+ "?$select=ItemPosition,Quantity,SalesOrderID"
|
|
8407
8469
|
+ "&$filter=SalesOrderID eq '42' and ItemPosition eq '0010'"
|
|
8470
|
+
+ (iCase > 1 ? " or SalesOrderID eq '42' and ItemPosition eq '0030'" : "")
|
|
8408
8471
|
+ "&$skip=0&$top=100", {
|
|
8409
8472
|
value : [{
|
|
8410
8473
|
ItemPosition : "0010",
|
|
@@ -8419,6 +8482,7 @@ sap.ui.define([
|
|
|
8419
8482
|
return that.waitForChanges(assert);
|
|
8420
8483
|
});
|
|
8421
8484
|
});
|
|
8485
|
+
});
|
|
8422
8486
|
|
|
8423
8487
|
//*********************************************************************************************
|
|
8424
8488
|
// Scenario: Request Late property with navigation properties in entity with key aliases
|
|
@@ -13029,8 +13093,9 @@ sap.ui.define([
|
|
|
13029
13093
|
});
|
|
13030
13094
|
|
|
13031
13095
|
//*********************************************************************************************
|
|
13032
|
-
// Scenario: Avoid duplicate call to computed annotation
|
|
13033
|
-
|
|
13096
|
+
// Scenario: Avoid duplicate call to computed annotation (via global path)
|
|
13097
|
+
/** @deprecated as of version 1.120 */
|
|
13098
|
+
QUnit.test("Avoid duplicate call to computed annotation, global path", function (assert) {
|
|
13034
13099
|
var oModel = this.createTeaBusiModel().getMetaModel(),
|
|
13035
13100
|
sView = '\
|
|
13036
13101
|
<Text id="text"\
|
|
@@ -13042,6 +13107,22 @@ sap.ui.define([
|
|
|
13042
13107
|
return this.createView(assert, sView, oModel);
|
|
13043
13108
|
});
|
|
13044
13109
|
|
|
13110
|
+
//*********************************************************************************************
|
|
13111
|
+
// Scenario: Computed annotation via ODMM#requestObject with scope
|
|
13112
|
+
// JIRA: CPOUI5ODATAV4-2398
|
|
13113
|
+
QUnit.test("Computed annotation via ODMM#requestObject with scope", async function (assert) {
|
|
13114
|
+
const oModel = this.createTeaBusiModel().getMetaModel();
|
|
13115
|
+
|
|
13116
|
+
await this.createView(assert, "", oModel);
|
|
13117
|
+
|
|
13118
|
+
this.mock(AnnotationHelper).expects("getValueListType").returns("foo");
|
|
13119
|
+
|
|
13120
|
+
const sResult = await oModel.requestObject("/MANAGERS/TEAM_ID@@AH.getValueListType",
|
|
13121
|
+
undefined, {scope : {AH : AnnotationHelper}}
|
|
13122
|
+
);
|
|
13123
|
+
assert.strictEqual(sResult, "foo");
|
|
13124
|
+
});
|
|
13125
|
+
|
|
13045
13126
|
//*********************************************************************************************
|
|
13046
13127
|
// Scenario: Enable autoExpandSelect mode for an ODataContextBinding with relative
|
|
13047
13128
|
// ODataPropertyBindings where the paths of the relative bindings lead to a $expand
|
|
@@ -13547,56 +13628,74 @@ sap.ui.define([
|
|
|
13547
13628
|
//*********************************************************************************************
|
|
13548
13629
|
// Scenario: Call bound action on a context of a relative ListBinding.
|
|
13549
13630
|
//
|
|
13550
|
-
// Ensure that
|
|
13551
|
-
//
|
|
13552
|
-
//
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13631
|
+
// Ensure that no Return Value Context is created, because the back end does not return the
|
|
13632
|
+
// needed key properties.
|
|
13633
|
+
// SNOW: DINC0010118
|
|
13634
|
+
[{ID : "2"}, {EMPLOYEE_2_TEAM : {Team_Id : "TEAM_02"}}].forEach(function (oPredicates, i) {
|
|
13635
|
+
var sTitle = "Read entity for a relative ListBinding, call bound action, key for the "
|
|
13636
|
+
+ (i ? "first" : "second") + " segment is missing";
|
|
13637
|
+
|
|
13638
|
+
QUnit.test(sTitle, function (assert) {
|
|
13639
|
+
var that = this,
|
|
13556
13640
|
sView = '\
|
|
13557
13641
|
<FlexBox id="form" binding="{path : \'/TEAMS(\\\'42\\\')\',\
|
|
13558
|
-
parameters : {
|
|
13642
|
+
parameters : {\
|
|
13643
|
+
$expand : {TEAM_2_EMPLOYEES : {$select : \'ID,__CT__FAKE__Message/__FAKE__Messages\'}}}}">\
|
|
13559
13644
|
<Table id="table" items="{TEAM_2_EMPLOYEES}">\
|
|
13560
13645
|
<Text id="id" text="{ID}"/>\
|
|
13561
13646
|
</Table>\
|
|
13562
13647
|
</FlexBox>';
|
|
13563
13648
|
|
|
13564
|
-
this.expectRequest("TEAMS('42')
|
|
13649
|
+
this.expectRequest("TEAMS('42')"
|
|
13650
|
+
+ "?$expand=TEAM_2_EMPLOYEES($select=ID,__CT__FAKE__Message/__FAKE__Messages)", {
|
|
13565
13651
|
TEAM_2_EMPLOYEES : [{ID : "2"}]
|
|
13566
13652
|
})
|
|
13567
13653
|
.expectChange("id", ["2"]);
|
|
13568
13654
|
|
|
13569
|
-
return this.createView(assert, sView
|
|
13655
|
+
return this.createView(assert, sView).then(function () {
|
|
13570
13656
|
var oEmployeeContext = that.oView.byId("table").getItems()[0].getBindingContext(),
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
oEmployeeContext)
|
|
13657
|
+
sAction = "com.sap.gateway.default.iwbep.tea_busi.v0001.AcChangeTeamOfEmployee",
|
|
13658
|
+
oAction = that.oModel.bindContext(sAction + "(...)",
|
|
13659
|
+
oEmployeeContext, {$$inheritExpandSelect : true}),
|
|
13660
|
+
oResponse = Object.assign({
|
|
13661
|
+
__CT__FAKE__Message : {
|
|
13662
|
+
__FAKE__Messages : [{
|
|
13663
|
+
code : "1",
|
|
13664
|
+
message : "Text",
|
|
13665
|
+
numericSeverity : 3,
|
|
13666
|
+
target : "Name",
|
|
13667
|
+
transition : false
|
|
13668
|
+
}]
|
|
13669
|
+
}
|
|
13670
|
+
}, oPredicates);
|
|
13574
13671
|
|
|
13575
13672
|
that.expectRequest({
|
|
13576
13673
|
method : "POST",
|
|
13577
13674
|
url : "TEAMS('42')/TEAM_2_EMPLOYEES('2')/"
|
|
13578
13675
|
+ "com.sap.gateway.default.iwbep.tea_busi.v0001.AcChangeTeamOfEmployee"
|
|
13579
|
-
+ "?$
|
|
13676
|
+
+ "?$select=ID,__CT__FAKE__Message/__FAKE__Messages"
|
|
13677
|
+
+ "&$expand=EMPLOYEE_2_TEAM($select=Team_Id)",
|
|
13580
13678
|
payload : {TeamID : "TEAM_02"}
|
|
13581
|
-
},
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13679
|
+
}, oResponse)
|
|
13680
|
+
.expectMessages([{
|
|
13681
|
+
code : "1",
|
|
13682
|
+
message : "Text",
|
|
13683
|
+
target : "/TEAMS('42')/TEAM_2_EMPLOYEES('2')/" + sAction + "(...)/Name",
|
|
13684
|
+
type : "Warning"
|
|
13685
|
+
}]);
|
|
13587
13686
|
oAction.setParameter("TeamID", "TEAM_02");
|
|
13588
13687
|
|
|
13589
13688
|
return Promise.all([
|
|
13590
13689
|
// code under test
|
|
13591
|
-
oAction.execute().then(function (
|
|
13592
|
-
assert.strictEqual(
|
|
13593
|
-
|
|
13594
|
-
"/TEAMS('TEAM_02')/TEAM_2_EMPLOYEES('2')");
|
|
13690
|
+
oAction.execute().then(function (oResult) {
|
|
13691
|
+
assert.strictEqual(oResult, undefined,
|
|
13692
|
+
"no R.V.C. because EMPLOYEE_2_TEAM is missing");
|
|
13595
13693
|
}),
|
|
13596
13694
|
that.waitForChanges(assert)
|
|
13597
13695
|
]);
|
|
13598
13696
|
});
|
|
13599
13697
|
});
|
|
13698
|
+
});
|
|
13600
13699
|
|
|
13601
13700
|
//*********************************************************************************************
|
|
13602
13701
|
// Scenario: Execute a bound action for an entity in a list binding and afterwards call refresh
|
|
@@ -26784,6 +26883,7 @@ sap.ui.define([
|
|
|
26784
26883
|
// BCP: 2370011296
|
|
26785
26884
|
//
|
|
26786
26885
|
// Use a filter with spaces (BCP: 2380032202).
|
|
26886
|
+
// Check prefetch for expand (JIRA: CPOUI5ODATAV4-2432)
|
|
26787
26887
|
QUnit.test("Recursive Hierarchy: expand root, w/ filter, search & orderby", function (assert) {
|
|
26788
26888
|
var oModel = this.createTeaBusiModel123({autoExpandSelect : true, groupId : "$direct"}),
|
|
26789
26889
|
oTable,
|
|
@@ -26799,7 +26899,7 @@ sap.ui.define([
|
|
|
26799
26899
|
$count : true,\
|
|
26800
26900
|
$filter : \'Is_Manager\',\
|
|
26801
26901
|
$orderby : \'AGE desc\'\
|
|
26802
|
-
}}">\
|
|
26902
|
+
}}" threshold="4" visibleRowCount="2">\
|
|
26803
26903
|
<Text id="id" text="{ID}"/>\
|
|
26804
26904
|
</t:Table>',
|
|
26805
26905
|
that = this;
|
|
@@ -26810,7 +26910,7 @@ sap.ui.define([
|
|
|
26810
26910
|
+ ",filter(AGE ge 0 and (Is_Manager))/search(covfefe),keep start)"
|
|
26811
26911
|
+ "/orderby(AGE desc)/com.sap.vocabularies.Hierarchy.v1.TopLevels("
|
|
26812
26912
|
+ "HierarchyNodes=$root/EMPLOYEES,HierarchyQualifier='OrgChart',NodeProperty='ID'"
|
|
26813
|
-
+ ",Levels=1)&$select=DrillState,ID&$count=true&$skip=0&$top=
|
|
26913
|
+
+ ",Levels=1)&$select=DrillState,ID&$count=true&$skip=0&$top=6", {
|
|
26814
26914
|
"@odata.count" : "1",
|
|
26815
26915
|
value : [{
|
|
26816
26916
|
DrillState : "collapsed",
|
|
@@ -26852,12 +26952,12 @@ sap.ui.define([
|
|
|
26852
26952
|
+ ",filter(AGE ge 0 and (Is_Manager))/search(covfefe),keep start)"
|
|
26853
26953
|
+ "/descendants($root/EMPLOYEES,OrgChart,ID,filter(ID eq '0'),1)"
|
|
26854
26954
|
+ "/orderby(AGE desc)"
|
|
26855
|
-
+ "&$select=DrillState,ID&$count=true&$skip=0&$top=
|
|
26856
|
-
"@odata.count" : "
|
|
26857
|
-
value : [
|
|
26858
|
-
DrillState : "leaf",
|
|
26859
|
-
ID : "
|
|
26860
|
-
|
|
26955
|
+
+ "&$select=DrillState,ID&$count=true&$skip=0&$top=6", {
|
|
26956
|
+
"@odata.count" : "2",
|
|
26957
|
+
value : [
|
|
26958
|
+
{DrillState : "leaf", ID : "1"},
|
|
26959
|
+
{DrillState : "leaf", ID : "2"}
|
|
26960
|
+
]
|
|
26861
26961
|
})
|
|
26862
26962
|
.expectChange("id", [, "1"]);
|
|
26863
26963
|
|
|
@@ -26865,6 +26965,12 @@ sap.ui.define([
|
|
|
26865
26965
|
oRoot.expand();
|
|
26866
26966
|
|
|
26867
26967
|
return that.waitForChanges(assert, "expand root");
|
|
26968
|
+
}).then(function () {
|
|
26969
|
+
that.expectChange("id", [, "1", "2"]);
|
|
26970
|
+
|
|
26971
|
+
oTable.setFirstVisibleRow(1);
|
|
26972
|
+
|
|
26973
|
+
return that.waitForChanges(assert, "scroll down");
|
|
26868
26974
|
});
|
|
26869
26975
|
});
|
|
26870
26976
|
|
|
@@ -32380,6 +32486,234 @@ make root = ${bMakeRoot}`;
|
|
|
32380
32486
|
});
|
|
32381
32487
|
});
|
|
32382
32488
|
|
|
32489
|
+
//*********************************************************************************************
|
|
32490
|
+
// Scenario: Paging with prefetch (threshold is 5, intentionally odd). Set first visible row to
|
|
32491
|
+
// 30. Then consecutively increase resp. decrease it by one and see that requests only occur
|
|
32492
|
+
// after threshold/2 has been surmounted.
|
|
32493
|
+
// JIRA: CPOUI5ODATAV4-2432
|
|
32494
|
+
[false, true].forEach(function (bAggregation) {
|
|
32495
|
+
const sTitle = "CPOUI5ODATAV4-2432: " + (bAggregation ? "Recursive Hierarchy: " : "")
|
|
32496
|
+
+ "Paging w/ Prefetch";
|
|
32497
|
+
QUnit.test(sTitle, async function (assert) {
|
|
32498
|
+
var oTable;
|
|
32499
|
+
|
|
32500
|
+
const oModel = this.createTeaBusiModel({autoExpandSelect : true});
|
|
32501
|
+
const sParameters = bAggregation
|
|
32502
|
+
? "{$$aggregation : {hierarchyQualifier : 'OrgChart'}}"
|
|
32503
|
+
: "{$count : true}";
|
|
32504
|
+
const sBaseQuery = bAggregation
|
|
32505
|
+
? "$apply=com.sap.vocabularies.Hierarchy.v1.TopLevels"
|
|
32506
|
+
+ "(HierarchyNodes=$root/EMPLOYEES,HierarchyQualifier='OrgChart'"
|
|
32507
|
+
+ ",NodeProperty='ID',Levels=1)&$select=DrillState,ID"
|
|
32508
|
+
: "$count=true&$select=ID";
|
|
32509
|
+
const sView = `
|
|
32510
|
+
<t:Table id="table" rows="{path : '/EMPLOYEES', parameters : ${sParameters}}"
|
|
32511
|
+
threshold="5" visibleRowCount="3">
|
|
32512
|
+
<Text id="id" text="{ID}"/>
|
|
32513
|
+
</t:Table>`;
|
|
32514
|
+
let bCount = bAggregation;
|
|
32515
|
+
|
|
32516
|
+
/**
|
|
32517
|
+
* Expects request (if iSkip and iTop are given) and change events.
|
|
32518
|
+
*
|
|
32519
|
+
* @param {number} iRow - The first visible row
|
|
32520
|
+
* @param {number} [iSkip] - $skip for the request; no request if undefined
|
|
32521
|
+
* @param {number} [iTop] - $top for the request
|
|
32522
|
+
* @param {boolean} [bNoChangeEvents] - Whether no change events are to be expected
|
|
32523
|
+
*/
|
|
32524
|
+
const expect = (iRow, iSkip, iTop, bNoChangeEvents) => {
|
|
32525
|
+
if (iSkip !== undefined) {
|
|
32526
|
+
const aElements = [];
|
|
32527
|
+
for (let i = 0; i < iTop; i += 1) {
|
|
32528
|
+
aElements.push({DrillState : "leaf", ID : `E${iSkip + i}`});
|
|
32529
|
+
}
|
|
32530
|
+
|
|
32531
|
+
const sQuery = sBaseQuery + (bCount ? "&$count=true" : "");
|
|
32532
|
+
bCount = false;
|
|
32533
|
+
this.expectRequest(`EMPLOYEES?${sQuery}&$skip=${iSkip}&$top=${iTop}`,
|
|
32534
|
+
resolveLater({
|
|
32535
|
+
"@odata.count" : "100",
|
|
32536
|
+
value : aElements
|
|
32537
|
+
})
|
|
32538
|
+
);
|
|
32539
|
+
}
|
|
32540
|
+
if (!bNoChangeEvents) {
|
|
32541
|
+
for (let i = 0; i < 3; i += 1) {
|
|
32542
|
+
this.expectChange("id", `E${iRow + i}`, iRow + i);
|
|
32543
|
+
}
|
|
32544
|
+
}
|
|
32545
|
+
};
|
|
32546
|
+
|
|
32547
|
+
/**
|
|
32548
|
+
* Scrolls the table to the given row, expects request and change events and waits for them.
|
|
32549
|
+
*
|
|
32550
|
+
* @param {number} iRow - The new first visible row
|
|
32551
|
+
* @param {number} [iSkip] - $skip for the request; no request if undefined
|
|
32552
|
+
* @param {number} [iTop] - $top for the request
|
|
32553
|
+
* @param {boolean} [bNoWait] - Whether to wait for request and changes
|
|
32554
|
+
*/
|
|
32555
|
+
const scroll = async (iRow, iSkip, iTop, bNoWait) => {
|
|
32556
|
+
expect(iRow, iSkip, iTop, bNoWait);
|
|
32557
|
+
oTable.setFirstVisibleRow(iRow);
|
|
32558
|
+
|
|
32559
|
+
if (!bNoWait) {
|
|
32560
|
+
await this.waitForChanges(assert, `scroll to ${iRow}`);
|
|
32561
|
+
}
|
|
32562
|
+
};
|
|
32563
|
+
|
|
32564
|
+
expect(0, 0, 8); // 3 visible, 5 after
|
|
32565
|
+
|
|
32566
|
+
await this.createView(assert, sView, oModel);
|
|
32567
|
+
|
|
32568
|
+
oTable = this.oView.byId("table");
|
|
32569
|
+
await scroll(30, 25, 13); // 5 before, 3 visible, 5 after
|
|
32570
|
+
// forward
|
|
32571
|
+
await scroll(31);
|
|
32572
|
+
await scroll(32);
|
|
32573
|
+
await scroll(33, 38, 3); // 3 after (> threshold/2)
|
|
32574
|
+
await scroll(34);
|
|
32575
|
+
await scroll(35);
|
|
32576
|
+
scroll(36, 41, 3, true); // 3 after
|
|
32577
|
+
await Promise.resolve();
|
|
32578
|
+
// this scroll happens before the response arrived, because we did not wait for the changes
|
|
32579
|
+
await scroll(37);
|
|
32580
|
+
// backward
|
|
32581
|
+
await scroll(29);
|
|
32582
|
+
await scroll(28);
|
|
32583
|
+
await scroll(27, 22, 3); // 3 before
|
|
32584
|
+
await scroll(26);
|
|
32585
|
+
await scroll(25);
|
|
32586
|
+
await scroll(24, 19, 3); // 3 before
|
|
32587
|
+
});
|
|
32588
|
+
});
|
|
32589
|
+
|
|
32590
|
+
//*********************************************************************************************
|
|
32591
|
+
// Scenario: Recursive Hierarchy, prefetch and nodes w/o "rank"
|
|
32592
|
+
// (1) Initially the table only contains root nodes Alpha, Delta, Epsilon...
|
|
32593
|
+
// (2) Create two children Beta, Gamma of Alpha
|
|
32594
|
+
// (3) Collapse Alpha
|
|
32595
|
+
// (4) Request side effects
|
|
32596
|
+
// (5) Scroll to 5
|
|
32597
|
+
// (6) Expand Alpha again; Beta and Gamma are now invisible placeholders w/o rank
|
|
32598
|
+
// (7) Quickly scroll to 4 and 3; Gamma must not be requested twice
|
|
32599
|
+
// JIRA: CPOUI5ODATAV4-2432
|
|
32600
|
+
QUnit.test("CPOUI5ODATAV4-2432: Recursive Hierarchy, prefetch, rank", async function (assert) {
|
|
32601
|
+
const oModel = this.createTeaBusiModel({autoExpandSelect : true});
|
|
32602
|
+
const sView = `
|
|
32603
|
+
<t:Table id="table" rows="{path : '/EMPLOYEES',
|
|
32604
|
+
parameters : {$$aggregation : {hierarchyQualifier : 'OrgChart'}}}"
|
|
32605
|
+
threshold="4" visibleRowCount="2">
|
|
32606
|
+
<Text id="name" text="{Name}"/>
|
|
32607
|
+
</t:Table>`;
|
|
32608
|
+
|
|
32609
|
+
this.expectRequest("EMPLOYEES?$apply=com.sap.vocabularies.Hierarchy.v1.TopLevels("
|
|
32610
|
+
+ "HierarchyNodes=$root/EMPLOYEES,HierarchyQualifier='OrgChart'"
|
|
32611
|
+
+ ",NodeProperty='ID',Levels=1)"
|
|
32612
|
+
+ "&$select=DrillState,ID,Name&$count=true&$skip=0&$top=6", {
|
|
32613
|
+
"@odata.count" : "20",
|
|
32614
|
+
value : [
|
|
32615
|
+
{DrillState : "leaf", ID : "0", Name : "Alpha"},
|
|
32616
|
+
{DrillState : "leaf", ID : "1", Name : "Delta"},
|
|
32617
|
+
{DrillState : "leaf", ID : "2", Name : "Epsilon"},
|
|
32618
|
+
{DrillState : "leaf", ID : "3", Name : "Zeta"},
|
|
32619
|
+
{DrillState : "leaf", ID : "4", Name : "Eta"},
|
|
32620
|
+
{DrillState : "leaf", ID : "5", Name : "Theta"}
|
|
32621
|
+
]
|
|
32622
|
+
})
|
|
32623
|
+
.expectChange("name", ["Alpha", "Delta"]);
|
|
32624
|
+
|
|
32625
|
+
await this.createView(assert, sView, oModel);
|
|
32626
|
+
|
|
32627
|
+
this.expectChange("name", [, "Beta"])
|
|
32628
|
+
.expectRequest({
|
|
32629
|
+
method : "POST",
|
|
32630
|
+
url : "EMPLOYEES",
|
|
32631
|
+
payload : {"EMPLOYEE_2_MANAGER@odata.bind" : "EMPLOYEES('0')", Name : "Gamma"}
|
|
32632
|
+
}, {DrillState : "leaf", ID : "0.1", Name : "Gamma"})
|
|
32633
|
+
.expectRequest({
|
|
32634
|
+
method : "POST",
|
|
32635
|
+
url : "EMPLOYEES",
|
|
32636
|
+
payload : {"EMPLOYEE_2_MANAGER@odata.bind" : "EMPLOYEES('0')", Name : "Beta"}
|
|
32637
|
+
}, {DrillState : "leaf", ID : "0.0", Name : "Beta"});
|
|
32638
|
+
|
|
32639
|
+
const oTable = this.oView.byId("table");
|
|
32640
|
+
const oBinding = oTable.getBinding("rows");
|
|
32641
|
+
const oAlpha = oBinding.getCurrentContexts()[0];
|
|
32642
|
+
const oGamma = oBinding.create({
|
|
32643
|
+
"@$ui5.node.parent" : oAlpha,
|
|
32644
|
+
Name : "Gamma"
|
|
32645
|
+
}, true);
|
|
32646
|
+
const oBeta = oBinding.create({
|
|
32647
|
+
"@$ui5.node.parent" : oAlpha,
|
|
32648
|
+
Name : "Beta"
|
|
32649
|
+
}, true);
|
|
32650
|
+
|
|
32651
|
+
await Promise.all([
|
|
32652
|
+
oBeta.created(),
|
|
32653
|
+
oGamma.created(),
|
|
32654
|
+
this.waitForChanges(assert, "(2) create Beta & Gamma")
|
|
32655
|
+
]);
|
|
32656
|
+
|
|
32657
|
+
this.expectChange("name", [, "Delta"]);
|
|
32658
|
+
|
|
32659
|
+
oAlpha.collapse();
|
|
32660
|
+
|
|
32661
|
+
await this.waitForChanges(assert, "(3) collapse Alpha");
|
|
32662
|
+
|
|
32663
|
+
this.expectRequest("EMPLOYEES?$select=ID,Name&$filter=ID eq '0' or ID eq '1'&$top=2", {
|
|
32664
|
+
value : [
|
|
32665
|
+
{ID : "0", Name : "Alpha*"},
|
|
32666
|
+
{ID : "1", Name : "Delta*"}
|
|
32667
|
+
]
|
|
32668
|
+
})
|
|
32669
|
+
.expectChange("name", ["Alpha*", "Delta*"]);
|
|
32670
|
+
|
|
32671
|
+
await Promise.all([
|
|
32672
|
+
oBinding.getHeaderContext().requestSideEffects(["Name"]),
|
|
32673
|
+
this.waitForChanges(assert, "(4) side effects")
|
|
32674
|
+
]);
|
|
32675
|
+
|
|
32676
|
+
this.expectRequest("EMPLOYEES?$apply=com.sap.vocabularies.Hierarchy.v1.TopLevels("
|
|
32677
|
+
+ "HierarchyNodes=$root/EMPLOYEES,HierarchyQualifier='OrgChart'"
|
|
32678
|
+
+ ",NodeProperty='ID',Levels=1)"
|
|
32679
|
+
+ "&$select=DrillState,ID,Name&$skip=2&$top=9", {
|
|
32680
|
+
value : [
|
|
32681
|
+
{DrillState : "leaf", ID : "2", Name : "Epsilon*"},
|
|
32682
|
+
{DrillState : "leaf", ID : "3", Name : "Zeta*"},
|
|
32683
|
+
{DrillState : "leaf", ID : "4", Name : "Eta*"},
|
|
32684
|
+
{DrillState : "leaf", ID : "5", Name : "Theta*"},
|
|
32685
|
+
{DrillState : "leaf", ID : "6", Name : "Iota*"},
|
|
32686
|
+
{DrillState : "leaf", ID : "7", Name : "Kappa*"},
|
|
32687
|
+
{DrillState : "leaf", ID : "8", Name : "Lambda*"},
|
|
32688
|
+
{DrillState : "leaf", ID : "9", Name : "Mu*"},
|
|
32689
|
+
{DrillState : "leaf", ID : "10", Name : "Nu*"}
|
|
32690
|
+
]
|
|
32691
|
+
})
|
|
32692
|
+
.expectChange("name", [,,,,, "Theta*", "Iota*"]);
|
|
32693
|
+
|
|
32694
|
+
oTable.setFirstVisibleRow(5);
|
|
32695
|
+
|
|
32696
|
+
await this.waitForChanges(assert, "(5) scroll to 5");
|
|
32697
|
+
|
|
32698
|
+
this.expectChange("name", [,,,,, "Zeta*", "Eta*"]);
|
|
32699
|
+
|
|
32700
|
+
oAlpha.expand();
|
|
32701
|
+
|
|
32702
|
+
await this.waitForChanges(assert, "(6) expand Alpha");
|
|
32703
|
+
|
|
32704
|
+
this.expectRequest("EMPLOYEES('0.0')?$select=DrillState,ID,Name",
|
|
32705
|
+
{DrillState : "leaf", ID : "0.0", Name : "Beta*"})
|
|
32706
|
+
.expectRequest("EMPLOYEES('0.1')?$select=DrillState,ID,Name",
|
|
32707
|
+
{DrillState : "leaf", ID : "0.1", Name : "Gamma*"})
|
|
32708
|
+
.expectChange("name", [,,, "Delta*", "Epsilon*"]);
|
|
32709
|
+
|
|
32710
|
+
oTable.setFirstVisibleRow(4);
|
|
32711
|
+
await Promise.resolve();
|
|
32712
|
+
oTable.setFirstVisibleRow(3);
|
|
32713
|
+
|
|
32714
|
+
await this.waitForChanges(assert, "(7) quickly scroll to 4 and 3");
|
|
32715
|
+
});
|
|
32716
|
+
|
|
32383
32717
|
//*********************************************************************************************
|
|
32384
32718
|
// Scenario: Application tries to overwrite client-side instance annotations.
|
|
32385
32719
|
// JIRA: CPOUI5UISERVICESV3-1220
|
|
@@ -47331,6 +47665,41 @@ make root = ${bMakeRoot}`;
|
|
|
47331
47665
|
});
|
|
47332
47666
|
});
|
|
47333
47667
|
|
|
47668
|
+
//*********************************************************************************************
|
|
47669
|
+
// A list binding for a complex type is refreshed, while a context (last segment of path without
|
|
47670
|
+
// key predicate) is selected
|
|
47671
|
+
// SNOW: DINC0029552
|
|
47672
|
+
QUnit.test("DINC0029552", async function (assert) {
|
|
47673
|
+
const oModel = this.createSalesOrdersModel();
|
|
47674
|
+
const sView = `
|
|
47675
|
+
<Table id="list" items="{/SalesOrderList('0')/Messages}">
|
|
47676
|
+
<Text id="code" text="{code}"/>
|
|
47677
|
+
</Table>`;
|
|
47678
|
+
|
|
47679
|
+
this.expectRequest("SalesOrderList('0')/Messages?$skip=0&$top=100", {
|
|
47680
|
+
value : [{code : "42"}]
|
|
47681
|
+
})
|
|
47682
|
+
.expectChange("code", ["42"]);
|
|
47683
|
+
|
|
47684
|
+
await this.createView(assert, sView, oModel);
|
|
47685
|
+
|
|
47686
|
+
const oTableBinding = this.oView.byId("list").getBinding("items");
|
|
47687
|
+
oTableBinding.getCurrentContexts()[0].setSelected(true);
|
|
47688
|
+
|
|
47689
|
+
assert.strictEqual(oTableBinding.getCurrentContexts()[0].getPath(),
|
|
47690
|
+
"/SalesOrderList('0')/Messages/0");
|
|
47691
|
+
|
|
47692
|
+
this.expectRequest("SalesOrderList('0')/Messages?$skip=0&$top=100", {
|
|
47693
|
+
value : [{code : "23"}]
|
|
47694
|
+
})
|
|
47695
|
+
.expectChange("code", ["23"]);
|
|
47696
|
+
|
|
47697
|
+
// code under test
|
|
47698
|
+
oModel.refresh();
|
|
47699
|
+
|
|
47700
|
+
await this.waitForChanges(assert);
|
|
47701
|
+
});
|
|
47702
|
+
|
|
47334
47703
|
//*********************************************************************************************
|
|
47335
47704
|
// Scenario: Multiple creation rows, grid table
|
|
47336
47705
|
//
|
|
@@ -48763,6 +49132,58 @@ make root = ${bMakeRoot}`;
|
|
|
48763
49132
|
});
|
|
48764
49133
|
});
|
|
48765
49134
|
|
|
49135
|
+
//*********************************************************************************************
|
|
49136
|
+
// Scenario: Evaluate "ValueListRelevantQualifiers" annotation with Partner NavigationProperty.
|
|
49137
|
+
// BCP: 2380132332
|
|
49138
|
+
[0, 1].forEach(function (iValue) {
|
|
49139
|
+
QUnit.test("BCP: 2380132332, value=" + iValue, async function (assert) {
|
|
49140
|
+
const oModel = this.createSpecialCasesModel({autoExpandSelect : true});
|
|
49141
|
+
const sView = `
|
|
49142
|
+
<FlexBox id="outer" binding="{/As(0)}">
|
|
49143
|
+
<Text id="aid" text="{AID}"/>
|
|
49144
|
+
<Text id="avalue" text="{AValue}"/>
|
|
49145
|
+
<FlexBox id="inner" binding="{AtoCs(1)}">
|
|
49146
|
+
<Text id="cid" text="{CID}"/>
|
|
49147
|
+
<Text id="cvalue" text="{CValue}"/>
|
|
49148
|
+
</FlexBox>
|
|
49149
|
+
</FlexBox>`;
|
|
49150
|
+
|
|
49151
|
+
//TODO why is all of AtoCs expanded here?
|
|
49152
|
+
this.expectRequest("As(0)?$select=AID,AValue&$expand=AtoCs($select=CID,CValue)", {
|
|
49153
|
+
AID : 0,
|
|
49154
|
+
AValue : iValue,
|
|
49155
|
+
AtoCs : [{
|
|
49156
|
+
CID : 1,
|
|
49157
|
+
CValue : 1
|
|
49158
|
+
}]
|
|
49159
|
+
})
|
|
49160
|
+
.expectChange("aid", "0")
|
|
49161
|
+
.expectChange("avalue", "" + iValue)
|
|
49162
|
+
.expectChange("cid", "1")
|
|
49163
|
+
.expectChange("cvalue", "1");
|
|
49164
|
+
|
|
49165
|
+
await this.createView(assert, sView, oModel);
|
|
49166
|
+
|
|
49167
|
+
const oContext = this.oView.byId("inner").getBindingContext();
|
|
49168
|
+
assert.strictEqual(oContext.getPath(), "/As(0)/AtoCs(1)");
|
|
49169
|
+
|
|
49170
|
+
// code under test
|
|
49171
|
+
const mQualifier2ValueListType = await oModel.getMetaModel()
|
|
49172
|
+
.requestValueListInfo("/As/AtoCs/CtoEs/EValue", true, oContext);
|
|
49173
|
+
|
|
49174
|
+
if (iValue === 1) {
|
|
49175
|
+
delete mQualifier2ValueListType["same"]?.$model;
|
|
49176
|
+
assert.deepEqual(mQualifier2ValueListType, {
|
|
49177
|
+
same : {
|
|
49178
|
+
Label : "Same label ;-)"
|
|
49179
|
+
}
|
|
49180
|
+
});
|
|
49181
|
+
} else {
|
|
49182
|
+
assert.deepEqual(mQualifier2ValueListType, {}, "empty");
|
|
49183
|
+
}
|
|
49184
|
+
});
|
|
49185
|
+
});
|
|
49186
|
+
|
|
48766
49187
|
//*********************************************************************************************
|
|
48767
49188
|
// Scenario: With the binding parameter <code>$$ignoreMessages</code> the application developer
|
|
48768
49189
|
// can control whether messages are displayed at the control. It works for
|