@openui5/sap.ui.integration 1.115.1 → 1.117.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.
Files changed (150) hide show
  1. package/.reuse/dep5 +0 -5
  2. package/THIRDPARTY.txt +1 -7
  3. package/package.json +6 -6
  4. package/src/sap/ui/integration/.library +1 -1
  5. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  6. package/src/sap/ui/integration/Designtime.js +1 -1
  7. package/src/sap/ui/integration/Extension.js +3 -3
  8. package/src/sap/ui/integration/Host.js +15 -1
  9. package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
  10. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  11. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +5 -1
  12. package/src/sap/ui/integration/cards/BaseContent.js +17 -4
  13. package/src/sap/ui/integration/cards/BaseListContent.js +1 -1
  14. package/src/sap/ui/integration/cards/CalendarContent.js +110 -78
  15. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  16. package/src/sap/ui/integration/cards/Footer.js +1 -1
  17. package/src/sap/ui/integration/cards/Header.js +18 -3
  18. package/src/sap/ui/integration/cards/ListContent.js +11 -3
  19. package/src/sap/ui/integration/cards/NumericHeader.js +2 -1
  20. package/src/sap/ui/integration/cards/ObjectContent.js +15 -2
  21. package/src/sap/ui/integration/cards/TableContent.js +6 -2
  22. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  23. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  24. package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
  25. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  26. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  30. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  31. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  33. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  36. package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
  37. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  38. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  39. package/src/sap/ui/integration/controls/BlockingMessage.js +4 -4
  40. package/src/sap/ui/integration/controls/LinkWithIcon.js +1 -1
  41. package/src/sap/ui/integration/controls/ListContentItem.js +16 -9
  42. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +1 -1
  43. package/src/sap/ui/integration/controls/Microchart.js +5 -3
  44. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  45. package/src/sap/ui/integration/controls/ObjectStatus.js +1 -1
  46. package/src/sap/ui/integration/controls/Paginator.js +3 -4
  47. package/src/sap/ui/integration/controls/PaginatorRenderer.js +1 -1
  48. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  49. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  50. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  51. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  52. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +1 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
  69. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  86. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  87. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  88. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  89. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
  90. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  91. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  92. package/src/sap/ui/integration/designtime/editor/Card.js +1 -1
  93. package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -9
  94. package/src/sap/ui/integration/designtime/editor/CardPreview.js +37 -36
  95. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +30 -18
  96. package/src/sap/ui/integration/editor/Editor.js +52 -30
  97. package/src/sap/ui/integration/editor/EditorResourceBundles.js +2 -3
  98. package/src/sap/ui/integration/editor/Extension.js +2 -3
  99. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  100. package/src/sap/ui/integration/editor/Settings.js +1 -1
  101. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  102. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  103. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  104. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  105. package/src/sap/ui/integration/editor/fields/DestinationField.js +2 -1
  106. package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
  107. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  108. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  109. package/src/sap/ui/integration/editor/fields/ObjectField.js +5 -10
  110. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  111. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  112. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  113. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  114. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  115. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +5 -4
  116. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  117. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
  118. package/src/sap/ui/integration/formatters/IconFormatter.js +12 -0
  119. package/src/sap/ui/integration/library.js +5 -4
  120. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  121. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  122. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  123. package/src/sap/ui/integration/schemas/sap-card.json +66 -2
  124. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  125. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  126. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  127. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  128. package/src/sap/ui/integration/util/ContentFactory.js +1 -2
  129. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  130. package/src/sap/ui/integration/util/DataProvider.js +6 -8
  131. package/src/sap/ui/integration/util/DataProviderFactory.js +1 -1
  132. package/src/sap/ui/integration/util/Destinations.js +1 -1
  133. package/src/sap/ui/integration/util/Duration.js +104 -0
  134. package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
  135. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  136. package/src/sap/ui/integration/util/Form.js +11 -5
  137. package/src/sap/ui/integration/util/HeaderFactory.js +1 -1
  138. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  139. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  140. package/src/sap/ui/integration/util/Manifest.js +19 -4
  141. package/src/sap/ui/integration/util/ManifestResolver.js +5 -1
  142. package/src/sap/ui/integration/util/RequestDataProvider.js +6 -2
  143. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  144. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  145. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  146. package/src/sap/ui/integration/util/Utils.js +1 -1
  147. package/src/sap/ui/integration/util/Validators.js +1 -1
  148. package/src/sap/ui/integration/util/loadCardEditor.js +3 -2
  149. package/src/sap/ui/integration/widgets/Card.js +98 -33
  150. package/ui5.yaml +1 -1
