@openui5/sap.ui.integration 1.96.1 → 1.97.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.
Files changed (243) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +2 -1
  3. package/package.json +3 -3
  4. package/src/sap/ui/integration/.library +2 -2
  5. package/src/sap/ui/integration/ActionDefinition.js +2 -2
  6. package/src/sap/ui/integration/Designtime.js +2 -2
  7. package/src/sap/ui/integration/Extension.js +2 -2
  8. package/src/sap/ui/integration/Host.js +38 -2
  9. package/src/sap/ui/integration/ManifestResolver.js +102 -0
  10. package/src/sap/ui/integration/bindingFeatures/DateRange.js +1 -1
  11. package/src/sap/ui/integration/cards/AdaptiveContent.js +2 -2
  12. package/src/sap/ui/integration/cards/AnalyticalContent.js +8 -9
  13. package/src/sap/ui/integration/cards/AnalyticalContentRenderer.js +1 -1
  14. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +5 -3
  15. package/src/sap/ui/integration/cards/AnalyticsCloudContentRenderer.js +1 -1
  16. package/src/sap/ui/integration/cards/BaseContent.js +51 -6
  17. package/src/sap/ui/integration/cards/BaseContentRenderer.js +2 -2
  18. package/src/sap/ui/integration/cards/BaseListContent.js +5 -3
  19. package/src/sap/ui/integration/cards/CalendarContent.js +4 -2
  20. package/src/sap/ui/integration/cards/CalendarContentRenderer.js +2 -1
  21. package/src/sap/ui/integration/cards/ComponentContent.js +3 -2
  22. package/src/sap/ui/integration/cards/ComponentContentRenderer.js +1 -1
  23. package/src/sap/ui/integration/cards/Footer.js +2 -2
  24. package/src/sap/ui/integration/cards/Header.js +2 -2
  25. package/src/sap/ui/integration/cards/ListContent.js +37 -12
  26. package/src/sap/ui/integration/cards/ListContentRenderer.js +34 -9
  27. package/src/sap/ui/integration/cards/NumericHeader.js +2 -2
  28. package/src/sap/ui/integration/cards/ObjectContent.js +146 -132
  29. package/src/sap/ui/integration/cards/TableContent.js +6 -9
  30. package/src/sap/ui/integration/cards/TableContentRenderer.js +1 -1
  31. package/src/sap/ui/integration/cards/TimelineContent.js +8 -10
  32. package/src/sap/ui/integration/cards/TimelineContentRenderer.js +1 -1
  33. package/src/sap/ui/integration/cards/WebPageContent.js +6 -2
  34. package/src/sap/ui/integration/cards/WebPageContentRenderer.js +1 -1
  35. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +2 -2
  36. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +2 -2
  37. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +2 -2
  38. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +2 -2
  39. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputTime.js +1 -1
  40. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +2 -2
  41. package/src/sap/ui/integration/cards/adaptivecards/elements/hostConfig.js +1 -1
  42. package/src/sap/ui/integration/cards/adaptivecards/overwrites/ActionRender.js +1 -1
  43. package/src/sap/ui/integration/cards/filters/BaseFilter.js +2 -2
  44. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +16 -14
  45. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +2 -2
  46. package/src/sap/ui/integration/cards/filters/SelectFilter.js +34 -4
  47. package/src/sap/ui/integration/controls/ActionsStrip.js +2 -2
  48. package/src/sap/ui/integration/controls/ActionsToolbar.js +2 -2
  49. package/src/sap/ui/integration/controls/ActionsToolbarRenderer.js +1 -1
  50. package/src/sap/ui/integration/controls/ListContentItem.js +2 -2
  51. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +1 -1
  52. package/src/sap/ui/integration/controls/Microchart.js +2 -2
  53. package/src/sap/ui/integration/controls/MicrochartLegend.js +2 -2
  54. package/src/sap/ui/integration/controls/MicrochartLegendRenderer.js +1 -1
  55. package/src/sap/ui/integration/customElements/CustomElementBase.js +1 -1
  56. package/src/sap/ui/integration/customElements/CustomElementCard.js +1 -1
  57. package/src/sap/ui/integration/customElements/CustomElementCardEditor.js +1 -1
  58. package/src/sap/ui/integration/customElements/CustomElementEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +2 -2
  60. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +2 -2
  61. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +2 -2
  62. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +15 -11
  63. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +15 -11
  64. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +15 -11
  65. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +15 -11
  66. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +15 -11
  67. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +15 -11
  68. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +15 -11
  69. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +15 -11
  70. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +15 -11
  71. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +15 -11
  72. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +15 -11
  73. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saprigi.properties +13 -19
  74. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +16 -12
  75. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +15 -11
  76. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +15 -11
  77. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +15 -11
  78. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +15 -11
  79. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +15 -11
  80. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +15 -11
  81. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +15 -11
  82. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +15 -11
  83. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +15 -11
  84. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +15 -11
  85. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +15 -11
  86. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +15 -11
  87. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +15 -11
  88. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +15 -11
  89. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +15 -11
  90. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +15 -11
  91. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +15 -11
  92. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +15 -11
  93. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +15 -11
  94. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +15 -11
  95. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +15 -11
  96. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +15 -11
  97. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +15 -11
  98. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +15 -11
  99. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +15 -11
  100. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +15 -11
  101. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +15 -11
  102. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +15 -11
  103. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +15 -11
  104. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +15 -11
  105. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +15 -11
  106. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +15 -11
  107. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +15 -11
  108. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +15 -11
  109. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +15 -11
  110. package/src/sap/ui/integration/designtime/baseEditor/layout/Form.js +1 -1
  111. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +2 -2
  112. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +2 -2
  113. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +2 -2
  114. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +2 -2
  115. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +2 -2
  116. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +2 -2
  117. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +2 -2
  118. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +2 -2
  119. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +2 -2
  120. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +2 -2
  121. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +2 -2
  122. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +2 -2
  123. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +2 -2
  124. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +2 -2
  125. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +2 -2
  126. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +2 -2
  127. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +2 -2
  128. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +2 -2
  129. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +2 -2
  130. package/src/sap/ui/integration/designtime/baseEditor/util/BaseDefaultValidatorModules.js +1 -1
  131. package/src/sap/ui/integration/designtime/baseEditor/util/StylesheetManager.js +1 -1
  132. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +2 -2
  133. package/src/sap/ui/integration/designtime/baseEditor/util/binding/resolveBinding.js +1 -1
  134. package/src/sap/ui/integration/designtime/baseEditor/util/cleanupDesigntimeMetadata.js +1 -1
  135. package/src/sap/ui/integration/designtime/baseEditor/util/createPromise.js +1 -1
  136. package/src/sap/ui/integration/designtime/baseEditor/util/escapeParameter.js +1 -1
  137. package/src/sap/ui/integration/designtime/baseEditor/util/findClosestInstance.js +1 -1
  138. package/src/sap/ui/integration/designtime/baseEditor/util/hasTag.js +1 -1
  139. package/src/sap/ui/integration/designtime/baseEditor/util/isTemplate.js +1 -1
  140. package/src/sap/ui/integration/designtime/baseEditor/util/isValidBindingString.js +1 -1
  141. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +2 -2
  142. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +2 -2
  143. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +2 -2
  144. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +2 -2
  145. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +2 -2
  146. package/src/sap/ui/integration/designtime/baseEditor/validator/IsPatternMatch.js +1 -1
  147. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +2 -2
  148. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +2 -2
  149. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +2 -2
  150. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +2 -2
  151. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +2 -2
  152. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +2 -2
  153. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +2 -2
  154. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +2 -2
  155. package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +1 -1
  156. package/src/sap/ui/integration/designtime/cardEditor/CardEditor.js +1 -1
  157. package/src/sap/ui/integration/designtime/cardEditor/PropertyEditor.js +1 -1
  158. package/src/sap/ui/integration/designtime/cardEditor/PropertyEditors.js +1 -1
  159. package/src/sap/ui/integration/designtime/cardEditor/config/AppConfig.js +1 -1
  160. package/src/sap/ui/integration/designtime/cardEditor/config/HeaderConfig.js +1 -1
  161. package/src/sap/ui/integration/designtime/cardEditor/config/ListCardConfig.js +1 -1
  162. package/src/sap/ui/integration/designtime/cardEditor/config/ObjectCardConfig.js +1 -1
  163. package/src/sap/ui/integration/designtime/cardEditor/config/TableCardConfig.js +1 -1
  164. package/src/sap/ui/integration/designtime/cardEditor/config/generateActionConfig.js +1 -1
  165. package/src/sap/ui/integration/designtime/cardEditor/config/generateDataConfig.js +1 -1
  166. package/src/sap/ui/integration/designtime/cardEditor/config/index.js +1 -1
  167. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saprigi.properties +0 -4
  168. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +2 -2
  169. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +2 -2
  170. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +2 -2
  171. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +2 -2
  172. package/src/sap/ui/integration/designtime/cardEditor/util/CommonPatterns.js +1 -1
  173. package/src/sap/ui/integration/designtime/cardEditor/validator/IsPatternMatchList.js +1 -1
  174. package/src/sap/ui/integration/designtime/editor/CardEditor.js +2 -2
  175. package/src/sap/ui/integration/designtime/editor/CardPreview.js +27 -5
  176. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +18 -1
  177. package/src/sap/ui/integration/editor/Editor.js +63 -47
  178. package/src/sap/ui/integration/editor/EditorResourceBundles.js +2 -2
  179. package/src/sap/ui/integration/editor/Extension.js +2 -2
  180. package/src/sap/ui/integration/editor/Manifest.js +2 -2
  181. package/src/sap/ui/integration/editor/Merger.js +1 -1
  182. package/src/sap/ui/integration/editor/Settings.js +2 -2
  183. package/src/sap/ui/integration/editor/css/Editor.css +0 -3
  184. package/src/sap/ui/integration/editor/fields/BaseField.js +9 -3
  185. package/src/sap/ui/integration/editor/fields/BooleanField.js +4 -2
  186. package/src/sap/ui/integration/editor/fields/DateField.js +2 -2
  187. package/src/sap/ui/integration/editor/fields/DateTimeField.js +2 -2
  188. package/src/sap/ui/integration/editor/fields/DestinationField.js +2 -21
  189. package/src/sap/ui/integration/editor/fields/IntegerField.js +5 -2
  190. package/src/sap/ui/integration/editor/fields/ListField.js +252 -67
  191. package/src/sap/ui/integration/editor/fields/NumberField.js +2 -2
  192. package/src/sap/ui/integration/editor/fields/StringField.js +3 -16
  193. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +2 -2
  194. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +2 -2
  195. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +2 -2
  196. package/src/sap/ui/integration/formatters/DateTimeFormatter.js +1 -1
  197. package/src/sap/ui/integration/formatters/IconFormatter.js +1 -1
  198. package/src/sap/ui/integration/formatters/NumberFormatter.js +1 -1
  199. package/src/sap/ui/integration/formatters/TextFormatter.js +1 -1
  200. package/src/sap/ui/integration/library-bootstrap.js +1 -1
  201. package/src/sap/ui/integration/library.js +3 -3
  202. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +55 -81
  203. package/src/sap/ui/integration/model/ContextModel.js +2 -2
  204. package/src/sap/ui/integration/model/ObservableModel.js +2 -2
  205. package/src/sap/ui/integration/sap-ui-integration-config.js +1 -1
  206. package/src/sap/ui/integration/sap-ui-integration-define-nojQuery.js +1 -1
  207. package/src/sap/ui/integration/schemas/sap-card.json +29 -4
  208. package/src/sap/ui/integration/services/Data.js +1 -1
  209. package/src/sap/ui/integration/services/Navigation.js +1 -1
  210. package/src/sap/ui/integration/services/Service.js +1 -1
  211. package/src/sap/ui/integration/themes/base/CalendarContent.less +31 -4
  212. package/src/sap/ui/integration/themes/base/ListContentItem.less +66 -28
  213. package/src/sap/ui/integration/themes/base/library.source.less +1 -1
  214. package/src/sap/ui/integration/themes/sap_hcb/library.source.less +1 -1
  215. package/src/sap/ui/integration/util/BaseFactory.js +2 -2
  216. package/src/sap/ui/integration/util/BindingHelper.js +3 -3
  217. package/src/sap/ui/integration/util/BindingResolver.js +2 -2
  218. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +1 -1
  219. package/src/sap/ui/integration/util/CardActions.js +2 -2
  220. package/src/sap/ui/integration/util/CardMerger.js +1 -1
  221. package/src/sap/ui/integration/util/CardObserver.js +2 -2
  222. package/src/sap/ui/integration/util/ContentFactory.js +4 -8
  223. package/src/sap/ui/integration/util/CsrfTokenHandler.js +312 -0
  224. package/src/sap/ui/integration/util/DataProvider.js +11 -2
  225. package/src/sap/ui/integration/util/DataProviderFactory.js +49 -12
  226. package/src/sap/ui/integration/util/Destinations.js +2 -2
  227. package/src/sap/ui/integration/util/ExtensionDataProvider.js +2 -2
  228. package/src/sap/ui/integration/util/HeaderFactory.js +2 -2
  229. package/src/sap/ui/integration/util/JSONBindingHelper.js +3 -3
  230. package/src/sap/ui/integration/util/LoadingProvider.js +2 -2
  231. package/src/sap/ui/integration/util/Manifest.js +3 -3
  232. package/src/sap/ui/integration/util/ParameterMap.js +1 -1
  233. package/src/sap/ui/integration/util/RequestDataProvider.js +87 -49
  234. package/src/sap/ui/integration/util/ServiceDataProvider.js +2 -2
  235. package/src/sap/ui/integration/util/ServiceManager.js +2 -2
  236. package/src/sap/ui/integration/util/Utils.js +42 -2
  237. package/src/sap/ui/integration/util/loadCardEditor.js +1 -1
  238. package/src/sap/ui/integration/widgets/Card.js +18 -4
  239. package/src/sap/ui/integration/widgets/CardRenderer.js +1 -1
  240. package/src/sap-ui-integration-card-editor.js +1 -1
  241. package/src/sap-ui-integration-editor.js +1 -1
  242. package/src/sap-ui-integration.js +1 -1
  243. package/ui5.yaml +286 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  MANIFEST_FILTERS = "/{SECTION}/configuration/filters",
