@openui5/sap.ui.integration 1.103.1 → 1.106.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 (308) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +35 -15
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +64 -21
  5. package/package.json +3 -3
  6. package/src/sap/ui/integration/.library +7 -7
  7. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  8. package/src/sap/ui/integration/Designtime.js +1 -1
  9. package/src/sap/ui/integration/Extension.js +1 -1
  10. package/src/sap/ui/integration/Host.js +11 -5
  11. package/src/sap/ui/integration/cards/AdaptiveContent.js +3 -4
  12. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  13. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +2 -2
  14. package/src/sap/ui/integration/cards/BaseContent.js +22 -10
  15. package/src/sap/ui/integration/cards/BaseContentRenderer.js +1 -1
  16. package/src/sap/ui/integration/cards/BaseListContent.js +1 -5
  17. package/src/sap/ui/integration/cards/CalendarContent.js +1 -1
  18. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  19. package/src/sap/ui/integration/cards/Footer.js +1 -1
  20. package/src/sap/ui/integration/cards/Header.js +43 -10
  21. package/src/sap/ui/integration/cards/ListContent.js +8 -3
  22. package/src/sap/ui/integration/cards/NumericHeader.js +14 -3
  23. package/src/sap/ui/integration/cards/ObjectContent.js +214 -14
  24. package/src/sap/ui/integration/cards/TableContent.js +73 -1
  25. package/src/sap/ui/integration/cards/TableContentRenderer.js +11 -1
  26. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  27. package/src/sap/ui/integration/cards/TimelineContentRenderer.js +9 -2
  28. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  29. package/src/sap/ui/integration/cards/actions/CardActions.js +24 -12
  30. package/src/sap/ui/integration/cards/actions/SubmitAction.js +43 -24
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  32. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  33. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  34. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  35. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputTime.js +0 -2
  36. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  37. package/src/sap/ui/integration/cards/filters/BaseFilter.js +17 -2
  38. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +7 -4
  39. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  40. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  41. package/src/sap/ui/integration/cards/filters/SearchFilter.js +2 -2
  42. package/src/sap/ui/integration/cards/filters/SelectFilter.js +4 -9
  43. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  44. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  45. package/src/sap/ui/integration/controls/LinkWithIcon.js +1 -1
  46. package/src/sap/ui/integration/controls/ListContentItem.js +7 -1
  47. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +2 -2
  48. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  49. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  50. package/src/sap/ui/integration/controls/Paginator.js +1 -1
  51. package/src/sap/ui/integration/customElements/CustomElementBase.js +0 -2
  52. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +3 -5
  54. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n.properties +12 -0
  56. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +8 -0
  57. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +8 -0
  58. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +8 -0
  59. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +8 -0
  60. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +8 -0
  61. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +8 -0
  62. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +8 -0
  63. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +8 -0
  64. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +8 -0
  65. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +8 -0
  66. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +8 -0
  67. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saprigi.properties +8 -0
  68. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +8 -0
  69. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +8 -0
  70. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +8 -0
  71. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +8 -0
  72. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +8 -0
  73. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +8 -0
  74. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +8 -0
  75. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +8 -0
  76. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +8 -0
  77. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +8 -0
  78. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +8 -0
  79. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +8 -0
  80. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +8 -0
  81. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +8 -0
  82. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +8 -0
  83. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +8 -0
  84. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +8 -0
  85. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +8 -0
  86. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +8 -0
  87. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +8 -0
  88. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +8 -0
  89. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +8 -0
  90. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +8 -0
  91. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +8 -0
  92. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +8 -0
  93. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +8 -0
  94. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +8 -0
  95. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +8 -0
  96. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +8 -0
  97. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +8 -0
  98. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +8 -0
  99. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +8 -0
  100. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +8 -0
  101. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +8 -0
  102. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +8 -0
  103. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +8 -0
  104. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  105. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  106. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  107. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +3 -5
  108. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.fragment.xml +13 -0
  109. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +211 -0
  110. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditorDialog.fragment.xml +48 -0
  111. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  112. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  113. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +3 -5
  114. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +3 -5
  115. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -3
  116. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  117. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  118. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  119. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  120. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  121. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +3 -5
  122. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  123. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +15 -17
  124. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +3 -5
  125. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +3 -5
  126. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  127. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  128. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  129. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  130. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  131. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  132. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  133. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  134. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  135. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  136. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  137. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  138. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  139. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  140. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  141. package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +1 -1
  142. package/src/sap/ui/integration/designtime/cardEditor/config/FooterConfig.js +22 -0
  143. package/src/sap/ui/integration/designtime/cardEditor/config/generateActionConfig.js +8 -1
  144. package/src/sap/ui/integration/designtime/cardEditor/config/generateFooterActionsStripConfig.js +179 -0
  145. package/src/sap/ui/integration/designtime/cardEditor/config/index.js +19 -5
  146. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n.properties +42 -0
  147. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ar.properties +28 -0
  148. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_bg.properties +28 -0
  149. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ca.properties +28 -0
  150. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cs.properties +28 -0
  151. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cy.properties +28 -0
  152. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_da.properties +28 -0
  153. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_de.properties +28 -0
  154. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_el.properties +28 -0
  155. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en.properties +28 -0
  156. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_GB.properties +28 -0
  157. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_sappsd.properties +28 -0
  158. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saprigi.properties +28 -0
  159. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saptrc.properties +28 -0
  160. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es.properties +28 -0
  161. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es_MX.properties +28 -0
  162. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_et.properties +28 -0
  163. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fi.properties +28 -0
  164. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr.properties +28 -0
  165. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr_CA.properties +28 -0
  166. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hi.properties +28 -0
  167. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hr.properties +28 -0
  168. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hu.properties +28 -0
  169. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_id.properties +28 -0
  170. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_it.properties +28 -0
  171. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_iw.properties +28 -0
  172. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ja.properties +28 -0
  173. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_kk.properties +28 -0
  174. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ko.properties +28 -0
  175. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lt.properties +28 -0
  176. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lv.properties +28 -0
  177. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ms.properties +28 -0
  178. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_nl.properties +28 -0
  179. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_no.properties +28 -0
  180. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pl.properties +28 -0
  181. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt.properties +28 -0
  182. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt_PT.properties +29 -1
  183. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ro.properties +28 -0
  184. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ru.properties +28 -0
  185. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sh.properties +28 -0
  186. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sk.properties +28 -0
  187. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sl.properties +28 -0
  188. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sv.properties +28 -0
  189. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_th.properties +28 -0
  190. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_tr.properties +28 -0
  191. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +28 -0
  192. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_vi.properties +28 -0
  193. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_CN.properties +28 -0
  194. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_TW.properties +29 -1
  195. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +10 -1
  196. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  197. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +11 -3
  198. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  199. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +10 -9
  200. package/src/sap/ui/integration/designtime/editor/CardEditor.js +8 -5
  201. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  202. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +2 -0
  203. package/src/sap/ui/integration/editor/Editor.js +61 -35
  204. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  205. package/src/sap/ui/integration/editor/Extension.js +11 -25
  206. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  207. package/src/sap/ui/integration/editor/Merger.js +2 -4
  208. package/src/sap/ui/integration/editor/Settings.js +50 -45
  209. package/src/sap/ui/integration/editor/fields/BaseField.js +64 -141
  210. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  211. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  212. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  213. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -2
  214. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  215. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  216. package/src/sap/ui/integration/editor/fields/ObjectField.js +122 -45
  217. package/src/sap/ui/integration/editor/fields/ObjectListField.js +37 -11
  218. package/src/sap/ui/integration/editor/fields/StringField.js +2 -2
  219. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  220. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +43 -0
  221. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +26 -39
  222. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +54 -71
  223. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +21 -38
  224. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +91 -0
  225. package/src/sap/ui/integration/formatters/IconFormatter.js +0 -12
  226. package/src/sap/ui/integration/library.js +12 -4
  227. package/src/sap/ui/integration/messagebundle.properties +17 -2
  228. package/src/sap/ui/integration/messagebundle_ar.properties +4 -0
  229. package/src/sap/ui/integration/messagebundle_bg.properties +4 -0
  230. package/src/sap/ui/integration/messagebundle_ca.properties +4 -0
  231. package/src/sap/ui/integration/messagebundle_cs.properties +4 -0
  232. package/src/sap/ui/integration/messagebundle_cy.properties +4 -0
  233. package/src/sap/ui/integration/messagebundle_da.properties +4 -0
  234. package/src/sap/ui/integration/messagebundle_de.properties +4 -0
  235. package/src/sap/ui/integration/messagebundle_el.properties +6 -2
  236. package/src/sap/ui/integration/messagebundle_en.properties +6 -2
  237. package/src/sap/ui/integration/messagebundle_en_GB.properties +6 -2
  238. package/src/sap/ui/integration/messagebundle_en_US_sappsd.properties +12 -2
  239. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +12 -2
  240. package/src/sap/ui/integration/messagebundle_en_US_saptrc.properties +6 -2
  241. package/src/sap/ui/integration/messagebundle_es.properties +5 -1
  242. package/src/sap/ui/integration/messagebundle_es_MX.properties +4 -0
  243. package/src/sap/ui/integration/messagebundle_et.properties +4 -0
  244. package/src/sap/ui/integration/messagebundle_fi.properties +4 -0
  245. package/src/sap/ui/integration/messagebundle_fr.properties +4 -0
  246. package/src/sap/ui/integration/messagebundle_fr_CA.properties +4 -0
  247. package/src/sap/ui/integration/messagebundle_hi.properties +4 -0
  248. package/src/sap/ui/integration/messagebundle_hr.properties +4 -0
  249. package/src/sap/ui/integration/messagebundle_hu.properties +5 -1
  250. package/src/sap/ui/integration/messagebundle_id.properties +6 -2
  251. package/src/sap/ui/integration/messagebundle_it.properties +4 -0
  252. package/src/sap/ui/integration/messagebundle_iw.properties +4 -0
  253. package/src/sap/ui/integration/messagebundle_ja.properties +4 -0
  254. package/src/sap/ui/integration/messagebundle_kk.properties +4 -0
  255. package/src/sap/ui/integration/messagebundle_ko.properties +4 -0
  256. package/src/sap/ui/integration/messagebundle_lt.properties +4 -0
  257. package/src/sap/ui/integration/messagebundle_lv.properties +4 -0
  258. package/src/sap/ui/integration/messagebundle_ms.properties +6 -2
  259. package/src/sap/ui/integration/messagebundle_nl.properties +4 -0
  260. package/src/sap/ui/integration/messagebundle_no.properties +4 -0
  261. package/src/sap/ui/integration/messagebundle_pl.properties +5 -1
  262. package/src/sap/ui/integration/messagebundle_pt.properties +4 -0
  263. package/src/sap/ui/integration/messagebundle_pt_PT.properties +4 -0
  264. package/src/sap/ui/integration/messagebundle_ro.properties +4 -0
  265. package/src/sap/ui/integration/messagebundle_ru.properties +6 -2
  266. package/src/sap/ui/integration/messagebundle_sh.properties +4 -0
  267. package/src/sap/ui/integration/messagebundle_sk.properties +4 -0
  268. package/src/sap/ui/integration/messagebundle_sl.properties +4 -0
  269. package/src/sap/ui/integration/messagebundle_sv.properties +4 -0
  270. package/src/sap/ui/integration/messagebundle_th.properties +5 -1
  271. package/src/sap/ui/integration/messagebundle_tr.properties +4 -0
  272. package/src/sap/ui/integration/messagebundle_uk.properties +4 -0
  273. package/src/sap/ui/integration/messagebundle_vi.properties +4 -0
  274. package/src/sap/ui/integration/messagebundle_zh_CN.properties +4 -0
  275. package/src/sap/ui/integration/messagebundle_zh_TW.properties +4 -0
  276. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  277. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  278. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  279. package/src/sap/ui/integration/schemas/sap-card.json +178 -1
  280. package/src/sap/ui/integration/themes/base/Card.less +5 -2
  281. package/src/sap/ui/integration/themes/base/ObjectContent.less +8 -0
  282. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  283. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  284. package/src/sap/ui/integration/util/BindingResolver.js +6 -5
  285. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +4 -2
  286. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  287. package/src/sap/ui/integration/util/ContentFactory.js +1 -2
  288. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  289. package/src/sap/ui/integration/util/DataProvider.js +54 -27
  290. package/src/sap/ui/integration/util/DataProviderFactory.js +45 -39
  291. package/src/sap/ui/integration/util/Destinations.js +49 -19
  292. package/src/sap/ui/integration/util/ExtensionDataProvider.js +8 -1
  293. package/src/sap/ui/integration/util/Forms.js +167 -0
  294. package/src/sap/ui/integration/util/HeaderFactory.js +9 -45
  295. package/src/sap/ui/integration/util/JSONBindingHelper.js +2 -2
  296. package/src/sap/ui/integration/util/LoadingProvider.js +39 -3
  297. package/src/sap/ui/integration/util/Manifest.js +11 -6
  298. package/src/sap/ui/integration/util/ManifestResolver.js +40 -31
  299. package/src/sap/ui/integration/util/ParameterMap.js +14 -0
  300. package/src/sap/ui/integration/util/RequestDataProvider.js +11 -14
  301. package/src/sap/ui/integration/util/ServiceDataProvider.js +4 -4
  302. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  303. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  304. package/src/sap/ui/integration/util/Utils.js +42 -1
  305. package/src/sap/ui/integration/util/Validators.js +125 -0
  306. package/src/sap/ui/integration/widgets/Card.js +213 -88
  307. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.fragment.xml +0 -14
  308. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +0 -128
