@openui5/sap.ui.integration 1.123.1 → 1.124.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 (200) hide show
  1. package/package.json +7 -7
  2. package/src/sap/ui/integration/.library +1 -1
  3. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  4. package/src/sap/ui/integration/Designtime.js +1 -1
  5. package/src/sap/ui/integration/Extension.js +12 -1
  6. package/src/sap/ui/integration/Host.js +1 -1
  7. package/src/sap/ui/integration/cards/AdaptiveContent.js +3 -6
  8. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  9. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +1 -1
  10. package/src/sap/ui/integration/cards/BaseContent.js +3 -2
  11. package/src/sap/ui/integration/cards/BaseListContent.js +1 -1
  12. package/src/sap/ui/integration/cards/CalendarContent.js +1 -1
  13. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  14. package/src/sap/ui/integration/cards/Footer.js +1 -1
  15. package/src/sap/ui/integration/cards/Header.js +1 -1
  16. package/src/sap/ui/integration/cards/ListContent.js +1 -1
  17. package/src/sap/ui/integration/cards/NumericHeader.js +10 -3
  18. package/src/sap/ui/integration/cards/ObjectContent.js +1 -1
  19. package/src/sap/ui/integration/cards/TableContent.js +1 -1
  20. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  21. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  22. package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
  23. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  24. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  25. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  26. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  28. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  29. package/src/sap/ui/integration/cards/filters/ComboBoxFilter.js +1 -1
  30. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
  31. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  33. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  35. package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
  36. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  37. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  38. package/src/sap/ui/integration/controls/BlockingMessage.js +1 -1
  39. package/src/sap/ui/integration/controls/ImageWithOverlay.js +1 -1
  40. package/src/sap/ui/integration/controls/LinkWithIcon.js +1 -1
  41. package/src/sap/ui/integration/controls/ListContentItem.js +1 -1
  42. package/src/sap/ui/integration/controls/Microchart.js +324 -92
  43. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  44. package/src/sap/ui/integration/controls/MicrochartRenderer.js +64 -0
  45. package/src/sap/ui/integration/controls/ObjectStatus.js +1 -1
  46. package/src/sap/ui/integration/controls/Paginator.js +20 -9
  47. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  48. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  49. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  50. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  51. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  52. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +1 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  69. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  86. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  87. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  88. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
  89. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  90. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  91. package/src/sap/ui/integration/designtime/editor/Card.js +1 -1
  92. package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -1
  93. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  94. package/src/sap/ui/integration/editor/Editor.js +2 -2
  95. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  96. package/src/sap/ui/integration/editor/Extension.js +1 -1
  97. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  98. package/src/sap/ui/integration/editor/Settings.js +1 -1
  99. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  100. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  101. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  102. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  103. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  104. package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
  105. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  106. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  107. package/src/sap/ui/integration/editor/fields/ObjectField.js +1 -1
  108. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  109. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  110. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  111. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  112. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  113. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
  114. package/src/sap/ui/integration/editor/fields/viz/ImageSelect.js +1 -1
  115. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  116. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
  117. package/src/sap/ui/integration/extensions/OAuth3LO.js +196 -0
  118. package/src/sap/ui/integration/library.js +2 -2
  119. package/src/sap/ui/integration/messagebundle.properties +9 -0
  120. package/src/sap/ui/integration/messagebundle_ar.properties +6 -0
  121. package/src/sap/ui/integration/messagebundle_bg.properties +6 -0
  122. package/src/sap/ui/integration/messagebundle_ca.properties +6 -0
  123. package/src/sap/ui/integration/messagebundle_cnr.properties +6 -0
  124. package/src/sap/ui/integration/messagebundle_cs.properties +6 -0
  125. package/src/sap/ui/integration/messagebundle_cy.properties +6 -0
  126. package/src/sap/ui/integration/messagebundle_da.properties +6 -0
  127. package/src/sap/ui/integration/messagebundle_de.properties +6 -0
  128. package/src/sap/ui/integration/messagebundle_el.properties +6 -0
  129. package/src/sap/ui/integration/messagebundle_en.properties +6 -0
  130. package/src/sap/ui/integration/messagebundle_en_GB.properties +6 -0
  131. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +6 -0
  132. package/src/sap/ui/integration/messagebundle_es.properties +6 -0
  133. package/src/sap/ui/integration/messagebundle_es_MX.properties +6 -0
  134. package/src/sap/ui/integration/messagebundle_et.properties +8 -2
  135. package/src/sap/ui/integration/messagebundle_fi.properties +6 -0
  136. package/src/sap/ui/integration/messagebundle_fr.properties +6 -0
  137. package/src/sap/ui/integration/messagebundle_fr_CA.properties +6 -0
  138. package/src/sap/ui/integration/messagebundle_hi.properties +6 -0
  139. package/src/sap/ui/integration/messagebundle_hr.properties +6 -0
  140. package/src/sap/ui/integration/messagebundle_hu.properties +6 -0
  141. package/src/sap/ui/integration/messagebundle_id.properties +6 -0
  142. package/src/sap/ui/integration/messagebundle_it.properties +6 -0
  143. package/src/sap/ui/integration/messagebundle_iw.properties +6 -0
  144. package/src/sap/ui/integration/messagebundle_ja.properties +6 -0
  145. package/src/sap/ui/integration/messagebundle_kk.properties +6 -0
  146. package/src/sap/ui/integration/messagebundle_ko.properties +6 -0
  147. package/src/sap/ui/integration/messagebundle_lt.properties +6 -0
  148. package/src/sap/ui/integration/messagebundle_lv.properties +6 -0
  149. package/src/sap/ui/integration/messagebundle_mk.properties +6 -0
  150. package/src/sap/ui/integration/messagebundle_ms.properties +6 -0
  151. package/src/sap/ui/integration/messagebundle_nl.properties +6 -0
  152. package/src/sap/ui/integration/messagebundle_no.properties +6 -0
  153. package/src/sap/ui/integration/messagebundle_pl.properties +6 -0
  154. package/src/sap/ui/integration/messagebundle_pt.properties +6 -0
  155. package/src/sap/ui/integration/messagebundle_pt_PT.properties +6 -0
  156. package/src/sap/ui/integration/messagebundle_ro.properties +6 -0
  157. package/src/sap/ui/integration/messagebundle_ru.properties +6 -0
  158. package/src/sap/ui/integration/messagebundle_sh.properties +57 -51
  159. package/src/sap/ui/integration/messagebundle_sk.properties +6 -0
  160. package/src/sap/ui/integration/messagebundle_sl.properties +6 -0
  161. package/src/sap/ui/integration/messagebundle_sr.properties +6 -0
  162. package/src/sap/ui/integration/messagebundle_sv.properties +6 -0
  163. package/src/sap/ui/integration/messagebundle_th.properties +6 -0
  164. package/src/sap/ui/integration/messagebundle_tr.properties +6 -0
  165. package/src/sap/ui/integration/messagebundle_uk.properties +6 -0
  166. package/src/sap/ui/integration/messagebundle_vi.properties +6 -0
  167. package/src/sap/ui/integration/messagebundle_zh_CN.properties +6 -0
  168. package/src/sap/ui/integration/messagebundle_zh_TW.properties +6 -0
  169. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  170. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  171. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  172. package/src/sap/ui/integration/schemas/sap-card.json +42 -13
  173. package/src/sap/ui/integration/themes/base/CardTileVariant.less +9 -0
  174. package/src/sap/ui/integration/themes/base/Microchart.less +26 -3
  175. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  176. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  177. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  178. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  179. package/src/sap/ui/integration/util/ComboBoxHelper.js +1 -1
  180. package/src/sap/ui/integration/util/ContentFactory.js +1 -1
  181. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  182. package/src/sap/ui/integration/util/DataProvider.js +1 -1
  183. package/src/sap/ui/integration/util/DataProviderFactory.js +1 -1
  184. package/src/sap/ui/integration/util/Destinations.js +1 -1
  185. package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
  186. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  187. package/src/sap/ui/integration/util/Form.js +1 -1
  188. package/src/sap/ui/integration/util/HeaderFactory.js +1 -1
  189. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  190. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  191. package/src/sap/ui/integration/util/Manifest.js +1 -1
  192. package/src/sap/ui/integration/util/OAuth3LOHelper.js +130 -0
  193. package/src/sap/ui/integration/util/RequestDataProvider.js +1 -1
  194. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  195. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  196. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  197. package/src/sap/ui/integration/util/Utils.js +39 -1
  198. package/src/sap/ui/integration/util/Validators.js +1 -1
  199. package/src/sap/ui/integration/widgets/Card.js +23 -5
  200. package/src/sap/ui/integration/widgets/CardRenderer.js +43 -7