30
30
  MANIFEST_CONFIGURATION = "/{SECTION}",
31
31
  APP_DATA_SOURCES = "/sap.app/dataSources",
32
- REGEXP_TRANSLATABLE = /\{\{(?!parameters.)(?!destinations.)([^\}\}]+)\}\}|\{i18n>([^\}]+)\}/g;
32
+ REGEXP_TRANSLATABLE = /\{\{(?!parameters.)(?!destinations.)(?!csrfTokens.)([^\}\}]+)\}\}|\{i18n>([^\}]+)\}/g;
33
33
 
34
34
  /**
35
35
  * Creates a new Manifest object.
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.base.Object
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.96.1
63
+ * @version 1.97.1
64
64
  *
65
65
  * @constructor
66
66
  * @private
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  var RETRY_STATUS_CODES = [429, 503];
19
19
 
20
20
  var aModes = ["no-cors", "same-origin", "cors"];
21
- var aMethods = ["GET", "POST"];
21
+ var aMethods = ["GET", "POST", "HEAD"];
22
22
 
23
23
  /**
24
24
  * Constructor for a new <code>RequestDataProvider</code>.
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.integration.util.DataProvider
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.96.1
34
+ * @version 1.97.1
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -63,6 +63,10 @@ sap.ui.define([
63
63
  DataProvider.prototype.destroy.apply(this, arguments);
64
64
  };
65
65
 
66
+ RequestDataProvider.prototype.getLastJQXHR = function () {
67
+ return this._lastJQXHR;
68
+ };
69
+
66
70
  /**
67
71
  * @override
68
72
  * @private
@@ -70,35 +74,39 @@ sap.ui.define([
70
74
  * @returns {Promise} A promise resolved when the data is available and rejected in case of an error.
71
75
  */
