@openui5/sap.ui.core 1.104.0 → 1.105.1
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/.reuse/dep5 +1 -1
- 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/util/fetch.js +3 -0
- 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/ui/Device.js +5 -5
- 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 +2 -2
- 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 +54 -51
- package/src/sap/ui/core/AccessKeysEnablement.js +173 -0
- 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 +11 -11
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +33 -5
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +1 -1
- 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 +6 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +2 -2
- 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 +2 -3
- package/src/sap/ui/core/Manifest.js +3 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +12 -7
- 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 +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 +1 -1
- 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 +4 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/date/Buddhist.js +4 -4
- package/src/sap/ui/core/date/UniversalDate.js +144 -34
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +3 -3
- 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 +31 -9
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +44 -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/messagebundle.properties +2 -0
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -1
- package/src/sap/ui/core/messagebundle_en.properties +57 -56
- package/src/sap/ui/core/messagebundle_en_GB.properties +57 -56
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +1 -1
- package/src/sap/ui/core/messagebundle_hu.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +4 -4
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/mvc/Controller.js +12 -12
- 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 +7 -7
- 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 +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +3 -3
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- package/src/sap/ui/core/service/Service.js +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 +2 -3
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Debugging.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 +2 -3
- package/src/sap/ui/core/themes/base/Icon.less +4 -0
- package/src/sap/ui/core/themes/base/global.less +5 -1
- package/src/sap/ui/core/themes/base/shared.less +6 -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/BaseTreeModifier.js +0 -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/_Helper.js +3 -1
- package/src/sap/ui/model/base/ManagedObjectModel.js +2 -2
- 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 +4 -4
- package/src/sap/ui/model/odata/ODataMetaModel.js +31 -8
- 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/ODataTreeBindingFlat.js +332 -182
- 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 +25 -0
- package/src/sap/ui/model/odata/v2/ODataModel.js +50 -19
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +4 -1
- package/src/sap/ui/model/odata/v4/Context.js +84 -30
- package/src/sap/ui/model/odata/v4/ODataBinding.js +8 -8
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +26 -27
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -133
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +3 -2
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -13
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +135 -28
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +133 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +278 -143
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +31 -9
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +5 -5
- 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 +4 -2
- package/src/sap/ui/performance/trace/FESR.js +27 -24
- package/src/sap/ui/performance/trace/Interaction.js +66 -16
- 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/actions/Press.js +7 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +2 -3
- package/src/sap/ui/test/matchers/AggregationFilled.js +2 -3
- package/src/sap/ui/test/matchers/AggregationLengthEquals.js +2 -3
- package/src/sap/ui/test/opaQunit.js +11 -6
- package/src/sap/ui/test/pipelines/ActionPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +2 -3
- package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -3
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -1447,10 +1447,6 @@ sap.ui.define([
|
|
|
1447
1447
|
* The meta path for the cache root's type, for example "/SalesOrderList/SO_2_BP" or
|
|
1448
1448
|
* "/Artists/foo.EditAction/@$ui5.overload/0/$ReturnType/$Type", such that an OData simple
|
|
1449
1449
|
* identifier may be appended
|
|
1450
|
-
* @param {object} mNavigationPropertyPaths
|
|
1451
|
-
* Hash set of collection-valued navigation property meta paths (relative to the cache's
|
|
1452
|
-
* root, that is without the root meta path prefix) which need to be refreshed, maps
|
|
1453
|
-
* string to <code>true</code>; is modified
|
|
1454
1450
|
* @param {string} [sPrefix=""]
|
|
1455
1451
|
* Optional prefix for navigation property meta paths used during recursion
|
|
1456
1452
|
* @param {boolean} [bAllowEmptySelect]
|
|
@@ -1462,7 +1458,7 @@ sap.ui.define([
|
|
|
1462
1458
|
* collection-valued navigation property
|
|
1463
1459
|
*/
|
|
1464
1460
|
intersectQueryOptions : function (mCacheQueryOptions, aPaths, fnFetchMetadata,
|
|
1465
|
-
sRootMetaPath,
|
|
1461
|
+
sRootMetaPath, sPrefix, bAllowEmptySelect) {
|
|
1466
1462
|
var aExpands = [],
|
|
1467
1463
|
mExpands = {},
|
|
1468
1464
|
mResult,
|
|
@@ -1519,9 +1515,6 @@ sap.ui.define([
|
|
|
1519
1515
|
|
|
1520
1516
|
_Helper.addChildrenWithAncestor([sNavigationPropertyPath], aPaths, mSet);
|
|
1521
1517
|
if (!isEmptyObject(mSet)) {
|
|
1522
|
-
if (fnFetchMetadata(sMetaPath).getResult().$isCollection) {
|
|
1523
|
-
mNavigationPropertyPaths[sPrefixedNavigationPropertyPath] = true;
|
|
1524
|
-
}
|
|
1525
1518
|
// complete navigation property may change, same expand as initially
|
|
1526
1519
|
mExpands[sNavigationPropertyPath]
|
|
1527
1520
|
= mCacheQueryOptions.$expand[sNavigationPropertyPath];
|
|
@@ -1539,7 +1532,7 @@ sap.ui.define([
|
|
|
1539
1532
|
mChildQueryOptions = _Helper.intersectQueryOptions(
|
|
1540
1533
|
mCacheQueryOptions.$expand[sNavigationPropertyPath] || {},
|
|
1541
1534
|
aStrippedPaths, fnFetchMetadata, sMetaPath,
|
|
1542
|
-
|
|
1535
|
+
sPrefixedNavigationPropertyPath);
|
|
1543
1536
|
if (mChildQueryOptions) {
|
|
1544
1537
|
mExpands[sNavigationPropertyPath] = mChildQueryOptions;
|
|
1545
1538
|
}
|
|
@@ -1584,6 +1577,19 @@ sap.ui.define([
|
|
|
1584
1577
|
return _Helper.getRelativePath(sPath, sBasePath) !== undefined;
|
|
1585
1578
|
},
|
|
1586
1579
|
|
|
1580
|
+
/**
|
|
1581
|
+
* Tells whether the given map of binding parameters is defining data aggregation, but not a
|
|
1582
|
+
* recursive hierarchy.
|
|
1583
|
+
*
|
|
1584
|
+
* @param {object} [mParameters] - Map of binding parameters
|
|
1585
|
+
* @returns {boolean} Whether it's about data aggregation
|
|
1586
|
+
*/
|
|
1587
|
+
isDataAggregation : function (mParameters) {
|
|
1588
|
+
return mParameters
|
|
1589
|
+
&& mParameters.$$aggregation
|
|
1590
|
+
&& !mParameters.$$aggregation.hierarchyQualifier;
|
|
1591
|
+
},
|
|
1592
|
+
|
|
1587
1593
|
/**
|
|
1588
1594
|
* Tells whether the value is a safe integer.
|
|
1589
1595
|
*
|
|
@@ -1867,6 +1873,22 @@ sap.ui.define([
|
|
|
1867
1873
|
}
|
|
1868
1874
|
},
|
|
1869
1875
|
|
|
1876
|
+
/**
|
|
1877
|
+
* Sets the new value of the annotation with the given name at the given object; removes it
|
|
1878
|
+
* in case of an <code>undefined</code> value.
|
|
1879
|
+
*
|
|
1880
|
+
* @param {object} oObject - Any object
|
|
1881
|
+
* @param {string} sAnnotation - The annotation's name
|
|
1882
|
+
* @param {any} [vValue] - The annotation's new value
|
|
1883
|
+
*/
|
|
1884
|
+
setAnnotation : function (oObject, sAnnotation, vValue) {
|
|
1885
|
+
if (vValue !== undefined) {
|
|
1886
|
+
oObject[sAnnotation] = vValue;
|
|
1887
|
+
} else {
|
|
1888
|
+
delete oObject[sAnnotation];
|
|
1889
|
+
}
|
|
1890
|
+
},
|
|
1891
|
+
|
|
1870
1892
|
/**
|
|
1871
1893
|
* Sets the new value of the private client-side instance annotation with the given
|
|
1872
1894
|
* unqualified name at the given object.
|
|
@@ -1599,18 +1599,18 @@ sap.ui.define([
|
|
|
1599
1599
|
};
|
|
1600
1600
|
|
|
1601
1601
|
/**
|
|
1602
|
-
* Removes the pending PATCH request for the given promise from its group. Only
|
|
1603
|
-
* which the <code>$cancel</code> callback is defined are removed.
|
|
1602
|
+
* Removes the pending PATCH or DELETE request for the given promise from its group. Only
|
|
1603
|
+
* requests for which the <code>$cancel</code> callback is defined are removed.
|
|
1604
1604
|
*
|
|
1605
1605
|
* @param {Promise} oPromise
|
|
1606
|
-
* A promise that has been returned for a PATCH request. That request will be
|
|
1607
|
-
* an error with property <code>canceled = true</code>.
|
|
1606
|
+
* A promise that has been returned for a PATCH or DELETE request. That request will be
|
|
1607
|
+
* rejected with an error with property <code>canceled = true</code>.
|
|
1608
1608
|
* @throws {Error}
|
|
1609
1609
|
* If the request is not in the queue, assuming that it has been submitted already
|
|
1610
1610
|
*
|
|
1611
1611
|
* @private
|
|
1612
1612
|
*/
|
|
1613
|
-
_Requestor.prototype.
|
|
1613
|
+
_Requestor.prototype.removeChangeRequest = function (oPromise) {
|
|
1614
1614
|
var bCanceled = this.cancelChangesByFilter(function (oChangeRequest) {
|
|
1615
1615
|
return oChangeRequest.$promise === oPromise;
|
|
1616
1616
|
});
|
|
@@ -228,7 +228,7 @@ sap.ui.define([
|
|
|
228
228
|
*
|
|
229
229
|
* @extends sap.ui.model.Model
|
|
230
230
|
* @public
|
|
231
|
-
* @version 1.
|
|
231
|
+
* @version 1.105.1
|
|
232
232
|
*/
|
|
233
233
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
234
234
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.105.1
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -33,7 +33,7 @@ sap.ui.define([
|
|
|
33
33
|
* @extends sap.ui.model.CompositeType
|
|
34
34
|
*
|
|
35
35
|
* @author SAP SE
|
|
36
|
-
* @version 1.
|
|
36
|
+
* @version 1.105.1
|
|
37
37
|
*
|
|
38
38
|
* @public
|
|
39
39
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.105.1
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.105.1
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @extends sap.ui.model.SimpleType
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.105.1
|
|
28
28
|
*
|
|
29
29
|
* @public
|
|
30
30
|
* @param {object} [oFormatOptions] formatting options. Supports the same options as {@link sap.ui.core.format.FileSizeFormat.getInstance FileSizeFormat.getInstance}
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.105.1
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.105.1
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.105.1
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.105.1
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -47,9 +47,11 @@ sap.ui.define([
|
|
|
47
47
|
* @extends sap.ui.model.ClientModel
|
|
48
48
|
*
|
|
49
49
|
* @author SAP SE
|
|
50
|
-
* @version 1.
|
|
50
|
+
* @version 1.105.1
|
|
51
|
+
*
|
|
52
|
+
* @param {XMLDocument|string} oData
|
|
53
|
+
* Either the URL where to load the XML from or an XML document
|
|
51
54
|
*
|
|
52
|
-
* @param {object} oData either the URL where to load the XML from or an XML
|
|
53
55
|
* @public
|
|
54
56
|
* @alias sap.ui.model.xml.XMLModel
|
|
55
57
|
*/
|
|
@@ -203,35 +203,38 @@ sap.ui.define([
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
function onInteractionFinished(oFinishedInteraction) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
206
|
+
if (oFinishedInteraction) {
|
|
207
|
+
var sStepName = oFinishedInteraction.semanticStepName ? oFinishedInteraction.semanticStepName : oFinishedInteraction.trigger + "_" + oFinishedInteraction.event;
|
|
208
|
+
var oFESRHandle = FESR.onBeforeCreated({
|
|
209
|
+
stepName: sStepName,
|
|
210
|
+
appNameLong: oFinishedInteraction.stepComponent || oFinishedInteraction.component,
|
|
211
|
+
appNameShort: oFinishedInteraction.stepComponent || oFinishedInteraction.component,
|
|
212
|
+
timeToInteractive: oFinishedInteraction.duration,
|
|
213
|
+
interactionType: determineInteractionType(sStepName)
|
|
214
|
+
}, oFinishedInteraction);
|
|
215
|
+
|
|
216
|
+
// do not send UI-only FESR with piggyback approach
|
|
217
|
+
if (oBeaconRequest || oFinishedInteraction.requests.length > 0) {
|
|
218
|
+
createHeader(oFinishedInteraction, oFESRHandle);
|
|
219
|
+
if (oBeaconRequest) {
|
|
220
|
+
// reset the transactionId for Beacon approach
|
|
221
|
+
sFESRTransactionId = null;
|
|
222
|
+
}
|
|
221
223
|
}
|
|
222
|
-
}
|
|
223
224
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
225
|
+
// use the sendBeacon API instead of the piggyback approach
|
|
226
|
+
if (oBeaconRequest && sFESR && sFESRopt) {
|
|
227
|
+
oBeaconRequest.append("SAP-Perf-FESRec", sFESR + "SAP-Perf-FESRec-opt" + sFESRopt);
|
|
228
|
+
sendBeaconRequest();
|
|
229
|
+
}
|
|
229
230
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
231
|
+
if (sAppVersionFull != oFinishedInteraction.appVersion) {
|
|
232
|
+
sAppVersionFull = oFinishedInteraction.appVersion;
|
|
233
|
+
sAppVersion = sAppVersionFull ? formatVersion(sAppVersionFull) : "";
|
|
234
|
+
}
|
|
233
235
|
}
|
|
234
236
|
|
|
237
|
+
sPassportComponentInfo = "undefined";
|
|
235
238
|
sPassportAction = "undefined";
|
|
236
239
|
}
|
|
237
240
|
|
|
@@ -83,18 +83,22 @@ sap.ui.define([
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* Check if request is initiated by XHR
|
|
86
|
+
* Check if request is initiated by XHR, comleted and timeframe of request is within timeframe of current interaction
|
|
87
87
|
*
|
|
88
|
-
* @param {object} oRequestTiming
|
|
88
|
+
* @param {object} oRequestTiming PerformanceResourceTiming as retrieved by window.performance.getEntryByType("resource")
|
|
89
|
+
* @return {boolean} true if the request is a completed XHR with started and ended within the current interaction
|
|
89
90
|
* @private
|
|
90
91
|
*/
|
|
91
|
-
function
|
|
92
|
+
function isValidInteractionXHR(oRequestTiming) {
|
|
92
93
|
// if the request has been completed it has complete timing figures)
|
|
93
94
|
var bComplete = oRequestTiming.startTime > 0 &&
|
|
94
95
|
oRequestTiming.startTime <= oRequestTiming.requestStart &&
|
|
95
96
|
oRequestTiming.requestStart <= oRequestTiming.responseEnd;
|
|
96
97
|
|
|
97
|
-
|
|
98
|
+
var bPartOfInteraction = oPendingInteraction.start <= (performance.timing.navigationStart + oRequestTiming.requestStart) &&
|
|
99
|
+
oPendingInteraction.end >= (performance.timing.navigationStart + oRequestTiming.responseEnd);
|
|
100
|
+
|
|
101
|
+
return bPartOfInteraction && bComplete && oRequestTiming.initiatorType === "xmlhttprequest";
|
|
98
102
|
}
|
|
99
103
|
|
|
100
104
|
function aggregateRequestTiming(oRequest) {
|
|
@@ -155,9 +159,11 @@ sap.ui.define([
|
|
|
155
159
|
function finalizeInteraction(iTime) {
|
|
156
160
|
if (oPendingInteraction) {
|
|
157
161
|
var aAllRequestTimings = window.performance.getEntriesByType("resource");
|
|
162
|
+
var oFinshedInteraction;
|
|
158
163
|
oPendingInteraction.end = iTime;
|
|
164
|
+
oPendingInteraction.processing = iTime - oPendingInteraction.start;
|
|
159
165
|
oPendingInteraction.duration = oPendingInteraction.processing;
|
|
160
|
-
oPendingInteraction.requests = aAllRequestTimings.filter(
|
|
166
|
+
oPendingInteraction.requests = aAllRequestTimings.filter(isValidInteractionXHR);
|
|
161
167
|
oPendingInteraction.completeRoundtrips = 0;
|
|
162
168
|
oPendingInteraction.measurements = Measurement.filterMeasurements(isCompleteMeasurement, true);
|
|
163
169
|
if (oPendingInteraction.requests.length > 0) {
|
|
@@ -173,16 +179,18 @@ sap.ui.define([
|
|
|
173
179
|
oPendingInteraction.completed = true;
|
|
174
180
|
Object.freeze(oPendingInteraction);
|
|
175
181
|
|
|
176
|
-
|
|
182
|
+
// Duration threshold 2 in order to filter not performance relevant interactions such as liveChange
|
|
183
|
+
if (oPendingInteraction.semanticStepName || oPendingInteraction.duration >= 2 || oPendingInteraction.requests.length > 0 || isNavigation) {
|
|
177
184
|
aInteractions.push(oPendingInteraction);
|
|
178
|
-
|
|
179
|
-
if (Interaction.onInteractionFinished && oFinshedInteraction) {
|
|
180
|
-
Interaction.onInteractionFinished(oFinshedInteraction);
|
|
181
|
-
}
|
|
185
|
+
oFinshedInteraction = aInteractions[aInteractions.length - 1];
|
|
182
186
|
if (Log.isLoggable()) {
|
|
183
187
|
Log.debug("Interaction step finished: trigger: " + oPendingInteraction.trigger + "; duration: " + oPendingInteraction.duration + "; requests: " + oPendingInteraction.requests.length, "Interaction.js");
|
|
184
188
|
}
|
|
185
189
|
}
|
|
190
|
+
// Execute onInteractionFinished always in case function exist to enable cleanup in FESR independent of filtering
|
|
191
|
+
if (Interaction.onInteractionFinished) {
|
|
192
|
+
Interaction.onInteractionFinished(oFinshedInteraction);
|
|
193
|
+
}
|
|
186
194
|
oPendingInteraction = null;
|
|
187
195
|
oCurrentBrowserEvent = null;
|
|
188
196
|
isNavigation = false;
|
|
@@ -512,7 +520,6 @@ sap.ui.define([
|
|
|
512
520
|
} else {
|
|
513
521
|
// set provisionary processing time from start to end and calculate later
|
|
514
522
|
oPendingInteraction.preliminaryEnd = now();
|
|
515
|
-
oPendingInteraction.processing = oPendingInteraction.preliminaryEnd - oPendingInteraction.start;
|
|
516
523
|
}
|
|
517
524
|
}
|
|
518
525
|
},
|
|
@@ -607,12 +614,33 @@ sap.ui.define([
|
|
|
607
614
|
if (oPendingInteraction && !oPendingInteraction.completed && Interaction.onInteractionStarted) {
|
|
608
615
|
oPendingInteraction.passportAction = Interaction.onInteractionStarted(oPendingInteraction, bForce);
|
|
609
616
|
}
|
|
617
|
+
// Interaction.start will delete oCurrentBrowserEvent in case there is an oPendingInteraction
|
|
618
|
+
// (notifyStepStart is called with parameter bForce)
|
|
619
|
+
// Conscious decision to not move the coding because this shouldn't be a productive scenario
|
|
610
620
|
if (oCurrentBrowserEvent) {
|
|
611
621
|
oBrowserElement = oCurrentBrowserEvent.srcControl;
|
|
612
622
|
}
|
|
613
623
|
// if browser event matches the first control event we take it for trigger/event determination (step name)
|
|
614
624
|
if (oElement && oElement.getId && oBrowserElement && oElement.getId() === oBrowserElement.getId()) {
|
|
615
625
|
bMatched = true;
|
|
626
|
+
} else {
|
|
627
|
+
var elem = oBrowserElement;
|
|
628
|
+
while (elem && elem.getParent()) {
|
|
629
|
+
elem = elem.getParent();
|
|
630
|
+
if (oElement.getId() === elem.getId()) {
|
|
631
|
+
// Stop looking for better fitting control in case the current browser event source control
|
|
632
|
+
// is already child of the control event which triggers the interaction because all other
|
|
633
|
+
// control events most likely does not suit better.
|
|
634
|
+
// Example: Click on image of an button will not pass the previous if
|
|
635
|
+
// (oElement.getId() !== oBrowserElement.getId() ==> btn !== btn-img).
|
|
636
|
+
// In case the button is part of an popover and the click on the button closes the popover,
|
|
637
|
+
// the coding below overwrites the button control id with the popover control id in case we
|
|
638
|
+
// don't stop here.
|
|
639
|
+
// Only look for better fitting control in case browser and control event does not fit at all
|
|
640
|
+
bMatched = true;
|
|
641
|
+
break;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
616
644
|
}
|
|
617
645
|
oCurrentBrowserEvent = null;
|
|
618
646
|
//only handle the first browser event within a call stack. Ignore virtual/harmonization events.
|
|
@@ -623,6 +651,8 @@ sap.ui.define([
|
|
|
623
651
|
oCurrentBrowserEvent = null;
|
|
624
652
|
bInteractionProcessed = false;
|
|
625
653
|
}, 0);
|
|
654
|
+
bIdle = false;
|
|
655
|
+
Interaction.notifyStepEnd(true); // Start timer to end Interaction in case there is no timing relevant action e.g. rendering, request
|
|
626
656
|
} else if (oPendingInteraction && oBrowserElement && !bMatched) {
|
|
627
657
|
// if browser event matches one of the next control events we take it for trigger/event determination (step name)
|
|
628
658
|
var elem = oBrowserElement;
|
|
@@ -630,13 +660,13 @@ sap.ui.define([
|
|
|
630
660
|
oPendingInteraction.trigger = oElement.getId();
|
|
631
661
|
oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
|
|
632
662
|
oPendingInteraction.event = sEventId;
|
|
633
|
-
|
|
663
|
+
bMatched = true;
|
|
634
664
|
} else {
|
|
635
665
|
while (elem && elem.getParent()) {
|
|
636
666
|
elem = elem.getParent();
|
|
637
667
|
if (oElement.getId() === elem.getId()) {
|
|
638
|
-
|
|
639
|
-
|
|
668
|
+
oPendingInteraction.trigger = oElement.getId();
|
|
669
|
+
oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
|
|
640
670
|
oPendingInteraction.event = sEventId;
|
|
641
671
|
//if we find no direct match we consider the last control event for the trigger/event (step name)
|
|
642
672
|
break;
|
|
@@ -652,7 +682,7 @@ sap.ui.define([
|
|
|
652
682
|
* Register async operation, that is relevant for a running interaction.
|
|
653
683
|
* Invoking the returned handle stops the async operation.
|
|
654
684
|
*
|
|
655
|
-
* @
|
|
685
|
+
* @param {string} sStepName a step name
|
|
656
686
|
* @returns {function} The async handle
|
|
657
687
|
* @private
|
|
658
688
|
*/
|
|
@@ -664,6 +694,7 @@ sap.ui.define([
|
|
|
664
694
|
}
|
|
665
695
|
/*eslint-enable no-console */
|
|
666
696
|
var sInteractionId = oPendingInteraction.id;
|
|
697
|
+
delete oPendingInteraction.preliminaryEnd; // Delete prelimanry end to force current timestamp of finalization
|
|
667
698
|
Interaction.notifyAsyncStepStart();
|
|
668
699
|
return function() {
|
|
669
700
|
Interaction.notifyAsyncStepEnd(sInteractionId);
|
|
@@ -730,7 +761,10 @@ sap.ui.define([
|
|
|
730
761
|
if (iInteractionStepTimer) {
|
|
731
762
|
clearTimeout(iInteractionStepTimer);
|
|
732
763
|
}
|
|
733
|
-
|
|
764
|
+
// There are control events using a debouncing mechanism for e.g. suggest event (see sap.m.Input)
|
|
765
|
+
// A common debounce treshhold (also used by sap.m.Input) is 300ms therefore we use setTimeout
|
|
766
|
+
// with 301ms to end the Interaction after execution of the debounced event
|
|
767
|
+
iInteractionStepTimer = setTimeout(Interaction.notifyStepEnd, 301);
|
|
734
768
|
if (Log.isLoggable()) {
|
|
735
769
|
Log.debug("Interaction check for idle time - Number of pending steps: " + iInteractionCounter);
|
|
736
770
|
}
|
|
@@ -774,6 +808,22 @@ sap.ui.define([
|
|
|
774
808
|
if (oCurrentBrowserEvent.type.match(/^(mousedown|touchstart|keydown)$/)) {
|
|
775
809
|
Interaction.end(/*bForce*/true);
|
|
776
810
|
}
|
|
811
|
+
// Clean up oCurrentBrowserEvent at the end to prevent dangling events
|
|
812
|
+
// Since oCurrentBrowser event is prerequisite to start an event we need to
|
|
813
|
+
// clean dangling browser events to avoid creating interactions based on these events
|
|
814
|
+
// e.g. The user clicks first somewhere on the UI on a control without press handler.
|
|
815
|
+
// After that the user scrolls in a table and triggers implicit requests via paging.
|
|
816
|
+
// This combination will create an interaction based on the first browser event,
|
|
817
|
+
// created and not cleaned up by the first click within the UI
|
|
818
|
+
if (this.eventEndTimer) {
|
|
819
|
+
clearTimeout(this.eventEndTimer);
|
|
820
|
+
}
|
|
821
|
+
this.eventEndTimer = setTimeout(function() {
|
|
822
|
+
oCurrentBrowserEvent = null;
|
|
823
|
+
delete this.eventEndTimer;
|
|
824
|
+
// There are events fired within a timeout with delay. Cleanup after 10ms
|
|
825
|
+
// to hopefully prevent cleaning up to early (before control event was fired)
|
|
826
|
+
}.bind(this), 10);
|
|
777
827
|
}
|
|
778
828
|
},
|
|
779
829
|
|
|
@@ -231,6 +231,13 @@ sap.ui.define([
|
|
|
231
231
|
Press.controlAdapters["sap.ui.comp.smartfilterbar.SmartFilterBar"] = "btnGo"; // always available?
|
|
232
232
|
|
|
233
233
|
Press.controlAdapters["sap.m.ObjectAttribute"] = "text"; // suffix is the same in active state. focusDomRef: <div> -- root
|
|
234
|
+
Press.controlAdapters["sap.m.ObjectStatus"] = function (oControl) {
|
|
235
|
+
if (oControl.getActive()) {
|
|
236
|
+
return "link";
|
|
237
|
+
} else {
|
|
238
|
+
return null; // focusDomRef: <div> -- root
|
|
239
|
+
}
|
|
240
|
+
};
|
|
234
241
|
|
|
235
242
|
Press.controlAdapters["sap.m.ObjectIdentifier"] = function (oControl) {
|
|
236
243
|
if (oControl.getTitleActive()) {
|
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/base/ManagedObject",
|
|
9
9
|
"sap/ui/test/matchers/Matcher",
|
|
10
|
-
"sap/base/strings/capitalize"
|
|
11
|
-
|
|
12
|
-
], function (ManagedObject, Matcher, capitalize, jQueryDOM) {
|
|
10
|
+
"sap/base/strings/capitalize"
|
|
11
|
+
], function (ManagedObject, Matcher, capitalize) {
|
|
13
12
|
"use strict";
|
|
14
13
|
|
|
15
14
|
/**
|
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/test/matchers/Matcher",
|
|
9
|
-
"sap/base/strings/capitalize"
|
|
10
|
-
|
|
11
|
-
], function (Matcher, capitalize, jQueryDOM) {
|
|
9
|
+
"sap/base/strings/capitalize"
|
|
10
|
+
], function (Matcher, capitalize) {
|
|
12
11
|
"use strict";
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/test/matchers/Matcher",
|
|
9
|
-
"sap/base/strings/capitalize"
|
|
10
|
-
|
|
11
|
-
], function (Matcher, capitalize, jQueryDOM) {
|
|
9
|
+
"sap/base/strings/capitalize"
|
|
10
|
+
], function (Matcher, capitalize) {
|
|
12
11
|
"use strict";
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -293,12 +293,17 @@ sap.ui.define([
|
|
|
293
293
|
// assertion is async, push results when ready
|
|
294
294
|
var oAssertionPromise = fnAssertion.apply(oParams.appWindow, arguments)
|
|
295
295
|
.always(function (oResult) {
|
|
296
|
-
qunitThis.
|
|
297
|
-
oResult
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
296
|
+
if ( typeof qunitThis.pushResult === "function" ) {
|
|
297
|
+
qunitThis.pushResult(oResult);
|
|
298
|
+
} else {
|
|
299
|
+
// fallback for QUnit < 1.22.0
|
|
300
|
+
qunitThis.push(
|
|
301
|
+
oResult.result,
|
|
302
|
+
oResult.actual,
|
|
303
|
+
oResult.expected,
|
|
304
|
+
oResult.message
|
|
305
|
+
);
|
|
306
|
+
}
|
|
302
307
|
});
|
|
303
308
|
|
|
304
309
|
// schedule async assertion promise on waitFor flow so test waits till assertion is ready
|
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
'sap/ui/base/Object',
|
|
9
|
-
'sap/ui/test/pipelines/PipelineFactory'
|
|
10
|
-
|
|
11
|
-
], function(UI5Object, PipelineFactory, jQueryDOM) {
|
|
9
|
+
'sap/ui/test/pipelines/PipelineFactory'
|
|
10
|
+
], function(UI5Object, PipelineFactory) {
|
|
12
11
|
"use strict";
|
|
13
12
|
var oPipelineFactory = new PipelineFactory({
|
|
14
13
|
name: "Action",
|
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/test/_OpaLogger",
|
|
9
9
|
"sap/ui/base/Object",
|
|
10
|
-
"sap/ui/test/pipelines/PipelineFactory"
|
|
11
|
-
|
|
12
|
-
], function(_OpaLogger, UI5Object, PipelineFactory, jQueryDOM) {
|
|
10
|
+
"sap/ui/test/pipelines/PipelineFactory"
|
|
11
|
+
], function(_OpaLogger, UI5Object, PipelineFactory) {
|
|
13
12
|
"use strict";
|
|
14
13
|
var oPipelineFactory = new PipelineFactory({
|
|
15
14
|
name: "Matcher",
|