@openui5/sap.ui.core 1.101.0 → 1.103.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 +26 -5
- package/THIRDPARTY.txt +1 -1
- package/package.json +1 -1
- package/src/jquery.sap.global.js +2 -2
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/assert.js +1 -1
- package/src/sap/base/i18n/ResourceBundle.js +2 -2
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +9 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +12 -6
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/ExpressionParser.js +2 -2
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +10 -8
- package/src/sap/ui/base/ManagedObjectMetadata.js +21 -8
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +2 -0
- package/src/sap/ui/core/.library +2 -89
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CommandExecution.js +15 -12
- package/src/sap/ui/core/Component.js +34 -15
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +27 -12
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +23 -9
- package/src/sap/ui/core/Control.js +3 -4
- package/src/sap/ui/core/Core.js +102 -34
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +10 -9
- package/src/sap/ui/core/Element.js +12 -11
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +4 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +4 -5
- package/src/sap/ui/core/Fragment.js +17 -14
- package/src/sap/ui/core/HTML.js +2 -2
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +7 -7
- package/src/sap/ui/core/IconPool.js +1 -3
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +28 -4
- package/src/sap/ui/core/LocaleData.js +119 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +16 -16
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +21 -15
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
- package/src/sap/ui/core/ThemeCheck.js +7 -7
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +5 -6
- 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 +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +515 -392
- package/src/sap/ui/core/cache/CacheManager.js +27 -0
- package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
- package/src/sap/ui/core/cache/LRUPersistentCache.js +75 -3
- package/src/sap/ui/core/cldr/ar.json +469 -1
- package/src/sap/ui/core/cldr/ar_EG.json +469 -1
- package/src/sap/ui/core/cldr/ar_SA.json +469 -1
- package/src/sap/ui/core/cldr/bg.json +469 -1
- package/src/sap/ui/core/cldr/ca.json +469 -1
- package/src/sap/ui/core/cldr/cs.json +469 -1
- package/src/sap/ui/core/cldr/cy.json +469 -1
- package/src/sap/ui/core/cldr/da.json +469 -1
- package/src/sap/ui/core/cldr/de.json +469 -1
- package/src/sap/ui/core/cldr/de_AT.json +469 -1
- package/src/sap/ui/core/cldr/de_CH.json +469 -1
- package/src/sap/ui/core/cldr/el.json +469 -1
- package/src/sap/ui/core/cldr/el_CY.json +469 -1
- package/src/sap/ui/core/cldr/en.json +469 -1
- package/src/sap/ui/core/cldr/en_AU.json +469 -1
- package/src/sap/ui/core/cldr/en_GB.json +469 -1
- package/src/sap/ui/core/cldr/en_HK.json +469 -1
- package/src/sap/ui/core/cldr/en_IE.json +469 -1
- package/src/sap/ui/core/cldr/en_IN.json +469 -1
- package/src/sap/ui/core/cldr/en_NZ.json +469 -1
- package/src/sap/ui/core/cldr/en_PG.json +469 -1
- package/src/sap/ui/core/cldr/en_SG.json +469 -1
- package/src/sap/ui/core/cldr/en_ZA.json +469 -1
- package/src/sap/ui/core/cldr/es.json +469 -1
- package/src/sap/ui/core/cldr/es_AR.json +469 -1
- package/src/sap/ui/core/cldr/es_BO.json +469 -1
- package/src/sap/ui/core/cldr/es_CL.json +469 -1
- package/src/sap/ui/core/cldr/es_CO.json +469 -1
- package/src/sap/ui/core/cldr/es_MX.json +469 -1
- package/src/sap/ui/core/cldr/es_PE.json +469 -1
- package/src/sap/ui/core/cldr/es_UY.json +469 -1
- package/src/sap/ui/core/cldr/es_VE.json +469 -1
- package/src/sap/ui/core/cldr/et.json +469 -1
- package/src/sap/ui/core/cldr/fa.json +469 -1
- package/src/sap/ui/core/cldr/fi.json +469 -1
- package/src/sap/ui/core/cldr/fr.json +469 -1
- package/src/sap/ui/core/cldr/fr_BE.json +469 -1
- package/src/sap/ui/core/cldr/fr_CA.json +469 -1
- package/src/sap/ui/core/cldr/fr_CH.json +469 -1
- package/src/sap/ui/core/cldr/fr_LU.json +469 -1
- package/src/sap/ui/core/cldr/he.json +469 -1
- package/src/sap/ui/core/cldr/hi.json +469 -1
- package/src/sap/ui/core/cldr/hr.json +469 -1
- package/src/sap/ui/core/cldr/hu.json +469 -1
- package/src/sap/ui/core/cldr/id.json +469 -1
- package/src/sap/ui/core/cldr/it.json +469 -1
- package/src/sap/ui/core/cldr/it_CH.json +469 -1
- package/src/sap/ui/core/cldr/ja.json +469 -1
- package/src/sap/ui/core/cldr/kk.json +469 -1
- package/src/sap/ui/core/cldr/ko.json +469 -1
- package/src/sap/ui/core/cldr/lt.json +469 -1
- package/src/sap/ui/core/cldr/lv.json +469 -1
- package/src/sap/ui/core/cldr/ms.json +469 -1
- package/src/sap/ui/core/cldr/nb.json +469 -1
- package/src/sap/ui/core/cldr/nl.json +469 -1
- package/src/sap/ui/core/cldr/nl_BE.json +469 -1
- package/src/sap/ui/core/cldr/pl.json +469 -1
- package/src/sap/ui/core/cldr/pt.json +469 -1
- package/src/sap/ui/core/cldr/pt_PT.json +469 -1
- package/src/sap/ui/core/cldr/ro.json +469 -1
- package/src/sap/ui/core/cldr/ru.json +469 -1
- package/src/sap/ui/core/cldr/ru_UA.json +469 -1
- package/src/sap/ui/core/cldr/sk.json +469 -1
- package/src/sap/ui/core/cldr/sl.json +469 -1
- package/src/sap/ui/core/cldr/sr.json +469 -1
- package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
- package/src/sap/ui/core/cldr/sv.json +469 -1
- package/src/sap/ui/core/cldr/th.json +469 -1
- package/src/sap/ui/core/cldr/tr.json +469 -1
- package/src/sap/ui/core/cldr/uk.json +469 -1
- package/src/sap/ui/core/cldr/vi.json +469 -1
- package/src/sap/ui/core/cldr/zh_CN.json +470 -2
- package/src/sap/ui/core/cldr/zh_HK.json +470 -2
- package/src/sap/ui/core/cldr/zh_SG.json +470 -2
- package/src/sap/ui/core/cldr/zh_TW.json +469 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
- package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -3
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +43 -28
- package/src/sap/ui/core/format/NumberFormat.js +30 -30
- package/src/sap/ui/core/format/TimezoneUtil.js +48 -16
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +2 -2
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +2 -2
- package/src/sap/ui/core/messagebundle_it.properties +56 -56
- package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +12 -12
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -1
- package/src/sap/ui/core/mvc/XMLView.js +12 -20
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -62
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -3
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/History.js +5 -3
- package/src/sap/ui/core/routing/Router.js +5 -3
- package/src/sap/ui/core/routing/Targets.js +2 -2
- package/src/sap/ui/core/rules/App.support.js +8 -8
- package/src/sap/ui/core/rules/Config.support.js +12 -12
- package/src/sap/ui/core/rules/Model.support.js +8 -8
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +4 -4
- package/src/sap/ui/core/rules/View.support.js +9 -9
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- 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 +4 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +9 -3
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +8 -22
- package/src/sap/ui/core/support/support.html +1 -1
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
- package/src/sap/ui/core/themes/base/base.less +4 -4
- package/src/sap/ui/core/themes/base/global.less +2 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +2 -0
- package/src/sap/ui/core/theming/Parameters.js +1 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +4 -4
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +2 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +2 -2
- package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +7 -8
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/dom/_ready.js +34 -0
- package/src/sap/ui/dom/containsOrEquals.js +2 -2
- package/src/sap/ui/dom/getFirstEditableInput.js +2 -2
- package/src/sap/ui/dom/jquery/Focusable.js +1 -1
- package/src/sap/ui/dom/jquery/control.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/model/ClientListBinding.js +127 -21
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +32 -13
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +134 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/_Helper.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +0 -58
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +0 -42
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +6 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +279 -4
- package/src/sap/ui/model/odata/OperationMode.js +6 -0
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +13 -4
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +107 -34
- package/src/sap/ui/model/odata/v2/ODataModel.js +70 -22
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +43 -7
- package/src/sap/ui/model/odata/v4/Context.js +31 -10
- package/src/sap/ui/model/odata/v4/ODataBinding.js +16 -8
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +24 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +83 -27
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +17 -10
- package/src/sap/ui/model/odata/v4/ODataModel.js +175 -6
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +30 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -6
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +6 -6
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +208 -85
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -42
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +60 -35
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +0 -53
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +4 -2
- package/src/sap/ui/test/OpaBuilder.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/_ControlFinder.js +5 -4
- package/src/sap/ui/test/actions/Action.js +3 -3
- package/src/sap/ui/test/actions/Drag.js +2 -2
- package/src/sap/ui/test/actions/Drop.js +2 -2
- package/src/sap/ui/test/actions/EnterText.js +8 -8
- package/src/sap/ui/test/actions/Press.js +6 -6
- package/src/sap/ui/test/actions/Scroll.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Mobile.js +59 -33
- package/src/sap/ui/util/Storage.js +2 -2
- package/src/sap/ui/util/openWindow.js +1 -1
- package/src/ui5loader.js +3 -3
- package/ui5.yaml +72 -1
|
@@ -100,13 +100,19 @@ sap.ui.define([
|
|
|
100
100
|
* Returns the configuration of a manifest section or the value for a
|
|
101
101
|
* specific path. If no section or key is specified, the return value is null.
|
|
102
102
|
*
|
|
103
|
+
* <b>Note:</b>
|
|
104
|
+
* This function is a local variant of sap.ui.core.ComponentMetadata#_getManifestEntry.
|
|
105
|
+
* This function allows to access manifest information on an instance-specific manifest
|
|
106
|
+
* first, before then looking up the inheritance chain.
|
|
107
|
+
* All Components using the default manifest will rely on the above default implementation.
|
|
108
|
+
*
|
|
103
109
|
* @param {sap.ui.core.ComponentMetadata} oMetadata the Component metadata
|
|
104
110
|
* @param {sap.ui.core.Manifest} oManifest the manifest
|
|
105
111
|
* @param {string} sKey Either the manifest section name (namespace) or a concrete path
|
|
106
112
|
* @param {boolean} [bMerged] Indicates whether the manifest entry is merged with the manifest entries of the parent component.
|
|
107
113
|
* @return {any|null} Value of the manifest section or the key (could be any kind of value)
|
|
108
114
|
* @private
|
|
109
|
-
* @see {@link sap.ui.core.Component#
|
|
115
|
+
* @see {@link sap.ui.core.Component#_getManifestEntry}
|
|
110
116
|
*/
|
|
111
117
|
function getManifestEntry(oMetadata, oManifest, sKey, bMerged) {
|
|
112
118
|
var oData = oManifest.getEntry(sKey);
|
|
@@ -120,13 +126,13 @@ sap.ui.define([
|
|
|
120
126
|
// the configuration of the static component metadata will be ignored
|
|
121
127
|
var oParent, oParentData;
|
|
122
128
|
if (bMerged && (oParent = oMetadata.getParent()) instanceof ComponentMetadata) {
|
|
123
|
-
oParentData = oParent.
|
|
129
|
+
oParentData = oParent._getManifestEntry(sKey, bMerged);
|
|
124
130
|
}
|
|
125
131
|
|
|
126
132
|
// only extend / clone if there is data
|
|
127
133
|
// otherwise "null" will be converted into an empty object
|
|
128
134
|
if (oParentData || oData) {
|
|
129
|
-
|
|
135
|
+
oData = deepExtend({}, oParentData, oData);
|
|
130
136
|
}
|
|
131
137
|
|
|
132
138
|
return oData;
|
|
@@ -154,20 +160,30 @@ sap.ui.define([
|
|
|
154
160
|
|
|
155
161
|
// copy all functions from the metadata object except of the
|
|
156
162
|
// manifest related functions which will be instance specific now
|
|
163
|
+
// we proxy private core restricted manifest related API, as well as older public/deprecated API (for compatibility)
|
|
157
164
|
for (var m in oMetadata) {
|
|
158
|
-
if (!/^(getManifest|getManifestObject|getManifestEntry|getMetadataVersion)$/.test(m) && typeof oMetadata[m] === "function") {
|
|
165
|
+
if (!/^(getManifest|_getManifest|getManifestObject|getManifestEntry|_getManifestEntry|getMetadataVersion)$/.test(m) && typeof oMetadata[m] === "function") {
|
|
159
166
|
oMetadataProxy[m] = oMetadata[m].bind(oMetadata);
|
|
160
167
|
}
|
|
161
168
|
}
|
|
162
169
|
|
|
163
|
-
//
|
|
170
|
+
// @public & @deprecated on ComponentMetadata, kept for compatibility
|
|
164
171
|
oMetadataProxy.getManifest = function() {
|
|
172
|
+
return this._getManifest();
|
|
173
|
+
};
|
|
174
|
+
// @public & @deprecated on ComponentMetadata, kept for compatibility
|
|
175
|
+
oMetadataProxy.getManifestEntry = function(sKey, bMerged) {
|
|
176
|
+
return this._getManifestEntry(sKey, bMerged);
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
oMetadataProxy._getManifest = function() {
|
|
180
|
+
// return the content of the manifest instead of the static metadata
|
|
165
181
|
return oManifest && oManifest.getJson();
|
|
166
182
|
};
|
|
167
183
|
oMetadataProxy.getManifestObject = function() {
|
|
168
184
|
return oManifest;
|
|
169
185
|
};
|
|
170
|
-
oMetadataProxy.
|
|
186
|
+
oMetadataProxy._getManifestEntry = function(sKey, bMerged) {
|
|
171
187
|
return getManifestEntry(oMetadata, oManifest, sKey, bMerged);
|
|
172
188
|
};
|
|
173
189
|
oMetadataProxy.getMetadataVersion = function() {
|
|
@@ -228,7 +244,7 @@ sap.ui.define([
|
|
|
228
244
|
* @extends sap.ui.base.ManagedObject
|
|
229
245
|
* @abstract
|
|
230
246
|
* @author SAP SE
|
|
231
|
-
* @version 1.
|
|
247
|
+
* @version 1.103.0
|
|
232
248
|
* @alias sap.ui.core.Component
|
|
233
249
|
* @since 1.9.2
|
|
234
250
|
*/
|
|
@@ -471,7 +487,7 @@ sap.ui.define([
|
|
|
471
487
|
*/
|
|
472
488
|
Component.prototype.getManifest = function() {
|
|
473
489
|
if (!this._oManifest) {
|
|
474
|
-
return this.getMetadata().
|
|
490
|
+
return this.getMetadata()._getManifest();
|
|
475
491
|
} else {
|
|
476
492
|
return this._oManifest.getJson();
|
|
477
493
|
}
|
|
@@ -528,8 +544,11 @@ sap.ui.define([
|
|
|
528
544
|
*/
|
|
529
545
|
Component.prototype._getManifestEntry = function(sKey, bMerged) {
|
|
530
546
|
if (!this._oManifest) {
|
|
531
|
-
|
|
547
|
+
// get entry via standard component metadata
|
|
548
|
+
return this.getMetadata()._getManifestEntry(sKey, bMerged);
|
|
532
549
|
} else {
|
|
550
|
+
// get entry via instance-specific manifest
|
|
551
|
+
// this.getMetadata() returns the instance-specific ComponentMetadata Proxy
|
|
533
552
|
return getManifestEntry(this.getMetadata(), this._oManifest, sKey, bMerged);
|
|
534
553
|
}
|
|
535
554
|
};
|
|
@@ -1586,10 +1605,10 @@ sap.ui.define([
|
|
|
1586
1605
|
while (oMeta instanceof ComponentMetadata) {
|
|
1587
1606
|
var oCurrentManifest = oMeta.getManifestObject();
|
|
1588
1607
|
|
|
1589
|
-
var mCurrentDataSources = oMeta.
|
|
1608
|
+
var mCurrentDataSources = oMeta._getManifestEntry("/sap.app/dataSources");
|
|
1590
1609
|
mergeDefinitionSource(mConfig.dataSources, mConfig.origin.dataSources, mCurrentDataSources, oCurrentManifest);
|
|
1591
1610
|
|
|
1592
|
-
var mCurrentModelConfigs = oMeta.
|
|
1611
|
+
var mCurrentModelConfigs = oMeta._getManifestEntry("/sap.ui5/models");
|
|
1593
1612
|
mergeDefinitionSource(mConfig.models, mConfig.origin.models, mCurrentModelConfigs, oCurrentManifest);
|
|
1594
1613
|
|
|
1595
1614
|
oMeta = oMeta.getParent();
|
|
@@ -2469,7 +2488,7 @@ sap.ui.define([
|
|
|
2469
2488
|
* register for messaging: register if either handleValidation is set in metadata
|
|
2470
2489
|
* or if not set in metadata and set on instance
|
|
2471
2490
|
*/
|
|
2472
|
-
var bHandleValidation = oInstance.getMetadata().
|
|
2491
|
+
var bHandleValidation = oInstance.getMetadata()._getManifestEntry("/sap.ui5/handleValidation");
|
|
2473
2492
|
if (bHandleValidation !== undefined || vConfig.handleValidation) {
|
|
2474
2493
|
sap.ui.getCore().getMessageManager().registerObject(oInstance, bHandleValidation === undefined ? vConfig.handleValidation : bHandleValidation);
|
|
2475
2494
|
}
|
|
@@ -3379,12 +3398,12 @@ sap.ui.define([
|
|
|
3379
3398
|
// the i18n processing has already happened and we skip this part.
|
|
3380
3399
|
|
|
3381
3400
|
// Why do we set the oManifest object here?
|
|
3382
|
-
// > If we have instance specific information like "activeTerminologies", the resulting
|
|
3401
|
+
// > If we have instance specific information like "activeTerminologies" (non-empty array), the resulting
|
|
3383
3402
|
// Manifest instance differs from the Manifest that is stored on the ComponentMetadata.
|
|
3384
3403
|
// The function prepareControllerClass() then creates a ComponentMetadata Proxy,
|
|
3385
3404
|
// which encapsulates this single instance specific Manifest object.
|
|
3386
3405
|
var pProcessI18n = Promise.resolve();
|
|
3387
|
-
if (!oManifest && mOptions.activeTerminologies) {
|
|
3406
|
+
if (!oManifest && Array.isArray(mOptions.activeTerminologies) && mOptions.activeTerminologies.length > 0) {
|
|
3388
3407
|
oManifest = new Manifest(oMetadata.getManifestObject().getRawJson(), {
|
|
3389
3408
|
process: false,
|
|
3390
3409
|
activeTerminologies: aActiveTerminologies
|
|
@@ -3680,7 +3699,7 @@ sap.ui.define([
|
|
|
3680
3699
|
oExtensionComponent = this.getExtensionComponent && this.getExtensionComponent();
|
|
3681
3700
|
|
|
3682
3701
|
if (oExtensionComponent && oExtensionComponent.getLocalId) {
|
|
3683
|
-
sComponentIdSuffix = "#" + oExtensionComponent.getLocalId(this.getId());
|
|
3702
|
+
sComponentIdSuffix = "#" + (oExtensionComponent.getLocalId(this.getId()) || this.getId());
|
|
3684
3703
|
}
|
|
3685
3704
|
this._mComputedCommands = merge({}, oOwnCommands, oCommandExtensions[sComponentName], oCommandExtensions[sComponentName + sComponentIdSuffix]);
|
|
3686
3705
|
}
|
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
* @public
|
|
37
37
|
* @class
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.
|
|
39
|
+
* @version 1.103.0
|
|
40
40
|
* @since 1.9.2
|
|
41
41
|
* @alias sap.ui.core.ComponentMetadata
|
|
42
42
|
* @extends sap.ui.base.ManagedObjectMetadata
|
|
@@ -323,30 +323,29 @@ sap.ui.define([
|
|
|
323
323
|
/**
|
|
324
324
|
* Returns the manifest defined in the metadata of the Component.
|
|
325
325
|
* If not specified, the return value is null.
|
|
326
|
-
* @return {Object} manifest.
|
|
326
|
+
* @return {Object|null} manifest.
|
|
327
327
|
* @public
|
|
328
328
|
* @since 1.27.1
|
|
329
329
|
* @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
|
|
330
330
|
*/
|
|
331
331
|
ComponentMetadata.prototype.getManifest = function() {
|
|
332
|
-
|
|
333
|
-
if (this.getMetadataVersion() === 1) {
|
|
334
|
-
return this.getManifestObject().getRawJson();
|
|
335
|
-
}
|
|
336
|
-
return this.getManifestObject().getJson();
|
|
332
|
+
return this._getManifest();
|
|
337
333
|
};
|
|
338
334
|
|
|
339
335
|
/**
|
|
340
|
-
* Returns the
|
|
341
|
-
*
|
|
336
|
+
* Returns the manifest defined in the metadata of the Component.
|
|
337
|
+
* If not specified, the return value is null.
|
|
342
338
|
*
|
|
343
|
-
* @return {object} manifest
|
|
339
|
+
* @return {object|null} manifest
|
|
344
340
|
* @private
|
|
341
|
+
* @ui5-restricted sap.ui.core.Component
|
|
345
342
|
* @since 1.29.0
|
|
346
|
-
* @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
|
|
347
343
|
*/
|
|
348
344
|
ComponentMetadata.prototype._getManifest = function() {
|
|
349
|
-
|
|
345
|
+
// use raw manifest in case of legacy metadata
|
|
346
|
+
if (this.getMetadataVersion() === 1) {
|
|
347
|
+
return this.getManifestObject().getRawJson();
|
|
348
|
+
}
|
|
350
349
|
return this.getManifestObject().getJson();
|
|
351
350
|
};
|
|
352
351
|
|
|
@@ -413,6 +412,22 @@ sap.ui.define([
|
|
|
413
412
|
* @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
|
|
414
413
|
*/
|
|
415
414
|
ComponentMetadata.prototype.getManifestEntry = function(sKey, bMerged) {
|
|
415
|
+
return this._getManifestEntry(sKey, bMerged);
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Returns the configuration of a manifest section or the value for a
|
|
420
|
+
* specific path. If no section or key is specified, the return value is null.
|
|
421
|
+
*
|
|
422
|
+
* Sample and more information see public function documentation.
|
|
423
|
+
*
|
|
424
|
+
* @param {string} sKey Either the manifest section name (namespace) or a concrete path
|
|
425
|
+
* @param {boolean} [bMerged=false] Indicates whether the custom configuration is merged with the parent custom configuration of the Component.
|
|
426
|
+
* @return {any|null} Value of the manifest section or the key (could be any kind of value)
|
|
427
|
+
* @private
|
|
428
|
+
* @ui5-restricted sap.ui.core
|
|
429
|
+
*/
|
|
430
|
+
ComponentMetadata.prototype._getManifestEntry = function(sKey, bMerged) {
|
|
416
431
|
var oData = this.getManifestObject().getEntry(sKey);
|
|
417
432
|
|
|
418
433
|
// merge / extend should only be done for objects or when entry wasn't found
|
|
@@ -108,7 +108,7 @@ sap.ui.define([
|
|
|
108
108
|
"calendarType" : { type : "string", defaultValue : null },
|
|
109
109
|
"trailingCurrencyCode" : { type : "boolean", defaultValue : true },
|
|
110
110
|
"accessibility" : { type : "boolean", defaultValue : true },
|
|
111
|
-
"autoAriaBodyRole" : { type : "boolean", defaultValue : false,
|
|
111
|
+
"autoAriaBodyRole" : { type : "boolean", defaultValue : false, noUrl:true }, //whether the framework automatically adds the ARIA role 'application' to the html body
|
|
112
112
|
"animation" : { type : "boolean", defaultValue : true }, // deprecated, please use animationMode
|
|
113
113
|
"animationMode" : { type : Configuration.AnimationMode, defaultValue : undefined }, // If no value is provided, animationMode will be set on instantiation depending on the animation setting.
|
|
114
114
|
"rtl" : { type : "boolean", defaultValue : null },
|
|
@@ -133,14 +133,15 @@ sap.ui.define([
|
|
|
133
133
|
"versionedLibCss" : { type : "boolean", defaultValue : false },
|
|
134
134
|
"manifestFirst" : { type : "boolean", defaultValue : false },
|
|
135
135
|
"flexibilityServices" : { type : "string", defaultValue : "/sap/bc/lrep"},
|
|
136
|
-
"whitelistService" : { type : "string", defaultValue : null, noUrl:
|
|
137
|
-
"allowlistService" : { type : "string", defaultValue : null, noUrl:
|
|
138
|
-
"frameOptions" : { type : "string", defaultValue : "default", noUrl:
|
|
136
|
+
"whitelistService" : { type : "string", defaultValue : null, noUrl:true }, // deprecated, use allowlistService instead
|
|
137
|
+
"allowlistService" : { type : "string", defaultValue : null, noUrl:true }, // url/to/service
|
|
138
|
+
"frameOptions" : { type : "string", defaultValue : "default", noUrl:true }, // default/allow/deny/trusted (default => allow)
|
|
139
139
|
"frameOptionsConfig" : { type : "object", defaultValue : undefined, noUrl:true }, // advanced frame options configuration
|
|
140
140
|
"support" : { type : "string[]", defaultValue : null },
|
|
141
141
|
"testRecorder" : { type : "string[]", defaultValue : null },
|
|
142
|
-
"activeTerminologies" : { type : "string[]", defaultValue: undefined},
|
|
143
|
-
"
|
|
142
|
+
"activeTerminologies" : { type : "string[]", defaultValue : undefined},
|
|
143
|
+
"fileShareSupport" : { type : "string", defaultValue : undefined, noUrl:true }, // Module name (AMD syntax)
|
|
144
|
+
"securityTokenHandlers" : { type : "function[]", defaultValue: [], noUrl:true },
|
|
144
145
|
"xx-placeholder" : { type : "boolean", defaultValue : true },
|
|
145
146
|
"xx-rootComponentNode" : { type : "string", defaultValue : "", noUrl:true },
|
|
146
147
|
"xx-appCacheBusterMode" : { type : "string", defaultValue : "sync" },
|
|
@@ -700,7 +701,7 @@ sap.ui.define([
|
|
|
700
701
|
* @public
|
|
701
702
|
*/
|
|
702
703
|
getSAPLogonLanguage : function () {
|
|
703
|
-
return (this.sapLogonLanguage && this.sapLogonLanguage.toUpperCase()) || this.language.
|
|
704
|
+
return (this.sapLogonLanguage && this.sapLogonLanguage.toUpperCase()) || this.language._getSAPLogonLanguage();
|
|
704
705
|
},
|
|
705
706
|
|
|
706
707
|
/**
|
|
@@ -709,7 +710,6 @@ sap.ui.define([
|
|
|
709
710
|
* @returns {string} The configured IANA timezone ID, e.g. "America/New_York"
|
|
710
711
|
* @public
|
|
711
712
|
* @since 1.99.0
|
|
712
|
-
* @experimental As of version 1.99.0, time zones are currently not supported by all controls.
|
|
713
713
|
*/
|
|
714
714
|
getTimezone : function () {
|
|
715
715
|
return this.timezone;
|
|
@@ -812,7 +812,6 @@ sap.ui.define([
|
|
|
812
812
|
* @public
|
|
813
813
|
* @return {this} <code>this</code> to allow method chaining
|
|
814
814
|
* @since 1.99.0
|
|
815
|
-
* @experimental As of version 1.99.0, time zones are currently not supported by all controls.
|
|
816
815
|
*/
|
|
817
816
|
setTimezone : function (sTimezone) {
|
|
818
817
|
check(sTimezone == null || typeof sTimezone === 'string',
|
|
@@ -1478,6 +1477,21 @@ sap.ui.define([
|
|
|
1478
1477
|
return this.allowlistService;
|
|
1479
1478
|
},
|
|
1480
1479
|
|
|
1480
|
+
/**
|
|
1481
|
+
* Name (ID) of a UI5 module that implements file share support.
|
|
1482
|
+
*
|
|
1483
|
+
* If no implementation is known, <code>undefined</code> is returned.
|
|
1484
|
+
*
|
|
1485
|
+
* The contract of the module is not defined by the configuration API.
|
|
1486
|
+
*
|
|
1487
|
+
* @returns {string|undefined} Module name (ID) of a file share support module
|
|
1488
|
+
* @public
|
|
1489
|
+
* @since 1.102
|
|
1490
|
+
*/
|
|
1491
|
+
getFileShareSupport : function() {
|
|
1492
|
+
return this.fileShareSupport || undefined;
|
|
1493
|
+
},
|
|
1494
|
+
|
|
1481
1495
|
/**
|
|
1482
1496
|
* Whether support mode is enabled.
|
|
1483
1497
|
*
|
|
@@ -77,11 +77,11 @@ sap.ui.define([
|
|
|
77
77
|
* @extends sap.ui.core.Element
|
|
78
78
|
* @abstract
|
|
79
79
|
* @author SAP SE
|
|
80
|
-
* @version 1.
|
|
80
|
+
* @version 1.103.0
|
|
81
81
|
* @alias sap.ui.core.Control
|
|
82
82
|
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
83
83
|
*/
|
|
84
|
-
var Control = Element.extend("sap.ui.core.Control", /** @lends sap.ui.core.Control */ {
|
|
84
|
+
var Control = Element.extend("sap.ui.core.Control", /** @lends sap.ui.core.Control.prototype */ {
|
|
85
85
|
|
|
86
86
|
metadata : {
|
|
87
87
|
stereotype : "control",
|
|
@@ -524,7 +524,6 @@ sap.ui.define([
|
|
|
524
524
|
}
|
|
525
525
|
oListener = oListener || this;
|
|
526
526
|
|
|
527
|
-
// FWE jQuery.proxy can't be used as it breaks our contract when used with same function but different listeners
|
|
528
527
|
var fnProxy = fnHandler.bind(oListener);
|
|
529
528
|
|
|
530
529
|
this.aBindParameters.push({
|
|
@@ -632,7 +631,7 @@ sap.ui.define([
|
|
|
632
631
|
// if no container control is found use the corresponding UIArea
|
|
633
632
|
var bIsUIArea = false;
|
|
634
633
|
if (!(oContainer instanceof Element)) {
|
|
635
|
-
oContainer = oCore.
|
|
634
|
+
oContainer = oCore._createUIArea(oRef);
|
|
636
635
|
bIsUIArea = true;
|
|
637
636
|
}
|
|
638
637
|
|
package/src/sap/ui/core/Core.js
CHANGED
|
@@ -210,7 +210,7 @@ sap.ui.define([
|
|
|
210
210
|
* @extends sap.ui.base.Object
|
|
211
211
|
* @final
|
|
212
212
|
* @author SAP SE
|
|
213
|
-
* @version 1.
|
|
213
|
+
* @version 1.103.0
|
|
214
214
|
* @alias sap.ui.core.Core
|
|
215
215
|
* @public
|
|
216
216
|
* @hideconstructor
|
|
@@ -657,26 +657,75 @@ sap.ui.define([
|
|
|
657
657
|
},
|
|
658
658
|
|
|
659
659
|
metadata : {
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
660
|
+
// while this list contains mostly public methods,
|
|
661
|
+
// a set of private API is exposed for sap.ui.core restricted usage
|
|
662
|
+
publicMethods: [
|
|
663
|
+
// @public
|
|
664
|
+
// - Init
|
|
665
|
+
"isInitialized","attachInit",
|
|
666
|
+
"getConfiguration",
|
|
667
|
+
"lock", "unlock","isLocked",
|
|
668
|
+
// - UIArea & Rendering
|
|
669
|
+
"createUIArea", "getUIArea", "getUIDirty", "applyChanges", "getStaticAreaRef",
|
|
670
|
+
"createRenderManager",
|
|
671
|
+
// - Theming
|
|
672
|
+
"applyTheme","setThemeRoot","attachThemeChanged","detachThemeChanged",
|
|
673
|
+
"isThemeApplied",
|
|
674
|
+
"notifyContentDensityChanged",
|
|
675
|
+
// - Control & App dev.
|
|
676
|
+
"getCurrentFocusedControlId",
|
|
677
|
+
"isMobile",
|
|
678
|
+
"getEventBus",
|
|
679
|
+
"byId", "byFieldGroupId",
|
|
680
|
+
// - Libraries
|
|
681
|
+
"getLoadedLibraries", "loadLibrary", "initLibrary",
|
|
682
|
+
"getLibraryResourceBundle",
|
|
683
|
+
// - Models & Messaging
|
|
684
|
+
"setModel", "getModel", "hasModel",
|
|
685
|
+
"getMessageManager",
|
|
686
|
+
// - Events
|
|
687
|
+
"attachEvent","detachEvent",
|
|
688
|
+
"attachControlEvent", "detachControlEvent",
|
|
689
|
+
"attachParseError", "detachParseError",
|
|
690
|
+
"attachValidationError", "detachValidationError",
|
|
691
|
+
"attachFormatError", "detachFormatError",
|
|
692
|
+
"attachValidationSuccess", "detachValidationSuccess",
|
|
693
|
+
"attachLocalizationChanged", "detachLocalizationChanged",
|
|
694
|
+
|
|
695
|
+
// @protected
|
|
696
|
+
"isStaticAreaRef",
|
|
697
|
+
"fireFormatError", "fireValidationSuccess", "fireValidationError", "fireParseError",
|
|
698
|
+
|
|
699
|
+
// @private, @ui5-restricted sap.ui.core
|
|
700
|
+
// - Init
|
|
701
|
+
"boot",
|
|
702
|
+
// - UIArea & Rendering
|
|
703
|
+
"_createUIArea",
|
|
704
|
+
"addPrerenderingTask",
|
|
705
|
+
// - Messaging
|
|
706
|
+
"setMessageManager",
|
|
707
|
+
// - Libraries
|
|
708
|
+
"attachLibraryChanged", "detachLibraryChanged",
|
|
709
|
+
"loadLibraries",
|
|
710
|
+
// - Theming
|
|
711
|
+
"attachThemeScopingChanged","detachThemeScopingChanged","fireThemeScopingChanged",
|
|
712
|
+
"includeLibraryTheme",
|
|
713
|
+
|
|
714
|
+
// @deprecated
|
|
715
|
+
// - Init & Plugins
|
|
716
|
+
"attachInitEvent",
|
|
717
|
+
"registerPlugin","unregisterPlugin",
|
|
718
|
+
// - Application/Root-Component
|
|
719
|
+
"setRoot",
|
|
720
|
+
"getRootComponent", "getApplication",
|
|
721
|
+
// - legacy registries & factories
|
|
722
|
+
"getControl", "getComponent", "getTemplate",
|
|
723
|
+
"createComponent",
|
|
724
|
+
// - Control dev.
|
|
725
|
+
"attachIntervalTimer", "detachIntervalTimer",
|
|
726
|
+
"getElementById",
|
|
727
|
+
// - UIArea & Rendering
|
|
728
|
+
"getRenderManager"]
|
|
680
729
|
}
|
|
681
730
|
|
|
682
731
|
});
|
|
@@ -843,13 +892,13 @@ sap.ui.define([
|
|
|
843
892
|
// During this first call, the configuration object is not yet set on the Core instance.
|
|
844
893
|
if (this.oConfiguration) {
|
|
845
894
|
var html = document.documentElement;
|
|
846
|
-
var
|
|
895
|
+
var sAnimationMode = this.oConfiguration.getAnimationMode();
|
|
896
|
+
html.dataset.sapUiAnimationMode = sAnimationMode;
|
|
897
|
+
var bAnimation = (sAnimationMode !== Configuration.AnimationMode.minimal && sAnimationMode !== Configuration.AnimationMode.none);
|
|
847
898
|
html.dataset.sapUiAnimation = bAnimation ? "on" : "off";
|
|
848
899
|
if (typeof jQuery !== "undefined") {
|
|
849
900
|
jQuery.fx.off = !bAnimation;
|
|
850
901
|
}
|
|
851
|
-
var sAnimationMode = this.oConfiguration.getAnimationMode();
|
|
852
|
-
html.dataset.sapUiAnimationMode = sAnimationMode;
|
|
853
902
|
}
|
|
854
903
|
};
|
|
855
904
|
|
|
@@ -1266,11 +1315,9 @@ sap.ui.define([
|
|
|
1266
1315
|
var oConfig = this.oConfiguration;
|
|
1267
1316
|
|
|
1268
1317
|
// create any pre-configured UIAreas
|
|
1269
|
-
// if ( oConfig.areas && oConfig.areas.length > 0 ) {
|
|
1270
1318
|
if ( oConfig.areas ) {
|
|
1271
|
-
// Log.warning("deprecated config option '(data-sap-ui-)areas' used.");
|
|
1272
1319
|
for (var i = 0, l = oConfig.areas.length; i < l; i++) {
|
|
1273
|
-
this.
|
|
1320
|
+
this._createUIArea(oConfig.areas[i]);
|
|
1274
1321
|
}
|
|
1275
1322
|
oConfig.areas = undefined;
|
|
1276
1323
|
}
|
|
@@ -1311,11 +1358,19 @@ sap.ui.define([
|
|
|
1311
1358
|
}
|
|
1312
1359
|
};
|
|
1313
1360
|
|
|
1361
|
+
/**
|
|
1362
|
+
* Creates a "rootComponent" or "sap.ui.app.Application".
|
|
1363
|
+
* Both concepts are deprecated.
|
|
1364
|
+
* Called during Core initialization.
|
|
1365
|
+
* @deprecated since 1.95
|
|
1366
|
+
* @private
|
|
1367
|
+
*/
|
|
1314
1368
|
Core.prototype._setupRootComponent = function() {
|
|
1315
1369
|
var METHOD = "sap.ui.core.Core.init()",
|
|
1316
1370
|
oConfig = this.oConfiguration;
|
|
1317
1371
|
|
|
1318
1372
|
// load the root component
|
|
1373
|
+
// @deprecated concept, superseded by "sap/ui/core/ComponentSupport"
|
|
1319
1374
|
var sRootComponent = oConfig.getRootComponent();
|
|
1320
1375
|
if (sRootComponent) {
|
|
1321
1376
|
|
|
@@ -1341,7 +1396,7 @@ sap.ui.define([
|
|
|
1341
1396
|
|
|
1342
1397
|
} else {
|
|
1343
1398
|
|
|
1344
|
-
//
|
|
1399
|
+
// @deprecated concept, superseded by "sap/ui/core/Component"
|
|
1345
1400
|
var sApplication = oConfig.getApplication();
|
|
1346
1401
|
if (sApplication) {
|
|
1347
1402
|
|
|
@@ -1401,7 +1456,7 @@ sap.ui.define([
|
|
|
1401
1456
|
}
|
|
1402
1457
|
this.bInitialized = true;
|
|
1403
1458
|
this._executeOnInit();
|
|
1404
|
-
this._setupRootComponent();
|
|
1459
|
+
this._setupRootComponent(); // @legacy-relevant: private API for 2 deprecated concepts "rootComponent" & "sap.ui.app.Application"
|
|
1405
1460
|
this._executeInitListeners();
|
|
1406
1461
|
};
|
|
1407
1462
|
|
|
@@ -2542,7 +2597,7 @@ sap.ui.define([
|
|
|
2542
2597
|
* Used in Core#initLibrary and ThemeCheck#checkStyle.
|
|
2543
2598
|
*
|
|
2544
2599
|
* @param {object} oLibInfo Library info object (containing a "version" property)
|
|
2545
|
-
* @
|
|
2600
|
+
* @returns {string|undefined} query parameters or undefined if "versionedLibCss" config is "false"
|
|
2546
2601
|
* @private
|
|
2547
2602
|
*/
|
|
2548
2603
|
Core.prototype._getLibraryCssQueryParams = function(oLibInfo) {
|
|
@@ -2744,6 +2799,19 @@ sap.ui.define([
|
|
|
2744
2799
|
* @deprecated As of version 1.1, use {@link sap.ui.core.Control#placeAt Control#placeAt} instead!
|
|
2745
2800
|
*/
|
|
2746
2801
|
Core.prototype.createUIArea = function(oDomRef) {
|
|
2802
|
+
return this._createUIArea(oDomRef);
|
|
2803
|
+
};
|
|
2804
|
+
|
|
2805
|
+
/**
|
|
2806
|
+
* Creates a new {@link sap.ui.core.UIArea UIArea}.
|
|
2807
|
+
* Must only be used by sap.ui.core functionality.
|
|
2808
|
+
*
|
|
2809
|
+
* @param {Element|string} oDomRef a DOM Element or ID string of the UIArea
|
|
2810
|
+
* @return {sap.ui.core.UIArea} a new UIArea
|
|
2811
|
+
* @private
|
|
2812
|
+
* @ui5-restricted sap.ui.core
|
|
2813
|
+
*/
|
|
2814
|
+
Core.prototype._createUIArea = function(oDomRef) {
|
|
2747
2815
|
var that = this;
|
|
2748
2816
|
assert(typeof oDomRef === "string" || typeof oDomRef === "object", "oDomRef must be a string or object");
|
|
2749
2817
|
|
|
@@ -3363,11 +3431,11 @@ sap.ui.define([
|
|
|
3363
3431
|
Core.prototype.getElementById = Element.registry.get;
|
|
3364
3432
|
|
|
3365
3433
|
/**
|
|
3366
|
-
* Returns the registered object for the given
|
|
3434
|
+
* Returns the registered object for the given ID, if any.
|
|
3367
3435
|
*
|
|
3368
3436
|
* @param {string} sType Stereotype of the object to retrieve
|
|
3369
|
-
* @param {sap.ui.core.ID|null|undefined} sId
|
|
3370
|
-
* @returns {sap.ui.base.ManagedObject|undefined} Object of the given type and with the given
|
|
3437
|
+
* @param {sap.ui.core.ID|null|undefined} sId ID of the object to retrieve
|
|
3438
|
+
* @returns {sap.ui.base.ManagedObject|undefined} Object of the given type and with the given ID or undefined
|
|
3371
3439
|
* @private
|
|
3372
3440
|
*/
|
|
3373
3441
|
Core.prototype.getObject = function(sType, sId) {
|
|
@@ -3447,7 +3515,7 @@ sap.ui.define([
|
|
|
3447
3515
|
|
|
3448
3516
|
document.body.insertBefore(oStaticArea, document.body.firstChild);
|
|
3449
3517
|
|
|
3450
|
-
this.
|
|
3518
|
+
this._createUIArea(oStaticArea).bInitial = false;
|
|
3451
3519
|
}
|
|
3452
3520
|
return oStaticArea;
|
|
3453
3521
|
|
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @class Static class for enabling declarative UI support.
|
|
41
41
|
*
|
|
42
42
|
* @author Peter Muessig, Tino Butz
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.103.0
|
|
44
44
|
* @since 1.7.0
|
|
45
45
|
* @public
|
|
46
46
|
* @alias sap.ui.core.DeclarativeSupport
|
|
@@ -120,6 +120,7 @@ sap.ui.define([
|
|
|
120
120
|
var sType = $element.attr("data-sap-ui-type");
|
|
121
121
|
var aControls = [];
|
|
122
122
|
var bIsUIArea = sType === "sap.ui.core.UIArea";
|
|
123
|
+
var aAttributes = oElement.getAttributeNames();
|
|
123
124
|
|
|
124
125
|
if (bIsUIArea) {
|
|
125
126
|
// use a UIArea / better performance when rendering multiple controls
|
|
@@ -145,12 +146,12 @@ sap.ui.define([
|
|
|
145
146
|
// for a UIArea we remove only the data HTML attributes and keep the others
|
|
146
147
|
// also marks the control as parsed (by removing data-sap-ui-type)
|
|
147
148
|
var aAttr = [];
|
|
148
|
-
|
|
149
|
-
var sName =
|
|
149
|
+
for (var i = 0; i < aAttributes.length; i++) {
|
|
150
|
+
var sName = aAttributes[i];
|
|
150
151
|
if (!bIsUIArea || bIsUIArea && /^data-/g.test(sName.toLowerCase())) {
|
|
151
152
|
aAttr.push(sName);
|
|
152
153
|
}
|
|
153
|
-
}
|
|
154
|
+
}
|
|
154
155
|
if (aAttr.length > 0) {
|
|
155
156
|
$element.removeAttr(aAttr.join(" "));
|
|
156
157
|
}
|
|
@@ -258,10 +259,11 @@ sap.ui.define([
|
|
|
258
259
|
var fnBindingParser = ManagedObject.bindingParser;
|
|
259
260
|
var aCustomData = [];
|
|
260
261
|
var reCustomData = /^data-custom-data:(.+)/i;
|
|
262
|
+
var aAttributes = oElement.getAttributeNames();
|
|
261
263
|
|
|
262
|
-
|
|
263
|
-
var sName =
|
|
264
|
-
var sValue =
|
|
264
|
+
for (var i = 0; i < aAttributes.length; i++) {
|
|
265
|
+
var sName = aAttributes[i];
|
|
266
|
+
var sValue = oElement.getAttribute(sName);
|
|
265
267
|
|
|
266
268
|
if (!reCustomData.test(sName)) {
|
|
267
269
|
|
|
@@ -340,8 +342,7 @@ sap.ui.define([
|
|
|
340
342
|
}));
|
|
341
343
|
|
|
342
344
|
}
|
|
343
|
-
|
|
344
|
-
});
|
|
345
|
+
}
|
|
345
346
|
|
|
346
347
|
if (aCustomData.length > 0) {
|
|
347
348
|
mSettings.customData = aCustomData;
|