72
76
  RequestDataProvider.prototype.getData = function () {
73
- var oRequestConfig = this.getSettings().request;
77
+ var oRequestConfig = this.getSettings().request,
78
+ pRequestChain = Promise.resolve(oRequestConfig);
74
79
 
75
80
  if (this._oDestinations) {
76
- return this._oDestinations.process(oRequestConfig)
77
- .then(this._fetch.bind(this));
81
+ pRequestChain = this._oDestinations.process(oRequestConfig);
78
82
  }
79
83
 
80
- return this._fetch(oRequestConfig);
81
- };
84
+ if (this._oCsrfTokenHandler) {
85
+ pRequestChain = pRequestChain.then(function (oRequest) {
86
+ return this._oCsrfTokenHandler.resolveToken(oRequest);
87
+ }.bind(this));
88
+ }
82
89
 
83
- RequestDataProvider.prototype._isValidRequest = function (oRequest) {
90
+ pRequestChain = pRequestChain.then(this._fetch.bind(this));
84
91
 
85
- if (!oRequest) {
86
- return false;
92
+ if (this._oCsrfTokenHandler) {
93
+ pRequestChain = pRequestChain.catch(this._handleExpiredToken.bind(this));
87
94
  }
88
95
 
89
- if (aModes.indexOf(oRequest.mode) === -1) {
90
- return false;
91
- }
96
+ return pRequestChain;
97
+ };
92
98
 
93
- if (aMethods.indexOf(oRequest.method) === -1) {
94
- return false;
95
- }
99
+ RequestDataProvider.prototype._handleExpiredToken = function (oError) {
100
+ if (this._oCsrfTokenHandler.isExpiredToken(this.getLastJQXHR())) {
101
+ // csrf token has expired, reset the token and retry this whole request
102
+ this._oCsrfTokenHandler.resetTokenByRequest(this.getSettings().request);
96
103
 
97
- if (typeof oRequest.url !== "string") {
98
- return false;
104
+ return this.getData().catch(function (oError) {
105
+ throw oError;
106
+ });
99
107
  }
100
108
 
101
- return true;
109
+ throw oError;
102
110
  };
103
111
 
104
112
  RequestDataProvider.prototype._fetch = function (oRequestConfig) {
@@ -153,6 +161,10 @@ sap.ui.define([
153
161
  }
154
162
  };
155
163
 
164
+ if (!vData) {
165
+ delete oRequest.data;
166
+ }
167
+
156
168
  if (!this._isValidRequest(oRequest)) {
157
169
  Log.error(sMessage);
158
170
  return Promise.reject(sMessage);
@@ -160,11 +172,10 @@ sap.ui.define([
160
172
 
161
173
  return this._request(oRequest)
162
174
  .then(function (vResult) {
163
- var vData = vResult[0],
164
- jqXHR = vResult[1];
175
+ var vData = vResult[0];
165
176
 
166
177
  if (mBatchRequests) {
167
- return this._deserializeBatchResponse(mBatchRequests, vData, jqXHR);
178
+ return this._deserializeBatchResponse(mBatchRequests, vData);
168
179
  }
169
180
 
170
181
  return vData;
@@ -179,28 +190,35 @@ sap.ui.define([
179
190
  */
180
191
  RequestDataProvider.prototype._request = function (oRequest, bNoRetry) {
181
192
  return new Promise(function (resolve, reject) {
182
- jQuery.ajax(oRequest).done(function (vData, sTextStatus, jqXHR) {
183
- if (this.bIsDestroyed) {
184
- reject("RequestDataProvider is already destroyed before the response is received.");
185
- return;
186
- }
187
-
188
- resolve([vData, jqXHR]);
189
- }).fail(function (jqXHR, sTextStatus, sError) {
190
- var aError = [sError, jqXHR];
191
-
192
- if (this.bIsDestroyed) {
193
- reject("RequestDataProvider is already destroyed while error in the response occurred.");
194
- return;
195
- }
196
-
197
- if (bNoRetry) {
198
- reject(aError);
199
- return;
200
- }
201
-
202
- this._retryRequest(aError, oRequest).then(resolve, reject);
203
- }.bind(this));
193
+ jQuery.ajax(oRequest).done(
194
+ function (vData, sTextStatus, jqXHR) {
195
+ if (this.bIsDestroyed) {
196
+ reject("RequestDataProvider is already destroyed before the response is received.");
197
+ return;
198
+ }
199
+
200
+ this._lastJQXHR = jqXHR;
201
+
202
+ resolve([vData, jqXHR]);
203
+ }.bind(this)
204
+ ).fail(
205
+ function (jqXHR, sTextStatus, sError) {
206
+ var aError = [sError, jqXHR];
207
+
208
+ if (this.bIsDestroyed) {
209
+ reject("RequestDataProvider is already destroyed while error in the response occurred.");
210
+ return;
211
+ }
212
+
213
+ this._lastJQXHR = jqXHR;
214
+
215
+ if (bNoRetry) {
216
+ reject(aError);
217
+ return;
218
+ }
219
+
220
+ this._retryRequest(aError, oRequest).then(resolve, reject);
221
+ }.bind(this));
204
222
  }.bind(this));
205
223
  };
206
224
 
@@ -286,17 +304,37 @@ sap.ui.define([
286
304
  return false;
287
305
  };
288
306
 
307
+ RequestDataProvider.prototype._isValidRequest = function (oRequest) {
308
+
309
+ if (!oRequest) {
310
+ return false;
311
+ }
312
+
313
+ if (aModes.indexOf(oRequest.mode) === -1) {
314
+ return false;
315
+ }
316
+
317
+ if (aMethods.indexOf(oRequest.method) === -1) {
318
+ return false;
319
+ }
320
+
321
+ if (typeof oRequest.url !== "string") {
322
+ return false;
323
+ }
324
+
325
+ return true;
326
+ };
327
+
289
328
  /**
290
329
  * Deserializes the result of a batch (multipart/mixed) request.
291
330
  * @private
292
331
  * @param {map} mBatchRequests The requests which were send in batch. Order in the response must match.
293
332
  * @param {Object} sResponseBody The response to be deserialized.
294
- * @param {jqXHR} jqXHR The jQuery XHR which goes with the response.
295
333
  * @returns {Object} The deserialized response. Each object in the result will have a key matching the one in the request.
296
334
  */
297
- RequestDataProvider.prototype._deserializeBatchResponse = function (mBatchRequests, sResponseBody, jqXHR) {
335
+ RequestDataProvider.prototype._deserializeBatchResponse = function (mBatchRequests, sResponseBody) {
298
336
  return new Promise(function(resolve, reject) {
299
- var sContentType = jqXHR.getResponseHeader("Content-Type"),
337
+ var sContentType = this.getLastJQXHR().getResponseHeader("Content-Type"),
300
338
  aBatchResponses = ODataUtils.deserializeBatchResponse(sContentType, sResponseBody, false),
301
339
  aKeys = Object.keys(mBatchRequests),
302
340
  mResult = {};
@@ -321,7 +359,7 @@ sap.ui.define([
321
359
  });
322
360
 
323
361
  resolve(mResult);
324
- });
362
+ }.bind(this));
325
363
  };
326
364
 
327
365
  /**
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider) {
@@ -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.96.1
20
+ * @version 1.97.1
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.base.EventProvider
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.96.1
40
+ * @version 1.97.1
41
41
  *
42
42
  * @constructor
43
43
  * @param {Object} mServiceFactoryReferences A map with service descriptions.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * Utility class helping with JSON strings and formatters.
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.96.1
20
+ * @version 1.97.1
21
21
  *
22
22
  * @private
23
23
  * @alias sap.ui.integration.util.Utils
@@ -132,5 +132,45 @@ sap.ui.define([
132
132
  return typeof sString == "string" && ["null", "false", "undefined", ""].indexOf(sString.trim()) > -1;
133
133
  };
134
134
 
135
+ Utils.setNestedPropertyValue = function (oObject, sPath, vValue) {
136
+ var aPaths = sPath.substring(1).split("/"),
137
+ sPathSegment;
138
+
139
+ for (var i = 0; i < aPaths.length - 1; i++) {
140
+ sPathSegment = aPaths[i];
141
+
142
+ // Prevent access to native properties
143
+ oObject = oObject.hasOwnProperty(sPathSegment) ? oObject[sPathSegment] : undefined;
144
+
145
+ // Only continue with lookup if the value is an object.
146
+ // Accessing properties of other types is not allowed!
147
+ if (oObject === null || typeof oObject !== "object") {
148
+ break;
149
+ }
150
+ }
151
+
152
+ oObject[aPaths[aPaths.length - 1]] = vValue;
153
+ };
154
+
155
+ Utils.getNestedPropertyValue = function (oObject, sPath) {
156
+ var aPaths = sPath.substring(1).split("/"),
157
+ sPathSegment;
158
+
159
+ for (var i = 0; i < aPaths.length; i++) {
160
+ sPathSegment = aPaths[i];
161
+
162
+ // Prevent access to native properties
163
+ oObject = oObject.hasOwnProperty(sPathSegment) ? oObject[sPathSegment] : undefined;
164
+
165
+ // Only continue with lookup if the value is an object.
166
+ // Accessing properties of other types is not allowed!
167
+ if (oObject === null || typeof oObject !== "object") {
168
+ break;
169
+ }
170
+ }
171
+
172
+ return oObject;
173
+ };
174
+
135
175
  return Utils;
136
176
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(function () {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -83,6 +83,7 @@ sap.ui.define([
83
83
  APP_TYPE: "/sap.app/type",
84
84
  PARAMS: "/sap.card/configuration/parameters",
85
85
  DESTINATIONS: "/sap.card/configuration/destinations",
86
+ CSRF_TOKENS: "/sap.card/configuration/csrfTokens",
86
87
  FILTERS: "/sap.card/configuration/filters"
87
88
  };
88
89
 
@@ -158,7 +159,7 @@ sap.ui.define([
158
159
  * @extends sap.f.CardBase
159
160
  *
160
161
  * @author SAP SE
161
- * @version 1.96.1
162
+ * @version 1.97.1
162
163
  * @public
163
164
  * @constructor
164
165
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -409,6 +410,7 @@ sap.ui.define([
409
410
  this.setModel(new JSONModel()); // always create a default model to isolate the card from a propagated default model
410
411
  this.setModel(new JSONModel(), "parameters");
411
412
  this.setModel(new JSONModel(), "filters");
413
+ // this.setModel(new JSONModel(), "csrfTokens");
412
414
  this.setModel(new ContextModel(), "context");
413
415
  this._oContentFactory = new ContentFactory(this);
414
416
  this._oCardObserver = new CardObserver(this);
@@ -424,7 +426,7 @@ sap.ui.define([
424
426
  * @experimental since 1.79
425
427
  * @public
426
428
  * @author SAP SE
427
- * @version 1.96.1
429
+ * @version 1.97.1
428
430
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
429
431
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
430
432
  * @borrows sap.ui.integration.widgets.Card#getParameters as getParameters
@@ -621,6 +623,10 @@ sap.ui.define([
621
623
  this._oDestinations.setHost(oHostInstance);
622
624
  }
623
625
 
626
+ if (this._oDataProviderFactory) {
627
+ this._oDataProviderFactory.setHost(oHostInstance);
628
+ }
629
+
624
630
  if (oHostInstance && oHostInstance.bUseExperimentalCaching) {
625
631
  this.addStyleClass("sapFCardExperimentalCaching");
626
632
  } else {
@@ -979,6 +985,7 @@ sap.ui.define([
979
985
  this._oTemporaryContent.destroy();
980
986
  this._oTemporaryContent = null;
981
987
  }
988
+
982
989
  if (this._oDestinations) {
983
990
  this._oDestinations.destroy();
984
991
  this._oDestinations = null;
@@ -1003,6 +1010,7 @@ sap.ui.define([
1003
1010
 
1004
1011
  this.getModel("filters").setData({});
1005
1012
  this.getModel("parameters").setData({});
1013
+ // this.getModel("csrfTokens").setData({});
1006
1014
 
1007
1015
  this._oContextParameters = null;
1008
1016
 
@@ -1264,7 +1272,13 @@ sap.ui.define([
1264
1272
  card: this
1265
1273
  });
1266
1274
 
1267
- this._oDataProviderFactory = new DataProviderFactory(this._oDestinations, oExtension, this);
1275
+ this._oDataProviderFactory = new DataProviderFactory({
1276
+ host: this.getHostInstance(),
1277
+ destinations: this._oDestinations,
1278
+ extension: oExtension,
1279
+ csrfTokensConfig: this._oCardManifest.get(MANIFEST_PATHS.CSRF_TOKENS),
1280
+ card: this
1281
+ });
1268
1282
 
1269
1283
  this._registerCustomModels();
1270
1284
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6