@@ -38,6 +38,8 @@ sap.ui.define([
38
38
  "sap/m/IllustratedMessageType",
39
39
  "sap/m/IllustratedMessageSize",
40
40
  "sap/ui/integration/util/Utils",
41
+ "sap/ui/integration/util/ParameterMap",
42
+ "sap/ui/performance/Measurement",
41
43
  "sap/m/HBox",
42
44
  "sap/m/library"
43
45
  ], function (
@@ -75,6 +77,8 @@ sap.ui.define([
75
77
  IllustratedMessageType,
76
78
  IllustratedMessageSize,
77
79
  Utils,
80
+ ParameterMap,
81
+ Measurement,
78
82
  HBox,
79
83
  mLibrary
80
84
  ) {
@@ -99,7 +103,7 @@ sap.ui.define([
99
103
  /**
100
104
  * @const A list of model names which are used internally by the card.
101
105
  */
102
- var RESERVED_MODEL_NAMES = ["parameters", "filters", "paginator", "form", "context", "i18n"];
106
+ var INTERNAL_MODEL_NAMES = ["parameters", "filters", "paginator", "form", "messages", "context", "i18n"];
103
107
 
104
108
  var RESERVED_PARAMETER_NAMES = ["visibleItems", "allItems"];
105
109
 
@@ -119,6 +123,13 @@ sap.ui.define([
119
123
 
120
124
  var MODULE_PREFIX = "module:";
121
125
 
126
+ function measurementStartTime() {
127
+ if (performance && performance.now) {
128
+ return "Start since page load: " + performance.now();
129
+ }
130
+
131
+ return "";
132
+ }
122
133
 
123
134
  /**
124
135
  * Constructor for a new <code>Card</code>.
@@ -177,7 +188,7 @@ sap.ui.define([
177
188
  * @extends sap.f.CardBase
178
189
  *
179
190
  * @author SAP SE
180
- * @version 1.103.1
191
+ * @version 1.106.0
181
192
  * @public
182
193
  * @constructor
183
194
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -190,6 +201,16 @@ sap.ui.define([
190
201
  library: "sap.ui.integration",
191
202
  properties: {
192
203
 
204
+ /**
205
+ * Optional property which can be used by the host to reference the card.
206
+ * It will be forwarded to any children cards.
207
+ * Does not affect the card behavior.
208
+ */
209
+ referenceId : {
210
+ type: "string",
211
+ defaultValue: ""
212
+ },
213
+
193
214
  /**
194
215
  * The URL of the manifest or an object.
195
216
  */
@@ -235,13 +256,32 @@ sap.ui.define([
235
256
  *
236
257
  * This can be a list of flexibility changes generated during designtime.
237
258
  *
238
- * Each level of changes is an item in the list. The change has property "content" which contains the configuration, which will be merged on top of the original <code>sap.card</code> section.
259
+ * Each item in the array represents a separate level of changes. For example, the first item might be created by an administrator, the second by a page administrator and the third by the end user.
260
+ *
261
+ * The order of the items is the order in which the changes will be merged on top of each other. So the last item will overwrite the previous items where the paths match.
239
262
  *
240
263
  * Example:
241
264
  * <pre>
242
265
  * [
243
- * {"content": {"header": {"title": "My title"}}},
244
- * {"content": {"header": {"title": "My new title"}}}
266
+ * {
267
+ * // Administrator
268
+ * "/sap.card/header/title": "My Configured Title in Default Language",
269
+ * "/sap.card/content/maxItems": 10,
270
+ * "texts": {
271
+ * "en-US": {
272
+ * "/sap.card/header/title": "My Configured Title in US-English"
273
+ * }
274
+ * }
275
+ * },
276
+ * {
277
+ * // Page administrator
278
+ * "/sap.card/content/maxItems": 5
279
+ * },
280
+ * {
281
+ * // End user
282
+ * "/sap.card/header/title": "Title by End User",
283
+ * "/sap.card/content/maxItems": 8
284
+ * }
245
285
  * ]
246
286
  * </pre>
247
287
  *
@@ -428,21 +468,23 @@ sap.ui.define([
428
468
  * @private
429
469
  */
430
470
  Card.prototype.init = function () {
431
-
432
471
  CardBase.prototype.init.call(this);
433
472
 
434
473
  this.setAggregation("_loadingProvider", new LoadingProvider());
435
474
 
475
+ this._oIntegrationRb = Core.getLibraryResourceBundle("sap.ui.integration");
476
+
436
477
  this._initModels();
437
478
 
438
479
  this._oContentFactory = new ContentFactory(this);
439
480
  this._oCardObserver = new CardObserver(this);
440
481
  this._bFirstRendering = true;
441
482
  this._aFundamentalErrors = [];
483
+ this._sPerformanceId = "UI5 Integration Cards - " + this.getId() + "---";
484
+ this._fnOnDataReady = function () {
485
+ this._bDataReady = true;
486
+ }.bind(this);
442
487
 
443
- if (this.getProperty("dataMode") === CardDataMode.Auto) {
444
- this._oCardObserver.createObserver(this);
445
- }
446
488
  /**
447
489
  * Facade of the {@link sap.ui.integration.widgets.Card} control.
448
490
  * @interface
@@ -450,7 +492,7 @@ sap.ui.define([
450
492
  * @experimental since 1.79
451
493
  * @public
452
494
  * @author SAP SE
453
- * @version 1.103.1
495
+ * @version 1.106.0
454
496
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
455
497
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
456
498
  * @borrows sap.ui.integration.widgets.Card#getParameters as getParameters
@@ -477,6 +519,7 @@ sap.ui.define([
477
519
  * @borrows sap.ui.integration.widgets.Card#showCard as showCard
478
520
  * @borrows sap.ui.integration.widgets.Card#hide as hide
479
521
  * @borrows sap.ui.integration.widgets.Card#getOpener as getOpener
522
+ * @borrows sap.ui.integration.widgets.Card#validateControls as validateControls
480
523
  */
481
524
  this._oLimitedInterface = new Interface(this, [
482
525
  "getDomRef",
@@ -504,7 +547,8 @@ sap.ui.define([
504
547
  "hideLoadingPlaceholders",
505
548
  "showCard",
506
549
  "hide",
507
- "getOpener"
550
+ "getOpener",
551
+ "validateControls"
508
552
  ]);
509
553
  };
510
554
 
@@ -513,11 +557,38 @@ sap.ui.define([
513
557
  */
514
558
  Card.prototype._initModels = function () {
515
559
  this.setModel(new JSONModel());
516
- this.setModel(new JSONModel(), "parameters");
517
- this.setModel(new JSONModel(), "filters");
518
- this.setModel(new JSONModel(), "paginator");
519
- this.setModel(new JSONModel(), "form");
520
- this.setModel(new ContextModel(), "context");
560
+
561
+ INTERNAL_MODEL_NAMES.forEach(function (sModelName) {
562
+ var oModel;
563
+
564
+ switch (sModelName) {
565
+ case "context":
566
+ oModel = new ContextModel();
567
+ break;
568
+ case "i18n":
569
+ oModel = new ResourceModel({
570
+ bundle: this._oIntegrationRb
571
+ });
572
+ break;
573
+ case "parameters":
574
+ oModel = new JSONModel(
575
+ ParameterMap.getParamsForModel()
576
+ );
577
+ break;
578
+ case "messages":
579
+ oModel = new JSONModel({
580
+ hasErrors: false,
581
+ hasWarnings: false,
582
+ records: []
583
+ });
584
+ break;
585
+ default:
586
+ oModel = new JSONModel();
587
+ break;
588
+ }
589
+
590
+ this.setModel(oModel, sModelName);
591
+ }.bind(this));
521
592
  };
522
593
 
523
594
  /**
@@ -542,15 +613,18 @@ sap.ui.define([
542
613
  Card.prototype._initReadyState = function () {
543
614
  this._aReadyPromises = [];
544
615
 
616
+ this._awaitEvent("_dataReady");
617
+ this._awaitEvent("_dataPassedToContent");
545
618
  this._awaitEvent("_headerReady");
546
619
  this._awaitEvent("_filterBarReady");
547
620
  this._awaitEvent("_contentReady");
548
- this._awaitEvent("_cardReady");
549
621
 
550
622
  Promise.all(this._aReadyPromises).then(function () {
551
623
  this._bReady = true;
552
624
  this.fireEvent("_ready");
553
625
  }.bind(this));
626
+
627
+ this.attachEventOnce("_dataReady", this._fnOnDataReady);
554
628
  };
555
629
 
556
630
  /**
@@ -560,7 +634,9 @@ sap.ui.define([
560
634
  */
561
635
  Card.prototype._clearReadyState = function () {
562
636
  this._bReady = false;
637
+ this._bDataReady = false;
563
638
  this._aReadyPromises = [];
639
+ this.detachEvent("_dataReady", this._fnOnDataReady);
564
640
  };
565
641
 
566
642
  /**
@@ -581,6 +657,16 @@ sap.ui.define([
581
657
  * @private
582
658
  */
583
659
  Card.prototype.onAfterRendering = function () {
660
+ if (Measurement.getActive() && this._isManifestReady) {
661
+ if (!Measurement.getMeasurement(this._sPerformanceId + "firstRenderingWithStaticData").end) {
662
+ Measurement.end(this._sPerformanceId + "firstRenderingWithStaticData");
663
+ }
664
+
665
+ if (this._bDataReady && !Measurement.getMeasurement(this._sPerformanceId + "firstRenderingWithDynamicData").end) {
666
+ Measurement.end(this._sPerformanceId + "firstRenderingWithDynamicData");
667
+ }
668
+ }
669
+
584
670
  var oCardDomRef = this.getDomRef();
585
671
 
586
672
  if (this.getDataMode() === CardDataMode.Auto && this._bFirstRendering) {
@@ -619,7 +705,6 @@ sap.ui.define([
619
705
 
620
706
  if (!this._bApplyManifest && this._bApplyParameters) {
621
707
  this._oCardManifest.processParameters(this._getContextAndRuntimeParams());
622
-
623
708
  this._applyManifestSettings();
624
709
  }
625
710
 
@@ -723,6 +808,10 @@ sap.ui.define([
723
808
  this._oCardManifest.destroy();
724
809
  }
725
810
 
811
+ Measurement.start(this._sPerformanceId + "initManifest", "Load and initialize manifest. " + measurementStartTime());
812
+ Measurement.start(this._sPerformanceId + "firstRenderingWithStaticData", "First rendering with static data (includes initManifest). " + measurementStartTime());
813
+ Measurement.start(this._sPerformanceId + "firstRenderingWithDynamicData","First rendering with dynamic card level data (includes firstRenderingWithStaticData). " + measurementStartTime());
814
+
726
815
  this._oCardManifest = new CardManifest("sap.card", vManifest, sBaseUrl, this.getManifestChanges());
727
816
 
728
817
  this._oCardManifest
@@ -732,6 +821,7 @@ sap.ui.define([
732
821
  throw new Error(CARD_DESTROYED_ERROR);
733
822
  }
734
823
 
824
+ Measurement.end(this._sPerformanceId + "initManifest");
735
825
  this._registerManifestModulePath();
736
826
  this._isManifestReady = true;
737
827
  this.fireManifestReady();
@@ -740,12 +830,12 @@ sap.ui.define([
740
830
  }.bind(this))
741
831
  .then(this._applyManifest.bind(this))
742
832
  .catch(function (e) {
743
- if (e.message !== CARD_DESTROYED_ERROR) {
744
- this._applyManifest();
833
+ if (e.message === CARD_DESTROYED_ERROR) {
745
834
  return;
746
835
  }
747
836
 
748
837
  this._logFundamentalError(e.message);
838
+ this._applyManifest();
749
839
  }.bind(this));
750
840
  };
751
841
 
@@ -801,6 +891,22 @@ sap.ui.define([
801
891
  return this._aFundamentalErrors;
802
892
  };
803
893
 
894
+ /**
895
+ * Causes all of the controls within the Card
896
+ * that support validation to validate their data.
897
+ * @public
898
+ * @experimental
899
+ * @returns {boolean} if all of the controls validated successfully; otherwise, false
900
+ */
901
+ Card.prototype.validateControls = function () {
902
+ var oCardContent = this.getCardContent();
903
+ if (oCardContent) {
904
+ oCardContent.validateControls();
905
+ }
906
+
907
+ return !this.getModel("messages").getProperty("/hasErrors");
908
+ };
909
+
804
910
  /**
805
911
  * Prepares the manifest and applies all settings.
806
912
  */
@@ -838,28 +944,9 @@ sap.ui.define([
838
944
 
839
945
  oCardManifest.processParameters(oParameters);
840
946
 
841
- this._prepareToApplyManifestSettings();
842
-
843
- this._applyManifestSettings();
844
- };
845
-
846
- /**
847
- * Loads the messagebundle.properties for the integration library.
848
- * For performance only call this method when the translations will be needed.
849
- *
850
- * @private
851
- */
852
- Card.prototype._loadDefaultTranslations = function () {
853
- if (this._defaultTranslationsLoaded) {
854
- return;
855
- }
856
-
857
- var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.integration");
858
-
859
- this._enhanceI18nModel(oResourceBundle);
860
-
861
- this._defaultTranslationsLoaded = true;
862
- this._oIntegrationRb = oResourceBundle;
947
+ this._prepareToApplyManifestSettings().then(function () {
948
+ this._applyManifestSettings();
949
+ }.bind(this));
863
950
  };
864
951
 
865
952
  /**
@@ -869,20 +956,20 @@ sap.ui.define([
869
956
  * @private
870
957
  */
871
958
  Card.prototype._enhanceI18nModel = function (oResourceBundle) {
872
- var oResourceModel = this.getModel("i18n");
873
-
874
- if (oResourceModel) {
875
- if (oResourceModel.getResourceBundle().oUrlInfo.url !== oResourceBundle.oUrlInfo.url) {
876
- oResourceModel.enhance(oResourceBundle);
877
- }
878
- return;
879
- }
880
-
881
- oResourceModel = new ResourceModel({
882
- bundle: oResourceBundle
959
+ var oResourceModel = this.getModel("i18n"),
960
+ oNewResourceModel;
961
+
962
+ // the library resource bundle must not be enhanced
963
+ // so the card resource bundle should be first
964
+ oNewResourceModel = new ResourceModel({
965
+ bundle: oResourceBundle,
966
+ enhanceWith: [
967
+ this._oIntegrationRb
968
+ ]
883
969
  });
884
970
 
885
- this.setModel(oResourceModel, "i18n");
971
+ this.setModel(oNewResourceModel, "i18n");
972
+ oResourceModel.destroy();
886
973
  };
887
974
 
888
975
  /**
@@ -1057,6 +1144,7 @@ sap.ui.define([
1057
1144
  this._oCardObserver = null;
1058
1145
  this._oContentFactory = null;
1059
1146
  this._bFirstRendering = null;
1147
+ this._oIntegrationRb = null;
1060
1148
 
1061
1149
  if (this._oActionsToolbar) {
1062
1150
  this._oActionsToolbar.destroy();
@@ -1110,8 +1198,6 @@ sap.ui.define([
1110
1198
  this.getModel("parameters").setData({});
1111
1199
  this.getModel("paginator").setData({});
1112
1200
 
1113
- this.setModel(null, "i18n");
1114
-
1115
1201
  this._oContextParameters = null;
1116
1202
 
1117
1203
  this._deregisterCustomModels();
@@ -1259,6 +1345,17 @@ sap.ui.define([
1259
1345
  return this._oDestinations.getUrl(sKey);
1260
1346
  };
1261
1347
 
1348
+ /**
1349
+ * Resolves the destinations and returns a Promise with the resolved configuration.
1350
+ * @private
1351
+ * @ui5-restricted
1352
+ * @param {object} oConfig The configuration.
1353
+ * @returns {Promise} A promise which resolves with the resolved configuration.
1354
+ */
1355
+ Card.prototype.processDestinations = function (oConfig) {
1356
+ return this._oDestinations.process(oConfig);
1357
+ };
1358
+
1262
1359
  /**
1263
1360
  * Displays a message strip above the content with the given text.
1264
1361
  * There can be only 1 message displayed. If there is a previous message, it is removed.
@@ -1269,7 +1366,7 @@ sap.ui.define([
1269
1366
  * @param {string} sMessage The message.
1270
1367
  * @param {sap.ui.core.MessageType} sType Type of the message.
1271
1368
  */
1272
- Card.prototype.showMessage = function (sMessage, sType) {
1369
+ Card.prototype.showMessage = function (sMessage, sType) {
1273
1370
  if (this._createContentPromise) {
1274
1371
  this._createContentPromise.then(function (oContent) {
1275
1372
  oContent.showMessage(sMessage, sType);
@@ -1376,25 +1473,31 @@ sap.ui.define([
1376
1473
  this._oDataProviderFactory.destroy();
1377
1474
  }
1378
1475
 
1379
- this._oDestinations = new Destinations(this.getHostInstance(), this._oCardManifest.get(MANIFEST_PATHS.DESTINATIONS));
1476
+ this._oDestinations = new Destinations({
1477
+ host: this.getHostInstance(),
1478
+ card: this,
1479
+ manifestConfig: this._oCardManifest.get(MANIFEST_PATHS.DESTINATIONS)
1480
+ });
1380
1481
  this._oIconFormatter = new IconFormatter({
1381
- destinations: this._oDestinations,
1382
1482
  card: this
1383
1483
  });
1384
1484
 
1385
- this._oDataProviderFactory = new DataProviderFactory({
1386
- host: this.getHostInstance(),
1387
- destinations: this._oDestinations,
1388
- extension: oExtension,
1389
- csrfTokensConfig: this._oCardManifest.get(MANIFEST_PATHS.CSRF_TOKENS),
1390
- card: this
1391
- });
1485
+ return this.processDestinations(this._oCardManifest.getJson()).then(function (oResult) {
1486
+ this._oCardManifest.setJson(oResult);
1392
1487
 
1393
- this._registerCustomModels();
1488
+ this._oDataProviderFactory = new DataProviderFactory({
1489
+ host: this.getHostInstance(),
1490
+ extension: oExtension,
1491
+ csrfTokensConfig: this._oCardManifest.get(MANIFEST_PATHS.CSRF_TOKENS),
1492
+ card: this
1493
+ });
1394
1494
 
1395
- if (oExtension) {
1396
- oExtension.onCardReady();
1397
- }
1495
+ this._registerCustomModels();
1496
+
1497
+ if (oExtension) {
1498
+ oExtension.onCardReady();
1499
+ }
1500
+ }.bind(this));
1398
1501
  };
1399
1502
 
1400
1503
  /**
@@ -1415,7 +1518,6 @@ sap.ui.define([
1415
1518
  this._applyFooterManifestSettings();
1416
1519
 
1417
1520
  this.fireManifestApplied();
1418
-
1419
1521
  };
1420
1522
 
1421
1523
  /**
@@ -1427,7 +1529,8 @@ sap.ui.define([
1427
1529
 
1428
1530
  Card.prototype._setParametersModelData = function () {
1429
1531
 
1430
- var oCustomParameters = {},
1532
+ var oPredefinedParameters = ParameterMap.getParamsForModel(),
1533
+ oCustomParameters = {},
1431
1534
  oCombinedParameters = this.getCombinedParameters(),
1432
1535
  sKey;
1433
1536
 
@@ -1438,7 +1541,7 @@ sap.ui.define([
1438
1541
  oCustomParameters[sKey] = {value: oCombinedParameters[sKey]};
1439
1542
  }
1440
1543
  }
1441
- this.getModel("parameters").setData(oCustomParameters);
1544
+ this.getModel("parameters").setData(merge(oPredefinedParameters, oCustomParameters));
1442
1545
  };
1443
1546
 
1444
1547
  Card.prototype._applyDataManifestSettings = function () {
@@ -1446,11 +1549,12 @@ sap.ui.define([
1446
1549
  oModel;
1447
1550
 
1448
1551
  if (!oDataSettings) {
1449
- this.fireEvent("_cardReady");
1552
+ this.fireEvent("_dataReady");
1553
+ this.fireEvent("_dataPassedToContent");
1450
1554
  return;
1451
1555
  }
1452
1556
 
1453
- this.bindObject(oDataSettings.path || "/");
1557
+ this.bindObject(BindingResolver.resolveValue(oDataSettings.path || "/", this));
1454
1558
 
1455
1559
  if (this._oDataProvider) {
1456
1560
  this._oDataProvider.destroy();
@@ -1468,7 +1572,8 @@ sap.ui.define([
1468
1572
  }
1469
1573
 
1470
1574
  if (!oModel) {
1471
- this.fireEvent("_cardReady");
1575
+ this.fireEvent("_dataReady");
1576
+ this.fireEvent("_dataPassedToContent");
1472
1577
  return;
1473
1578
  }
1474
1579
 
@@ -1483,9 +1588,11 @@ sap.ui.define([
1483
1588
  if (this._createContentPromise) {
1484
1589
  this._createContentPromise.then(function (oContent) {
1485
1590
  oContent.onDataChanged();
1591
+ this.fireEvent("_dataPassedToContent");
1486
1592
  this.onDataRequestComplete();
1487
1593
  }.bind(this));
1488
1594
  } else {
1595
+ this.fireEvent("_dataPassedToContent");
1489
1596
  this.onDataRequestComplete();
1490
1597
  }
1491
1598
 
@@ -1497,17 +1604,21 @@ sap.ui.define([
1497
1604
  }.bind(this));
1498
1605
 
1499
1606
  this._oDataProvider.attachDataChanged(function (oEvent) {
1607
+ this.fireEvent("_dataReady");
1500
1608
  oModel.setData(oEvent.getParameter("data"));
1501
- });
1609
+ }.bind(this));
1502
1610
 
1503
1611
  this._oDataProvider.attachError(function (oEvent) {
1612
+ this.fireEvent("_dataReady");
1613
+ this.fireEvent("_dataPassedToContent");
1504
1614
  this._handleError("Data service unavailable. " + oEvent.getParameter("message"));
1505
1615
  this.onDataRequestComplete();
1506
1616
  }.bind(this));
1507
1617
 
1508
1618
  this._oDataProvider.triggerDataUpdate();
1509
1619
  } else {
1510
- this.fireEvent("_cardReady");
1620
+ this.fireEvent("_dataReady");
1621
+ this.fireEvent("_dataPassedToContent");
1511
1622
  }
1512
1623
  };
1513
1624
 
@@ -1857,7 +1968,6 @@ sap.ui.define([
1857
1968
  * @private
1858
1969
  */
1859
1970
  Card.prototype._handleError = function (sLogMessage, bNoItems) {
1860
- this._loadDefaultTranslations();
1861
1971
  if (!bNoItems) {
1862
1972
  Log.error(sLogMessage, null, "sap.ui.integration.widgets.Card");
1863
1973
  }
@@ -1909,6 +2019,11 @@ sap.ui.define([
1909
2019
  case "Analytical":
1910
2020
  sIllustratedMessageType = IllustratedMessageType.NoEntries;
1911
2021
  sTitle = this._oIntegrationRb.getText("CARD_NO_ITEMS_ERROR_CHART");
2022
+ break;
2023
+ case "Object":
2024
+ sIllustratedMessageType = IllustratedMessageType.NoData;
2025
+ sTitle = this._oIntegrationRb.getText("CARD_NO_ITEMS_ERROR_CHART");
2026
+ break;
1912
2027
  }
1913
2028
  }
1914
2029
 
@@ -1948,7 +2063,7 @@ sap.ui.define([
1948
2063
  * @private
1949
2064
  */
1950
2065
  Card.prototype._handleNoDataItems = function (oCardContent, oError, bNoItems) {
1951
- if (bNoItems && this._oCardManifest.get(MANIFEST_PATHS.TYPE) === "List") {
2066
+ if (bNoItems) {
1952
2067
  oError._oCardOriginalContent = oCardContent;
1953
2068
  }
1954
2069
  };
@@ -2201,7 +2316,6 @@ sap.ui.define([
2201
2316
  var oContent = this.getCardContent(),
2202
2317
  oLoadingProvider = this.getAggregation("_loadingProvider");
2203
2318
 
2204
- this.fireEvent("_cardReady");
2205
2319
  this.hideLoadingPlaceholders(CardArea.Header);
2206
2320
  this.hideLoadingPlaceholders(CardArea.Filters);
2207
2321
 
@@ -2232,10 +2346,12 @@ sap.ui.define([
2232
2346
  * @returns {Promise} Resolves when the request is successful, rejects otherwise.
2233
2347
  */
2234
2348
  Card.prototype.request = function (oConfiguration) {
2235
- return this._oDataProviderFactory
2236
- .create({ request: oConfiguration })
2237
- .setAllowCustomDataType(true)
2238
- .getData();
2349
+ return this.processDestinations(oConfiguration).then(function (oResult) {
2350
+ return this._oDataProviderFactory
2351
+ .create({ request: oResult })
2352
+ .setAllowCustomDataType(true)
2353
+ .getData();
2354
+ }.bind(this));
2239
2355
  };
2240
2356
 
2241
2357
  /**
@@ -2332,7 +2448,7 @@ sap.ui.define([
2332
2448
  return;
2333
2449
  }
2334
2450
 
2335
- if (RESERVED_MODEL_NAMES.indexOf(sModelName) > -1) {
2451
+ if (INTERNAL_MODEL_NAMES.indexOf(sModelName) > -1) {
2336
2452
  Log.error("The model name (data section name) '" + sModelName + "' is reserved for cards. Can not be used for creating a custom model.");
2337
2453
  return;
2338
2454
  }
@@ -2398,10 +2514,18 @@ sap.ui.define([
2398
2514
  * @private
2399
2515
  */
2400
2516
  Card.prototype.getContentPageSize = function (oContentConfig) {
2401
- var iMaxItems = parseInt(BindingResolver.resolveValue(oContentConfig, this).maxItems) || 0,
2517
+ var iMaxItems = 0,
2402
2518
  oFooter = this.getAggregation("_footer"),
2403
2519
  oPaginator;
2404
2520
 
2521
+ if (oContentConfig.maxItems !== undefined) {
2522
+ if (typeof oContentConfig.maxItems === "number") {
2523
+ iMaxItems = oContentConfig.maxItems;
2524
+ } else {
2525
+ iMaxItems = parseInt(BindingResolver.resolveValue(oContentConfig, this).maxItems) || 0;
2526
+ }
2527
+ }
2528
+
2405
2529
  if (!oFooter) {
2406
2530
  return iMaxItems;
2407
2531
  }
@@ -2489,7 +2613,8 @@ sap.ui.define([
2489
2613
  oChildCard = this._createCard({
2490
2614
  width: oParameters.width,
2491
2615
  host: this.getHostInstance(),
2492
- parameters: oParameters.parameters
2616
+ parameters: oParameters.parameters,
2617
+ referenceId: this.getReferenceId()
2493
2618
  });
2494
2619
 
2495
2620
  oChildCard.setAssociation("openerReference", this);
@@ -1,14 +0,0 @@
1
- <core:FragmentDefinition
2
- xmlns="sap.m"
3
- xmlns:core="sap.ui.core"
4
- >
5
- <TextArea
6
- value="{displayValue}"
7
- width="100%"
8
- enabled="{config/enabled}"
9
- placeholder="{config/placeholder}"
10
- liveChange="_onLiveChange"
11
- growing="true"
12
- growingMaxLines="7"
13
- />
14
- </core:FragmentDefinition>