@@ -50,7 +50,8 @@
50
50
  "1.37.0",
51
51
  "1.38.0",
52
52
  "1.39.0",
53
- "1.40.0"
53
+ "1.40.0",
54
+ "1.41.0"
54
55
  ]
55
56
  },
56
57
  "designtime": {
@@ -219,6 +220,10 @@
219
220
  "$ref": "#/definitions/simpleBinding"
220
221
  }
221
222
  ]
223
+ },
224
+ "visible": {
225
+ "description": "Represents the visibility of the paginator",
226
+ "$ref": "#/definitions/visibility"
222
227
  }
223
228
  }
224
229
  },
@@ -268,6 +273,7 @@
268
273
  "type": {
269
274
  "const": "Analytical"
270
275
  }
276
+
271
277
  }
272
278
  },
273
279
  "then": {
@@ -2586,6 +2592,10 @@
2586
2592
  "$ref": "#/definitions/statusTextFormatter"
2587
2593
  }
2588
2594
  ]
2595
+ },
2596
+ "visible": {
2597
+ "description": "Represents the visibility of the status text",
2598
+ "$ref": "#/definitions/visibility"
2589
2599
  }
2590
2600
  }
2591
2601
  },
@@ -2873,6 +2883,10 @@
2873
2883
  "value": {
2874
2884
  "type": "string",
2875
2885
  "description": "The value of the field"
2886
+ },
2887
+ "visible": {
2888
+ "description": "Represents the visibility of the field",
2889
+ "$ref": "#/definitions/visibility"
2876
2890
  }
2877
2891
  }
2878
2892
  },
@@ -2931,7 +2945,15 @@
2931
2945
  "type": "string"
2932
2946
  },
2933
2947
  "parameters": {
2934
- "$ref": "#/definitions/parameters"
2948
+ "description": "Parameters passed to the navigation action handler",
2949
+ "oneOf": [
2950
+ {
2951
+ "$ref": "#/definitions/parameters"
2952
+ },
2953
+ {
2954
+ "$ref": "#/definitions/ibnActionParameters"
2955
+ }
2956
+ ]
2935
2957
  },
2936
2958
  "target": {
2937
2959
  "description": "Specifies where to open the 'url', if it is provided",
@@ -2952,6 +2974,40 @@
2952
2974
  "type": "object",
2953
2975
  "additionalProperties": true
2954
2976
  },
2977
+ "ibnActionParameters": {
2978
+ "description": "Parameters for an intent based navigation",
2979
+ "type": "object",
2980
+ "additionalProperties": false,
2981
+ "required": [
2982
+ "ibnTarget"
2983
+ ],
2984
+ "ibnTarget": {
2985
+ "description": "An application identifier consisting of semanticObject and action",
2986
+ "$ref": "#/definitions/ibnTarget"
2987
+ },
2988
+ "ibnParam": {
2989
+ "description": "Key/value pairs for parameters of the target application",
2990
+ "$ref": "#/definitions/parameters"
2991
+ },
2992
+ "ibnAppSpecificRoute": {
2993
+ "description": "An application specific route that is passed to the target application",
2994
+ "type": "string"
2995
+ }
2996
+ },
2997
+ "ibnTarget": {
2998
+ "description": "The application identifier consisting of semanticObject and action or ",
2999
+ "type": "object",
3000
+ "additionalProperties": false,
3001
+ "required": [
3002
+ "semanticObject", "action"
3003
+ ],
3004
+ "semanticObject": {
3005
+ "type": "string"
3006
+ },
3007
+ "action": {
3008
+ "type": "string"
3009
+ }
3010
+ },
2955
3011
  "state": {
2956
3012
  "description": "Represents state of an entity",
2957
3013
  "type": "string",
@@ -3432,6 +3488,10 @@
3432
3488
  "items": {
3433
3489
  "$ref": "#/definitions/Microchart.Bullet.Threshold"
3434
3490
  }
3491
+ },
3492
+ "visible": {
3493
+ "description": "Represents the visibility of the chart",
3494
+ "$ref": "#/definitions/visibility"
3435
3495
  }
3436
3496
  }
3437
3497
  },