@@ -74,6 +74,10 @@
74
74
  "description": "Markdown enablement for Adaptive Content",
75
75
  "type": "boolean"
76
76
  },
77
+ "helpId": {
78
+ "description": "[Experimental] The help-id which will be rendered as data-help-id on the base element of the card.",
79
+ "type": "string"
80
+ },
77
81
  "modelSizeLimit": {
78
82
  "description": "[Experimental] Represents the maximum number of entries that are used for list bindings.",
79
83
  "oneOf": [
@@ -647,6 +651,9 @@
647
651
  "visible": {
648
652
  "description": "[Experimental] Visibility of the header",
649
653
  "$ref": "#/definitions/visibility"
654
+ },
655
+ "chart": {
656
+ "$ref": "#/definitions/MicroChart"
650
657
  }
651
658
  }
652
659
  },
@@ -863,7 +870,7 @@
863
870
  }
864
871
  },
865
872
  "chart": {
866
- "$ref": "#/definitions/Microchart"
873
+ "$ref": "#/definitions/MicroChart"
867
874
  },
868
875
  "actionsStrip": {
869
876
  "description": "Describes actions strip",
@@ -3711,18 +3718,40 @@
3711
3718
  }
3712
3719
  }
3713
3720
  },
3714
- "Microchart": {
3715
- "description": "[Experimental] Describes Microchart attributes",
3721
+ "MicroChart": {
3722
+ "description": "[Experimental] Describes MicroChart attributes",
3716
3723
  "oneOf": [
3717
3724
  {
3718
- "$ref": "#/definitions/Microchart.Bullet"
3725
+ "$ref": "#/definitions/MicroChart.Generic"
3719
3726
  },
3720
3727
  {
3721
- "$ref": "#/definitions/Microchart.StackedBar"
3728
+ "$ref": "#/definitions/MicroChart.Bullet"
3729
+ },
3730
+ {
3731
+ "$ref": "#/definitions/MicroChart.StackedBar"
3722
3732
  }
3723
3733
  ]
3724
3734
  },
3725
- "Microchart.Bullet": {
3735
+ "MicroChart.Generic": {
3736
+ "type": "object",
3737
+ "additionalProperties": true,
3738
+ "required": [
3739
+ "type"
3740
+ ],
3741
+ "properties": {
3742
+ "type": {
3743
+ "description": "Represents the type of the MicroChart",
3744
+ "type": "string",
3745
+ "enum": [
3746
+ "Line",
3747
+ "Column",
3748
+ "HarveyBall",
3749
+ "Radial"
3750
+ ]
3751
+ }
3752
+ }
3753
+ },
3754
+ "MicroChart.Bullet": {
3726
3755
  "type": "object",
3727
3756
  "additionalProperties": false,
3728
3757
  "required": [
@@ -3730,7 +3759,7 @@
3730
3759
  ],
3731
3760
  "properties": {
3732
3761
  "type": {
3733
- "description": "Represents the type of the Microchart",
3762
+ "description": "Represents the type of the MicroChart",
3734
3763
  "type": "string",
3735
3764
  "const": "Bullet"
3736
3765
  },
@@ -3802,7 +3831,7 @@
3802
3831
  "description": "The thresholds indicators of the bar",
3803
3832
  "type": "array",
3804
3833
  "items": {
3805
- "$ref": "#/definitions/Microchart.Bullet.Threshold"
3834
+ "$ref": "#/definitions/MicroChart.Bullet.Threshold"
3806
3835
  }
3807
3836
  },
3808
3837
  "visible": {
@@ -3811,7 +3840,7 @@
3811
3840
  }
3812
3841
  }
3813
3842
  },
3814
- "Microchart.Bullet.Threshold": {
3843
+ "MicroChart.Bullet.Threshold": {
3815
3844
  "type": "object",
3816
3845
  "additionalProperties": false,
3817
3846
  "properties": {
@@ -3840,7 +3869,7 @@
3840
3869
  }
3841
3870
  }
3842
3871
  },
3843
- "Microchart.StackedBar": {
3872
+ "MicroChart.StackedBar": {
3844
3873
  "type": "object",
3845
3874
  "additionalProperties": false,
3846
3875
  "required": [
@@ -3848,7 +3877,7 @@
3848
3877
  ],
3849
3878
  "properties": {
3850
3879
  "type": {
3851
- "description": "Represents the type of the Microchart",
3880
+ "description": "Represents the type of the MicroChart",
3852
3881
  "type": "string",
3853
3882
  "const": "StackedBar"
3854
3883
  },
@@ -3871,7 +3900,7 @@
3871
3900
  "description": "The bars of the chart",
3872
3901
  "type": "array",
3873
3902
  "items": {
3874
- "$ref": "#/definitions/Microchart.StackedBar.Bar"
3903
+ "$ref": "#/definitions/MicroChart.StackedBar.Bar"
3875
3904
  }
3876
3905
  },
3877
3906
  "visible": {
@@ -3880,7 +3909,7 @@
3880
3909
  }
3881
3910
  }
3882
3911
  },
3883
- "Microchart.StackedBar.Bar": {
3912
+ "MicroChart.StackedBar.Bar": {
3884
3913
  "type": "object",
3885
3914
  "additionalProperties": false,
3886
3915
  "properties": {
@@ -49,6 +49,11 @@
49
49
  .sapFCard.sapUiIntCardTileFlat,
50
50
  .sapFCard.sapUiIntCardTileFlatWide {
51
51
  .sapFCardHeader {
52
+
53
+ .sapFCardHeaderWrapper {
54
+ padding: 1rem 1rem 0.75rem;
55
+ }
56
+
52
57
  .sapFCardHeaderText {
53
58
  justify-content: flex-start;
54
59
  }
@@ -70,6 +75,10 @@
70
75
  }
71
76
 
72
77
  &.sapFCardNumericHeader {
78
+ .sapFCardHeaderContent {
79
+ padding: 1rem 1rem 0.75rem;
80
+ }
81
+
73
82
  .sapFCardHeaderDetailsWrapper {
74
83
  display: none;
75
84
  }
@@ -23,17 +23,40 @@
23
23
  }
24
24
 
25
25
  .sapUiIntMicrochartChartWrapper {
26
- height: 1rem;
26
+ min-height: 1rem;
27
+ max-height: 3rem;
27
28
  display: flex;
28
29
  align-items: center;
29
30
  justify-content: space-between;
30
31
 
31
32
  .sapUiIntMicrochartChart {
32
33
  flex-grow: 1;
33
- height: 0.675rem;
34
-
35
34
  .sapUiIntMicrochartChartInner {
36
35
  height: 100%;
37
36
  }
38
37
  }
38
+ }
39
+
40
+ .sapUiIntMicrochartInHeader.sapUiIntMicrochartChartWrapper {
41
+ flex-grow: 1;
42
+ margin-top: 0.5rem;
43
+ max-width: 8.5rem;
44
+ min-width: 5rem;
45
+
46
+ &:has(.sapUiIntMicrochartSizeS) {
47
+ max-height: 3.5rem;
48
+ margin-top: 0.25rem;
49
+ max-width: 8.25rem;
50
+
51
+ &:has(.sapMSLIInfo) {
52
+ max-width: 13rem;
53
+ }
54
+ }
55
+ .sapUiIntMicrochartSizeS {
56
+ height: 3.5rem;
57
+ }
58
+
59
+ &:only-child {
60
+ max-width: 100%;
61
+ }
39
62
  }
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.Object
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.123.1
25
+ * @version 1.124.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.123.1
45
+ * @version 1.124.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.123.1
36
+ * @version 1.124.0
37
37
  *
38
38
  * @private
39
39
  * @ui5-restricted sap.ushell
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @extends sap.ui.base.Object
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.123.1
21
+ * @version 1.124.0
22
22
  *
23
23
  * @constructor
24
24
  * @private
@@ -11,7 +11,7 @@ sap.ui.define([], function () {
11
11
  * Utility class helping with sap.m.ComboBox control.
12
12
  *
13
13
  * @author SAP SE
14
- * @version 1.123.1
14
+ * @version 1.124.0
15
15
  *
16
16
  * @private
17
17
  * @alias sap.ui.integration.util.ComboBoxHelper
@@ -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.123.1
45
+ * @version 1.124.0
46
46
  *
47
47
  * @constructor
48
48
  * @private
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.base.Object
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.123.1
35
+ * @version 1.124.0
36
36
  *
37
37
  * @constructor
38
38
  * @param {object} mSettings Token handler settings
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.base.ManagedObject
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.123.1
32
+ * @version 1.124.0
33
33
  *
34
34
  * @constructor
35
35
  * @private
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * When destroyed, all data providers created by this class are also destroyed.
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.123.1
43
+ * @version 1.124.0
44
44
  *
45
45
  * @private
46
46
  * @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.123.1
32
+ * @version 1.124.0
33
33
  *
34
34
  * @constructor
35
35
  * @param {sap.ui.integration.Host} oHost The Host which will be used for resolving destinations.
@@ -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.123.1
38
+ * @version 1.124.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.123.1
20
+ * @version 1.124.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * Utility class for handling forms in the cards.
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.123.1
39
+ * @version 1.124.0
40
40
  *
41
41
  * @private
42
42
  * @ui5-restricted
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @extends sap.ui.integration.util.BaseFactory
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.123.1
53
+ * @version 1.124.0
54
54
  *
55
55
  * @constructor
56
56
  * @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.123.1
30
+ * @version 1.124.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.123.1
24
+ * @version 1.124.0
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @extends sap.ui.base.Object
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.123.1
71
+ * @version 1.124.0
72
72
  *
73
73
  * @constructor
74
74
  * @private
@@ -0,0 +1,130 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 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([], function () {
8
+ "use strict";
9
+
10
+ /**
11
+ * Map of consents and the cards that are waiting for them.
12
+ * @private
13
+ * @constant {Map<string, Set<Card>>}
14
+ */
15
+ const mConsents = new Map();
16
+
17
+ /**
18
+ * Utility class helping with OAuth 3LO flow handling.
19
+ *
20
+ * @author SAP SE
21
+ * @version 1.124.0
22
+ *
23
+ * @private
24
+ * @alias sap.ui.integration.util.OAuth3LOHelper
25
+ */
26
+ const OAuth3LOHelper = { };
27
+
28
+ /**
29
+ * Opens a new window with the consent URL.
30
+ * @param {string} sConsentUrl The URL to open in the consent window.
31
+ * @param {object} oPopupSettings The settings for the popup window.
32
+ */
33
+ OAuth3LOHelper.openConsentWindow = function (sConsentUrl, oPopupSettings) {
34
+ const iWidth = oPopupSettings?.width || 400;
35
+ const iHeight = oPopupSettings?.height || 400;
36
+ const iLeft = (screen.width / 2) - (iWidth / 2);
37
+ const iTop = (screen.height / 2) - (iHeight / 2);
38
+
39
+ const sWindowConfig = `noopener, noreferrer, popup, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=${iWidth}, height=${iHeight}, top=${iTop}, left=${iLeft}`;
40
+
41
+ window.open(sConsentUrl, "_blank", sWindowConfig);
42
+ };
43
+
44
+ /**
45
+ * Checks if the consent is needed.
46
+ * @param {Response} oResponse The response object.
47
+ * @returns {boolean} Whether the consent is needed.
48
+ */
49
+ OAuth3LOHelper.needsConsent = function (oResponse) {
50
+ return oResponse.status === 502 && oResponse.headers.get("sap-3lo-flow");
51
+ };
52
+
53
+ /**
54
+ * Checks if there is an error in the OAuth 3LO flow.
55
+ * @param {Response} oResponse The response object.
56
+ * @returns {boolean} True if there is an error in the OAuth 3LO flow.
57
+ */
58
+ OAuth3LOHelper.hasConsentError = function (oResponse) {
59
+ if (!OAuth3LOHelper.needsConsent(oResponse)) {
60
+ return false;
61
+ }
62
+
63
+ const oHeader = OAuth3LOHelper.readHeader(oResponse);
64
+ return oHeader.status === "error";
65
+ };
66
+
67
+ /**
68
+ * Reads the header settings from the response.
69
+ * @param {Response} oResponse The response object.
70
+ * @returns {object} The header settings.
71
+ */
72
+ OAuth3LOHelper.readHeader = function (oResponse) {
73
+ let sHeader = oResponse.headers.get("sap-3lo-flow");
74
+
75
+ if (!sHeader) {
76
+ return null;
77
+ }
78
+
79
+ sHeader = atob(sHeader);
80
+
81
+ return JSON.parse(sHeader);
82
+ };
83
+
84
+ /**
85
+ * Register the card to wait for the consent.
86
+ * @param {string} sConsentId The consent ID for which this card will be waiting.
87
+ * @param {Card} oCard The card that will be waiting for the consent.
88
+ */
89
+ OAuth3LOHelper.registerCard = function (sConsentId, oCard) {
90
+ let mCards = mConsents.get(sConsentId);
91
+
92
+ if (!mCards) {
93
+ mCards = new Set();
94
+ mConsents.set(sConsentId, mCards);
95
+ }
96
+
97
+ mCards.add(oCard);
98
+ };
99
+
100
+ /**
101
+ * Unregister the card from the consent.
102
+ * @param {string} sConsentId The consent ID for which this card has received consent.
103
+ * @param {Card} oCard The card that has received the consent.
104
+ */
105
+ OAuth3LOHelper.unregisterCard = function (sConsentId, oCard) {
106
+ const mCards = mConsents.get(sConsentId);
107
+
108
+ mCards?.delete(oCard);
109
+ };
110
+
111
+ /**
112
+ * Called when the consent is given.
113
+ * @param {string} sConsentId The consent ID for which this card has received consent.
114
+ */
115
+ OAuth3LOHelper.handleConsent = function (sConsentId) {
116
+ const mCards = mConsents.get(sConsentId);
117
+
118
+ if (!mCards) {
119
+ return;
120
+ }
121
+
122
+ for (const oCard of mCards) {
123
+ oCard.refreshData();
124
+ }
125
+
126
+ mConsents.delete(sConsentId);
127
+ };
128
+
129
+ return OAuth3LOHelper;
130
+ });
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @extends sap.ui.integration.util.DataProvider
73
73
  *
74
74
  * @author SAP SE
75
- * @version 1.123.1
75
+ * @version 1.124.0
76
76
  *
77
77
  * @constructor
78
78
  * @private
@@ -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.123.1
20
+ * @version 1.124.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.123.1
40
+ * @version 1.124.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.123.1
26
+ * @version 1.124.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * Utility class helping with JSON strings and formatters.
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.123.1
30
+ * @version 1.124.0
31
31
  *
32
32
  * @private
33
33
  * @alias sap.ui.integration.util.Utils
@@ -321,5 +321,43 @@ sap.ui.define([
321
321
  return oBindingInfo;
322
322
  };
323
323
 
324
+ /**
325
+ * Starts a polling which executes the <code>fnRequest</code> function with a given interval.
326
+ * It will stop if the <code>fnRequest</code> returns <code>true</code> or the maximum time is reached.
327
+ * @public
328
+ * @param {function} fnRequest The function to repeat with each polling. This function can return <code>true</code> if the polling is done and must be stopped.
329
+ * @param {int} iInterval The time between each execution of the <code>fnRequest</code> in milliseconds.
330
+ * @param {int} iMaximum The maximum time to poll in milliseconds.
331
+ * @returns {object} An object with a stop function to stop the polling.
332
+ */
333
+ Utils.polling = function (fnRequest, iInterval = 3000, iMaximum = 600000) {
334
+ let iTotal = 0;
335
+ let iTimeoutHandle;
336
+ let bStopped = false;
337
+ const fnPoll = async () => {
338
+ if (iMaximum && iTotal >= iMaximum) {
339
+ return;
340
+ }
341
+
342
+ const bDone = await fnRequest();
343
+
344
+ if (bDone || bStopped) {
345
+ return;
346
+ }
347
+
348
+ iTotal += iInterval;
349
+ iTimeoutHandle = setTimeout(fnPoll, iInterval);
350
+ };
351
+
352
+ fnPoll();
353
+
354
+ return {
355
+ stop: () => {
356
+ clearTimeout(iTimeoutHandle);
357
+ bStopped = true;
358
+ }
359
+ };
360
+ };
361
+
324
362
  return Utils;
325
363
  });
@@ -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.123.1
14
+ * @version 1.124.0
15
15
  *
16
16
  * @private
17
17
  * @alias sap.ui.integration.util.Validators
@@ -176,7 +176,7 @@ sap.ui.define([
176
176
  * @extends sap.f.CardBase
177
177
  *
178
178
  * @author SAP SE
179
- * @version 1.123.1
179
+ * @version 1.124.0
180
180
  * @public
181
181
  * @constructor
182
182
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -545,7 +545,7 @@ sap.ui.define([
545
545
  * @experimental since 1.79
546
546
  * @public
547
547
  * @author SAP SE
548
- * @version 1.123.1
548
+ * @version 1.124.0
549
549
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
550
550
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
551
551
  * @borrows sap.ui.integration.widgets.Card#getParameters as getParameters
@@ -2232,9 +2232,16 @@ sap.ui.define([
2232
2232
  * @private
2233
2233
  */
2234
2234
  Card.prototype._handleError = function (mErrorInfo) {
2235
- var sLogMessage = mErrorInfo.requestErrorParams ? mErrorInfo.requestErrorParams.message : mErrorInfo.title,
2236
- oContent = this.getCardContent(),
2237
- mMessageSettings;
2235
+ const oExtensionMessage = this._extensionErrorOverride(mErrorInfo);
2236
+ if (oExtensionMessage) {
2237
+ this.showBlockingMessage(oExtensionMessage);
2238
+ return;
2239
+ }
2240
+
2241
+ const sLogMessage = mErrorInfo.requestErrorParams ? mErrorInfo.requestErrorParams.message : mErrorInfo.title,
2242
+ oContent = this.getCardContent();
2243
+
2244
+ let mMessageSettings;
2238
2245
 
2239
2246
  Log.error(sLogMessage, mErrorInfo.originalError, "sap.ui.integration.widgets.Card");
2240
2247
  this.fireEvent("_error", { message: sLogMessage });
@@ -2258,6 +2265,17 @@ sap.ui.define([
2258
2265
  }
2259
2266
  };
2260
2267
 
2268
+ Card.prototype._extensionErrorOverride = function (mErrorInfo) {
2269
+ const oExtension = this.getAggregation("_extension");
2270
+
2271
+ if (!oExtension || !oExtension.overrideBlockingMessage) {
2272
+ return null;
2273
+ }
2274
+
2275
+ const oResponse = mErrorInfo?.requestErrorParams?.response;
2276
+ return oExtension.overrideBlockingMessage(oResponse);
2277
+ };
2278
+
2261
2279
  /**
2262
2280
  * @ui5-restricted sap.ui.integration
2263
2281
  * @private