@openui5/sap.ui.core 1.108.1 → 1.109.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/THIRDPARTY.txt +1 -1
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- 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/Log.js +125 -84
- package/src/sap/base/i18n/ResourceBundle.js +41 -11
- package/src/sap/base/util/includes.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- 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/base/util/values.js +2 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectObserver.js +33 -11
- 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/core/.library +3 -3
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +4 -4
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/LocaleData.js +133 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +82 -50
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +29 -9
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- 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 +7 -5
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- 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 +1 -3
- package/src/sap/ui/core/cldr/ar.json +330 -0
- package/src/sap/ui/core/cldr/ar_EG.json +330 -0
- package/src/sap/ui/core/cldr/ar_SA.json +330 -0
- package/src/sap/ui/core/cldr/bg.json +295 -0
- package/src/sap/ui/core/cldr/ca.json +329 -0
- package/src/sap/ui/core/cldr/cs.json +328 -0
- package/src/sap/ui/core/cldr/cy.json +260 -0
- package/src/sap/ui/core/cldr/da.json +295 -0
- package/src/sap/ui/core/cldr/de.json +329 -0
- package/src/sap/ui/core/cldr/de_AT.json +329 -0
- package/src/sap/ui/core/cldr/de_CH.json +329 -0
- package/src/sap/ui/core/cldr/el.json +228 -0
- package/src/sap/ui/core/cldr/el_CY.json +228 -0
- package/src/sap/ui/core/cldr/en.json +294 -0
- package/src/sap/ui/core/cldr/en_AU.json +294 -0
- package/src/sap/ui/core/cldr/en_GB.json +294 -0
- package/src/sap/ui/core/cldr/en_HK.json +294 -0
- package/src/sap/ui/core/cldr/en_IE.json +294 -0
- package/src/sap/ui/core/cldr/en_IN.json +294 -0
- package/src/sap/ui/core/cldr/en_NZ.json +294 -0
- package/src/sap/ui/core/cldr/en_PG.json +294 -0
- package/src/sap/ui/core/cldr/en_SG.json +294 -0
- package/src/sap/ui/core/cldr/en_ZA.json +294 -0
- package/src/sap/ui/core/cldr/es.json +261 -0
- package/src/sap/ui/core/cldr/es_AR.json +261 -0
- package/src/sap/ui/core/cldr/es_BO.json +261 -0
- package/src/sap/ui/core/cldr/es_CL.json +261 -0
- package/src/sap/ui/core/cldr/es_CO.json +261 -0
- package/src/sap/ui/core/cldr/es_MX.json +261 -0
- package/src/sap/ui/core/cldr/es_PE.json +261 -0
- package/src/sap/ui/core/cldr/es_UY.json +261 -0
- package/src/sap/ui/core/cldr/es_VE.json +261 -0
- package/src/sap/ui/core/cldr/et.json +294 -0
- package/src/sap/ui/core/cldr/fa.json +296 -0
- package/src/sap/ui/core/cldr/fi.json +328 -0
- package/src/sap/ui/core/cldr/fr.json +294 -0
- package/src/sap/ui/core/cldr/fr_BE.json +294 -0
- package/src/sap/ui/core/cldr/fr_CA.json +294 -0
- package/src/sap/ui/core/cldr/fr_CH.json +294 -0
- package/src/sap/ui/core/cldr/fr_LU.json +294 -0
- package/src/sap/ui/core/cldr/he.json +329 -0
- package/src/sap/ui/core/cldr/hi.json +261 -0
- package/src/sap/ui/core/cldr/hr.json +294 -0
- package/src/sap/ui/core/cldr/hu.json +362 -0
- package/src/sap/ui/core/cldr/id.json +294 -0
- package/src/sap/ui/core/cldr/it.json +294 -0
- package/src/sap/ui/core/cldr/it_CH.json +294 -0
- package/src/sap/ui/core/cldr/ja.json +328 -0
- package/src/sap/ui/core/cldr/kk.json +294 -0
- package/src/sap/ui/core/cldr/ko.json +328 -0
- package/src/sap/ui/core/cldr/lt.json +294 -0
- package/src/sap/ui/core/cldr/lv.json +294 -0
- package/src/sap/ui/core/cldr/ms.json +262 -0
- package/src/sap/ui/core/cldr/nb.json +295 -0
- package/src/sap/ui/core/cldr/nl.json +261 -0
- package/src/sap/ui/core/cldr/nl_BE.json +261 -0
- package/src/sap/ui/core/cldr/pl.json +328 -0
- package/src/sap/ui/core/cldr/pt.json +294 -0
- package/src/sap/ui/core/cldr/pt_PT.json +294 -0
- package/src/sap/ui/core/cldr/ro.json +294 -0
- package/src/sap/ui/core/cldr/ru.json +294 -0
- package/src/sap/ui/core/cldr/ru_UA.json +294 -0
- package/src/sap/ui/core/cldr/sk.json +328 -0
- package/src/sap/ui/core/cldr/sl.json +328 -0
- package/src/sap/ui/core/cldr/sr.json +294 -0
- package/src/sap/ui/core/cldr/sr_Latn.json +294 -0
- package/src/sap/ui/core/cldr/sv.json +295 -0
- package/src/sap/ui/core/cldr/th.json +362 -0
- package/src/sap/ui/core/cldr/tr.json +362 -0
- package/src/sap/ui/core/cldr/uk.json +294 -0
- package/src/sap/ui/core/cldr/vi.json +294 -0
- package/src/sap/ui/core/cldr/zh_CN.json +329 -0
- package/src/sap/ui/core/cldr/zh_HK.json +329 -0
- package/src/sap/ui/core/cldr/zh_SG.json +329 -0
- package/src/sap/ui/core/cldr/zh_TW.json +329 -0
- package/src/sap/ui/core/date/Japanese.js +30 -0
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
- 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 +122 -2
- package/src/sap/ui/core/format/NumberFormat.js +111 -70
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- 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 +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +3 -3
- package/src/sap/ui/core/mvc/ViewType.js +4 -0
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +12 -17
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- 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/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/themes/base/Icon.less +17 -4
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +599 -90
- package/src/sap/ui/core/themes/base/global.less +64 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +65 -0
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -3
- 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 +1 -1
- 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/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/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/Type.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +11 -3
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- 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/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 -1
- 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/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +3 -4
- package/src/sap/ui/model/odata/v4/Context.js +82 -29
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -2
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +77 -23
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +334 -142
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +109 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +82 -42
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +26 -0
- 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/XMLModel.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +14 -2
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/OpaExtension.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +6 -4
- package/src/sap/ui/test/PageObjectFactory.js +11 -9
- package/src/sap/ui/test/RecordReplay.js +1 -1
- package/src/sap/ui/test/_OpaLogger.js +1 -1
- package/src/sap/ui/test/autowaiter/_promiseWaiter.js +4 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Mobile.js +17 -18
- package/src/sap/ui/util/Storage.js +90 -63
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
sap.ui.define([
|
|
21
|
+
'sap/base/util/extend',
|
|
22
|
+
'sap/base/util/ObjectPath',
|
|
21
23
|
'sap/ui/thirdparty/jquery',
|
|
22
24
|
'sap/ui/base/Object',
|
|
23
25
|
'sap/ui/core/Element',
|
|
@@ -26,7 +28,7 @@ sap.ui.define([
|
|
|
26
28
|
'sap/ui/test/matchers/MatcherFactory',
|
|
27
29
|
'sap/ui/test/pipelines/MatcherPipeline',
|
|
28
30
|
'sap/ui/test/_OpaLogger'
|
|
29
|
-
], function ($, UI5Object, UI5Element, View, Ancestor, MatcherFactory,
|
|
31
|
+
], function (extend, ObjectPath, $, UI5Object, UI5Element, View, Ancestor, MatcherFactory,
|
|
30
32
|
MatcherPipeline, _OpaLogger) {
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -419,7 +421,7 @@ sap.ui.define([
|
|
|
419
421
|
*/
|
|
420
422
|
_getFilteredControls : function(oOptions) {
|
|
421
423
|
var vControl = this._filterControlsByCondition(oOptions);
|
|
422
|
-
var oFilterOptions =
|
|
424
|
+
var oFilterOptions = extend({}, oOptions);
|
|
423
425
|
|
|
424
426
|
// when on the root level of oOptions, these options are already processed (see _filterControlsByCondition) and should not be processed again,
|
|
425
427
|
// as this results in error when no controls are passed to the matcher pipeline (see _filterControlsByMatchers)
|
|
@@ -456,7 +458,7 @@ sap.ui.define([
|
|
|
456
458
|
|
|
457
459
|
// instantiate any matchers with declarative syntax and run controls through matcher pipeline
|
|
458
460
|
_filterControlsByMatchers: function (oOptions, vControl) {
|
|
459
|
-
var oOptionsWithMatchers =
|
|
461
|
+
var oOptionsWithMatchers = extend({}, oOptions);
|
|
460
462
|
var aMatchers = this._oMatcherFactory.getFilteringMatchers(oOptionsWithMatchers);
|
|
461
463
|
var bPluginLooksForControls = this._isLookingForAControl(oOptions);
|
|
462
464
|
var vResult = null;
|
|
@@ -561,7 +563,7 @@ sap.ui.define([
|
|
|
561
563
|
return null;
|
|
562
564
|
}
|
|
563
565
|
|
|
564
|
-
var fnControlType =
|
|
566
|
+
var fnControlType = ObjectPath.get(sControlType);
|
|
565
567
|
|
|
566
568
|
// no control type
|
|
567
569
|
if (!fnControlType) {
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
'sap/
|
|
9
|
-
'sap/
|
|
8
|
+
'sap/base/Log',
|
|
9
|
+
'sap/base/util/deepExtend',
|
|
10
|
+
'sap/base/util/isEmptyObject',
|
|
11
|
+
'sap/base/util/ObjectPath',
|
|
10
12
|
'sap/ui/base/Object',
|
|
11
|
-
|
|
12
|
-
], function(
|
|
13
|
+
'sap/ui/test/Opa'
|
|
14
|
+
], function(Log, deepExtend, isEmptyObject, ObjectPath, Ui5Object, Opa) {
|
|
13
15
|
"use strict";
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -39,7 +41,7 @@ sap.ui.define([
|
|
|
39
41
|
var mPageObjects = {};
|
|
40
42
|
|
|
41
43
|
for (var sPageObjectName in mPageDefinitions) {
|
|
42
|
-
if (mPageDefinitions.hasOwnProperty(sPageObjectName) &&
|
|
44
|
+
if (mPageDefinitions.hasOwnProperty(sPageObjectName) && isEmptyObject(mPageObjects[sPageObjectName])) {
|
|
43
45
|
|
|
44
46
|
mPageObjects[sPageObjectName] = PageObjectFactory._createPageObject({
|
|
45
47
|
name: sPageObjectName,
|
|
@@ -97,7 +99,7 @@ sap.ui.define([
|
|
|
97
99
|
// create class name for an operation object
|
|
98
100
|
function _createClassName(sNamespace, sPageObjectName, sOperationType) {
|
|
99
101
|
var sClassName = sNamespace + "." + sPageObjectName + "." + sOperationType;
|
|
100
|
-
var oObj =
|
|
102
|
+
var oObj = ObjectPath.get(sClassName);
|
|
101
103
|
if (oObj){
|
|
102
104
|
Log.error("Opa5 Page Object namespace clash: You have loaded multiple page objects with the same name '" + sClassName + "'. " +
|
|
103
105
|
"To prevent override, specify the namespace parameter.");
|
|
@@ -107,10 +109,10 @@ sap.ui.define([
|
|
|
107
109
|
|
|
108
110
|
// add default values to the waitFor method of an operation instance
|
|
109
111
|
function _configureWaitFor(oOperation, mView){
|
|
110
|
-
if (
|
|
112
|
+
if (!isEmptyObject(mView) && oOperation.waitFor) {
|
|
111
113
|
var fnOriginalWaitFor = oOperation.waitFor;
|
|
112
114
|
oOperation.waitFor = function (oOptions) {
|
|
113
|
-
return fnOriginalWaitFor.call(this,
|
|
115
|
+
return fnOriginalWaitFor.call(this, deepExtend({}, mView, oOptions));
|
|
114
116
|
};
|
|
115
117
|
}
|
|
116
118
|
}
|
|
@@ -137,7 +139,7 @@ sap.ui.define([
|
|
|
137
139
|
function _mixinTestLibraries(oOperation, sOperationType) {
|
|
138
140
|
if (Opa.config.testLibs) {
|
|
139
141
|
for (var sTestLib in Opa.config.testLibs) { // the test library is configured by the test
|
|
140
|
-
if (Opa.config.testLibBase &&
|
|
142
|
+
if (Opa.config.testLibBase && !isEmptyObject(Opa.config.testLibBase[sTestLib])) { // the test library exposes methods
|
|
141
143
|
// add a plain object property to the operation prototype, that will contain all methods of the desired type
|
|
142
144
|
// the property name is with the same as the test library name
|
|
143
145
|
var oOperationPrototype = Object.getPrototypeOf(oOperation);
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
|
|
21
21
|
return {
|
|
22
22
|
// _OpaLogger might also be loaded in an iFrame. setLevel should be called for each iFrame
|
|
23
|
-
//
|
|
23
|
+
// `Log` reference changes depending on the contentWindow
|
|
24
24
|
setLevel: function (sNewLogLevel) {
|
|
25
25
|
sNewLogLevel = sNewLogLevel && sNewLogLevel.toUpperCase();
|
|
26
26
|
if (sNewLogLevel && Log.Level[sNewLogLevel]) {
|
|
@@ -116,7 +116,7 @@ sap.ui.define([
|
|
|
116
116
|
return false;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
var WrappedPromise = function (fnOriginalExecutor) {
|
|
119
|
+
var WrappedPromise = function (fnOriginalExecutor, tracking) {
|
|
120
120
|
var mPendingPromise;
|
|
121
121
|
|
|
122
122
|
var fnWrappedExecutor = function (fnOriginalResolve, fnOriginalReject) {
|
|
@@ -128,6 +128,9 @@ sap.ui.define([
|
|
|
128
128
|
} else if (sArguments === "'function () { [native code] }'") {
|
|
129
129
|
oPromiseWaiter._oLogger.trace("Ignoring internal Promise constructor");
|
|
130
130
|
return fnOriginalExecutor(fnOriginalResolve, fnOriginalReject);
|
|
131
|
+
} else if (tracking === "PROMISE_WAITER_IGNORE") {
|
|
132
|
+
oPromiseWaiter._oLogger.trace("Ignoring Promise marked to ignore");
|
|
133
|
+
return fnOriginalExecutor(fnOriginalResolve, fnOriginalReject);
|
|
131
134
|
} else {
|
|
132
135
|
mPendingPromise = _trackPromise(sArguments);
|
|
133
136
|
var fnWrappedResolve = function wrappedResolve () {
|
|
@@ -201,17 +201,17 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
|
|
|
201
201
|
* When at least one home icon is given, all existing home icons will be removed and new home icon tags for all
|
|
202
202
|
* four resolutions will be created.
|
|
203
203
|
*
|
|
204
|
-
* The home icons must be in PNG format and given in different sizes for iPad/iPhone with and
|
|
204
|
+
* The home icons must be in PNG format and given in different sizes for iPad/iPhone with low and high pixel density
|
|
205
205
|
* display. The favicon is used in the browser and for desktop shortcuts and should optimally be in ICO format:
|
|
206
206
|
* ICO files can contain different image sizes for different usage locations. E.g. a 16x16px version is used
|
|
207
207
|
* inside browsers.
|
|
208
208
|
*
|
|
209
209
|
* All icons are given in an an object holding icon URLs and other settings. The properties of this object are:
|
|
210
210
|
* <ul>
|
|
211
|
-
* <li>phone: a
|
|
212
|
-
* <li>tablet: a
|
|
213
|
-
* <li>phone@2: a
|
|
214
|
-
* <li>tablet@2: a
|
|
211
|
+
* <li>phone: a 120x120 pixel version for iPhones with low pixel density</li>
|
|
212
|
+
* <li>tablet: a 152x152 pixel version for iPads with low pixel density</li>
|
|
213
|
+
* <li>phone@2: a 180x180 pixel version for iPhones with high pixel density</li>
|
|
214
|
+
* <li>tablet@2: a 167x167 pixel version for iPads with high pixel density</li>
|
|
215
215
|
* <li>precomposed: whether the home icons already have some glare effect (otherwise iOS will add it) (default:
|
|
216
216
|
* false)</li>
|
|
217
217
|
* <li>favicon: the ICO file to be used inside the browser and for desktop shortcuts</li>
|
|
@@ -220,10 +220,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
|
|
|
220
220
|
* One example is:
|
|
221
221
|
* <pre>
|
|
222
222
|
* {
|
|
223
|
-
* 'phone':'phone-
|
|
224
|
-
* 'phone@2':'phone-
|
|
225
|
-
* 'tablet':'tablet-
|
|
226
|
-
* 'tablet@2':'tablet-
|
|
223
|
+
* 'phone':'phone-icon_120x120.png',
|
|
224
|
+
* 'phone@2':'phone-retina_180x180.png',
|
|
225
|
+
* 'tablet':'tablet-icon_152x152.png',
|
|
226
|
+
* 'tablet@2':'tablet-retina_167x167.png',
|
|
227
227
|
* 'precomposed':true,
|
|
228
228
|
* 'favicon':'desktop.ico'
|
|
229
229
|
* }
|
|
@@ -247,14 +247,12 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
|
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
var precomposed = oIcons.precomposed ? "-precomposed" : "",
|
|
250
|
-
|
|
251
|
-
return oIcons[res] || oIcons['tablet@2'] || oIcons['phone@2'] || oIcons['phone'] || oIcons['tablet']; // fallback logic
|
|
252
|
-
},
|
|
250
|
+
// Sizes according to https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW4
|
|
253
251
|
mSizes = {
|
|
254
252
|
"phone": "",
|
|
255
|
-
"tablet": "
|
|
256
|
-
"phone@2": "
|
|
257
|
-
"tablet@2": "
|
|
253
|
+
"tablet": "152x152",
|
|
254
|
+
"phone@2": "180x180",
|
|
255
|
+
"tablet@2": "167x167"
|
|
258
256
|
};
|
|
259
257
|
|
|
260
258
|
// desktop icon
|
|
@@ -269,16 +267,17 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
|
|
|
269
267
|
});
|
|
270
268
|
}
|
|
271
269
|
|
|
270
|
+
var bMobileUpdateIcon = Object.keys(mSizes).some(function (sPlatform) {
|
|
271
|
+
return oIcons.hasOwnProperty(sPlatform);
|
|
272
|
+
});
|
|
272
273
|
// mobile home screen icons
|
|
273
|
-
if (
|
|
274
|
-
|
|
274
|
+
if (bMobileUpdateIcon) {
|
|
275
275
|
// if any home icon is given remove old ones
|
|
276
276
|
removeFromHead("[rel=apple-touch-icon]");
|
|
277
277
|
removeFromHead("[rel=apple-touch-icon-precomposed]");
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
for (var platform in mSizes) {
|
|
281
|
-
oIcons[platform] = oIcons[platform] || getBestFallback(platform);
|
|
282
281
|
if (oIcons[platform]) {
|
|
283
282
|
addElementToHead("link", {
|
|
284
283
|
rel: "apple-touch-icon" + precomposed,
|
|
@@ -12,7 +12,8 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Default prefix to be used for a storage instance when no other prefix is provided
|
|
16
|
+
* at construction time.
|
|
16
17
|
*
|
|
17
18
|
* @private
|
|
18
19
|
*/
|
|
@@ -21,23 +22,31 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
21
22
|
/**
|
|
22
23
|
* @class A Storage API for JavaScript.
|
|
23
24
|
*
|
|
24
|
-
* <b>Note:</b> The Web Storage API stores the data on the client. Therefore, you must not use
|
|
25
|
+
* <b>Note:</b> The Web Storage API stores the data on the client. Therefore, you must not use
|
|
26
|
+
* this API for confidential information.
|
|
25
27
|
*
|
|
26
|
-
* Provides a unified interface and methods to store data on the client using the
|
|
27
|
-
* By default, data can be persisted inside
|
|
28
|
-
*
|
|
29
|
-
* You can access the 'default' storage by using {@link module:sap/ui/util/Storage} methods
|
|
30
|
-
* static on the module export or by creating an own instance of Storage via the constructor.
|
|
28
|
+
* Provides a unified interface and methods to store data on the client using the
|
|
29
|
+
* Web Storage API or a custom implementation. By default, data can be persisted inside
|
|
30
|
+
* localStorage or sessionStorage.
|
|
31
31
|
*
|
|
32
32
|
* A typical intended usage of this API is the storage of a string representing the state of
|
|
33
33
|
* a control. In this case, the data is stored in the browser session, and the methods to be
|
|
34
34
|
* used are {@link #put} and {@link #get}. The method {@link #remove} can be used to delete
|
|
35
35
|
* the previously saved state.
|
|
36
36
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
37
|
+
* The <code>Storage</code> class allows a simple scoping by prefixing the keys of all
|
|
38
|
+
* <code>put/get/remove</code> operations with a fixed prefix given when constructing a
|
|
39
|
+
* storage instance. By choosing unique prefixes, different instances can write/read/delete
|
|
40
|
+
* data to the same underlying storage implementation without interfering with each other.
|
|
41
|
+
*
|
|
42
|
+
* For the sake of completeness, the method {@link #clear} is available. However, it does not
|
|
43
|
+
* honor the scoping and therefore should only be called when a global erasing of data is
|
|
44
|
+
* required. If only keys with certain prefix should be deleted, the method {@link #removeAll}
|
|
45
|
+
* should be used.
|
|
46
|
+
*
|
|
47
|
+
* Besides creating an own storage instance, callers can use the static methods of the
|
|
48
|
+
* <code>Storage</code> class to access a default session storage instance. All calls will use
|
|
49
|
+
* the same scope (same prefix).
|
|
41
50
|
*
|
|
42
51
|
* @example
|
|
43
52
|
* <pre>
|
|
@@ -46,6 +55,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
46
55
|
* Storage.get("stored_data");
|
|
47
56
|
* });
|
|
48
57
|
* </pre>
|
|
58
|
+
*
|
|
49
59
|
* @example
|
|
50
60
|
* <pre>
|
|
51
61
|
* // Storage Instance
|
|
@@ -55,20 +65,32 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
55
65
|
* oMyStorage.get("stored_data");
|
|
56
66
|
* });
|
|
57
67
|
* </pre>
|
|
68
|
+
*
|
|
58
69
|
* @since 1.58
|
|
59
70
|
* @alias module:sap/ui/util/Storage
|
|
60
|
-
* @param {module:sap/ui/util/Storage.Type | Storage} [
|
|
61
|
-
*
|
|
71
|
+
* @param {module:sap/ui/util/Storage.Type | Storage} [vStorage=module:sap/ui/util/Storage.Type.session]
|
|
72
|
+
* The type of native storage implementation that this <code>Storage</code> instance should
|
|
73
|
+
* use internally. Alternatively, this can be a custom implementation of the
|
|
74
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/API/Storage Storage Web API).
|
|
75
|
+
* @param {string} [sStorageKeyPrefix='state.key_']
|
|
76
|
+
* The scope prefix to be used by this storage instance
|
|
62
77
|
* @public
|
|
78
|
+
* @borrows module:sap/ui/util/Storage#isSupported as isSupported
|
|
79
|
+
* @borrows module:sap/ui/util/Storage#put as put
|
|
80
|
+
* @borrows module:sap/ui/util/Storage#get as get
|
|
81
|
+
* @borrows module:sap/ui/util/Storage#remove as remove
|
|
82
|
+
* @borrows module:sap/ui/util/Storage#removeAll as removeAll
|
|
83
|
+
* @borrows module:sap/ui/util/Storage#clear as clear
|
|
84
|
+
* @borrows module:sap/ui/util/Storage#getType as getType
|
|
63
85
|
*/
|
|
64
|
-
var Storage = function (
|
|
86
|
+
var Storage = function (vStorage, sStorageKeyPrefix) {
|
|
65
87
|
|
|
66
88
|
var sType = "unknown",
|
|
67
89
|
sPrefix = (sStorageKeyPrefix || STATE_STORAGE_KEY_PREFIX) + "-",
|
|
68
90
|
oStorageImpl;
|
|
69
91
|
|
|
70
|
-
if (!
|
|
71
|
-
sType =
|
|
92
|
+
if (!vStorage || typeof (vStorage) === "string") {
|
|
93
|
+
sType = vStorage || Storage.Type.session;
|
|
72
94
|
try {
|
|
73
95
|
oStorageImpl = window[sType + "Storage"];
|
|
74
96
|
// Test for QUOTA_EXCEEDED_ERR (Happens e.g. in mobile Safari when private browsing active)
|
|
@@ -80,9 +102,9 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
80
102
|
} catch (e) {
|
|
81
103
|
oStorageImpl = null;
|
|
82
104
|
}
|
|
83
|
-
} else if (typeof (
|
|
84
|
-
sType =
|
|
85
|
-
oStorageImpl =
|
|
105
|
+
} else if (typeof (vStorage) === "object") {
|
|
106
|
+
sType = vStorage.getType ? vStorage.getType() : "unknown";
|
|
107
|
+
oStorageImpl = vStorage;
|
|
86
108
|
}
|
|
87
109
|
|
|
88
110
|
/**
|
|
@@ -108,10 +130,8 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
108
130
|
/**
|
|
109
131
|
* Returns whether the given storage is supported.
|
|
110
132
|
*
|
|
111
|
-
* @
|
|
133
|
+
* @returns {boolean} true if storage is supported, false otherwise (e.g. due to browser security settings)
|
|
112
134
|
* @public
|
|
113
|
-
* @function
|
|
114
|
-
* @name module:sap/ui/util/Storage#isSupported
|
|
115
135
|
*/
|
|
116
136
|
this.isSupported = function () {
|
|
117
137
|
//Possibility to define for custom storage
|
|
@@ -119,33 +139,42 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
119
139
|
};
|
|
120
140
|
|
|
121
141
|
/**
|
|
122
|
-
*
|
|
142
|
+
* Stores the given value under the given key in the storage or updates the value
|
|
143
|
+
* if the key already exists.
|
|
123
144
|
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* @
|
|
145
|
+
* This method supports the same types of values as <code>JSON.stringify</code>.
|
|
146
|
+
*
|
|
147
|
+
* @param {string} sKey
|
|
148
|
+
* Key to store the given value under; will be prefixed with the prefix given when
|
|
149
|
+
* constructing this <code>Storage</code>
|
|
150
|
+
* @param {any} vValue
|
|
151
|
+
* Value to store/update under the given key
|
|
152
|
+
* @returns {boolean}
|
|
153
|
+
* Whether the data was successfully stored
|
|
127
154
|
*
|
|
128
155
|
* @public
|
|
129
|
-
* @function
|
|
130
|
-
* @name module:sap/ui/util/Storage#put
|
|
131
156
|
*/
|
|
132
|
-
this.put = function (sKey,
|
|
157
|
+
this.put = function (sKey, vValue) {
|
|
133
158
|
//precondition: non-empty sKey and available storage feature
|
|
134
159
|
assert(typeof sKey === "string" && sKey.length > 0, "key must be a non-empty string");
|
|
135
160
|
return hasExecuted(function () {
|
|
136
|
-
oStorageImpl.setItem(sPrefix + sKey, JSON.stringify(
|
|
161
|
+
oStorageImpl.setItem(sPrefix + sKey, JSON.stringify(vValue));
|
|
137
162
|
});
|
|
138
163
|
};
|
|
139
164
|
|
|
140
165
|
|
|
141
166
|
/**
|
|
142
|
-
* Retrieves
|
|
167
|
+
* Retrieves the value for the given key or <code>null</code> if the key does not exist
|
|
168
|
+
* in this storage.
|
|
169
|
+
*
|
|
170
|
+
* The returned value will be of a type that <code>JSON.parse</code> could return, too.
|
|
143
171
|
*
|
|
144
|
-
* @param {string} sKey
|
|
145
|
-
*
|
|
172
|
+
* @param {string} sKey
|
|
173
|
+
* Key to retrieve the value for; will be prefixed with the prefix given when
|
|
174
|
+
* constructing this <code>Storage</code>
|
|
175
|
+
* @returns {any}
|
|
176
|
+
* The key's value or <code>null</code> if the key does not exist in the storage.
|
|
146
177
|
* @public
|
|
147
|
-
* @function
|
|
148
|
-
* @name module:sap/ui/util/Storage#get
|
|
149
178
|
*/
|
|
150
179
|
this.get = function (sKey) {
|
|
151
180
|
//precondition: non-empty sKey and available storage feature
|
|
@@ -161,18 +190,18 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
161
190
|
};
|
|
162
191
|
|
|
163
192
|
/**
|
|
164
|
-
* Removes key from storage if
|
|
193
|
+
* Removes the key and its value from storage, if the key exists.
|
|
165
194
|
*
|
|
166
|
-
* @param {string} sKey
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
195
|
+
* @param {string} sKey
|
|
196
|
+
* Key to remove; will be prefixed with the prefix given when constructing this
|
|
197
|
+
* <code>Storage</code>
|
|
198
|
+
* @returns {boolean}
|
|
199
|
+
* Whether the deletion succeeded; if the key didn't exists, the method also
|
|
200
|
+
* reports a success
|
|
170
201
|
* @public
|
|
171
|
-
* @function
|
|
172
|
-
* @name module:sap/ui/util/Storage#remove
|
|
173
202
|
*/
|
|
174
203
|
this.remove = function (sKey) {
|
|
175
|
-
//precondition: non-empty sKey and available storage feature
|
|
204
|
+
// precondition: non-empty sKey and available storage feature
|
|
176
205
|
assert(typeof sKey === "string" && sKey.length > 0, "key must be a non-empty string");
|
|
177
206
|
return hasExecuted(function () {
|
|
178
207
|
oStorageImpl.removeItem(sPrefix + sKey);
|
|
@@ -180,19 +209,20 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
180
209
|
};
|
|
181
210
|
|
|
182
211
|
/**
|
|
183
|
-
* Removes all
|
|
212
|
+
* Removes all key/value pairs form the storage where the key starts with the given
|
|
213
|
+
* <code>sKeyPrefix</code>.
|
|
184
214
|
*
|
|
185
|
-
* @param {string} [
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
215
|
+
* @param {string} [sKeyPrefix=""]
|
|
216
|
+
* Key prefix for the keys/values to delete; will be additionally prefixed with the
|
|
217
|
+
* prefix given when constructing this <code>Storage</code>
|
|
218
|
+
* @returns {boolean}
|
|
219
|
+
* Whether the deletion was successful; if no key matches the prefix, this is also
|
|
220
|
+
* a success
|
|
189
221
|
* @public
|
|
190
|
-
* @function
|
|
191
|
-
* @name module:sap/ui/util/Storage#removeAll
|
|
192
222
|
*/
|
|
193
|
-
this.removeAll = function (
|
|
223
|
+
this.removeAll = function (sKeyPrefix) {
|
|
194
224
|
return hasExecuted(function () {
|
|
195
|
-
var p = sPrefix + (
|
|
225
|
+
var p = sPrefix + (sKeyPrefix || ""),
|
|
196
226
|
keysToRemove = [],
|
|
197
227
|
key, i;
|
|
198
228
|
|
|
@@ -216,15 +246,12 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
216
246
|
*
|
|
217
247
|
* <b>CAUTION</b> This method should be called only in very particular situations,
|
|
218
248
|
* when a global erasing of data is required. Given that the method deletes
|
|
219
|
-
* the data saved under any
|
|
249
|
+
* the data saved under any key, it should not be called when managing data
|
|
220
250
|
* for specific controls.
|
|
221
251
|
*
|
|
222
|
-
* @
|
|
223
|
-
|
|
224
|
-
* and false if the feature is unavailable or a problem occurred
|
|
252
|
+
* @returns {boolean}
|
|
253
|
+
* Whether clearing the storage was successful
|
|
225
254
|
* @public
|
|
226
|
-
* @function
|
|
227
|
-
* @name module:sap/ui/util/Storage#clear
|
|
228
255
|
*/
|
|
229
256
|
this.clear = function () {
|
|
230
257
|
return hasExecuted(function () {
|
|
@@ -233,12 +260,12 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
233
260
|
};
|
|
234
261
|
|
|
235
262
|
/**
|
|
236
|
-
* Returns the storage
|
|
263
|
+
* Returns the type of this storage.
|
|
237
264
|
*
|
|
238
|
-
* @returns {module:sap/ui/util/Storage.Type | string}
|
|
265
|
+
* @returns {module:sap/ui/util/Storage.Type | string}
|
|
266
|
+
* Type of this storage or "unknown" when the Storage was created with an
|
|
267
|
+
* unknown type or implementation
|
|
239
268
|
* @public
|
|
240
|
-
* @function
|
|
241
|
-
* @name module:sap/ui/util/Storage#getType
|
|
242
269
|
*/
|
|
243
270
|
this.getType = function () {
|
|
244
271
|
return sType;
|
|
@@ -250,7 +277,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
|
|
|
250
277
|
*
|
|
251
278
|
* @enum {string}
|
|
252
279
|
* @public
|
|
253
|
-
* @version 1.
|
|
280
|
+
* @version 1.109.0
|
|
254
281
|
*/
|
|
255
282
|
Storage.Type = {
|
|
256
283
|
/**
|