@@ -3497,6 +3557,10 @@
3497
3557
  "items": {
3498
3558
  "$ref": "#/definitions/Microchart.StackedBar.Bar"
3499
3559
  }
3560
+ },
3561
+ "visible": {
3562
+ "description": "Represents the visibility of the chart bar",
3563
+ "$ref": "#/definitions/visibility"
3500
3564
  }
3501
3565
  }
3502
3566
  },
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.Object
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.115.1
25
+ * @version 1.117.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * Helper class for working with bindings.
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.115.1
45
+ * @version 1.117.0
46
46
  *
47
47
  * @private
48
48
  * @alias sap.ui.integration.util.BindingHelper
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * Resolves a binding syntax based on a provided model and path.
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.115.1
36
+ * @version 1.117.0
37
37
  *
38
38
  * @private
39
39
  * @ui5-restricted sap.ushell
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.Object
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.115.1
25
+ * @version 1.117.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @extends sap.ui.integration.util.BaseFactory
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.115.1
45
+ * @version 1.117.0
46
46
  *
47
47
  * @constructor
48
48
  * @private
@@ -69,7 +69,6 @@ sap.ui.define([
69
69
  oContent.setCardDataProvider(oCard._oDataProvider);
70
70
  }
71
71
 
72
- oContent._sAppId = mConfig.appId;
73
72
  oContent.setServiceManager(mConfig.serviceManager);
74
73
  oContent.setDataProviderFactory(mConfig.dataProviderFactory);
75
74
  oContent.setIconFormatter(mConfig.iconFormatter);
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.base.Object
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.115.1
33
+ * @version 1.117.0
34
34
  *
35
35
  * @constructor
36
36
  * @param {sap.ui.integration.Host} oHost The Host which will be used for resolve CSRF tokens.
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.base.ManagedObject
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.115.1
32
+ * @version 1.117.0
33
33
  *
34
34
  * @constructor
35
35
  * @private
@@ -149,7 +149,7 @@ sap.ui.define([
149
149
  this.setSettings(JSON.parse(sSettingsJson));
150
150
 
151
151
  if (this._bActive) {
152
- this._scheduleDataUpdate();
152
+ this._scheduleDataUpdate(0);
153
153
  }
154
154
  };
155
155
 
@@ -281,22 +281,20 @@ sap.ui.define([
281
281
  return;
282
282
  }
283
283
 
284
- setTimeout(function () {
285
- this.triggerDataUpdate();
286
- }.bind(this), iInterval * 1000);
284
+ this._scheduleDataUpdate(iInterval * 1000);
287
285
  };
288
286
 
289
-
290
287
  /**
291
288
  * Schedules the call to triggerDataUpdate.
289
+ * @param {int} iTimeout timeout in ms
292
290
  * @private
293
291
  */
294
- DataProvider.prototype._scheduleDataUpdate = function () {
292
+ DataProvider.prototype._scheduleDataUpdate = function (iTimeout) {
295
293
  if (this._iDataUpdateCallId) {
296
294
  clearTimeout(this._iDataUpdateCallId);
297
295
  }
298
296
 
299
- this._iDataUpdateCallId = setTimeout(this.triggerDataUpdate.bind(this), 0);
297
+ this._iDataUpdateCallId = setTimeout(this.triggerDataUpdate.bind(this), iTimeout);
300
298
  };
301
299
 
302
300
  /**
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * When destroyed, all data providers created by this class are also destroyed.
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.115.1
41
+ * @version 1.117.0
42
42
  *
43
43
  * @private
44
44
  * @ui5-restricted sap.ui.integration, shell-toolkit
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.base.Object
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.115.1
32
+ * @version 1.117.0
33
33
  *
34
34
  * @constructor
35
35
  * @param {sap.ui.integration.Host} oHost The Host which will be used for resolving destinations.
@@ -0,0 +1,104 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/base/Log",
9
+ "sap/base/strings/formatMessage"
10
+ ], function (
11
+ Log,
12
+ formatMessage
13
+ ) {
14
+ "use strict";
15
+
16
+ var rDate = /(\d+Y)?(\d+M)?(\d+W)?(\d+D)?/;
17
+ var rTime = /(?:T(?=.)(\d+H)?(\d+M)?(\d+S)?)?/;
18
+ var rISODuration = new RegExp("^P(?=.)" + rDate.source + rTime.source + "$");
19
+
20
+ var Duration = {};
21
+ Duration._INVALID_DURATION = "Invalid duration: {0}";
22
+ Duration._UNSUPPORTED_DATE = "Duration {0} contains unsupported date part";
23
+ Duration._UNSUPPORTED_SECONDS = "Duration {0} contains unsupported seconds part";
24
+ Duration._MINUTES_OUT_OF_RANGE = "Minutes of duration {0} are out of supported range [0-59]";
25
+ Duration._HOURS_OUT_OF_RANGE = "Hours of duration {0} are out of supported range [0-24]";
26
+
27
+ /**
28
+ * Parses ISO duration string.
29
+ * Decimal fractions are not supported.
30
+ * Duration balancing is not performed.
31
+ * Negative durations are not supported
32
+ *
33
+ * @param {string} sValue ISO duration string
34
+ * @returns {string} Duration in HH:mm format
35
+ */
36
+ Duration.fromISO = function (sValue) {
37
+ if (!sValue) {
38
+ return "";
39
+ }
40
+
41
+ var aParsed = rISODuration.exec(sValue);
42
+
43
+ if (!aParsed) {
44
+ Log.error(formatMessage(Duration._INVALID_DURATION, sValue), "sap.ui.integration.widgets.Card");
45
+ return "";
46
+ }
47
+
48
+ var sYears = aParsed[1];
49
+ var sMonths = aParsed[2];
50
+ var sWeeks = aParsed[3];
51
+ var sDays = aParsed[4];
52
+ var sHours = aParsed[5];
53
+ var sMins = aParsed[6];
54
+ var sSeconds = aParsed[7];
55
+
56
+ if (sYears || sMonths || sWeeks || sDays) {
57
+ Log.error(formatMessage(Duration._UNSUPPORTED_DATE, sValue), "sap.ui.integration.widgets.Card");
58
+ return "";
59
+ }
60
+
61
+ if (sSeconds) {
62
+ Log.error(formatMessage(Duration._UNSUPPORTED_SECONDS, sValue), "sap.ui.integration.widgets.Card");
63
+ return "";
64
+ }
65
+
66
+ var iHours = sHours ? parseInt(sHours) : 0;
67
+ var iMins = sMins ? parseInt(sMins) : 0;
68
+
69
+ if (iHours > 24) {
70
+ Log.error(formatMessage(Duration._HOURS_OUT_OF_RANGE, sValue), "sap.ui.integration.widgets.Card");
71
+ return "";
72
+ }
73
+
74
+ if (iMins > 59) {
75
+ Log.error(formatMessage(Duration._MINUTES_OUT_OF_RANGE, sValue), "sap.ui.integration.widgets.Card");
76
+ return "";
77
+ }
78
+
79
+ return iHours + ":" + iMins.toString().padStart(2, "0");
80
+ };
81
+
82
+ Duration.toISO = function (sValue) {
83
+ var aParts = sValue.split(":");
84
+ var iHours = parseInt(aParts[0]);
85
+ var iMinutes = parseInt(aParts[1]);
86
+ var sISOvalue = "PT";
87
+
88
+ if (iHours) {
89
+ sISOvalue += iHours + "H";
90
+ }
91
+
92
+ if (iMinutes) {
93
+ sISOvalue += iMinutes + "M";
94
+ }
95
+
96
+ if (!iHours && !iMinutes) {
97
+ sISOvalue += "0S";
98
+ }
99
+
100
+ return sISOvalue;
101
+ };
102
+
103
+ return Duration;
104
+ });
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * Utility class for handling errors in the cards.
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.115.1
38
+ * @version 1.117.0
39
39
  *
40
40
  * @private
41
41
  * @ui5-restricted
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider)
17
17
  * @extends sap.ui.integration.util.DataProvider
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.115.1
20
+ * @version 1.117.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -12,7 +12,8 @@ sap.ui.define([
12
12
  "./Validators",
13
13
  "./BindingHelper",
14
14
  "./BindingResolver",
15
- "./DateRangeHelper"
15
+ "./DateRangeHelper",
16
+ "./Duration"
16
17
  ], function (
17
18
  ManagedObject,
18
19
  coreLibrary,
@@ -22,7 +23,8 @@ sap.ui.define([
22
23
  Validators,
23
24
  BindingHelper,
24
25
  BindingResolver,
25
- DateRangeHelper
26
+ DateRangeHelper,
27
+ Duration
26
28
  ) {
27
29
  "use strict";
28
30
 
@@ -32,7 +34,7 @@ sap.ui.define([
32
34
  * Utility class for handling forms in the cards.
33
35
  *
34
36
  * @author SAP SE
35
- * @version 1.115.1
37
+ * @version 1.117.0
36
38
  *
37
39
  * @private
38
40
  * @ui5-restricted
@@ -92,7 +94,7 @@ sap.ui.define([
92
94
  }.bind(this));
93
95
 
94
96
  if (bStateChanged && !bSkipFiringStateChangedEvent) {
95
- this._oCard._fireStateChanged();
97
+ this._oCard.scheduleFireStateChanged();
96
98
  }
97
99
  };
98
100
 
@@ -153,6 +155,8 @@ sap.ui.define([
153
155
  } else if (vValue) {
154
156
  if (oControl.isA("sap.m.DatePicker") || oControl.isA("sap.m.DynamicDateRange")) {
155
157
  DateRangeHelper.setValue(oControl, vValue, this._oCard);
158
+ } else if (oControl.isA("sap.m.TimePicker")) {
159
+ oControl.setValue(Duration.fromISO(vValue));
156
160
  } else {
157
161
  oControl.setValue(vValue);
158
162
  }
@@ -227,7 +231,7 @@ sap.ui.define([
227
231
  this._validateControl(oControl, true);
228
232
  this._updateModel(oControl);
229
233
 
230
- this._oCard._fireStateChanged();
234
+ this._oCard.scheduleFireStateChanged();
231
235
  };
232
236
 
233
237
  Form.prototype._isControlDataValid = function (oData) {
@@ -486,6 +490,8 @@ sap.ui.define([
486
490
  };
487
491
  } else if (oControl.isA("sap.m.DynamicDateRange") || oControl.isA("sap.m.DatePicker")) {
488
492
  return DateRangeHelper.getValueForModel(oControl);
493
+ } else if (oControl.isA("sap.m.TimePicker")) {
494
+ return Duration.toISO(oControl.getValue());
489
495
  } else {
490
496
  return oControl.getValue();
491
497
  }
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.integration.util.BaseFactory
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.115.1
47
+ * @version 1.117.0
48
48
  *
49
49
  * @constructor
50
50
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * Helper class for working with bindings for json objects.
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.115.1
30
+ * @version 1.117.0
31
31
  *
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.integration, shell-toolkit
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.core.Element
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.115.1
24
+ * @version 1.117.0
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -6,6 +6,7 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/base/Object",
9
+ "sap/base/util/LoaderExtensions",
9
10
  "sap/ui/core/Manifest",
10
11
  "sap/base/util/deepClone",
11
12
  "sap/base/util/deepExtend",
@@ -17,6 +18,7 @@ sap.ui.define([
17
18
  "sap/ui/integration/util/CardMerger"
18
19
  ], function (
19
20
  BaseObject,
21
+ LoaderExtensions,
20
22
  CoreManifest,
21
23
  deepClone,
22
24
  deepExtend,
@@ -64,7 +66,7 @@ sap.ui.define([
64
66
  * @extends sap.ui.base.Object
65
67
  *
66
68
  * @author SAP SE
67
- * @version 1.115.1
69
+ * @version 1.117.0
68
70
  *
69
71
  * @constructor
70
72
  * @private
@@ -75,6 +77,7 @@ sap.ui.define([
75
77
  constructor: function (sSection, oManifestJson, sBaseUrl, aChanges) {
76
78
  BaseObject.call(this);
77
79
 
80
+ this._sBaseUrl = sBaseUrl;
78
81
  this._aChanges = aChanges;
79
82
  this._sSection = sSection;
80
83
 
@@ -91,11 +94,12 @@ sap.ui.define([
91
94
 
92
95
  if (sBaseUrl) {
93
96
  mOptions.baseUrl = sBaseUrl;
94
- this._sBaseUrl = sBaseUrl;
95
97
  } else {
96
- Log.warning("If no base URL is provided when the manifest is an object static resources cannot be loaded.");
98
+ Log.error("If baseUrl is not provided when the manifest is an object, the relative resources cannot be loaded.", "sap.ui.integration.widgets.Card");
97
99
  }
98
100
 
101
+ this._registerManifestModulePath(oManifestJson, sBaseUrl || "/");
102
+
99
103
  if (this._aChanges) {
100
104
  oMergedManifest = this.mergeDeltaChanges(oManifestJson);
101
105
  } else {
@@ -230,7 +234,8 @@ sap.ui.define([
230
234
  manifestUrl: mSettings.manifestUrl,
231
235
  async: true,
232
236
  processJson: function (oManifestJson) {
233
-
237
+ var sModuleBaseUrl = this._sBaseUrl || mSettings.manifestUrl.replace(/\/+[^\/]*$/, "") || "/";
238
+ this._registerManifestModulePath(oManifestJson, sModuleBaseUrl);
234
239
  this._oInitialJson = deepClone(oManifestJson, 500);
235
240
 
236
241
  if (this._aChanges) {
@@ -618,5 +623,15 @@ sap.ui.define([
618
623
  return aResult;
619
624
  };
620
625
 
626
+ Manifest.prototype._registerManifestModulePath = function (oManifestJson, sBaseUrl) {
627
+ var sAppId = oManifestJson && oManifestJson["sap.app"] && oManifestJson["sap.app"].id;
628
+
629
+ if (!sAppId) {
630
+ return;
631
+ }
632
+
633
+ LoaderExtensions.registerResourcePath(sAppId.replace(/\./g, "/"), sBaseUrl);
634
+ };
635
+
621
636
  return Manifest;
622
637
  });
@@ -119,11 +119,15 @@ sap.ui.define([
119
119
  message: oContentMessage
120
120
  };
121
121
  } else if (oContext.getStaticConfiguration) {
122
- oSubConfig = oContext.getStaticConfiguration();
122
+ oSubConfig = oContext.getStaticConfiguration(Utils.getNestedPropertyValue(oManifest, sManifestPath));
123
123
  } else {
124
124
  oSubConfig = Utils.getNestedPropertyValue(oManifest, sManifestPath);
125
125
  }
126
126
 
127
+ if (oContext.extendStaticConfiguration) {
128
+ oContext.extendStaticConfiguration(oSubConfig);
129
+ }
130
+
127
131
  if (oSubConfig.data) {
128
132
  sDataPath = oSubConfig.data.path;
129
133
  delete oSubConfig.data;
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.integration.util.DataProvider
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.115.1
68
+ * @version 1.117.0
69
69
  *
70
70
  * @constructor
71
71
  * @private
@@ -261,7 +261,11 @@ sap.ui.define([
261
261
 
262
262
  return oResponse.text().then(function (vData) {
263
263
  if (isJsonResponse(oResponse)) {
264
- vData = JSON.parse(vData !== "" ? vData : null);
264
+ try {
265
+ vData = JSON.parse(vData);
266
+ } catch (oError) {
267
+ return Promise.reject([oError.toString(), null, null, oRequest]);
268
+ }
265
269
  } else if (isXmlResponse(oResponse)) {
266
270
  vData = (new window.DOMParser()).parseFromString(vData, "text/xml");
267
271
  }
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider)
17
17
  * @extends sap.ui.integration.util.DataProvider
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.115.1
20
+ * @version 1.117.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.base.EventProvider
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.115.1
40
+ * @version 1.117.0
41
41
  *
42
42
  * @constructor
43
43
  * @param {Object} mServiceFactoryReferences A map with service descriptions.
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.integration.widgets.Card
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.115.1
26
+ * @version 1.117.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * Utility class helping with JSON strings and formatters.
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.115.1
28
+ * @version 1.117.0
29
29
  *
30
30
  * @private
31
31
  * @alias sap.ui.integration.util.Utils
@@ -11,7 +11,7 @@ sap.ui.define([], function () {
11
11
  * Utility class helping with input validations.
12
12
  *
13
13
  * @author SAP SE
14
- * @version 1.115.1
14
+ * @version 1.117.0
15
15
  *
16
16
  * @private
17
17
  * @alias sap.ui.integration.util.Validators
@@ -3,7 +3,8 @@
3
3
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define(function () {
6
+ sap.ui.define(['sap/ui/dom/includeScript'],
7
+ function (includeScript) {
7
8
  "use strict";
8
9
 
9
10
  function loadCardEditor() {
@@ -30,7 +31,7 @@ sap.ui.define(function () {
30
31
  * @public
31
32
  */
32
33
  return function () {
33
- return sap.ui.loader._.loadJSResourceAsync("sap-ui-integration-cardEditor.js")
34
+ return includeScript("sap-ui-integration-cardEditor.js")
34
35
  .then(loadCardEditor)
35
36
  .catch(loadCardEditor);
36
37
  };