@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
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
<Property Name="CValue" Type="Edm.Int16"/>
|
|
88
88
|
<NavigationProperty Name="CtoA" Partner="AtoCs" Type="special.cases.A"/>
|
|
89
89
|
<NavigationProperty Name="CtoD" Partner="DtoC" Type="special.cases.D"/>
|
|
90
|
+
<NavigationProperty Name="CtoEs" Partner="EtoC" Type="Collection(special.cases.E)"/>
|
|
90
91
|
</EntityType>
|
|
91
92
|
<EntityType Name="D">
|
|
92
93
|
<Key>
|
|
@@ -97,6 +98,14 @@
|
|
|
97
98
|
<NavigationProperty Name="DtoB" Partner="BtoDs" Type="special.cases.B"/>
|
|
98
99
|
<NavigationProperty Name="DtoC" Partner="CtoD" Type="special.cases.C"/>
|
|
99
100
|
</EntityType>
|
|
101
|
+
<EntityType Name="E">
|
|
102
|
+
<Key>
|
|
103
|
+
<PropertyRef Name="EID"/>
|
|
104
|
+
</Key>
|
|
105
|
+
<Property Name="EID" Type="Edm.Int16" Nullable="false"/>
|
|
106
|
+
<Property Name="EValue" Type="Edm.Int16"/>
|
|
107
|
+
<NavigationProperty Name="EtoC" Partner="CtoEs" Type="special.cases.C"/>
|
|
108
|
+
</EntityType>
|
|
100
109
|
<ComplexType Name="Address">
|
|
101
110
|
<Property Name="City" Type="Edm.String"/>
|
|
102
111
|
<Property Name="ZIP" Type="Edm.String" MaxLength="5" />
|
|
@@ -303,6 +312,24 @@
|
|
|
303
312
|
</Collection>
|
|
304
313
|
</Annotation>
|
|
305
314
|
</Annotations>
|
|
315
|
+
<Annotations Target="special.cases.E/EValue">
|
|
316
|
+
<Annotation Term="com.sap.vocabularies.Common.v1.ValueList" Qualifier="same">
|
|
317
|
+
<Record>
|
|
318
|
+
<PropertyValue Property="Label" String="Same label ;-)" />
|
|
319
|
+
</Record>
|
|
320
|
+
</Annotation>
|
|
321
|
+
<Annotation Term="com.sap.vocabularies.Common.v1.ValueListRelevantQualifiers">
|
|
322
|
+
<Collection>
|
|
323
|
+
<If>
|
|
324
|
+
<Eq>
|
|
325
|
+
<Path>EtoC/CValue</Path>
|
|
326
|
+
<Path>EtoC/CtoA/AValue</Path>
|
|
327
|
+
</Eq>
|
|
328
|
+
<String>same</String>
|
|
329
|
+
</If>
|
|
330
|
+
</Collection>
|
|
331
|
+
</Annotation>
|
|
332
|
+
</Annotations>
|
|
306
333
|
<Annotations Target="special.cases.ArtistsType">
|
|
307
334
|
<Annotation Qualifier="OldChart" Term="Org.OData.Aggregation.V1.RecursiveHierarchy">
|
|
308
335
|
<Record>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
sap.ui.define([
|
|
5
5
|
"sap/base/Log",
|
|
6
6
|
"sap/ui/base/SyncPromise",
|
|
7
|
+
"sap/ui/model/odata/ODataUtils",
|
|
7
8
|
"sap/ui/model/odata/v4/lib/_AggregationCache",
|
|
8
9
|
"sap/ui/model/odata/v4/lib/_AggregationHelper",
|
|
9
10
|
"sap/ui/model/odata/v4/lib/_Cache",
|
|
@@ -11,8 +12,8 @@ sap.ui.define([
|
|
|
11
12
|
"sap/ui/model/odata/v4/lib/_GroupLock",
|
|
12
13
|
"sap/ui/model/odata/v4/lib/_Helper",
|
|
13
14
|
"sap/ui/model/odata/v4/lib/_MinMaxHelper"
|
|
14
|
-
], function (Log, SyncPromise, _AggregationCache, _AggregationHelper, _Cache,
|
|
15
|
-
_GroupLock, _Helper, _MinMaxHelper) {
|
|
15
|
+
], function (Log, SyncPromise, ODataUtils, _AggregationCache, _AggregationHelper, _Cache,
|
|
16
|
+
_ConcatHelper, _GroupLock, _Helper, _MinMaxHelper) {
|
|
16
17
|
/*eslint no-sparse-arrays: 0 */
|
|
17
18
|
"use strict";
|
|
18
19
|
|
|
@@ -1547,7 +1548,7 @@ sap.ui.define([
|
|
|
1547
1548
|
oGrandTotal = {},
|
|
1548
1549
|
oGrandTotalCopy = {},
|
|
1549
1550
|
iOffset = oFixture.bHasGrandTotal && oFixture.grandTotalAtBottomOnly !== true ? 1 : 0,
|
|
1550
|
-
iPrefetchLength =
|
|
1551
|
+
iPrefetchLength = 20,
|
|
1551
1552
|
oReadResult = {
|
|
1552
1553
|
value : []
|
|
1553
1554
|
},
|
|
@@ -1563,12 +1564,12 @@ sap.ui.define([
|
|
|
1563
1564
|
oCache.oGrandTotalPromise = SyncPromise.resolve(oGrandTotal);
|
|
1564
1565
|
_Helper.setPrivateAnnotation(oGrandTotal, "copy", oGrandTotalCopy);
|
|
1565
1566
|
}
|
|
1566
|
-
for (i = 0; i < iFirstLevelLength; i += 1) {
|
|
1567
|
+
for (i = 0; i < Math.min(iFirstLevelLength + iPrefetchLength, 42); i += 1) {
|
|
1567
1568
|
oReadResult.value.push({});
|
|
1568
1569
|
}
|
|
1569
1570
|
oReadResult.value.$count = 42;
|
|
1570
1571
|
this.mock(oCache.oFirstLevel).expects("read")
|
|
1571
|
-
.withExactArgs(iFirstLevelIndex, iFirstLevelLength
|
|
1572
|
+
.withExactArgs(iFirstLevelIndex, iFirstLevelLength + iPrefetchLength, 0,
|
|
1572
1573
|
"~oGroupLock~", "~fnDataRequested~")
|
|
1573
1574
|
.returns(SyncPromise.resolve(Promise.resolve(oReadResult)));
|
|
1574
1575
|
if (oFixture.bHasGrandTotal) {
|
|
@@ -1604,7 +1605,7 @@ sap.ui.define([
|
|
|
1604
1605
|
.withExactArgs(iExpectedLevel, i, sinon.match.same(oCache.oFirstLevel))
|
|
1605
1606
|
.returns("~placeholder~" + i);
|
|
1606
1607
|
}
|
|
1607
|
-
for (i = iFirstLevelIndex + iFirstLevelLength; i < 42; i += 1) {
|
|
1608
|
+
for (i = iFirstLevelIndex + iFirstLevelLength + iPrefetchLength; i < 42; i += 1) {
|
|
1608
1609
|
oAggregationHelperMock.expects("createPlaceholder")
|
|
1609
1610
|
.withExactArgs(iExpectedLevel, i, sinon.match.same(oCache.oFirstLevel))
|
|
1610
1611
|
.returns("~placeholder~" + i);
|
|
@@ -1618,7 +1619,7 @@ sap.ui.define([
|
|
|
1618
1619
|
for (i = 0; i < iFirstLevelIndex; i += 1) {
|
|
1619
1620
|
assert.strictEqual(oCache.aElements[iOffset + i], "~placeholder~" + i);
|
|
1620
1621
|
}
|
|
1621
|
-
for (i = iFirstLevelIndex + iFirstLevelLength; i < 42; i += 1) {
|
|
1622
|
+
for (i = iFirstLevelIndex + iFirstLevelLength + iPrefetchLength; i < 42; i += 1) {
|
|
1622
1623
|
assert.strictEqual(oCache.aElements[iOffset + i], "~placeholder~" + i);
|
|
1623
1624
|
}
|
|
1624
1625
|
|
|
@@ -1721,47 +1722,94 @@ sap.ui.define([
|
|
|
1721
1722
|
},
|
|
1722
1723
|
oGroupLockMock = this.mock(oGroupLock),
|
|
1723
1724
|
aReadResult0 = [{}, {}],
|
|
1724
|
-
aReadResult1 = [{}];
|
|
1725
|
+
aReadResult1 = [{}, {}, {}, {}];
|
|
1725
1726
|
|
|
1726
1727
|
oCache.aElements = [
|
|
1727
1728
|
{/* expanded node */},
|
|
1728
1729
|
oFirstLeaf,
|
|
1729
1730
|
_AggregationHelper.createPlaceholder(1, 1, "~oGroupLevelCache~"),
|
|
1730
1731
|
_AggregationHelper.createPlaceholder(1, 2, "~oGroupLevelCache~"),
|
|
1731
|
-
_AggregationHelper.createPlaceholder(0, 1, "~oFirstLevelCache~")
|
|
1732
|
+
_AggregationHelper.createPlaceholder(0, 1, "~oFirstLevelCache~"),
|
|
1733
|
+
_AggregationHelper.createPlaceholder(0, 2, "~oFirstLevelCache~"),
|
|
1734
|
+
_AggregationHelper.createPlaceholder(0, 3, "~oFirstLevelCache~"),
|
|
1735
|
+
_AggregationHelper.createPlaceholder(0, 4, "~oFirstLevelCache~")
|
|
1732
1736
|
];
|
|
1733
1737
|
oCache.aElements.$byPredicate = {};
|
|
1734
|
-
oCache.aElements.$count =
|
|
1738
|
+
oCache.aElements.$count = 7;
|
|
1735
1739
|
|
|
1740
|
+
const oReadRangeExpectation = this.mock(ODataUtils).expects("_getReadRange")
|
|
1741
|
+
.withExactArgs(sinon.match.same(oCache.aElements), 1, 4, 5, sinon.match.func)
|
|
1742
|
+
.returns({length : 9, start : 1}); // note: beyond $count
|
|
1736
1743
|
oGroupLockMock.expects("getUnlockedCopy").withExactArgs().returns("~oGroupLockCopy0~");
|
|
1737
1744
|
oGroupLockMock.expects("getUnlockedCopy").withExactArgs().returns("~oGroupLockCopy1~");
|
|
1738
1745
|
oCacheMock.expects("readGap")
|
|
1739
1746
|
.withExactArgs("~oGroupLevelCache~", 2, 4, "~oGroupLockCopy0~", "~fnDataRequested~")
|
|
1740
1747
|
.returns(addElementsLater(oCache, aReadResult0, 2));
|
|
1741
1748
|
oCacheMock.expects("readGap")
|
|
1742
|
-
.withExactArgs("~oFirstLevelCache~", 4,
|
|
1749
|
+
.withExactArgs("~oFirstLevelCache~", 4, 8, "~oGroupLockCopy1~", "~fnDataRequested~")
|
|
1743
1750
|
.returns(addElementsLater(oCache, aReadResult1, 4));
|
|
1744
1751
|
oGroupLockMock.expects("unlock").withExactArgs();
|
|
1745
1752
|
|
|
1746
1753
|
// code under test
|
|
1747
|
-
return oCache.read(1, 4,
|
|
1754
|
+
return oCache.read(1, 4, 5, oGroupLock, "~fnDataRequested~").then((oResult) => {
|
|
1748
1755
|
assert.strictEqual(oResult.value.length, 4);
|
|
1749
1756
|
assert.strictEqual(oResult.value[0], oFirstLeaf);
|
|
1750
1757
|
assert.strictEqual(oResult.value[1], aReadResult0[0]);
|
|
1751
1758
|
assert.strictEqual(oResult.value[2], aReadResult0[1]);
|
|
1752
1759
|
assert.strictEqual(oResult.value[3], aReadResult1[0]);
|
|
1753
|
-
assert.strictEqual(oResult.value.$count,
|
|
1760
|
+
assert.strictEqual(oResult.value.$count, 7);
|
|
1754
1761
|
|
|
1755
1762
|
assert.strictEqual(oCache.aElements[1], oFirstLeaf);
|
|
1756
1763
|
assert.strictEqual(oCache.aElements[2], aReadResult0[0]);
|
|
1757
1764
|
assert.strictEqual(oCache.aElements[3], aReadResult0[1]);
|
|
1758
1765
|
assert.strictEqual(oCache.aElements[4], aReadResult1[0]);
|
|
1766
|
+
assert.strictEqual(oCache.aElements[5], aReadResult1[1]);
|
|
1767
|
+
assert.strictEqual(oCache.aElements[6], aReadResult1[2]);
|
|
1768
|
+
assert.strictEqual(oCache.aElements[7], aReadResult1[3]);
|
|
1769
|
+
|
|
1770
|
+
const fnReadRangeCallback = oReadRangeExpectation.args[0][4];
|
|
1771
|
+
|
|
1772
|
+
// code under test
|
|
1773
|
+
assert.notOk(fnReadRangeCallback({}));
|
|
1774
|
+
|
|
1775
|
+
const oGroupLevelCache = {isMissing : mustBeMocked};
|
|
1776
|
+
this.mock(oGroupLevelCache).expects("isMissing").withExactArgs(0).returns("~");
|
|
1777
|
+
let oEntity = {
|
|
1778
|
+
"@$ui5._" : {
|
|
1779
|
+
parent : oGroupLevelCache,
|
|
1780
|
+
placeholder : true,
|
|
1781
|
+
rank : 0
|
|
1782
|
+
}
|
|
1783
|
+
};
|
|
1784
|
+
|
|
1785
|
+
// code under test
|
|
1786
|
+
assert.strictEqual(fnReadRangeCallback(oEntity), "~");
|
|
1787
|
+
|
|
1788
|
+
oEntity = {
|
|
1789
|
+
"@$ui5._" : {
|
|
1790
|
+
placeholder : 1,
|
|
1791
|
+
predicate : "('~')"
|
|
1792
|
+
}
|
|
1793
|
+
};
|
|
1794
|
+
oCache.aElements.$byPredicate["('~')"] = oEntity;
|
|
1795
|
+
|
|
1796
|
+
// code under test
|
|
1797
|
+
assert.ok(fnReadRangeCallback(oEntity));
|
|
1798
|
+
|
|
1799
|
+
oCache.aElements.$byPredicate["('~')"] = SyncPromise.resolve();
|
|
1800
|
+
|
|
1801
|
+
// code under test
|
|
1802
|
+
assert.notOk(fnReadRangeCallback(oEntity));
|
|
1759
1803
|
});
|
|
1760
1804
|
});
|
|
1761
1805
|
|
|
1762
1806
|
//*********************************************************************************************
|
|
1763
|
-
[
|
|
1764
|
-
|
|
1807
|
+
[
|
|
1808
|
+
{iStart : 0, iLength : 1, iPrefetchLength : 0},
|
|
1809
|
+
{iStart : 0, iLength : 2, iPrefetchLength : 0},
|
|
1810
|
+
{iStart : 1, iLength : 1, iPrefetchLength : 1}
|
|
1811
|
+
].forEach(function (oFixture) {
|
|
1812
|
+
QUnit.test("read: gap at start " + JSON.stringify(oFixture), function (assert) {
|
|
1765
1813
|
var oAggregation = { // filled before by buildApply
|
|
1766
1814
|
aggregate : {},
|
|
1767
1815
|
group : {},
|
|
@@ -1782,6 +1830,10 @@ sap.ui.define([
|
|
|
1782
1830
|
oCache.aElements.$byPredicate = {};
|
|
1783
1831
|
oCache.aElements.$count = 42;
|
|
1784
1832
|
|
|
1833
|
+
this.mock(ODataUtils).expects("_getReadRange")
|
|
1834
|
+
.withExactArgs(sinon.match.same(oCache.aElements), oFixture.iStart, oFixture.iLength,
|
|
1835
|
+
oFixture.iPrefetchLength, sinon.match.func)
|
|
1836
|
+
.returns({length : 2, start : 0});
|
|
1785
1837
|
this.mock(oGroupLock).expects("getUnlockedCopy").withExactArgs()
|
|
1786
1838
|
.returns("~oGroupLockCopy~");
|
|
1787
1839
|
this.mock(oCache).expects("readGap")
|
|
@@ -1790,10 +1842,12 @@ sap.ui.define([
|
|
|
1790
1842
|
this.mock(oGroupLock).expects("unlock").withExactArgs();
|
|
1791
1843
|
|
|
1792
1844
|
// code under test
|
|
1793
|
-
return oCache.read(
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1845
|
+
return oCache.read(oFixture.iStart, oFixture.iLength, oFixture.iPrefetchLength, oGroupLock,
|
|
1846
|
+
"~fnDataRequested~"
|
|
1847
|
+
).then(function (oResult) {
|
|
1848
|
+
assert.strictEqual(oResult.value.length, oFixture.iLength);
|
|
1849
|
+
assert.strictEqual(oResult.value[0], oFixture.iStart ? oFirstLeaf : aReadResult[0]);
|
|
1850
|
+
if (oFixture.iLength > 1) {
|
|
1797
1851
|
assert.strictEqual(oResult.value[1], oFirstLeaf);
|
|
1798
1852
|
}
|
|
1799
1853
|
assert.strictEqual(oResult.value.$count, 42);
|
|
@@ -8585,7 +8585,7 @@ sap.ui.define([
|
|
|
8585
8585
|
this.mock(oCountChangeListener).expects("onChange");
|
|
8586
8586
|
this.mock(oCache).expects("visitResponse")
|
|
8587
8587
|
.withExactArgs(sinon.match.same(oPostResult), sinon.match.same(mTypeForMetaPath),
|
|
8588
|
-
"/TEAMS/TEAM_2_EMPLOYEES", sPathInCache + sTransientPredicate);
|
|
8588
|
+
"/TEAMS/TEAM_2_EMPLOYEES", sPathInCache + sTransientPredicate, undefined, true);
|
|
8589
8589
|
// simulate a lack of key predicate => the transient predicate is kept
|
|
8590
8590
|
oHelperMock.expects("getPrivateAnnotation")
|
|
8591
8591
|
.withExactArgs(sinon.match.same(oPostResult), "predicate")
|
|
@@ -9108,7 +9108,7 @@ sap.ui.define([
|
|
|
9108
9108
|
.returns({});
|
|
9109
9109
|
oCacheMock.expects("visitResponse")
|
|
9110
9110
|
.withExactArgs(sinon.match.same(oPostResult), sinon.match.same(mTypeForMetaPath),
|
|
9111
|
-
"/Employees", sTransientPredicate);
|
|
9111
|
+
"/Employees", sTransientPredicate, undefined, true);
|
|
9112
9112
|
oHelperMock.expects("updateSelected")
|
|
9113
9113
|
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sTransientPredicate,
|
|
9114
9114
|
sinon.match.same(oCache.aElements[0]), sinon.match.same(oPostResult), undefined,
|
|
@@ -12941,6 +12941,31 @@ sap.ui.define([
|
|
|
12941
12941
|
assert.strictEqual(oCache.iLimit, 3);
|
|
12942
12942
|
});
|
|
12943
12943
|
|
|
12944
|
+
//*********************************************************************************************
|
|
12945
|
+
QUnit.test("CollectionCache#isMissing", function (assert) {
|
|
12946
|
+
const oCache = _Cache.create(this.oRequestor, "SalesOrders");
|
|
12947
|
+
|
|
12948
|
+
oCache.aElements = [{}];
|
|
12949
|
+
|
|
12950
|
+
// code under test
|
|
12951
|
+
assert.notOk(oCache.isMissing(0));
|
|
12952
|
+
assert.ok(oCache.isMissing(1));
|
|
12953
|
+
|
|
12954
|
+
oCache.$tail = Promise.resolve();
|
|
12955
|
+
oCache.aReadRequests = [{iStart : 5, iEnd : 8}, {iStart : 20, iEnd : 10000}];
|
|
12956
|
+
|
|
12957
|
+
// code under test
|
|
12958
|
+
assert.notOk(oCache.isMissing(0));
|
|
12959
|
+
assert.ok(oCache.isMissing(4));
|
|
12960
|
+
assert.notOk(oCache.isMissing(5));
|
|
12961
|
+
assert.notOk(oCache.isMissing(7));
|
|
12962
|
+
assert.ok(oCache.isMissing(8));
|
|
12963
|
+
assert.ok(oCache.isMissing(19));
|
|
12964
|
+
assert.notOk(oCache.isMissing(20));
|
|
12965
|
+
assert.notOk(oCache.isMissing(9999));
|
|
12966
|
+
assert.ok(oCache.isMissing(10000));
|
|
12967
|
+
});
|
|
12968
|
+
|
|
12944
12969
|
//*********************************************************************************************
|
|
12945
12970
|
QUnit.test("from$skip", function (assert) {
|
|
12946
12971
|
var aCollection = [];
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/*global QUnit */
|
|
2
|
-
sap.ui.define([
|
|
2
|
+
sap.ui.define([
|
|
3
|
+
"sap/base/Log",
|
|
4
|
+
"sap/base/i18n/Localization",
|
|
5
|
+
"sap/ui/core/Locale",
|
|
6
|
+
"sap/ui/core/format/FileSizeFormat"
|
|
7
|
+
], function (Log, Localization, Locale, FileSizeFormat) {
|
|
3
8
|
"use strict";
|
|
4
9
|
|
|
5
10
|
var oFormatBinary = FileSizeFormat.getInstance({ binaryFilesize: true, maxFractionDigits: 2 }, new Locale("en"));
|
|
@@ -10,6 +15,7 @@ sap.ui.define(["sap/ui/core/format/FileSizeFormat", "sap/ui/core/Locale"], funct
|
|
|
10
15
|
var aDecimalUnitNames = ["Kilobyte", "Megabyte", "Gigabyte", "Terabyte", "Petabyte", "Exabyte", "Zettabyte", "Yottabyte"];
|
|
11
16
|
var aBinaryUnits;
|
|
12
17
|
var aDecimalUnits;
|
|
18
|
+
const sDefaultLanguage = Localization.getLanguage();
|
|
13
19
|
|
|
14
20
|
function extractUnits(names) {
|
|
15
21
|
return names.map(function (name) {
|
|
@@ -91,6 +97,15 @@ sap.ui.define(["sap/ui/core/format/FileSizeFormat", "sap/ui/core/Locale"], funct
|
|
|
91
97
|
QUnit.module("sap.ui.core.format.FileSizeFormat", {
|
|
92
98
|
before() {
|
|
93
99
|
this.__ignoreIsolatedCoverage__ = true;
|
|
100
|
+
},
|
|
101
|
+
beforeEach() {
|
|
102
|
+
this.oLogMock = this.mock(Log);
|
|
103
|
+
this.oLogMock.expects("warning").never();
|
|
104
|
+
this.oLogMock.expects("error").never();
|
|
105
|
+
Localization.setLanguage("en-US");
|
|
106
|
+
},
|
|
107
|
+
afterEach() {
|
|
108
|
+
Localization.setLanguage(sDefaultLanguage);
|
|
94
109
|
}
|
|
95
110
|
});
|
|
96
111
|
|
|
@@ -108,6 +123,7 @@ sap.ui.define(["sap/ui/core/format/FileSizeFormat", "sap/ui/core/Locale"], funct
|
|
|
108
123
|
checkFormat("binary", "1", "1 Byte");
|
|
109
124
|
checkFormat("binary", "0x1", "1 Byte");
|
|
110
125
|
checkFormat("binary", 1048575, "1 MiB");
|
|
126
|
+
checkFormat("binary", NaN, " Byte"); // NumberFormat by default formats NaN to empty string
|
|
111
127
|
});
|
|
112
128
|
|
|
113
129
|
QUnit.test("format decimal", function (assert) {
|
|
@@ -124,6 +140,7 @@ sap.ui.define(["sap/ui/core/format/FileSizeFormat", "sap/ui/core/Locale"], funct
|
|
|
124
140
|
checkFormat("decimal", "1", "1 Byte");
|
|
125
141
|
checkFormat("decimal", "0x1", "1 Byte");
|
|
126
142
|
checkFormat("decimal", 999999, "1 MB");
|
|
143
|
+
checkFormat("binary", NaN, " Byte");
|
|
127
144
|
});
|
|
128
145
|
|
|
129
146
|
QUnit.test("format default", function (assert) {
|
|
@@ -139,6 +156,7 @@ sap.ui.define(["sap/ui/core/format/FileSizeFormat", "sap/ui/core/Locale"], funct
|
|
|
139
156
|
checkFormat("default", 1, "1 Byte");
|
|
140
157
|
checkFormat("default", "1", "1 Byte");
|
|
141
158
|
checkFormat("default", "0x1", "1 Byte");
|
|
159
|
+
checkFormat("binary", NaN, " Byte");
|
|
142
160
|
});
|
|
143
161
|
|
|
144
162
|
QUnit.test("parse binary", function (assert) {
|
|
@@ -353,6 +353,12 @@ sap.ui.define([
|
|
|
353
353
|
{
|
|
354
354
|
targetDate: Date.UTC(2011, 11, 30, 0),
|
|
355
355
|
targetTimezone: "Pacific/Apia",
|
|
356
|
+
// even if time zone offset is +14:00, timezoneDiff has to be 10 otherwise we get a wrong date
|
|
357
|
+
timezoneDiff: 10
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
targetDate: Date.UTC(2011, 11, 31, 0),
|
|
361
|
+
targetTimezone: "Pacific/Apia",
|
|
356
362
|
timezoneDiff: -14
|
|
357
363
|
}
|
|
358
364
|
].forEach(function (oFixture) {
|
|
@@ -619,5 +625,111 @@ sap.ui.define([
|
|
|
619
625
|
year: "1970"
|
|
620
626
|
});
|
|
621
627
|
});
|
|
622
|
-
|
|
623
|
-
|
|
628
|
+
|
|
629
|
+
//*********************************************************************************************
|
|
630
|
+
[
|
|
631
|
+
{oDate: new Date(Date.UTC(2023, 8, 30, 15)), iExpectedOffset: -10},
|
|
632
|
+
{oDate: new Date(Date.UTC(2023, 9, 1, 3)), iExpectedOffset: -11},
|
|
633
|
+
{oDate: new Date(Date.UTC(2023, 9, 1, 2)), iExpectedOffset: -10},
|
|
634
|
+
{oDate: new Date(Date.UTC(2023, 8, 30, 16)), iExpectedOffset: -10},
|
|
635
|
+
{oDate: new Date(Date.UTC(2024, 3, 6, 15)), iExpectedOffset: -11},
|
|
636
|
+
{oDate: new Date(Date.UTC(2024, 3, 7, 14)), iExpectedOffset: -10},
|
|
637
|
+
{oDate: new Date(Date.UTC(2024, 3, 6, 17)), iExpectedOffset: -11}
|
|
638
|
+
].forEach((oFixture, i) => {
|
|
639
|
+
QUnit.test("calculateOffset: Australia/Hobart, #" + i, function (assert) {
|
|
640
|
+
assert.strictEqual(TimezoneUtil.calculateOffset(oFixture.oDate, "Australia/Hobart"),
|
|
641
|
+
oFixture.iExpectedOffset * 3600);
|
|
642
|
+
});
|
|
643
|
+
});
|
|
644
|
+
|
|
645
|
+
//*********************************************************************************************
|
|
646
|
+
[
|
|
647
|
+
{oDate: new Date(Date.UTC(2023, 8, 2, 21)), iExpectedOffset: 6},
|
|
648
|
+
{oDate: new Date(Date.UTC(2023, 8, 2, 22)), iExpectedOffset: 6},
|
|
649
|
+
{oDate: new Date(Date.UTC(2023, 8, 2, 23)), iExpectedOffset: 5},
|
|
650
|
+
{oDate: new Date(Date.UTC(2023, 8, 3, 10)), iExpectedOffset: 5},
|
|
651
|
+
{oDate: new Date(Date.UTC(2024, 3, 6, 21)), iExpectedOffset: 5},
|
|
652
|
+
{oDate: new Date(Date.UTC(2024, 3, 7, 2)), iExpectedOffset: 6},
|
|
653
|
+
{oDate: new Date(Date.UTC(2024, 3, 8, 10)), iExpectedOffset: 6}
|
|
654
|
+
].forEach((oFixture, i) => {
|
|
655
|
+
QUnit.test("calculateOffset: Pacific/Easter, #" + i, function (assert) {
|
|
656
|
+
assert.strictEqual(TimezoneUtil.calculateOffset(oFixture.oDate, "Pacific/Easter"),
|
|
657
|
+
oFixture.iExpectedOffset * 3600);
|
|
658
|
+
});
|
|
659
|
+
});
|
|
660
|
+
|
|
661
|
+
//*********************************************************************************************
|
|
662
|
+
QUnit.test("calculateOffset: Daylight Saving Time (DST) switch far away", function (assert) {
|
|
663
|
+
const oDate = {getTime() {}};
|
|
664
|
+
const oDateInTimezone = {getTime() {}};
|
|
665
|
+
const sTimezone = "~sTimezone";
|
|
666
|
+
const oTimezoneUtilMock = this.mock(TimezoneUtil);
|
|
667
|
+
this.mock(oDate).expects("getTime").returns(42000);
|
|
668
|
+
this.mock(oDateInTimezone).expects("getTime").returns(13000);
|
|
669
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(sinon.match.same(oDate), sTimezone)
|
|
670
|
+
.returns(oDateInTimezone);
|
|
671
|
+
// -> iInitialOffset = 42000 - 13000 = 29000
|
|
672
|
+
const oFirstGuessInTimezone = {getTime() {}};
|
|
673
|
+
this.mock(oFirstGuessInTimezone).expects("getTime").returns(42000);
|
|
674
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(new Date(/*42000 + 29000*/71000), sTimezone)
|
|
675
|
+
.returns(oFirstGuessInTimezone);
|
|
676
|
+
// -> iSecondOffset = 71000 - 42000 = 29000
|
|
677
|
+
|
|
678
|
+
// code under test - both time zone offsets are equal
|
|
679
|
+
assert.strictEqual(TimezoneUtil.calculateOffset(oDate, sTimezone), 29);
|
|
680
|
+
});
|
|
681
|
+
|
|
682
|
+
//*********************************************************************************************
|
|
683
|
+
QUnit.test("calculateOffset: DST switch, second guess matches", function (assert) {
|
|
684
|
+
const oDate = {getTime() {}};
|
|
685
|
+
const oDateInTimezone = {getTime() {}};
|
|
686
|
+
const sTimezone = "~sTimezone";
|
|
687
|
+
const oTimezoneUtilMock = this.mock(TimezoneUtil);
|
|
688
|
+
this.mock(oDate).expects("getTime").returns(42000);
|
|
689
|
+
this.mock(oDateInTimezone).expects("getTime").returns(13000);
|
|
690
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(sinon.match.same(oDate), sTimezone)
|
|
691
|
+
.returns(oDateInTimezone);
|
|
692
|
+
// -> iInitialOffset = 42000 - 13000 = 29000
|
|
693
|
+
const oFirstGuessInTimezone = {getTime() {}};
|
|
694
|
+
this.mock(oFirstGuessInTimezone).expects("getTime").returns(38000);
|
|
695
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(new Date(/*42000 + 29000*/71000), sTimezone)
|
|
696
|
+
.returns(oFirstGuessInTimezone);
|
|
697
|
+
// -> iSecondOffset = 71000 - 38000 = 33000
|
|
698
|
+
const oSecondGuessInTimezone = {getTime() {}};
|
|
699
|
+
this.mock(oSecondGuessInTimezone).expects("getTime").returns(42000);
|
|
700
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(new Date(/*42000 + 33000*/75000), sTimezone)
|
|
701
|
+
.returns(oSecondGuessInTimezone);
|
|
702
|
+
|
|
703
|
+
// code under test - both time zone offsets are equal
|
|
704
|
+
assert.strictEqual(TimezoneUtil.calculateOffset(oDate, sTimezone), 33);
|
|
705
|
+
});
|
|
706
|
+
|
|
707
|
+
//*********************************************************************************************
|
|
708
|
+
[true, false].forEach((bUseFirstOffset) => {
|
|
709
|
+
const sTitle = "calculateOffset: DST switch, second guess doesn't match, use "
|
|
710
|
+
+ (bUseFirstOffset ? "first" : "second") + " offset";
|
|
711
|
+
QUnit.test(sTitle, function (assert) {
|
|
712
|
+
const oDate = {getTime() {}};
|
|
713
|
+
const oDateInTimezone = {getTime() {}};
|
|
714
|
+
const sTimezone = "~sTimezone";
|
|
715
|
+
const oTimezoneUtilMock = this.mock(TimezoneUtil);
|
|
716
|
+
this.mock(oDate).expects("getTime").returns(42000);
|
|
717
|
+
this.mock(oDateInTimezone).expects("getTime").returns(13000);
|
|
718
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(sinon.match.same(oDate), sTimezone)
|
|
719
|
+
.returns(oDateInTimezone);
|
|
720
|
+
// -> iInitialOffset = 42000 - 13000 = 29000
|
|
721
|
+
const oFirstGuessInTimezone = {getTime() {}};
|
|
722
|
+
this.mock(oFirstGuessInTimezone).expects("getTime").returns(38000);
|
|
723
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(new Date(/*42000 + 29000*/71000), sTimezone)
|
|
724
|
+
.returns(oFirstGuessInTimezone);
|
|
725
|
+
// -> iSecondOffset = 71000 - 38000 = 33000
|
|
726
|
+
const oSecondGuessInTimezone = {getTime() {}};
|
|
727
|
+
this.mock(oSecondGuessInTimezone).expects("getTime").returns(bUseFirstOffset ? 34000 : 44000);
|
|
728
|
+
oTimezoneUtilMock.expects("convertToTimezone").withExactArgs(new Date(/*42000 + 33000*/75000), sTimezone)
|
|
729
|
+
.returns(oSecondGuessInTimezone);
|
|
730
|
+
|
|
731
|
+
// code under test - both time zone offsets are equal
|
|
732
|
+
assert.strictEqual(TimezoneUtil.calculateOffset(oDate, sTimezone), bUseFirstOffset ? 29 : 33);
|
|
733
|
+
});
|
|
734
|
+
});
|
|
735
|
+
});
|
|
@@ -243,6 +243,26 @@ sap.ui.define([
|
|
|
243
243
|
assert.strictEqual(oContentAggregation[1], oMovedButton);
|
|
244
244
|
});
|
|
245
245
|
|
|
246
|
+
QUnit.test("replaceAllAggregation", async function(assert) {
|
|
247
|
+
const oHBox = this.oXmlView.byId("hbox1");
|
|
248
|
+
const aNewControls = [
|
|
249
|
+
new Button("button4"),
|
|
250
|
+
new Button("button5"),
|
|
251
|
+
new Button("button6")
|
|
252
|
+
];
|
|
253
|
+
const aOldControls = oHBox.getItems();
|
|
254
|
+
await JsControlTreeModifier.replaceAllAggregation(oHBox, "items", aNewControls);
|
|
255
|
+
const aItems = oHBox.getItems();
|
|
256
|
+
assert.strictEqual(aItems.length, 3, "the aggregation has 3 items");
|
|
257
|
+
assert.strictEqual(aItems[0].getId(), "button4", "the items are the new ones");
|
|
258
|
+
assert.strictEqual(aItems[1].getId(), "button5", "the items are the new ones");
|
|
259
|
+
assert.strictEqual(aItems[2].getId(), "button6", "the items are the new ones");
|
|
260
|
+
|
|
261
|
+
aOldControls.forEach((oControl) => {
|
|
262
|
+
oControl.destroy();
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
|
|
246
266
|
QUnit.test("createAndAddCustomData adds Custom Data properly", function(assert) {
|
|
247
267
|
var oCreateStub = sandbox.stub(JsControlTreeModifier, "createControl").resolves("foo");
|
|
248
268
|
var oSetPropertyStub = sandbox.stub(JsControlTreeModifier, "setProperty");
|
|
@@ -207,8 +207,8 @@ sap.ui.define([
|
|
|
207
207
|
assert.equal(aDefaultAggregationElements.length, 2);
|
|
208
208
|
assert.equal(aDefaultAggregationElements[0].localName, "Label");
|
|
209
209
|
assert.equal(aDefaultAggregationElements[0].namespaceURI, "sap.m");
|
|
210
|
-
assert.equal(aDefaultAggregationElements[
|
|
211
|
-
assert.equal(aDefaultAggregationElements[
|
|
210
|
+
assert.equal(aDefaultAggregationElements[1].localName, "Label");
|
|
211
|
+
assert.equal(aDefaultAggregationElements[1].namespaceURI, "sap.m");
|
|
212
212
|
});
|
|
213
213
|
});
|
|
214
214
|
|
|
@@ -485,6 +485,24 @@ sap.ui.define([
|
|
|
485
485
|
});
|
|
486
486
|
});
|
|
487
487
|
|
|
488
|
+
[0, 1].forEach(function(iIndex) {
|
|
489
|
+
QUnit.test(`replaceAllAggregation ${iIndex}`, async function(assert) {
|
|
490
|
+
const oVBox = XmlTreeModifier._children(this.oXmlView)[iIndex];
|
|
491
|
+
const oNewItem1 = await XmlTreeModifier.createControl("sap.m.Text", this.oComponent, this.oXmlView2);
|
|
492
|
+
const oNewItem2 = await XmlTreeModifier.createControl("sap.m.Text", this.oComponent, this.oXmlView2);
|
|
493
|
+
const oNewItem3 = await XmlTreeModifier.createControl("sap.m.Text", this.oComponent, this.oXmlView2);
|
|
494
|
+
await XmlTreeModifier.replaceAllAggregation(oVBox, "items", [oNewItem1, oNewItem2, oNewItem3]);
|
|
495
|
+
const oNewAggregation = await XmlTreeModifier.getAggregation(oVBox, "items");
|
|
496
|
+
assert.strictEqual(oNewAggregation.length, 3, "three items are in the aggregation");
|
|
497
|
+
assert.strictEqual(oNewAggregation[0].localName, "Text");
|
|
498
|
+
assert.strictEqual(oNewAggregation[0].namespaceURI, "sap.m");
|
|
499
|
+
assert.strictEqual(oNewAggregation[1].localName, "Text");
|
|
500
|
+
assert.strictEqual(oNewAggregation[1].namespaceURI, "sap.m");
|
|
501
|
+
assert.strictEqual(oNewAggregation[2].localName, "Text");
|
|
502
|
+
assert.strictEqual(oNewAggregation[2].namespaceURI, "sap.m");
|
|
503
|
+
});
|
|
504
|
+
});
|
|
505
|
+
|
|
488
506
|
QUnit.test("getVisible", function (assert) {
|
|
489
507
|
var oVBox = XmlTreeModifier._children(this.oXmlView)[0];
|
|
490
508
|
var aChildNodes = XmlTreeModifier._children(oVBox);
|
|
@@ -663,5 +663,57 @@
|
|
|
663
663
|
]
|
|
664
664
|
}
|
|
665
665
|
]
|
|
666
|
+
},
|
|
667
|
+
"1.120.3": {
|
|
668
|
+
"date": "January 2024",
|
|
669
|
+
"notes": [
|
|
670
|
+
{
|
|
671
|
+
"id": "f4688297e2b2df8f83eb5c8c533d3ac72d9e0cda",
|
|
672
|
+
"type": "FIX",
|
|
673
|
+
"text": " sap.ui.model.odata.v2.ODataTreeBinding: consider deep path for context"
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"id": "f8667e5865f4f831d6019ce3be63818a29c36f49",
|
|
677
|
+
"type": "FIX",
|
|
678
|
+
"text": " sap.base.i18n.date.TimezoneUtils.calculateOffset: Fix Daylight Saving Time issues",
|
|
679
|
+
"references": [
|
|
680
|
+
{
|
|
681
|
+
"type": "BCP",
|
|
682
|
+
"reference": "2370140369"
|
|
683
|
+
}
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
]
|
|
687
|
+
},
|
|
688
|
+
"1.120.4": {
|
|
689
|
+
"date": "January 2024",
|
|
690
|
+
"notes": [
|
|
691
|
+
{
|
|
692
|
+
"id": "af61e41ea8060843c7d3d2d0cf4a3fd62f2077f7",
|
|
693
|
+
"type": "FIX",
|
|
694
|
+
"text": " sap/ui/model/odata/ODataMetadata#_getPropertyMetadata: fix for complex type property"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"id": "c22c5b0911ca2a9af5a5488e69e4d3a6f484ad1b",
|
|
698
|
+
"type": "FIX",
|
|
699
|
+
"text": " sap.ui.core.cldr.zh_TW.json: Replace \"B\" to \"a\" in default timeFormats",
|
|
700
|
+
"references": [
|
|
701
|
+
{
|
|
702
|
+
"type": "BCP",
|
|
703
|
+
"reference": "2380141822"
|
|
704
|
+
}
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"id": "3473d4adbd3220a2f1251663d5f1955a95b09c30",
|
|
709
|
+
"type": "FIX",
|
|
710
|
+
"text": " sap/ui/model/odata/_ODataMetaModelUtils#merge: liftSAPData is called with correct parameters"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"id": "b3b59d532ae43e5f230f21449e85c89d702156a6",
|
|
714
|
+
"type": "FIX",
|
|
715
|
+
"text": " sap.ui.model.analytics.AnalyticalBinding: handle properties of type Edm.time in grouping"
|
|
716
|
+
}
|
|
717
|
+
]
|
|
666
718
|
}
|
|
667
719
|
}
|