@openui5/sap.ui.core 1.108.2 → 1.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +7 -25
- package/.reuse/dep5 +16 -16
- package/THIRDPARTY.txt +2 -2
- 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/Log.js +126 -85
- package/src/sap/base/assert.js +1 -1
- package/src/sap/base/i18n/ResourceBundle.js +42 -12
- 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 +4 -4
- package/src/sap/base/util/includes.js +2 -2
- 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 +2 -2
- package/src/sap/base/util/uid.js +1 -1
- package/src/sap/base/util/values.js +3 -2
- 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/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 +337 -233
- package/src/sap/ui/base/ManagedObjectMetadata.js +8 -6
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
- package/src/sap/ui/base/ManagedObjectRegistry.js +1 -1
- package/src/sap/ui/base/Metadata.js +2 -2
- package/src/sap/ui/base/Object.js +21 -12
- 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 +4 -4
- package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
- package/src/sap/ui/core/AppCacheBuster.js +1 -1
- package/src/sap/ui/core/BlockLayerUtils.js +11 -4
- package/src/sap/ui/core/BusyIndicator.js +7 -5
- 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 +48 -34
- package/src/sap/ui/core/ComponentContainer.js +3 -3
- package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +2 -2
- package/src/sap/ui/core/Configuration.js +10 -7
- package/src/sap/ui/core/ContextMenuSupport.js +1 -1
- package/src/sap/ui/core/Control.js +11 -21
- package/src/sap/ui/core/Core.js +66 -986
- 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 +109 -28
- package/src/sap/ui/core/ElementMetadata.js +2 -2
- 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 +5 -3
- 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 +6 -6
- 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 +11 -7
- 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 +1595 -0
- 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 +254 -26
- package/src/sap/ui/core/Manifest.js +5 -3
- package/src/sap/ui/core/Message.js +2 -2
- package/src/sap/ui/core/Patcher.js +1 -1
- package/src/sap/ui/core/Placeholder.js +3 -3
- package/src/sap/ui/core/Popup.js +1 -1
- package/src/sap/ui/core/RenderManager.js +83 -51
- package/src/sap/ui/core/Renderer.js +2 -2
- package/src/sap/ui/core/Rendering.js +30 -10
- package/src/sap/ui/core/ResizeHandler.js +61 -21
- 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 +5 -5
- package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
- package/src/sap/ui/core/StashedControlSupport.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 +10 -8
- package/src/sap/ui/core/UIComponent.js +9 -7
- package/src/sap/ui/core/UIComponentMetadata.js +2 -2
- package/src/sap/ui/core/ValueStateSupport.js +6 -6
- 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 +7 -7
- package/src/sap/ui/core/_ConfigurationProvider.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +5 -4
- package/src/sap/ui/core/_UrlResolver.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 +1133 -429
- package/src/sap/ui/core/cldr/ar_EG.json +1133 -429
- package/src/sap/ui/core/cldr/ar_SA.json +1228 -525
- package/src/sap/ui/core/cldr/bg.json +815 -284
- package/src/sap/ui/core/cldr/ca.json +670 -101
- package/src/sap/ui/core/cldr/cs.json +689 -60
- package/src/sap/ui/core/cldr/cy.json +714 -325
- package/src/sap/ui/core/cldr/da.json +814 -305
- package/src/sap/ui/core/cldr/de.json +679 -115
- package/src/sap/ui/core/cldr/de_AT.json +669 -105
- package/src/sap/ui/core/cldr/de_CH.json +681 -117
- package/src/sap/ui/core/cldr/el.json +603 -128
- package/src/sap/ui/core/cldr/el_CY.json +603 -128
- package/src/sap/ui/core/cldr/en.json +600 -34
- package/src/sap/ui/core/cldr/en_AU.json +787 -210
- package/src/sap/ui/core/cldr/en_GB.json +759 -181
- package/src/sap/ui/core/cldr/en_HK.json +801 -221
- package/src/sap/ui/core/cldr/en_IE.json +800 -223
- package/src/sap/ui/core/cldr/en_IN.json +804 -223
- package/src/sap/ui/core/cldr/en_NZ.json +799 -222
- package/src/sap/ui/core/cldr/en_PG.json +800 -223
- package/src/sap/ui/core/cldr/en_SG.json +789 -209
- package/src/sap/ui/core/cldr/en_ZA.json +797 -220
- package/src/sap/ui/core/cldr/es.json +884 -385
- package/src/sap/ui/core/cldr/es_AR.json +791 -291
- package/src/sap/ui/core/cldr/es_BO.json +800 -300
- package/src/sap/ui/core/cldr/es_CL.json +758 -258
- package/src/sap/ui/core/cldr/es_CO.json +759 -259
- package/src/sap/ui/core/cldr/es_MX.json +945 -445
- package/src/sap/ui/core/cldr/es_PE.json +725 -225
- package/src/sap/ui/core/cldr/es_UY.json +729 -229
- package/src/sap/ui/core/cldr/es_VE.json +728 -228
- package/src/sap/ui/core/cldr/et.json +763 -232
- package/src/sap/ui/core/cldr/fa.json +975 -416
- package/src/sap/ui/core/cldr/fi.json +755 -125
- package/src/sap/ui/core/cldr/fr.json +606 -65
- package/src/sap/ui/core/cldr/fr_BE.json +603 -62
- package/src/sap/ui/core/cldr/fr_CA.json +622 -81
- package/src/sap/ui/core/cldr/fr_CH.json +603 -62
- package/src/sap/ui/core/cldr/fr_LU.json +606 -65
- package/src/sap/ui/core/cldr/he.json +1097 -538
- package/src/sap/ui/core/cldr/hi.json +630 -100
- package/src/sap/ui/core/cldr/hr.json +833 -80
- package/src/sap/ui/core/cldr/hu.json +670 -82
- package/src/sap/ui/core/cldr/id.json +686 -174
- package/src/sap/ui/core/cldr/it.json +586 -76
- package/src/sap/ui/core/cldr/it_CH.json +586 -76
- package/src/sap/ui/core/cldr/ja.json +592 -41
- package/src/sap/ui/core/cldr/kk.json +614 -69
- package/src/sap/ui/core/cldr/ko.json +673 -120
- package/src/sap/ui/core/cldr/lt.json +622 -87
- package/src/sap/ui/core/cldr/lv.json +741 -202
- package/src/sap/ui/core/cldr/ms.json +731 -250
- package/src/sap/ui/core/cldr/nb.json +624 -98
- package/src/sap/ui/core/cldr/nl.json +642 -63
- package/src/sap/ui/core/cldr/nl_BE.json +642 -63
- package/src/sap/ui/core/cldr/pl.json +821 -168
- package/src/sap/ui/core/cldr/pt.json +862 -350
- package/src/sap/ui/core/cldr/pt_PT.json +860 -346
- package/src/sap/ui/core/cldr/ro.json +668 -123
- package/src/sap/ui/core/cldr/ru.json +801 -211
- package/src/sap/ui/core/cldr/ru_UA.json +800 -210
- package/src/sap/ui/core/cldr/sk.json +674 -48
- package/src/sap/ui/core/cldr/sl.json +921 -295
- package/src/sap/ui/core/cldr/sr.json +698 -177
- package/src/sap/ui/core/cldr/sr_Latn.json +687 -178
- package/src/sap/ui/core/cldr/sv.json +770 -250
- package/src/sap/ui/core/cldr/th.json +746 -162
- package/src/sap/ui/core/cldr/tr.json +688 -98
- package/src/sap/ui/core/cldr/uk.json +936 -333
- package/src/sap/ui/core/cldr/vi.json +582 -70
- package/src/sap/ui/core/cldr/zh_CN.json +889 -333
- package/src/sap/ui/core/cldr/zh_HK.json +860 -304
- package/src/sap/ui/core/cldr/zh_SG.json +865 -309
- package/src/sap/ui/core/cldr/zh_TW.json +747 -177
- 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 +31 -1
- package/src/sap/ui/core/date/Persian.js +1 -1
- 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 +18 -14
- package/src/sap/ui/core/delegate/ScrollEnablement.js +40 -3
- 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 +3 -3
- 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 +549 -294
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
- package/src/sap/ui/core/format/FileSizeFormat.js +15 -5
- package/src/sap/ui/core/format/ListFormat.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +155 -161
- package/src/sap/ui/core/format/TimezoneUtil.js +3 -3
- 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 +41 -13
- 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/messagebundle_bg.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +1 -1
- 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 +4 -9
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/ViewType.js +5 -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 +3 -3
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
- package/src/sap/ui/core/postmessage/Bus.js +13 -18
- 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 +19 -3
- package/src/sap/ui/core/routing/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/Targets.js +7 -15
- 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 +15 -23
- package/src/sap/ui/core/routing/async/TargetCache.js +1 -3
- 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 -2
- 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 +9 -8
- package/src/sap/ui/core/support/Support.js +20 -12
- 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.fragment.xml +2 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +8 -6
- package/src/sap/ui/core/support/techinfo/TechnicalInfoDebugDialog.fragment.xml +1 -0
- 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/Icon.less +17 -4
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +606 -92
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/global.less +64 -0
- package/src/sap/ui/core/themes/base/library.source.less +1 -1
- package/src/sap/ui/core/themes/sap_hcb/global.less +65 -0
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/core/theming/Parameters.js +15 -14
- package/src/sap/ui/core/theming/ThemeHelper.js +48 -26
- package/src/sap/ui/core/theming/ThemeManager.js +4 -22
- 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/MockServerAnnotationsHandler.js +1 -1
- 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/reflection/BaseTreeModifier.js +13 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +28 -4
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +17 -4
- 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/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 +53 -0
- 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 +230 -164
- 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 +4 -10
- package/src/sap/ui/model/MetaModel.js +2 -2
- package/src/sap/ui/model/Model.js +3 -3
- 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 +17 -7
- 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 +7 -3
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +54 -28
- 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 +13 -5
- 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 +28 -22
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
- package/src/sap/ui/model/odata/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/OperationMode.js +1 -1
- package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +2 -2
- package/src/sap/ui/model/odata/type/Byte.js +3 -3
- package/src/sap/ui/model/odata/type/Currency.js +9 -5
- package/src/sap/ui/model/odata/type/Date.js +3 -3
- 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 +3 -3
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/ui/model/odata/type/Decimal.js +4 -4
- package/src/sap/ui/model/odata/type/Double.js +4 -4
- 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 +4 -4
- package/src/sap/ui/model/odata/type/Int32.js +4 -4
- package/src/sap/ui/model/odata/type/Int64.js +4 -4
- package/src/sap/ui/model/odata/type/ODataType.js +2 -2
- package/src/sap/ui/model/odata/type/Raw.js +2 -2
- package/src/sap/ui/model/odata/type/SByte.js +3 -3
- package/src/sap/ui/model/odata/type/Single.js +4 -4
- 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 +3 -3
- package/src/sap/ui/model/odata/type/TimeOfDay.js +3 -3
- package/src/sap/ui/model/odata/type/Unit.js +8 -5
- 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 +3 -5
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +4 -5
- 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 +230 -127
- package/src/sap/ui/model/odata/v4/ODataBinding.js +4 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +119 -83
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +257 -183
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +3 -4
- package/src/sap/ui/model/odata/v4/ODataModel.js +68 -14
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -13
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +19 -5
- package/src/sap/ui/model/odata/v4/ODataUtils.js +7 -7
- 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 +422 -162
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +122 -22
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +20 -13
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +225 -149
- 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 +122 -14
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +29 -14
- 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/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 +4 -3
- package/src/sap/ui/model/type/Float.js +4 -3
- package/src/sap/ui/model/type/Integer.js +4 -3
- 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 +10 -6
- package/src/sap/ui/qunit/QUnitUtils.js +15 -3
- package/src/sap/ui/qunit/qunit-2-css.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/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/BlanketReporterUI.view.xml +2 -5
- package/src/sap/ui/test/BranchTracking.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 +2 -2
- package/src/sap/ui/test/OpaExtension.js +2 -2
- package/src/sap/ui/test/OpaPlugin.js +27 -6
- package/src/sap/ui/test/PageObjectFactory.js +12 -10
- package/src/sap/ui/test/RecordReplay.js +2 -2
- package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
- package/src/sap/ui/test/TestUtils.js +78 -92
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
- package/src/sap/ui/test/_ControlFinder.js +254 -238
- package/src/sap/ui/test/_FocusListener.js +49 -0
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/_OpaLogger.js +2 -2
- 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 +17 -3
- 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 +37 -5
- 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/_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 +6 -3
- 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 +22 -11
- package/src/sap/ui/test/generic/TestBase.js +2 -2
- package/src/sap/ui/test/generic/Utils.js +2 -2
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +5 -5
- 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 +2 -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 +18 -19
- package/src/sap/ui/util/Storage.js +91 -64
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -42,6 +42,9 @@ sap.ui.define([
|
|
|
42
42
|
// shortcut for the sap.ui.core.ID type
|
|
43
43
|
var IDType;
|
|
44
44
|
|
|
45
|
+
// Binding info factory symbol
|
|
46
|
+
var BINDING_INFO_FACTORY_SYMBOL = Symbol("bindingInfoFactory");
|
|
47
|
+
|
|
45
48
|
/**
|
|
46
49
|
* Constructs and initializes a managed object with the given <code>sId</code> and settings.
|
|
47
50
|
*
|
|
@@ -248,7 +251,7 @@ sap.ui.define([
|
|
|
248
251
|
*
|
|
249
252
|
* @extends sap.ui.base.EventProvider
|
|
250
253
|
* @author SAP SE
|
|
251
|
-
* @version 1.
|
|
254
|
+
* @version 1.110.0
|
|
252
255
|
* @public
|
|
253
256
|
* @alias sap.ui.base.ManagedObject
|
|
254
257
|
*/
|
|
@@ -595,85 +598,150 @@ sap.ui.define([
|
|
|
595
598
|
*/
|
|
596
599
|
|
|
597
600
|
/**
|
|
598
|
-
*
|
|
599
|
-
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
*
|
|
607
|
-
* <
|
|
608
|
-
*
|
|
609
|
-
* <
|
|
610
|
-
*
|
|
611
|
-
*
|
|
612
|
-
*
|
|
613
|
-
*
|
|
614
|
-
*
|
|
615
|
-
*
|
|
616
|
-
*
|
|
617
|
-
*
|
|
618
|
-
*
|
|
619
|
-
*
|
|
620
|
-
*
|
|
621
|
-
*
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
632
|
-
*
|
|
633
|
-
*
|
|
634
|
-
*
|
|
635
|
-
*
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
*
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
*
|
|
642
|
-
*
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
*
|
|
646
|
-
*
|
|
647
|
-
*
|
|
648
|
-
*
|
|
649
|
-
*
|
|
650
|
-
*
|
|
651
|
-
*
|
|
601
|
+
* @typedef {sap.ui.base.Object.MetadataOptions} sap.ui.base.ManagedObject.MetadataOptions
|
|
602
|
+
*
|
|
603
|
+
* The structure of the "metadata" object which is passed when inheriting from sap.ui.base.ManagedObject using its static "extend" method.
|
|
604
|
+
* See {@link sap.ui.base.ManagedObject.extend} for details on its usage.
|
|
605
|
+
*
|
|
606
|
+
* @property {string} [library]
|
|
607
|
+
* Name of the library that the new subclass should belong to. If the subclass is a control or element, it will
|
|
608
|
+
* automatically register with that library so that authoring tools can discover it.
|
|
609
|
+
* By convention, the name of the subclass should have the library name as a prefix, but subfolders are allowed,
|
|
610
|
+
* e.g. <code>sap.ui.layout.form.Form</code> belongs to library <code>sap.ui.layout</code>.
|
|
611
|
+
*
|
|
612
|
+
* @property {Object<string, string | sap.ui.base.ManagedObject.MetadataOptions.Property>} [properties]
|
|
613
|
+
* An object literal whose properties each define a new managed property in the ManagedObject subclass.
|
|
614
|
+
* The value can either be a simple string which then will be assumed to be the type of the new property or it can be
|
|
615
|
+
* an object literal with the following properties (see {@link sap.ui.base.ManagedObject.MetadataOptions.Property Property} for details):
|
|
616
|
+
* type, visibility, byValue, group, defaultValue, bindable, selector
|
|
617
|
+
* Property names should use camelCase notation, start with a lowercase letter and only use characters from the set [a-zA-Z0-9_$].
|
|
618
|
+
* If an aggregation in the literal is preceded by a JSDoc comment (doclet) and if the UI5 plugin and template are used for JSDoc3 generation, the doclet will
|
|
619
|
+
* be used as generic documentation of the aggregation.
|
|
620
|
+
*
|
|
621
|
+
* For each public property 'foo', the following methods will be created by the "extend" method and will be added to the
|
|
622
|
+
* prototype of the subclass:
|
|
623
|
+
* <ul>
|
|
624
|
+
* <li>getFoo() - returns the current value of property 'foo'. Internally calls {@link #getProperty}</li>
|
|
625
|
+
* <li>setFoo(v) - sets 'v' as the new value of property 'foo'. Internally calls {@link #setProperty}</li>
|
|
626
|
+
* <li>bindFoo(c) - (only if property was defined to be 'bindable'): convenience function that wraps {@link #bindProperty}</li>
|
|
627
|
+
* <li>unbindFoo() - (only if property was defined to be 'bindable'): convenience function that wraps {@link #unbindProperty}</li>
|
|
628
|
+
* </ul>
|
|
629
|
+
* For hidden properties, no methods are generated.
|
|
630
|
+
*
|
|
631
|
+
* @property {string} [defaultProperty]
|
|
632
|
+
* When specified, the default property must match the name of one of the properties defined for the new subclass (either own or inherited).
|
|
633
|
+
* The named property can be used to identify the main property to be used for bound data. E.g. the value property of a field control.
|
|
634
|
+
*
|
|
635
|
+
* @property {Object<string, string | sap.ui.base.ManagedObject.MetadataOptions.Aggregation>} [aggregations]
|
|
636
|
+
* An object literal whose properties each define a new aggregation in the ManagedObject subclass.
|
|
637
|
+
* The value can either be a simple string which then will be assumed to be the type of the new aggregation or it can be
|
|
638
|
+
* an object literal with the following properties (see {@link sap.ui.base.ManagedObject.MetadataOptions.Aggregation Aggregation} for details):
|
|
639
|
+
* type, multiple, singularName, visibility, bindable, forwarding, selector.
|
|
640
|
+
* Aggregation names should use camelCase notation, start with a lowercase letter and only use characters from the set [a-zA-Z0-9_$].
|
|
641
|
+
* The name for a hidden aggregations might start with an underscore.
|
|
642
|
+
* If an aggregation in the literal is preceded by a JSDoc comment (doclet) and if the UI5 plugin and template are used for JSDoc3 generation, the doclet will
|
|
643
|
+
* be used as generic documentation of the aggregation.
|
|
644
|
+
*
|
|
645
|
+
* For each public aggregation 'item' of cardinality 0..1, the following methods will be created by the "extend" method and will be added to the
|
|
646
|
+
* prototype of the subclass:
|
|
647
|
+
* <ul>
|
|
648
|
+
* <li>getItem() - returns the current value of aggregation 'item'. Internally calls {@link #getAggregation} with a default value of <code>undefined</code></li>
|
|
649
|
+
* <li>setItem(o) - sets 'o' as the new aggregated object in aggregation 'item'. Internally calls {@link #setAggregation}</li>
|
|
650
|
+
* <li>destroyItem(o) - destroy a currently aggregated object in aggregation 'item' and clears the aggregation. Internally calls {@link #destroyAggregation}</li>
|
|
651
|
+
* <li>bindItem(c) - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #bindAggregation}</li>
|
|
652
|
+
* <li>unbindItem() - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #unbindAggregation}</li>
|
|
653
|
+
* </ul>
|
|
654
|
+
* For a public aggregation 'items' of cardinality 0..n, the following methods will be created:
|
|
655
|
+
* <ul>
|
|
656
|
+
* <li>getItems() - returns an array with the objects contained in aggregation 'items'. Internally calls {@link #getAggregation} with a default value of <code>[]</code></li>
|
|
657
|
+
* <li>addItem(o) - adds an object as last element in the aggregation 'items'. Internally calls {@link #addAggregation}</li>
|
|
658
|
+
* <li>insertItem(o,p) - inserts an object into the aggregation 'items'. Internally calls {@link #insertAggregation}</li>
|
|
659
|
+
* <li>indexOfItem(o) - returns the position of the given object within the aggregation 'items'. Internally calls {@link #indexOfAggregation}</li>
|
|
660
|
+
* <li>removeItem(v) - removes an object from the aggregation 'items'. Internally calls {@link #removeAggregation}</li>
|
|
661
|
+
* <li>removeItems() - removes all objects from the aggregation 'items'. Internally calls {@link #removeAllAggregation}</li>
|
|
662
|
+
* <li>destroyItems() - destroy all currently aggregated objects in aggregation 'items' and clears the aggregation. Internally calls {@link #destroyAggregation}</li>
|
|
663
|
+
* <li>bindItems(c) - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #bindAggregation}</li>
|
|
664
|
+
* <li>unbindItems() - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #unbindAggregation}</li>
|
|
665
|
+
* </ul>
|
|
666
|
+
* For hidden aggregations, no methods are generated.
|
|
667
|
+
*
|
|
668
|
+
* @property {string} [defaultAggregation]
|
|
669
|
+
* When specified, the default aggregation must match the name of one of the aggregations defined for the new subclass (either own or inherited).
|
|
670
|
+
* The named aggregation will be used in contexts where no aggregation is specified. E,g. when an object in an XMLView embeds other objects without
|
|
671
|
+
* naming an aggregation, as in the following example:
|
|
672
|
+
* <pre>
|
|
673
|
+
* <!-- assuming the defaultAggregation for Dialog is 'content' -->
|
|
674
|
+
* <Dialog>
|
|
675
|
+
* <Text/>
|
|
676
|
+
* <Button/>
|
|
677
|
+
* </Dialog>
|
|
678
|
+
* </pre>
|
|
679
|
+
*
|
|
680
|
+
* @property {Object<string, string | sap.ui.base.ManagedObject.MetadataOptions.Association>} [associations]
|
|
681
|
+
* An object literal whose properties each define a new association of the ManagedObject subclass.
|
|
682
|
+
* The value can either be a simple string which then will be assumed to be the type of the new association or it can be
|
|
683
|
+
* an object literal with the following properties (see {@link sap.ui.base.ManagedObject.MetadataOptions.Association Association} for details): type, multiple, singularName, visibility
|
|
684
|
+
* Association names should use camelCase notation, start with a lowercase letter and only use characters from the set [a-zA-Z0-9_$].
|
|
685
|
+
* If an association in the literal is preceded by a JSDoc comment (doclet) and if the UI5 plugin and template are used for JSDoc3 generation, the doclet will
|
|
686
|
+
* be used as generic documentation of the association.
|
|
687
|
+
*
|
|
688
|
+
* For each association 'ref' of cardinality 0..1, the following methods will be created by the "extend" method and will be added to the
|
|
689
|
+
* prototype of the subclass:
|
|
690
|
+
* <ul>
|
|
691
|
+
* <li>getRef() - returns the current value of association 'item'. Internally calls {@link #getAssociation} with a default value of <code>undefined</code></li>
|
|
692
|
+
* <li>setRef(o) - sets 'o' as the new associated object in association 'item'. Internally calls {@link #setAssociation}</li>
|
|
693
|
+
* </ul>
|
|
694
|
+
* For a public association 'refs' of cardinality 0..n, the following methods will be created:
|
|
695
|
+
* <ul>
|
|
696
|
+
* <li>getRefs() - returns an array with the objects contained in association 'items'. Internally calls {@link #getAssociation} with a default value of <code>[]</code></li>
|
|
697
|
+
* <li>addRef(o) - adds an object as last element in the association 'items'. Internally calls {@link #addAssociation}</li>
|
|
698
|
+
* <li>removeRef(v) - removes an object from the association 'items'. Internally calls {@link #removeAssociation}</li>
|
|
699
|
+
* <li>removeAllRefs() - removes all objects from the association 'items'. Internally calls {@link #removeAllAssociation}</li>
|
|
700
|
+
* </ul>
|
|
701
|
+
* For hidden associations, no methods are generated.
|
|
702
|
+
*
|
|
703
|
+
* @property {Object<string, string | sap.ui.base.ManagedObject.MetadataOptions.Event>} [events]
|
|
704
|
+
* An object literal whose properties each define a new event of the ManagedObject subclass.
|
|
705
|
+
* In this literal, the property names are used as event names and the values are object literals describing the respective event which can have the
|
|
706
|
+
* following properties (see {@link sap.ui.base.ManagedObject.MetadataOptions.Event Event} for details): allowPreventDefault, parameters
|
|
707
|
+
* Event names should use camelCase notation, start with a lower-case letter and only use characters from the set [a-zA-Z0-9_$].
|
|
708
|
+
* If an event in the literal is preceded by a JSDoc comment (doclet) and if the UI5 plugin and template are used for JSDoc3 generation, the doclet will be used
|
|
709
|
+
* as generic documentation of the event.
|
|
710
|
+
*
|
|
711
|
+
* For each event 'Some' the following methods will be created by the "extend" method and will be added to the
|
|
712
|
+
* prototype of the subclass:
|
|
713
|
+
* <ul>
|
|
714
|
+
* <li>attachSome(fn,o) - registers a listener for the event. Internally calls {@link #attachEvent}</li>
|
|
715
|
+
* <li>detachSome(fn,o) - deregisters a listener for the event. Internally calls {@link #detachEvent}</li>
|
|
716
|
+
* <li>fireSome() - fire the event. Internally calls {@link #fireEvent}</li>
|
|
717
|
+
* </ul>
|
|
652
718
|
*
|
|
653
|
-
*
|
|
719
|
+
* @property {string | boolean} [designtime]
|
|
720
|
+
* Name of a module that implements the designtime part. Alternatively <code>true</code> to indicate that the module's file is named *.designtime.js with
|
|
721
|
+
* the same base name as the class itself.
|
|
654
722
|
*
|
|
723
|
+
* @property {Object<string,any>} [specialSettings] Special settings are an experimental feature and MUST NOT BE DEFINED in controls or applications outside of the <code>sap.ui.core</code> library.
|
|
724
|
+
* There's no generic or general way how to set or get the values for special settings. For the same reason, they cannot be bound against a model.
|
|
725
|
+
* If there's a way for consumers to define a value for a special setting, it must be documented in the class that introduces the setting.
|
|
655
726
|
*
|
|
656
|
-
*
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
*
|
|
727
|
+
* @public
|
|
728
|
+
*/
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* @typedef {object} sap.ui.base.ManagedObject.MetadataOptions.Property
|
|
661
732
|
*
|
|
733
|
+
* An object literal describing a property of a class derived from <code>sap.ui.base.ManagedObject</code>.
|
|
734
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions MetadataOptions} for details on its usage.
|
|
662
735
|
*
|
|
663
|
-
*
|
|
664
|
-
* An object literal whose properties each define a new managed property in the ManagedObject subclass.
|
|
665
|
-
* The value can either be a simple string which then will be assumed to be the type of the new property or it can be
|
|
666
|
-
* an object literal with the following properties
|
|
667
|
-
* <ul>
|
|
668
|
-
* <li><code>type: <i>string</i></code> type of the new property. Must either be one of the built-in types
|
|
736
|
+
* @property {string} type Type of the new property. Must either be one of the built-in types
|
|
669
737
|
* 'string', 'boolean', 'int', 'float', 'object', 'function' or 'any', or a type created and registered with
|
|
670
738
|
* {@link sap.ui.base.DataType.createType} or an array type based on one of the previous types (e.g. 'int[]'
|
|
671
|
-
* or 'string[]', but not just 'array')
|
|
672
|
-
*
|
|
739
|
+
* or 'string[]', but not just 'array').
|
|
740
|
+
* @property {"hidden" | "public"} [visibility="public"] Either 'hidden' or 'public', defaults to 'public'. Properties that
|
|
673
741
|
* belong to the API of a class must be 'public' whereas 'hidden' properties can only be used internally.
|
|
674
742
|
* Only public properties are accepted by the constructor or by <code>applySettings</code> or in declarative
|
|
675
|
-
* representations like an <code>XMLView</code>. Equally, only public properties are cloned
|
|
676
|
-
*
|
|
743
|
+
* representations like an <code>XMLView</code>. Equally, only public properties are cloned.
|
|
744
|
+
* @property {boolean} [byValue=false]
|
|
677
745
|
* If set to <code>true</code>, the property value will be {@link module:sap/base/util/deepClone deep cloned}
|
|
678
746
|
* on write and read operations to ensure that the internal value can't be modified by the outside. The property
|
|
679
747
|
* <code>byValue</code> is currently restricted to a <code>boolean</code> value. Other types are reserved for future
|
|
@@ -682,15 +750,18 @@ sap.ui.define([
|
|
|
682
750
|
* Note that using <code>byValue:true</code> has a performance impact on property access and therefore should be
|
|
683
751
|
* used carefully. It also doesn't make sense to set this option for properties with a primitive type (they have
|
|
684
752
|
* value semantic anyhow) or for properties with arrays of primitive types (they are already cloned
|
|
685
|
-
* with a less expensive implementation).
|
|
686
|
-
*
|
|
687
|
-
*
|
|
688
|
-
*
|
|
689
|
-
*
|
|
753
|
+
* with a less expensive implementation). Defaults to 'false'.
|
|
754
|
+
* @property {"Accessibility" | "Appearance" | "Behavior" | "Data" | "Designtime" | "Dimension" | "Identification" | "Misc"} [group]
|
|
755
|
+
* A semantic grouping of the properties, intended to be used in design time tools.
|
|
756
|
+
* Allowed values are (case sensitive): Accessibility, Appearance, Behavior, Data, Designtime, Dimension, Identification, Misc
|
|
757
|
+
* @property {any} [defaultValue] The default value for the property or null if there is no specific
|
|
758
|
+
* default value defined (the data type's default becomes the default value in this case, e.g. <code>false</code> for boolean and
|
|
759
|
+
* the empty string for type string). Omitting this property means the default value is <code>undefined</code>.
|
|
760
|
+
* @property {boolean | "bindable"} [bindable=false] (Either can be omitted or set to the boolean value <code>true</code> or the magic string 'bindable'.)
|
|
690
761
|
* If set to <code>true</code> or 'bindable', additional named methods <code>bind<i>Name</i></code> and <code>unbind<i>Name</i></code> are generated as convenience.
|
|
691
762
|
* Despite its name, setting this flag is not mandatory to make the managed property bindable. The generic methods {@link #bindProperty} and
|
|
692
|
-
* {@link #unbindProperty} can always be used.
|
|
693
|
-
*
|
|
763
|
+
* {@link #unbindProperty} can always be used.
|
|
764
|
+
* @property {string} [selector] Can be set to a valid CSS selector (as accepted by the
|
|
694
765
|
* {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector Element.prototype.querySelector}
|
|
695
766
|
* method). When set, it locates the DOM element that represents this property's value. It should only be set
|
|
696
767
|
* for properties that have a visual text representation in the DOM.
|
|
@@ -710,49 +781,37 @@ sap.ui.define([
|
|
|
710
781
|
* Only selected framework features may use that private method, it is not yet a public API and might be changed
|
|
711
782
|
* or removed in future versions of UI5. However, instead of maintaining the <code>selector</code> in the metadata,
|
|
712
783
|
* element and control classes can overwrite <code>getDomRefForSetting</code> and determine the DOM element
|
|
713
|
-
* dynamically
|
|
714
|
-
*
|
|
715
|
-
*
|
|
716
|
-
*
|
|
717
|
-
* be used as generic documentation of the aggregation.
|
|
718
|
-
*
|
|
719
|
-
* For each public property 'foo', the following methods will be created by the "extend" method and will be added to the
|
|
720
|
-
* prototype of the subclass:
|
|
721
|
-
* <ul>
|
|
722
|
-
* <li>getFoo() - returns the current value of property 'foo'. Internally calls {@link #getProperty}</li>
|
|
723
|
-
* <li>setFoo(v) - sets 'v' as the new value of property 'foo'. Internally calls {@link #setProperty}</li>
|
|
724
|
-
* <li>bindFoo(c) - (only if property was defined to be 'bindable'): convenience function that wraps {@link #bindProperty}</li>
|
|
725
|
-
* <li>unbindFoo() - (only if property was defined to be 'bindable'): convenience function that wraps {@link #unbindProperty}</li>
|
|
726
|
-
* </ul>
|
|
727
|
-
* For hidden properties, no methods are generated.
|
|
784
|
+
* dynamically.
|
|
785
|
+
* @property {boolean} [deprecated=false] Flag that marks the property as deprecated (defaults to false). May lead to an additional warning
|
|
786
|
+
* log message at runtime when the property is still used. For the documentation, also add a <code>@deprecated</code> tag in the JSDoc,
|
|
787
|
+
* describing since when it is deprecated and what any alternatives are.
|
|
728
788
|
*
|
|
789
|
+
* @public
|
|
790
|
+
*/
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* @typedef {object} sap.ui.base.ManagedObject.MetadataOptions.Aggregation
|
|
729
794
|
*
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
* The named property can be used to identify the main property to be used for bound data. E.g. the value property of a field control.
|
|
733
|
-
*
|
|
795
|
+
* An object literal describing an aggregation of a class derived from <code>sap.ui.base.ManagedObject</code>.
|
|
796
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions MetadataOptions} for details on its usage.
|
|
734
797
|
*
|
|
735
|
-
*
|
|
736
|
-
*
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
* <ul>
|
|
740
|
-
* <li><code>type: <i>string</i></code> type of the new aggregation. must be the full global name of a ManagedObject subclass or UI5 interface (in dot notation, e.g. 'sap.m.Button')</li>
|
|
741
|
-
* <li><code>[multiple]: <i>boolean</i></code> whether the aggregation is a 0..1 (false) or a 0..n aggregation (true), defaults to true </li>
|
|
742
|
-
* <li><code>[singularName]: <i>string</i></code>. Singular name for 0..n aggregations. For 0..n aggregations the name by convention should be the plural name.
|
|
798
|
+
* @property {string} [type='sap.ui.core.Control'] Type of the new aggregation. Must be the full global name of a ManagedObject subclass
|
|
799
|
+
* or a UI5 interface (in dot notation, e.g. 'sap.m.Button').
|
|
800
|
+
* @property {boolean} [multiple=true] Whether the aggregation is a 0..1 (false) or a 0..n aggregation (true), defaults to true
|
|
801
|
+
* @property {string} [singularName] Singular name for 0..n aggregations. For 0..n aggregations the name by convention should be the plural name.
|
|
743
802
|
* Methods affecting multiple objects in an aggregation will use the plural name (e.g. getItems(), whereas methods that deal with a single object will use
|
|
744
|
-
* the singular name (e.g. addItem). The framework knows a set of common rules for building plural form of English nouns and uses these rules to determine
|
|
745
|
-
* a singular name on its own.
|
|
746
|
-
*
|
|
803
|
+
* the singular name (e.g. addItem). The framework knows a set of common rules for building the plural form of English nouns and uses these rules to determine
|
|
804
|
+
* a singular name on its own. If that name is wrong, a singluarName can be specified with this property.
|
|
805
|
+
* @property {"hidden" | "public"} [visibility="public"] Either 'hidden' or 'public', defaults to 'public'. Aggregations that
|
|
747
806
|
* belong to the API of a class must be 'public' whereas 'hidden' aggregations typically are used for the
|
|
748
807
|
* implementation of composite classes (e.g. composite controls). Only public aggregations are accepted by
|
|
749
808
|
* the constructor or by <code>applySettings</code> or in declarative representations like an <code>XMLView</code>.
|
|
750
|
-
* Equally, only public aggregations are cloned
|
|
751
|
-
*
|
|
809
|
+
* Equally, only public aggregations are cloned.
|
|
810
|
+
* @property {boolean | "bindable"} [bindable=false] (Either can be omitted or set to the boolean value <code>true</code> or the magic string 'bindable'.)
|
|
752
811
|
* If set to <code>true</code> or 'bindable', additional named methods <code>bind<i>Name</i></code> and <code>unbind<i>Name</i></code> are generated as convenience.
|
|
753
812
|
* Despite its name, setting this flag is not mandatory to make the managed aggregation bindable. The generic methods {@link #bindAggregation} and
|
|
754
|
-
* {@link #unbindAggregation} can always be used.
|
|
755
|
-
*
|
|
813
|
+
* {@link #unbindAggregation} can always be used.
|
|
814
|
+
* @property {object} [forwarding]
|
|
756
815
|
* If set, this defines a forwarding of objects added to this aggregation into an aggregation of another ManagedObject - typically to an inner control
|
|
757
816
|
* within a composite control.
|
|
758
817
|
* This means that all adding, removal, or other operations happening on the source aggregation are actually called on the target instance.
|
|
@@ -768,26 +827,21 @@ sap.ui.define([
|
|
|
768
827
|
* The aggregation target must remain the same instance across the entire lifetime of the source control.
|
|
769
828
|
* Aggregation forwarding will behave unexpectedly when the content in the target aggregation is modified by other actors (e.g. by the target element or by
|
|
770
829
|
* another forwarding from a different source aggregation). Hence, this is not allowed.
|
|
771
|
-
*
|
|
772
|
-
*
|
|
773
|
-
*
|
|
774
|
-
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
777
|
-
*
|
|
778
|
-
*
|
|
779
|
-
*
|
|
780
|
-
*
|
|
781
|
-
*
|
|
782
|
-
*
|
|
783
|
-
*
|
|
784
|
-
*
|
|
785
|
-
*
|
|
786
|
-
* target, where they actually modify the aggregation.
|
|
787
|
-
* </li>
|
|
788
|
-
* </ul>
|
|
789
|
-
* </li>
|
|
790
|
-
* <li><code>selector: <i>string</i></code> Optional; can be set to a valid CSS selector (as accepted by the
|
|
830
|
+
* @property {string} forwarding.aggregation The name of the aggregation on the target into which the objects shall be forwarded. The multiplicity of the target
|
|
831
|
+
* aggregation must be the same as the one of the source aggregation for which forwarding is defined.
|
|
832
|
+
* @property {string} [forwarding.idSuffix] A string which is appended to the ID of <i>this</i> ManagedObject to construct the ID of the target ManagedObject. This is
|
|
833
|
+
* one of the two options to specify the target. This option requires the target instance to be created in the init() method of this ManagedObject and to be
|
|
834
|
+
* always available.
|
|
835
|
+
* @property {string} [forwarding.getter] The name of the function on instances of this ManagedObject which returns the target instance. This second option
|
|
836
|
+
* to specify the target can be used for lazy instantiation of the target. Note that either idSuffix or getter must be given. Also note that the target
|
|
837
|
+
* instance returned by the getter must remain the same over the entire lifetime of this ManagedObject and the implementation assumes that all instances return
|
|
838
|
+
* the same type of object (at least the target aggregation must always be defined in the same class).
|
|
839
|
+
* @property {boolean} [forwarding.forwardBinding] Whether any binding should happen on the forwarding target or not. Default if omitted is <code>false</code>,
|
|
840
|
+
* which means any bindings happen on the outer ManagedObject. When the binding is forwarded, all binding methods like updateAggregation, getBindingInfo,
|
|
841
|
+
* refreshAggregation etc. are called on the target element of the forwarding instead of being called on this element. The basic aggregation mutator methods
|
|
842
|
+
* (add/remove etc.) are only called on the forwarding target element. Without forwardBinding, they are called on this element, but forwarded to the forwarding
|
|
843
|
+
* target, where they actually modify the aggregation.
|
|
844
|
+
* @property {string} [selector] Can be set to a valid CSS selector (as accepted by the
|
|
791
845
|
* {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector Element.prototype.querySelector}
|
|
792
846
|
* method). When set, it locates the DOM element that surrounds the aggregation's content. It should only be
|
|
793
847
|
* set for aggregations that have a visual representation in the DOM. A DOM element surrounding the aggregation's
|
|
@@ -809,120 +863,132 @@ sap.ui.define([
|
|
|
809
863
|
* Only selected framework features may use that private method, it is not yet a public API and might be changed
|
|
810
864
|
* or removed in future versions of UI5. However, instead of maintaining the <code>selector</code> in the metadata,
|
|
811
865
|
* element and control classes can overwrite <code>getDomRefForSetting</code> to calculate or add the appropriate
|
|
812
|
-
* DOM Element dynamically
|
|
813
|
-
*
|
|
814
|
-
* </
|
|
815
|
-
*
|
|
816
|
-
*
|
|
817
|
-
*
|
|
818
|
-
*
|
|
819
|
-
*
|
|
820
|
-
*
|
|
821
|
-
*
|
|
822
|
-
*
|
|
823
|
-
* <
|
|
824
|
-
*
|
|
825
|
-
*
|
|
826
|
-
*
|
|
827
|
-
*
|
|
828
|
-
* </
|
|
829
|
-
*
|
|
830
|
-
* <ul>
|
|
831
|
-
* <li>getItems() - returns an array with the objects contained in aggregation 'items'. Internally calls {@link #getAggregation} with a default value of <code>[]</code></li>
|
|
832
|
-
* <li>addItem(o) - adds an object as last element in the aggregation 'items'. Internally calls {@link #addAggregation}</li>
|
|
833
|
-
* <li>insertItem(o,p) - inserts an object into the aggregation 'items'. Internally calls {@link #insertAggregation}</li>
|
|
834
|
-
* <li>indexOfItem(o) - returns the position of the given object within the aggregation 'items'. Internally calls {@link #indexOfAggregation}</li>
|
|
835
|
-
* <li>removeItem(v) - removes an object from the aggregation 'items'. Internally calls {@link #removeAggregation}</li>
|
|
836
|
-
* <li>removeItems() - removes all objects from the aggregation 'items'. Internally calls {@link #removeAllAggregation}</li>
|
|
837
|
-
* <li>destroyItems() - destroy all currently aggregated objects in aggregation 'items' and clears the aggregation. Internally calls {@link #destroyAggregation}</li>
|
|
838
|
-
* <li>bindItems(c) - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #bindAggregation}</li>
|
|
839
|
-
* <li>unbindItems() - (only if aggregation was defined to be 'bindable'): convenience function that wraps {@link #unbindAggregation}</li>
|
|
840
|
-
* </ul>
|
|
841
|
-
* For hidden aggregations, no methods are generated.
|
|
842
|
-
*
|
|
843
|
-
*
|
|
844
|
-
* <b>'defaultAggregation'</b> : <i>string</i><br>
|
|
845
|
-
* When specified, the default aggregation must match the name of one of the aggregations defined for the new subclass (either own or inherited).
|
|
846
|
-
* The named aggregation will be used in contexts where no aggregation is specified. E,g. when an object in an XMLView embeds other objects without
|
|
847
|
-
* naming an aggregation, as in the following example:
|
|
848
|
-
* <pre>
|
|
849
|
-
* <!-- assuming the defaultAggregation for Dialog is 'content' -->
|
|
850
|
-
* <Dialog>
|
|
851
|
-
* <Text/>
|
|
852
|
-
* <Button/>
|
|
853
|
-
* </Dialog>
|
|
854
|
-
* </pre>
|
|
855
|
-
*
|
|
866
|
+
* DOM Element dynamically.
|
|
867
|
+
* @property {boolean} [deprecated=false] Flag that marks the aggregation as deprecated (defaults to false). May lead to an additional warning
|
|
868
|
+
* log message at runtime when the aggregation is still used. For the documentation, also add a <code>@deprecated</code> tag in the JSDoc,
|
|
869
|
+
* describing since when it is deprecated and what any alternatives are.
|
|
870
|
+
* @property {string[]} [altTypes] An optional list of alternative types that may be given instead of the main type. Alternative types
|
|
871
|
+
* may only be simple types, no descendants of ManagedObject. An example of altTypes being used is the 'tooltip' aggregation of
|
|
872
|
+
* <code>sap.ui.core.Element</code>, which accepts tooltip controls extending <code>sap.ui.core.TooltipBase</code> with their own renderer
|
|
873
|
+
* and design, as well as plain strings, which will simply be displayed using the browser's built-in tooltip functionality.
|
|
874
|
+
* @property {boolean | object} [dnd=false]
|
|
875
|
+
* Only available for aggregations of a class extending <code>sap.ui.core.Element</code>, which is a subclass of <code>sap.ui.base.ManagedObject</code>!
|
|
876
|
+
* Defines draggable and droppable configuration of the aggregation.
|
|
877
|
+
* If the <code>dnd</code> property is of type Boolean, then the <code>draggable</code> and <code>droppable</code> configuration are both set to this Boolean value
|
|
878
|
+
* and the layout (in case of enabled dnd) is set to default ("Vertical").
|
|
879
|
+
* @property {boolean} [dnd.draggable=false] Defines whether elements from this aggregation are draggable or not. The default value is <code>false</code>.
|
|
880
|
+
* @property {boolean} [dnd.droppable=false] Defines whether the element is droppable (it allows being dropped on by a draggable element) or not. The default value is <code>false</code>.
|
|
881
|
+
* @property {"Vertical" | "Horizontal"} [dnd.layout="Vertical"] The arrangement of the items in this aggregation. This setting is recommended for the aggregation with multiplicity 0..n
|
|
882
|
+
* (<code>multiple: true</code>). Possible values are <code>Vertical</code> (e.g. rows in a table) and <code>Horizontal</code> (e.g. columns in a table). It is recommended
|
|
883
|
+
* to use <code>Horizontal</code> layout if the visual arrangement of the aggregation is two-dimensional.
|
|
856
884
|
*
|
|
857
|
-
*
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
*
|
|
862
|
-
*
|
|
863
|
-
*
|
|
864
|
-
*
|
|
865
|
-
*
|
|
866
|
-
*
|
|
867
|
-
*
|
|
868
|
-
*
|
|
885
|
+
* @public
|
|
886
|
+
*/
|
|
887
|
+
|
|
888
|
+
/**
|
|
889
|
+
* @typedef {object} sap.ui.base.ManagedObject.MetadataOptions.Association
|
|
890
|
+
*
|
|
891
|
+
* An object literal describing an association of a class derived from <code>sap.ui.base.ManagedObject</code>.
|
|
892
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions MetadataOptions} for details on its usage.
|
|
893
|
+
*
|
|
894
|
+
* @property {string} [type='sap.ui.core.Control'] Type of the new association
|
|
895
|
+
* @property {boolean} [multiple=false] Whether the association is a 0..1 (false) or a 0..n association (true), defaults to false (0..1) for associations
|
|
896
|
+
* @property {string} [singularName] Custom singular name. This is only relevant for 0..n associations where the association name should be defined in plural form
|
|
897
|
+
* and the framework tries to generate the singular form of it for certain places where it is needed. To do so, the framework knows
|
|
898
|
+
* a set of common rules for building the plural form of English nouns and uses these rules to determine
|
|
899
|
+
* a singular name on its own. If that name is wrong, a singularName can be specified with this property.
|
|
900
|
+
* E.g. for an association named <code>items</code>, methods affecting multiple objects in an association will use the plural name (<code>getItems()</code>),
|
|
901
|
+
* whereas methods that deal with a single object will automatically use the generated singular name (e.g. <code>addItem(...)</code>). However, the generated
|
|
902
|
+
* singular form for an association <code>news</code> would be <code>new</code>, which is wrong, so the singular name "news" would need to be set.
|
|
903
|
+
* @property {"hidden" | "public"} [visibility="public"] Either 'hidden' or 'public', defaults to 'public'. Associations that
|
|
869
904
|
* belong to the API of a class must be 'public' whereas 'hidden' associations can only be used internally.
|
|
870
905
|
* Only public associations are accepted by the constructor or by <code>applySettings</code> or in declarative
|
|
871
|
-
* representations like an <code>XMLView</code>. Equally, only public associations are cloned
|
|
872
|
-
*
|
|
873
|
-
*
|
|
874
|
-
*
|
|
875
|
-
* be used as generic documentation of the association.
|
|
906
|
+
* representations like an <code>XMLView</code>. Equally, only public associations are cloned.
|
|
907
|
+
* @property {boolean} [deprecated=false] Flag that marks the association as deprecated (defaults to false). May lead to an additional warning
|
|
908
|
+
* log message at runtime when the association is still used. For the documentation, also add a <code>@deprecated</code> tag in the JSDoc,
|
|
909
|
+
* describing since when it is deprecated and what any alternatives are.
|
|
876
910
|
*
|
|
877
|
-
*
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
*
|
|
882
|
-
* </ul>
|
|
883
|
-
* For a public association 'refs' of cardinality 0..n, the following methods will be created:
|
|
884
|
-
* <ul>
|
|
885
|
-
* <li>getRefs() - returns an array with the objects contained in association 'items'. Internally calls {@link #getAssociation} with a default value of <code>[]</code></li>
|
|
886
|
-
* <li>addRef(o) - adds an object as last element in the association 'items'. Internally calls {@link #addAssociation}</li>
|
|
887
|
-
* <li>removeRef(v) - removes an object from the association 'items'. Internally calls {@link #removeAssociation}</li>
|
|
888
|
-
* <li>removeAllRefs() - removes all objects from the association 'items'. Internally calls {@link #removeAllAssociation}</li>
|
|
889
|
-
* </ul>
|
|
890
|
-
* For hidden associations, no methods are generated.
|
|
911
|
+
* @public
|
|
912
|
+
*/
|
|
913
|
+
|
|
914
|
+
/**
|
|
915
|
+
* @typedef {object} sap.ui.base.ManagedObject.MetadataOptions.Event
|
|
891
916
|
*
|
|
917
|
+
* An object literal describing an event of a class derived from <code>sap.ui.base.ManagedObject</code>.
|
|
918
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions MetadataOptions} for details on its usage.
|
|
892
919
|
*
|
|
893
|
-
*
|
|
894
|
-
*
|
|
895
|
-
*
|
|
896
|
-
*
|
|
897
|
-
*
|
|
898
|
-
*
|
|
899
|
-
*
|
|
900
|
-
*
|
|
901
|
-
* Event names should use camelCase notation, start with a lower-case letter and only use characters from the set [a-zA-Z0-9_$].
|
|
902
|
-
* If an event in the literal is preceded by a JSDoc comment (doclet) and if the UI5 plugin and template are used for JSDoc3 generation, the doclet will be used
|
|
903
|
-
* as generic documentation of the event.
|
|
920
|
+
* @property {boolean} [allowPreventDefault] Whether the event allows to prevented the default behavior of the event source
|
|
921
|
+
* @property {Object<string, {type: string} | string>} [parameters] An object literal that describes the parameters of this event;
|
|
922
|
+
* the keys are the parameter names and the values are objects with a 'type' property that specifies the type of the respective parameter.
|
|
923
|
+
* @property {boolean} [enableEventBubbling=false] whether event bubbling is enabled on this event. When <code>true</code> the event is also forwarded to the parent(s)
|
|
924
|
+
* of the object (see {@link sap.ui.base.EventProvider#getEventingParent}) until the bubbling of the event is stopped or no parent is available anymore.
|
|
925
|
+
* @property {boolean} [deprecated=false] Flag that marks the event as deprecated (defaults to false). May lead to an additional warning
|
|
926
|
+
* log message at runtime when the event is still used. For the documentation, also add a <code>@deprecated</code> tag in the JSDoc,
|
|
927
|
+
* describing since when it is deprecated and what any alternatives are.
|
|
904
928
|
*
|
|
905
|
-
*
|
|
906
|
-
|
|
929
|
+
* @public
|
|
930
|
+
*/
|
|
931
|
+
|
|
932
|
+
/**
|
|
933
|
+
* Defines a new subclass of ManagedObject with name <code>sClassName</code> and enriches it with
|
|
934
|
+
* the information contained in <code>oClassInfo</code>.
|
|
935
|
+
*
|
|
936
|
+
* <code>oClassInfo</code> can contain the same information that {@link sap.ui.base.Object.extend} already accepts,
|
|
937
|
+
* plus the following new properties in the 'metadata' object literal
|
|
938
|
+
* (see {@link sap.ui.base.ManagedObject.MetadataOptions MetadataOptions} for details on each of them):
|
|
907
939
|
* <ul>
|
|
908
|
-
* <li>
|
|
909
|
-
* <li>
|
|
910
|
-
* <li>
|
|
940
|
+
* <li><code>library : <i>string</i></code></li>
|
|
941
|
+
* <li><code>properties : <i>object</i></code></li>
|
|
942
|
+
* <li><code>defaultProperty : <i>string</i></code></li>
|
|
943
|
+
* <li><code>aggregations : <i>object</i></code></li>
|
|
944
|
+
* <li><code>defaultAggregation : <i>string</i></code></li>
|
|
945
|
+
* <li><code>associations : <i>object</i></code></li>
|
|
946
|
+
* <li><code>events : <i>object</i></code></li>
|
|
947
|
+
* <li><code>specialSettings : <i>object</i></code> // this one is still experimental and not for public usage!</li>
|
|
911
948
|
* </ul>
|
|
912
949
|
*
|
|
913
950
|
*
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
*
|
|
917
|
-
*
|
|
918
|
-
*
|
|
951
|
+
* Example:
|
|
952
|
+
* <pre>
|
|
953
|
+
* ManagedObject.extend('sap.mylib.MyClass', {
|
|
954
|
+
* metadata : {
|
|
955
|
+
* library: 'sap.mylib',
|
|
956
|
+
* properties : {
|
|
957
|
+
* value: 'string',
|
|
958
|
+
* width: 'sap.ui.core.CSSSize',
|
|
959
|
+
* height: { type: 'sap.ui.core.CSSSize', defaultValue: '100%'}
|
|
960
|
+
* description: { type: 'string', defaultValue: '', selector: '#{id}-desc'}
|
|
961
|
+
* },
|
|
962
|
+
* defaultProperty : 'value',
|
|
963
|
+
* aggregations : {
|
|
964
|
+
* header : { type: 'sap.mylib.FancyHeader', multiple : false }
|
|
965
|
+
* items : 'sap.ui.core.Control',
|
|
966
|
+
* buttons: { type: 'sap.mylib.Button', multiple : true, selector: '#{id} > .sapMLButtonsSection'}
|
|
967
|
+
* },
|
|
968
|
+
* defaultAggregation : 'items',
|
|
969
|
+
* associations : {
|
|
970
|
+
* initiallyFocused : { type: 'sap.ui.core.Control' }
|
|
971
|
+
* },
|
|
972
|
+
* events: {
|
|
973
|
+
* beforeOpen : {
|
|
974
|
+
* parameters : {
|
|
975
|
+
* opener : { type: 'sap.ui.core.Control' }
|
|
976
|
+
* }
|
|
977
|
+
* }
|
|
978
|
+
* },
|
|
979
|
+
* },
|
|
919
980
|
*
|
|
981
|
+
* init: function() {
|
|
982
|
+
* }
|
|
920
983
|
*
|
|
984
|
+
* }); // end of 'extend' call
|
|
985
|
+
* </pre>
|
|
921
986
|
*
|
|
922
|
-
* @param {string} sClassName
|
|
923
|
-
* @param {object} [oClassInfo]
|
|
924
|
-
* @param {
|
|
925
|
-
* @
|
|
987
|
+
* @param {string} sClassName Name of the class to be created
|
|
988
|
+
* @param {object} [oClassInfo] Object literal with information about the class
|
|
989
|
+
* @param {sap.ui.base.ManagedObject.MetadataOptions} [oClassInfo.metadata] The metadata object describing the class: properties, aggregations, events etc.
|
|
990
|
+
* @param {function} [FNMetaImpl] Constructor function for the metadata object. If not given, it defaults to <code>sap.ui.base.ManagedObjectMetadata</code>.
|
|
991
|
+
* @return {function} The created class / constructor function
|
|
926
992
|
*
|
|
927
993
|
* @public
|
|
928
994
|
* @static
|
|
@@ -1050,6 +1116,31 @@ sap.ui.define([
|
|
|
1050
1116
|
|
|
1051
1117
|
};
|
|
1052
1118
|
|
|
1119
|
+
/**
|
|
1120
|
+
* Calls the function <code>fn</code> once and marks all ManagedObjects
|
|
1121
|
+
* created during that call as "owned" by the given ID.
|
|
1122
|
+
*
|
|
1123
|
+
* @param {function} fn Function to execute
|
|
1124
|
+
* @param {string} sOwnerId Id of the owner
|
|
1125
|
+
* @param {Object} [oThisArg=undefined] Value to use as <code>this</code> when executing <code>fn</code>
|
|
1126
|
+
* @return {any} result of function <code>fn</code>
|
|
1127
|
+
* @private
|
|
1128
|
+
* @ui5-restricted sap.ui.core
|
|
1129
|
+
*/
|
|
1130
|
+
ManagedObject.runWithOwner = function(fn, sOwnerId, oThisArg) {
|
|
1131
|
+
|
|
1132
|
+
assert(typeof fn === "function", "fn must be a function");
|
|
1133
|
+
|
|
1134
|
+
var oldOwnerId = ManagedObject._sOwnerId;
|
|
1135
|
+
try {
|
|
1136
|
+
ManagedObject._sOwnerId = sOwnerId;
|
|
1137
|
+
return fn.call(oThisArg);
|
|
1138
|
+
} finally {
|
|
1139
|
+
ManagedObject._sOwnerId = oldOwnerId;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
};
|
|
1143
|
+
|
|
1053
1144
|
/**
|
|
1054
1145
|
* Sets all the properties, aggregations, associations and event handlers as given in
|
|
1055
1146
|
* the object literal <code>mSettings</code>. If a property, aggregation, etc.
|
|
@@ -3601,6 +3692,19 @@ sap.ui.define([
|
|
|
3601
3692
|
throw new Error("Missing template or factory function for aggregation " + sName + " of " + this + " !");
|
|
3602
3693
|
}
|
|
3603
3694
|
|
|
3695
|
+
if (oBindingInfo.factory) {
|
|
3696
|
+
// unwrap factory if alread wrapped (e.g. bindingInfo is shared)
|
|
3697
|
+
var fnOriginalFactory = oBindingInfo.factory[BINDING_INFO_FACTORY_SYMBOL] || oBindingInfo.factory;
|
|
3698
|
+
|
|
3699
|
+
// wrap runWithOwner() call around the original factory function
|
|
3700
|
+
var sOwnerId = this._sOwnerId;
|
|
3701
|
+
oBindingInfo.factory = function(sId, oContext) {
|
|
3702
|
+
// bind original factory with the two arguments: id and bindingContext
|
|
3703
|
+
return ManagedObject.runWithOwner(fnOriginalFactory.bind(null, sId, oContext), sOwnerId);
|
|
3704
|
+
};
|
|
3705
|
+
oBindingInfo.factory[BINDING_INFO_FACTORY_SYMBOL] = fnOriginalFactory;
|
|
3706
|
+
}
|
|
3707
|
+
|
|
3604
3708
|
if (this._observer) {
|
|
3605
3709
|
this._observer.bindingChange(this, sName, "prepare", oBindingInfo, "aggregation");
|
|
3606
3710
|
}
|