@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
|
@@ -76,6 +76,8 @@ sap.ui.define(['sap/base/Log'], function(Log) {
|
|
|
76
76
|
var bOk = false;
|
|
77
77
|
var bTrue = true;
|
|
78
78
|
do {
|
|
79
|
+
// Accessing a property on the window to check whether we are within the same origin.
|
|
80
|
+
// In cross origin scenarios this will cause an exception which will be handled below.
|
|
79
81
|
var test = oParentWindow.document.domain;
|
|
80
82
|
if (oParentWindow == FrameOptions.__top) {
|
|
81
83
|
if (test != undefined) {
|
|
@@ -85,12 +87,12 @@ sap.ui.define(['sap/base/Log'], function(Log) {
|
|
|
85
87
|
}
|
|
86
88
|
oParentWindow = oParentWindow.parent;
|
|
87
89
|
// eslint-disable-next-line no-unmodified-loop-condition
|
|
88
|
-
} while (bTrue);
|
|
90
|
+
} while (bTrue);
|
|
89
91
|
if (bOk) {
|
|
90
92
|
this._applyState(true, true);
|
|
91
93
|
}
|
|
92
94
|
} catch (e) {
|
|
93
|
-
// access to the top window is not possible
|
|
95
|
+
// access to the top window (oParentWindow.document.domain) is not possible
|
|
94
96
|
this._sendRequireMessage();
|
|
95
97
|
}
|
|
96
98
|
|
|
@@ -1123,7 +1123,7 @@ sap.ui.define(
|
|
|
1123
1123
|
* Creates a matcher function that returns an aggregation element of a control at a given index.
|
|
1124
1124
|
* @param {string} sAggregationName the name of the aggregation that is used for matching
|
|
1125
1125
|
* @param {int} iIndex the index within the aggregation
|
|
1126
|
-
* @returns {function} the matcher function returns the item at a certain index in the aggregation or
|
|
1126
|
+
* @returns {function} the matcher function returns the item at a certain index in the aggregation or <code>undefined</code> if index not in range
|
|
1127
1127
|
* @public
|
|
1128
1128
|
* @static
|
|
1129
1129
|
*/
|
|
@@ -64,8 +64,8 @@ sap.ui.define([
|
|
|
64
64
|
* Returns the view with a specific name. The result should be a unique view.
|
|
65
65
|
* If there are multiple visible views with that name, none will be returned.
|
|
66
66
|
*
|
|
67
|
-
* @param {string} sViewName
|
|
68
|
-
* @returns {sap.ui.core.mvc.View} or undefined
|
|
67
|
+
* @param {string} sViewName Name of the view
|
|
68
|
+
* @returns {sap.ui.core.mvc.View|undefined} Unique view or <code>undefined</code>
|
|
69
69
|
* @public
|
|
70
70
|
*/
|
|
71
71
|
getView: function (sViewName) {
|
|
@@ -489,7 +489,7 @@ sap.ui.define([
|
|
|
489
489
|
* @param {object} oOptions a map of match conditions. Must contain an id property
|
|
490
490
|
* @param {string|string[]} [oOptions.id] required - ID to match. Can be string, regex or array
|
|
491
491
|
* @param {string|function} [oOptions.controlType] optional - control type to match
|
|
492
|
-
* @returns {sap.ui.core.Element|sap.ui.core.Element[]} all matching controls
|
|
492
|
+
* @returns {sap.ui.core.Element|sap.ui.core.Element[]|null} all matching controls
|
|
493
493
|
* <ul>
|
|
494
494
|
* <li>if a oOptions.id is a string, will return the single matching control or null if no controls match</li>
|
|
495
495
|
* <li>otherwise, will return an array of matching controls, or an empty array, if no controls match</li>
|
|
@@ -118,7 +118,7 @@ sap.ui.define([
|
|
|
118
118
|
* Retrieves the property value of a control
|
|
119
119
|
* @param {sap.ui.core.Control} oControl
|
|
120
120
|
* @param {string} sProperty The property to look for
|
|
121
|
-
* @returns {object} The control value for the property or null if no such property is defined
|
|
121
|
+
* @returns {object|null} The control value for the property or null if no such property is defined
|
|
122
122
|
* @private
|
|
123
123
|
*/
|
|
124
124
|
_ControlFinder._getControlProperty = function (oControl, sProperty) {
|
|
@@ -128,9 +128,10 @@ sap.ui.define([
|
|
|
128
128
|
};
|
|
129
129
|
|
|
130
130
|
/**
|
|
131
|
-
* Retrieves the ID suffix of a DOM element
|
|
132
|
-
* @param {
|
|
133
|
-
* @
|
|
131
|
+
* Retrieves the ID suffix of a DOM element that is part of the given UI5 control
|
|
132
|
+
* @param {Element} oElement DOM element
|
|
133
|
+
* @param {sap.ui.core.Control} oControl UI5 control
|
|
134
|
+
* @returns {string|false} ID suffix or false if the suffix can't be determined
|
|
134
135
|
* @private
|
|
135
136
|
*/
|
|
136
137
|
_ControlFinder._getDomElementIDSuffix = function (oElement, oControl) {
|
|
@@ -64,7 +64,7 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
64
64
|
* A control may have many elements in its DOM representation. The most suitable one is chosen by priority:
|
|
65
65
|
* <ol>
|
|
66
66
|
* <li>If the user provided an idSuffix, return the element that matches it, or null</li>
|
|
67
|
-
* <li>If there is a control adapter for the action - return the element that matches it. See {@link sap.ui.test.Press
|
|
67
|
+
* <li>If there is a control adapter for the action - return the element that matches it. See <code>controlAdapters</code> at {@link sap.ui.test.Press} for an example</li>
|
|
68
68
|
* <li>If there is no control adapter, or it matches no elements, return the focusDomRef of the control. Note that some controls may not have a focusDomRef.</li>
|
|
69
69
|
* </ol>
|
|
70
70
|
* @param {object} oControl the control to execute an action on
|
|
@@ -287,10 +287,10 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
287
287
|
},
|
|
288
288
|
|
|
289
289
|
_createAndDispatchScrollEvent: function (oDomRef, oOptions) {
|
|
290
|
-
if (oOptions.x) {
|
|
290
|
+
if (oOptions.x != null) {
|
|
291
291
|
oDomRef.scrollLeft = oOptions.x;
|
|
292
292
|
}
|
|
293
|
-
if (oOptions.y) {
|
|
293
|
+
if (oOptions.y != null) {
|
|
294
294
|
oDomRef.scrollTop = oOptions.y;
|
|
295
295
|
}
|
|
296
296
|
var oScrollEvent = new Event("scroll", {
|
|
@@ -26,11 +26,11 @@ sap.ui.define([
|
|
|
26
26
|
* [mSettings] Optional object with initial settings for the new instance
|
|
27
27
|
* @extends sap.ui.test.actions.Action
|
|
28
28
|
* @public
|
|
29
|
-
* @
|
|
29
|
+
* @alias sap.ui.test.actions.Drag
|
|
30
30
|
* @author SAP SE
|
|
31
31
|
* @since 1.76
|
|
32
32
|
*/
|
|
33
|
-
var Drag = Action.extend("sap.ui.test.actions.Drag", {
|
|
33
|
+
var Drag = Action.extend("sap.ui.test.actions.Drag", /** @lends sap.ui.test.actions.Drag.prototype */ {
|
|
34
34
|
|
|
35
35
|
metadata : {
|
|
36
36
|
publicMethods : [ "executeOn" ]
|
|
@@ -33,11 +33,11 @@ sap.ui.define([
|
|
|
33
33
|
* [mSettings] Optional object with initial settings for the new instance
|
|
34
34
|
* @extends sap.ui.test.actions.Action
|
|
35
35
|
* @public
|
|
36
|
-
* @
|
|
36
|
+
* @alias sap.ui.test.actions.Drop
|
|
37
37
|
* @author SAP SE
|
|
38
38
|
* @since 1.76
|
|
39
39
|
*/
|
|
40
|
-
var Drop = Action.extend("sap.ui.test.actions.Drop", {
|
|
40
|
+
var Drop = Action.extend("sap.ui.test.actions.Drop", /** @lends sap.ui.test.actions.Drop.prototype */ {
|
|
41
41
|
|
|
42
42
|
metadata : {
|
|
43
43
|
properties: {
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* [mSettings] Optional object with initial settings for the new instance
|
|
32
32
|
* @extends sap.ui.test.actions.Action
|
|
33
33
|
* @public
|
|
34
|
-
* @
|
|
34
|
+
* @alias sap.ui.test.actions.EnterText
|
|
35
35
|
* @author SAP SE
|
|
36
36
|
* @since 1.34
|
|
37
37
|
*/
|
|
@@ -161,6 +161,9 @@ sap.ui.define([
|
|
|
161
161
|
* A map of ID suffixes for controls that require a special DOM reference for
|
|
162
162
|
* <code>EnterText</code> interaction.
|
|
163
163
|
*
|
|
164
|
+
* You can specify an ID suffix for specific controls in this map.
|
|
165
|
+
* The enter text action will be triggered on the DOM element with the specified suffix.
|
|
166
|
+
*
|
|
164
167
|
* Here is a sublist of supported controls and their <code>EnterText</code> control adapter:
|
|
165
168
|
* <ul>
|
|
166
169
|
* <li>sap.m.StepInput - internal Input</li>
|
|
@@ -179,8 +182,8 @@ sap.ui.define([
|
|
|
179
182
|
* </code>
|
|
180
183
|
* </pre>
|
|
181
184
|
*
|
|
182
|
-
* It contains two input tags in its
|
|
183
|
-
* When you render your control it creates the following
|
|
185
|
+
* It contains two input tags in its DOM.
|
|
186
|
+
* When you render your control it creates the following DOM:
|
|
184
187
|
*
|
|
185
188
|
*
|
|
186
189
|
* <pre>
|
|
@@ -200,17 +203,14 @@ sap.ui.define([
|
|
|
200
203
|
*
|
|
201
204
|
* // Example usage
|
|
202
205
|
* new EnterText(); // executes on second Input since it is set as default
|
|
203
|
-
* new EnterText({ idSuffix: "firstInput"}); // executes on the first input has to be the same as the last part of the
|
|
206
|
+
* new EnterText({ idSuffix: "firstInput"}); // executes on the first input has to be the same as the last part of the ID in the DOM
|
|
204
207
|
* </code>
|
|
205
208
|
* </pre>
|
|
206
209
|
*
|
|
207
210
|
*
|
|
208
211
|
* @public
|
|
209
212
|
* @static
|
|
210
|
-
* @
|
|
211
|
-
* You can specify an Id suffix for specific controls in this map.
|
|
212
|
-
* The enter text action will be triggered on the DOM element with the specified suffix
|
|
213
|
-
* @type map
|
|
213
|
+
* @type Object<string,(string|function(sap.ui.core.Control):string)>
|
|
214
214
|
*/
|
|
215
215
|
EnterText.controlAdapters = {};
|
|
216
216
|
EnterText.controlAdapters["sap.m.StepInput"] = "input-inner"; // focusDomRef: <input>
|
|
@@ -25,7 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
* or by defining a control adapter.
|
|
26
26
|
*
|
|
27
27
|
* There are some basic controls for which OPA5 has defined <code>Press</code> control
|
|
28
|
-
* adapters. For more information, see {@link sap.ui.test.actions.Press
|
|
28
|
+
* adapters. For more information, see <code>controlAdapters</code> at {@link sap.ui.test.actions.Press}.
|
|
29
29
|
*
|
|
30
30
|
* @param {string}
|
|
31
31
|
* [sId] Optional ID for the new instance; generated automatically if
|
|
@@ -35,7 +35,7 @@ sap.ui.define([
|
|
|
35
35
|
* [mSettings] Optional object with initial settings for the new instance
|
|
36
36
|
* @extends sap.ui.test.actions.Action
|
|
37
37
|
* @public
|
|
38
|
-
* @
|
|
38
|
+
* @alias sap.ui.test.actions.Press
|
|
39
39
|
* @author SAP SE
|
|
40
40
|
* @since 1.34
|
|
41
41
|
*/
|
|
@@ -159,6 +159,9 @@ sap.ui.define([
|
|
|
159
159
|
* A map of ID suffixes for controls that require a special DOM reference for
|
|
160
160
|
* <code>Press</code> interaction.
|
|
161
161
|
*
|
|
162
|
+
* You can specify an ID suffix for specific controls in this map.
|
|
163
|
+
* The press action will be triggered on the DOM element with the specified suffix.
|
|
164
|
+
*
|
|
162
165
|
* Here is a sublist of supported controls and their <code>Press</code> control adapter:
|
|
163
166
|
* <ul>
|
|
164
167
|
* <li>sap.m.ComboBox - Arrow button</li>
|
|
@@ -215,10 +218,7 @@ sap.ui.define([
|
|
|
215
218
|
*
|
|
216
219
|
* @public
|
|
217
220
|
* @static
|
|
218
|
-
* @
|
|
219
|
-
* You can specify an Id suffix for specific controls in this map.
|
|
220
|
-
* The press action will be triggered on the DOM element with the specified suffix
|
|
221
|
-
* @type map
|
|
221
|
+
* @type Object<string,(string|function(sap.ui.core.Control):string)>
|
|
222
222
|
*/
|
|
223
223
|
Press.controlAdapters = {};
|
|
224
224
|
Press.controlAdapters["sap.m.Input"] = "vhi"; // focusDomRef: <input>
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* [mSettings] Optional object with initial settings for the new instance
|
|
24
24
|
* @extends sap.ui.test.actions.Action
|
|
25
25
|
* @public
|
|
26
|
-
* @
|
|
26
|
+
* @alias sap.ui.test.actions.Scroll
|
|
27
27
|
* @author SAP SE
|
|
28
28
|
* @since 1.90
|
|
29
29
|
*/
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* IMPORTANT: This is a private module, its API must not be used and is subject to change.
|
|
8
8
|
* Code other than the OpenUI5 libraries must not introduce dependencies to this module.
|
|
9
9
|
*/
|
|
10
|
-
sap.ui.define(['sap/ui/Device', 'sap/base/Log',
|
|
10
|
+
sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/dom/_ready'], function(Device, Log, extend, _ready) {
|
|
11
11
|
"use strict";
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -20,6 +20,25 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
20
20
|
|
|
21
21
|
var _bInitTriggered = false;
|
|
22
22
|
|
|
23
|
+
function addElementToHead(sTag, mAttributes) {
|
|
24
|
+
mAttributes = mAttributes || {};
|
|
25
|
+
|
|
26
|
+
var oTag = document.createElement(sTag);
|
|
27
|
+
for (var key in mAttributes) {
|
|
28
|
+
if (mAttributes[key]) {
|
|
29
|
+
oTag.setAttribute(key, mAttributes[key]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
document.head.appendChild(oTag);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function removeFromHead(sSelector) {
|
|
36
|
+
var aElements = document.head.querySelectorAll(sSelector);
|
|
37
|
+
for (var i = 0, l = aElements.length; i < l; i++) {
|
|
38
|
+
aElements[i].remove(aElements[i]);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
23
42
|
/**
|
|
24
43
|
* Does some basic modifications to the HTML page that make it more suitable for mobile apps.
|
|
25
44
|
* Only the first call to this method is executed, subsequent calls are ignored. Note that this method is also
|
|
@@ -72,12 +91,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
72
91
|
* @public
|
|
73
92
|
*/
|
|
74
93
|
Mobile.init = function(options) {
|
|
75
|
-
var $head = jQuery("head");
|
|
76
|
-
|
|
77
94
|
if (!_bInitTriggered) { // only one initialization per HTML page
|
|
78
95
|
_bInitTriggered = true;
|
|
79
96
|
|
|
80
|
-
options =
|
|
97
|
+
options = extend({}, { // merge in the default values
|
|
81
98
|
viewport: true,
|
|
82
99
|
statusBar: "default",
|
|
83
100
|
hideBrowser: true,
|
|
@@ -91,10 +108,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
91
108
|
// en-/disable automatic link generation for phone numbers
|
|
92
109
|
if (options.preventPhoneNumberDetection) {
|
|
93
110
|
// iOS specific meta tag
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
111
|
+
addElementToHead("meta", {
|
|
112
|
+
name: "format-detection",
|
|
113
|
+
content: "telephone=no"
|
|
114
|
+
});// this only works for all DOM created afterwards
|
|
98
115
|
}
|
|
99
116
|
|
|
100
117
|
// initialize viewport
|
|
@@ -121,7 +138,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
121
138
|
sMeta += ", maximum-scale=1.0, user-scalable=no";
|
|
122
139
|
}
|
|
123
140
|
|
|
124
|
-
|
|
141
|
+
addElementToHead("meta", {
|
|
142
|
+
name: "viewport",
|
|
143
|
+
content: sMeta
|
|
144
|
+
});
|
|
125
145
|
|
|
126
146
|
// Update Device API resize info, which is necessary in some scenarios after setting the viewport info
|
|
127
147
|
if ((iInnerHeightBefore !== window.innerHeight || iInnerWidthBefore !== window.innerWidth) && Device.resize._update){
|
|
@@ -130,13 +150,13 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
130
150
|
}
|
|
131
151
|
|
|
132
152
|
if (options.useFullScreenHeight) {
|
|
133
|
-
|
|
153
|
+
_ready().then(function() {
|
|
134
154
|
document.documentElement.style.height = "100%"; // set html root tag to 100% height
|
|
135
155
|
});
|
|
136
156
|
}
|
|
137
157
|
|
|
138
158
|
if (options.preventScroll && (Device.os.ios || (Device.os.mac && Device.browser.mobile))) {
|
|
139
|
-
|
|
159
|
+
_ready().then(function() {
|
|
140
160
|
document.documentElement.style.position = "fixed";
|
|
141
161
|
document.documentElement.style.overflow = "hidden";
|
|
142
162
|
document.documentElement.style.height = "100%";
|
|
@@ -155,7 +175,7 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
155
175
|
favicon: options.homeIcon
|
|
156
176
|
};
|
|
157
177
|
} else {
|
|
158
|
-
oIcons =
|
|
178
|
+
oIcons = Object.assign({}, options.homeIcon);
|
|
159
179
|
oIcons.phone = options.homeIcon.phone || options.homeIcon.icon || oIcons.favicon;
|
|
160
180
|
oIcons.favicon = oIcons.favicon || options.homeIcon.icon || options.homeIcon.phone;
|
|
161
181
|
oIcons.icon = undefined;
|
|
@@ -226,8 +246,7 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
226
246
|
return;
|
|
227
247
|
}
|
|
228
248
|
|
|
229
|
-
var
|
|
230
|
-
precomposed = oIcons.precomposed ? "-precomposed" : "",
|
|
249
|
+
var precomposed = oIcons.precomposed ? "-precomposed" : "",
|
|
231
250
|
getBestFallback = function(res) {
|
|
232
251
|
return oIcons[res] || oIcons['tablet@2'] || oIcons['phone@2'] || oIcons['phone'] || oIcons['tablet']; // fallback logic
|
|
233
252
|
},
|
|
@@ -241,30 +260,31 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
241
260
|
// desktop icon
|
|
242
261
|
if (oIcons["favicon"]) {
|
|
243
262
|
// remove any other favicons
|
|
244
|
-
|
|
245
|
-
$fav.each(function() {
|
|
246
|
-
if (this.rel === "icon") {
|
|
247
|
-
jQuery(this).remove();
|
|
248
|
-
}
|
|
249
|
-
});
|
|
263
|
+
removeFromHead("link[rel=icon]");
|
|
250
264
|
|
|
251
265
|
// create favicon
|
|
252
|
-
|
|
266
|
+
addElementToHead("link", {
|
|
267
|
+
rel: "icon",
|
|
268
|
+
href: oIcons["favicon"]
|
|
269
|
+
});
|
|
253
270
|
}
|
|
254
271
|
|
|
255
272
|
// mobile home screen icons
|
|
256
273
|
if (getBestFallback("phone")) {
|
|
257
274
|
|
|
258
275
|
// if any home icon is given remove old ones
|
|
259
|
-
|
|
260
|
-
|
|
276
|
+
removeFromHead("[rel=apple-touch-icon]");
|
|
277
|
+
removeFromHead("[rel=apple-touch-icon-precomposed]");
|
|
261
278
|
}
|
|
262
279
|
|
|
263
280
|
for (var platform in mSizes) {
|
|
264
281
|
oIcons[platform] = oIcons[platform] || getBestFallback(platform);
|
|
265
282
|
if (oIcons[platform]) {
|
|
266
|
-
|
|
267
|
-
|
|
283
|
+
addElementToHead("link", {
|
|
284
|
+
rel: "apple-touch-icon" + precomposed,
|
|
285
|
+
href: oIcons[platform],
|
|
286
|
+
sizes: mSizes[platform]
|
|
287
|
+
});
|
|
268
288
|
}
|
|
269
289
|
}
|
|
270
290
|
};
|
|
@@ -293,22 +313,28 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
|
|
|
293
313
|
return;
|
|
294
314
|
}
|
|
295
315
|
|
|
296
|
-
var
|
|
297
|
-
aPrefixes = ["", "apple"],
|
|
316
|
+
var aPrefixes = ["", "apple"],
|
|
298
317
|
sNameBase = "mobile-web-app-capable",
|
|
299
318
|
sContent = bValue ? "yes" : "no",
|
|
300
|
-
i, sName,
|
|
319
|
+
i, sName, oWebAppMetaTag;
|
|
301
320
|
|
|
302
321
|
for (i = 0; i < aPrefixes.length; i++) {
|
|
303
322
|
sName = aPrefixes[i] ? (aPrefixes[i] + "-" + sNameBase) : sNameBase;
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
323
|
+
oWebAppMetaTag = document.head.querySelector('meta[name="' + sName + '"]');
|
|
324
|
+
|
|
325
|
+
if (oWebAppMetaTag) {
|
|
326
|
+
oWebAppMetaTag.setAttribute("content", sContent);
|
|
307
327
|
} else {
|
|
308
|
-
|
|
328
|
+
addElementToHead("meta", {
|
|
329
|
+
name: sName,
|
|
330
|
+
content: sContent
|
|
331
|
+
});
|
|
309
332
|
if (aPrefixes[i] === "apple") {
|
|
310
333
|
// iOS specific meta tag should be added only first time the corresponding apple-mobile-web-app-capable is added
|
|
311
|
-
|
|
334
|
+
addElementToHead("meta", {
|
|
335
|
+
name: "apple-mobile-web-app-status-bar-style",
|
|
336
|
+
content: sAppleStatusBarStyle ? sAppleStatusBarStyle : 'default'
|
|
337
|
+
});
|
|
312
338
|
}
|
|
313
339
|
}
|
|
314
340
|
}
|
|
@@ -142,7 +142,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
142
142
|
* Retrieves data item for a specific key.
|
|
143
143
|
*
|
|
144
144
|
* @param {string} sKey key to retrieve
|
|
145
|
-
* @
|
|
145
|
+
* @returns {object|null} key's value or <code>null</code>
|
|
146
146
|
* @public
|
|
147
147
|
* @function
|
|
148
148
|
* @name module:sap/ui/util/Storage#get
|
|
@@ -250,7 +250,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
250
250
|
*
|
|
251
251
|
* @enum {string}
|
|
252
252
|
* @public
|
|
253
|
-
* @version 1.
|
|
253
|
+
* @version 1.103.0
|
|
254
254
|
*/
|
|
255
255
|
Storage.Type = {
|
|
256
256
|
/**
|
|
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
|
|
|
14
14
|
*
|
|
15
15
|
* @param {sap.ui.core.URI} sUrl URL of a document that should be loaded in the new window
|
|
16
16
|
* @param {string} sWindowName Name of the new window
|
|
17
|
-
* @returns {Window|null} The newly returned window object or null
|
|
17
|
+
* @returns {Window|null} The newly returned window object or <code>null</code>
|
|
18
18
|
* @private
|
|
19
19
|
* @ui5-restricted
|
|
20
20
|
* @alias module:sap/ui/util/openWindow
|
package/src/ui5loader.js
CHANGED
|
@@ -560,7 +560,7 @@
|
|
|
560
560
|
*
|
|
561
561
|
* @param {string} sURL URL to guess the resource name for
|
|
562
562
|
* @param {boolean} [bLoadedResourcesOnly=false] Whether the guess should be limited to already loaded resources
|
|
563
|
-
* @returns {string} Resource name or undefined if no matching name could be found
|
|
563
|
+
* @returns {string|undefined} Resource name or <code>undefined</code> if no matching name could be found
|
|
564
564
|
* @private
|
|
565
565
|
*/
|
|
566
566
|
function guessResourceName(sURL, bLoadedResourcesOnly) {
|
|
@@ -3066,7 +3066,7 @@
|
|
|
3066
3066
|
* dependencies or executing the factory function. Note that due to browser restrictions
|
|
3067
3067
|
* not all errors will be reported via this callback. In general, module loading is
|
|
3068
3068
|
* designed for the non-error case. Error handling is not complete.
|
|
3069
|
-
* @returns {any|undefined} A single module export value (sync probing variant) or undefined (async loading variant)
|
|
3069
|
+
* @returns {any|undefined} A single module export value (sync probing variant) or <code>undefined</code> (async loading variant)
|
|
3070
3070
|
* @public
|
|
3071
3071
|
* @function
|
|
3072
3072
|
* @ui5-global-only
|
|
@@ -3132,7 +3132,7 @@
|
|
|
3132
3132
|
* a content security policies (CSP) that forbids 'eval'.
|
|
3133
3133
|
*
|
|
3134
3134
|
* @param {string} sModuleName Module name in requireJS syntax
|
|
3135
|
-
* @returns {any} value of the loaded module
|
|
3135
|
+
* @returns {any} Export value of the loaded module (can be <code>undefined</code>)
|
|
3136
3136
|
* @private
|
|
3137
3137
|
* @ui5-restricted sap.ui.core
|
|
3138
3138
|
* @function
|
package/ui5.yaml
CHANGED
|
@@ -12,6 +12,77 @@ resources:
|
|
|
12
12
|
propertiesFileSourceEncoding: ISO-8859-1
|
|
13
13
|
builder:
|
|
14
14
|
bundles:
|
|
15
|
+
- bundleDefinition:
|
|
16
|
+
name: sap/ui/core/library-preload.js
|
|
17
|
+
sections:
|
|
18
|
+
- mode: provided
|
|
19
|
+
filters:
|
|
20
|
+
# bundle sap-ui-core.js
|
|
21
|
+
- ui5loader-autoconfig.js
|
|
22
|
+
- sap/ui/core/Core.js
|
|
23
|
+
# end bundle sap-ui-core.js
|
|
24
|
+
resolve: true
|
|
25
|
+
- mode: preload
|
|
26
|
+
name: sap/ui/core/library-preload
|
|
27
|
+
filters:
|
|
28
|
+
# NOTE: In some scenarios, more files are available during bundling, so only specific includes must be used
|
|
29
|
+
- sap/ui/core/
|
|
30
|
+
- sap/ui/core/**/manifest.json
|
|
31
|
+
- sap/base/
|
|
32
|
+
- sap/ui/base/
|
|
33
|
+
- sap/ui/dom/
|
|
34
|
+
- sap/ui/events/
|
|
35
|
+
- sap/ui/model/
|
|
36
|
+
- sap/ui/security/
|
|
37
|
+
- sap/ui/util/
|
|
38
|
+
- sap/ui/Device.js
|
|
39
|
+
- sap/ui/Global.js
|
|
40
|
+
- sap/ui/VersionInfo.js
|
|
41
|
+
- "jquery.sap.*.js"
|
|
42
|
+
|
|
43
|
+
# include only thirdparty that is very likely to be used
|
|
44
|
+
- "sap/ui/thirdparty/crossroads.js"
|
|
45
|
+
- "sap/ui/thirdparty/caja-html-sanitizer.js"
|
|
46
|
+
- "sap/ui/thirdparty/hasher.js"
|
|
47
|
+
- "sap/ui/thirdparty/signals.js"
|
|
48
|
+
- "sap/ui/thirdparty/jquery-mobile-custom.js"
|
|
49
|
+
- "sap/ui/thirdparty/jqueryui/jquery-ui-core.js"
|
|
50
|
+
- "sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js"
|
|
51
|
+
- "sap/ui/thirdparty/jqueryui/jquery-ui-position.js"
|
|
52
|
+
|
|
53
|
+
# exclude all merged files as well as the top level jQuery copy (not visible in OpenUI5)
|
|
54
|
+
- "!sap-*.js"
|
|
55
|
+
- "!jquery-*.js"
|
|
56
|
+
- "!sap/ui/core/*-preload.js"
|
|
57
|
+
|
|
58
|
+
# ignore substitutes for moved third party libs
|
|
59
|
+
- "!sap/ui/model/odata/datajs.js"
|
|
60
|
+
|
|
61
|
+
# exclude legacy app namespace (not visible in OpenUI5)
|
|
62
|
+
# - "!sap/ui/app/" # Not included, so exclude is not required
|
|
63
|
+
|
|
64
|
+
# exclude non-productive code
|
|
65
|
+
- "!sap/ui/core/support/"
|
|
66
|
+
- "!sap/ui/core/designtime/"
|
|
67
|
+
- "!sap/ui/core/**/*.designtime.js"
|
|
68
|
+
- "!sap/ui/core/**/*.support.js"
|
|
69
|
+
# - "!sap/ui/debug/" # Not included, so exclude is not required
|
|
70
|
+
# - "!sap/ui/qunit/" # Not included, so exclude is not required
|
|
71
|
+
# - "!sap/ui/test/" # Not included, so exclude is not required
|
|
72
|
+
|
|
73
|
+
# core plugins, shouldn't be packaged by default
|
|
74
|
+
- "!sap/ui/core/plugin/DeclarativeSupport.js"
|
|
75
|
+
- "!sap/ui/core/plugin/LessSupport.js"
|
|
76
|
+
|
|
77
|
+
# CLDR files must not be packaged
|
|
78
|
+
- "!sap/ui/core/cldr/"
|
|
79
|
+
|
|
80
|
+
resolve: false
|
|
81
|
+
resolveConditional: false
|
|
82
|
+
renderer: true
|
|
83
|
+
bundleOptions:
|
|
84
|
+
optimize: true
|
|
85
|
+
usePredefineCalls: true
|
|
15
86
|
- bundleDefinition:
|
|
16
87
|
name: jquery-sap.js
|
|
17
88
|
sections:
|
|
@@ -194,7 +265,7 @@ builder:
|
|
|
194
265
|
- sap/ui/test/TestEnv.js
|
|
195
266
|
- sap/ui/test/ControlTree.js
|
|
196
267
|
- sap/ui/debug/Highlighter.js
|
|
197
|
-
- jquery.sap.strings
|
|
268
|
+
- jquery.sap.strings.js
|
|
198
269
|
resolve: false
|
|
199
270
|
- mode: require
|
|
200
271
|
filters:
|