@openui5/sap.ui.integration 1.105.1 → 1.107.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 (296) hide show
  1. package/.reuse/dep5 +20 -17
  2. package/THIRDPARTY.txt +31 -21
  3. package/package.json +3 -3
  4. package/src/sap/ui/integration/.library +1 -6
  5. package/src/sap/ui/integration/ActionDefinition.js +1 -2
  6. package/src/sap/ui/integration/Designtime.js +1 -1
  7. package/src/sap/ui/integration/Extension.js +12 -2
  8. package/src/sap/ui/integration/Host.js +15 -1
  9. package/src/sap/ui/integration/cards/AdaptiveContent.js +5 -3
  10. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  11. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +2 -2
  12. package/src/sap/ui/integration/cards/BaseContent.js +30 -7
  13. package/src/sap/ui/integration/cards/BaseListContent.js +1 -1
  14. package/src/sap/ui/integration/cards/CalendarContent.js +6 -4
  15. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  16. package/src/sap/ui/integration/cards/Footer.js +34 -2
  17. package/src/sap/ui/integration/cards/Header.js +17 -22
  18. package/src/sap/ui/integration/cards/ListContent.js +46 -5
  19. package/src/sap/ui/integration/cards/NumericHeader.js +3 -19
  20. package/src/sap/ui/integration/cards/ObjectContent.js +131 -27
  21. package/src/sap/ui/integration/cards/TableContent.js +9 -4
  22. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  23. package/src/sap/ui/integration/cards/TimelineContentRenderer.js +9 -2
  24. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  25. package/src/sap/ui/integration/cards/actions/CardActions.js +31 -23
  26. package/src/sap/ui/integration/cards/actions/SubmitAction.js +19 -13
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/BaseFilter.js +4 -3
  33. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  37. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  38. package/src/sap/ui/integration/controls/ActionsStrip.js +53 -7
  39. package/src/sap/ui/integration/controls/ActionsToolbar.js +12 -20
  40. package/src/sap/ui/integration/controls/LinkWithIcon.js +4 -2
  41. package/src/sap/ui/integration/controls/ListContentItem.js +7 -1
  42. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +2 -2
  43. package/src/sap/ui/integration/controls/Microchart.js +7 -1
  44. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  45. package/src/sap/ui/integration/controls/Paginator.js +66 -16
  46. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +4 -2
  47. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +11 -8
  48. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  49. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n.properties +12 -0
  50. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +8 -0
  51. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +8 -0
  52. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +8 -0
  53. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +8 -0
  54. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +8 -0
  55. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +8 -0
  56. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +8 -0
  57. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +8 -0
  58. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +8 -0
  59. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +8 -0
  60. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +8 -0
  61. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saprigi.properties +8 -0
  62. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +8 -0
  63. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +8 -0
  64. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +8 -0
  65. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +8 -0
  66. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +8 -0
  67. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +8 -0
  68. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +8 -0
  69. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +8 -0
  70. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +8 -0
  71. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +8 -0
  72. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +8 -0
  73. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +8 -0
  74. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +8 -0
  75. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +8 -0
  76. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +8 -0
  77. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +8 -0
  78. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +8 -0
  79. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +8 -0
  80. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +8 -0
  81. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +8 -0
  82. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +8 -0
  83. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +8 -0
  84. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +8 -0
  85. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +8 -0
  86. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +8 -0
  87. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +8 -0
  88. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +8 -0
  89. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +8 -0
  90. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +8 -0
  91. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +8 -0
  92. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +8 -0
  93. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +8 -0
  94. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +8 -0
  95. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +8 -0
  96. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +8 -0
  97. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +8 -0
  98. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +15 -12
  99. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  100. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  101. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  102. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.fragment.xml +13 -0
  103. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +211 -0
  104. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditorDialog.fragment.xml +48 -0
  105. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  106. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  107. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  108. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  109. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  110. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  111. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  112. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  113. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  114. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  115. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  116. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  117. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +13 -13
  118. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  119. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  120. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  121. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  122. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  123. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  124. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  125. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  126. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  127. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  128. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  129. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  130. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  131. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  132. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  133. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  134. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  135. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  136. package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +55 -6
  137. package/src/sap/ui/integration/designtime/cardEditor/config/index.js +2 -1
  138. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ar.properties +14 -14
  139. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_bg.properties +14 -14
  140. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ca.properties +12 -12
  141. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cs.properties +13 -13
  142. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cy.properties +14 -14
  143. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_da.properties +12 -12
  144. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_de.properties +13 -13
  145. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_el.properties +14 -14
  146. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en.properties +1 -1
  147. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_GB.properties +1 -1
  148. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saptrc.properties +28 -0
  149. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es.properties +13 -13
  150. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es_MX.properties +13 -13
  151. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_et.properties +14 -14
  152. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fi.properties +14 -14
  153. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr.properties +12 -12
  154. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr_CA.properties +12 -12
  155. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hi.properties +14 -14
  156. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hr.properties +14 -14
  157. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hu.properties +14 -14
  158. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_id.properties +11 -11
  159. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_it.properties +14 -14
  160. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_iw.properties +14 -14
  161. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ja.properties +14 -14
  162. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_kk.properties +14 -14
  163. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ko.properties +14 -14
  164. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lt.properties +14 -14
  165. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lv.properties +14 -14
  166. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ms.properties +13 -13
  167. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_nl.properties +12 -12
  168. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_no.properties +12 -12
  169. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pl.properties +14 -14
  170. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt.properties +13 -13
  171. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt_PT.properties +15 -15
  172. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ro.properties +12 -12
  173. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ru.properties +14 -14
  174. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sh.properties +14 -14
  175. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sk.properties +12 -12
  176. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sl.properties +13 -13
  177. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sv.properties +12 -12
  178. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_th.properties +13 -13
  179. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_tr.properties +14 -14
  180. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +14 -14
  181. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_vi.properties +14 -14
  182. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_CN.properties +14 -14
  183. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_TW.properties +15 -15
  184. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  185. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  186. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +2 -2
  187. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  188. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +10 -9
  189. package/src/sap/ui/integration/designtime/editor/CardEditor.js +2 -3
  190. package/src/sap/ui/integration/designtime/editor/CardPreview.js +36 -34
  191. package/src/sap/ui/integration/editor/Editor.js +604 -912
  192. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  193. package/src/sap/ui/integration/editor/Extension.js +1 -2
  194. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  195. package/src/sap/ui/integration/editor/Settings.js +7 -5
  196. package/src/sap/ui/integration/editor/css/Editor.css +4 -0
  197. package/src/sap/ui/integration/editor/fields/BaseField.js +53 -177
  198. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  199. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  200. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  201. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  202. package/src/sap/ui/integration/editor/fields/GroupField.js +353 -0
  203. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  204. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  205. package/src/sap/ui/integration/editor/fields/ObjectField.js +7 -3
  206. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  207. package/src/sap/ui/integration/editor/fields/StringField.js +3 -2
  208. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  209. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  210. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +8 -6
  211. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +6 -4
  212. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +5 -3
  213. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +16 -9
  214. package/src/sap/ui/integration/library.js +2 -8
  215. package/src/sap/ui/integration/messagebundle.properties +9 -0
  216. package/src/sap/ui/integration/messagebundle_ar.properties +6 -0
  217. package/src/sap/ui/integration/messagebundle_bg.properties +6 -0
  218. package/src/sap/ui/integration/messagebundle_ca.properties +6 -0
  219. package/src/sap/ui/integration/messagebundle_cs.properties +6 -0
  220. package/src/sap/ui/integration/messagebundle_cy.properties +6 -0
  221. package/src/sap/ui/integration/messagebundle_da.properties +6 -0
  222. package/src/sap/ui/integration/messagebundle_de.properties +6 -0
  223. package/src/sap/ui/integration/messagebundle_el.properties +7 -1
  224. package/src/sap/ui/integration/messagebundle_en.properties +6 -0
  225. package/src/sap/ui/integration/messagebundle_en_GB.properties +6 -0
  226. package/src/sap/ui/integration/messagebundle_en_US_sappsd.properties +6 -0
  227. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +6 -0
  228. package/src/sap/ui/integration/messagebundle_en_US_saptrc.properties +6 -0
  229. package/src/sap/ui/integration/messagebundle_es.properties +6 -0
  230. package/src/sap/ui/integration/messagebundle_es_MX.properties +6 -0
  231. package/src/sap/ui/integration/messagebundle_et.properties +6 -0
  232. package/src/sap/ui/integration/messagebundle_fi.properties +6 -0
  233. package/src/sap/ui/integration/messagebundle_fr.properties +6 -0
  234. package/src/sap/ui/integration/messagebundle_fr_CA.properties +6 -0
  235. package/src/sap/ui/integration/messagebundle_hi.properties +6 -0
  236. package/src/sap/ui/integration/messagebundle_hr.properties +6 -0
  237. package/src/sap/ui/integration/messagebundle_hu.properties +6 -0
  238. package/src/sap/ui/integration/messagebundle_id.properties +7 -1
  239. package/src/sap/ui/integration/messagebundle_it.properties +6 -0
  240. package/src/sap/ui/integration/messagebundle_iw.properties +6 -0
  241. package/src/sap/ui/integration/messagebundle_ja.properties +6 -0
  242. package/src/sap/ui/integration/messagebundle_kk.properties +7 -1
  243. package/src/sap/ui/integration/messagebundle_ko.properties +6 -0
  244. package/src/sap/ui/integration/messagebundle_lt.properties +6 -0
  245. package/src/sap/ui/integration/messagebundle_lv.properties +6 -0
  246. package/src/sap/ui/integration/messagebundle_ms.properties +6 -0
  247. package/src/sap/ui/integration/messagebundle_nl.properties +6 -0
  248. package/src/sap/ui/integration/messagebundle_no.properties +6 -0
  249. package/src/sap/ui/integration/messagebundle_pl.properties +6 -0
  250. package/src/sap/ui/integration/messagebundle_pt.properties +6 -0
  251. package/src/sap/ui/integration/messagebundle_pt_PT.properties +6 -0
  252. package/src/sap/ui/integration/messagebundle_ro.properties +6 -0
  253. package/src/sap/ui/integration/messagebundle_ru.properties +6 -0
  254. package/src/sap/ui/integration/messagebundle_sh.properties +6 -0
  255. package/src/sap/ui/integration/messagebundle_sk.properties +6 -0
  256. package/src/sap/ui/integration/messagebundle_sl.properties +6 -0
  257. package/src/sap/ui/integration/messagebundle_sv.properties +6 -0
  258. package/src/sap/ui/integration/messagebundle_th.properties +6 -0
  259. package/src/sap/ui/integration/messagebundle_tr.properties +6 -0
  260. package/src/sap/ui/integration/messagebundle_uk.properties +6 -0
  261. package/src/sap/ui/integration/messagebundle_vi.properties +6 -0
  262. package/src/sap/ui/integration/messagebundle_zh_CN.properties +6 -0
  263. package/src/sap/ui/integration/messagebundle_zh_TW.properties +6 -0
  264. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  265. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  266. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  267. package/src/sap/ui/integration/schemas/sap-card.json +182 -21
  268. package/src/sap/ui/integration/themes/base/ActionsStrip.less +5 -0
  269. package/src/sap/ui/integration/themes/base/Card.less +1 -9
  270. package/src/sap/ui/integration/themes/base/ListContentItem.less +9 -15
  271. package/src/sap/ui/integration/themes/base/Microchart.less +7 -0
  272. package/src/sap/ui/integration/themes/base/ObjectContent.less +18 -3
  273. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  274. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  275. package/src/sap/ui/integration/util/BindingResolver.js +6 -5
  276. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +2 -2
  277. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  278. package/src/sap/ui/integration/util/ContentFactory.js +10 -1
  279. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  280. package/src/sap/ui/integration/util/DataProvider.js +13 -25
  281. package/src/sap/ui/integration/util/DataProviderFactory.js +44 -35
  282. package/src/sap/ui/integration/util/Destinations.js +1 -1
  283. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  284. package/src/sap/ui/integration/util/Forms.js +167 -0
  285. package/src/sap/ui/integration/util/HeaderFactory.js +10 -8
  286. package/src/sap/ui/integration/util/JSONBindingHelper.js +2 -2
  287. package/src/sap/ui/integration/util/LoadingProvider.js +15 -3
  288. package/src/sap/ui/integration/util/Manifest.js +1 -1
  289. package/src/sap/ui/integration/util/ManifestResolver.js +37 -31
  290. package/src/sap/ui/integration/util/RequestDataProvider.js +4 -6
  291. package/src/sap/ui/integration/util/ServiceDataProvider.js +4 -4
  292. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  293. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  294. package/src/sap/ui/integration/util/Utils.js +1 -1
  295. package/src/sap/ui/integration/util/Validators.js +125 -0
  296. package/src/sap/ui/integration/widgets/Card.js +227 -52
@@ -6,7 +6,6 @@
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Core",
8
8
  "sap/ui/model/json/JSONModel",
9
- "sap/base/util/isEmptyObject",
10
9
  "sap/base/util/merge",
11
10
  "sap/f/cards/Header",
12
11
  "sap/f/cards/HeaderRenderer",
@@ -18,7 +17,6 @@ sap.ui.define([
18
17
  ], function (
19
18
  Core,
20
19
  JSONModel,
21
- isEmptyObject,
22
20
  merge,
23
21
  FHeader,
24
22
  FHeaderRenderer,
@@ -44,13 +42,12 @@ sap.ui.define([
44
42
  * @extends sap.f.cards.Header
45
43
  *
46
44
  * @author SAP SE
47
- * @version 1.105.1
45
+ * @version 1.107.0
48
46
  *
49
47
  * @constructor
50
48
  * @private
51
49
  * @since 1.77
52
50
  * @alias sap.ui.integration.cards.Header
53
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
54
51
  */
55
52
  var Header = FHeader.extend("sap.ui.integration.cards.Header", {
56
53
 
@@ -58,14 +55,13 @@ sap.ui.define([
58
55
 
59
56
  mConfiguration = mConfiguration || {};
60
57
 
61
- this._bIsEmpty = isEmptyObject(mConfiguration);
62
-
63
58
  var mSettings = {
64
59
  title: mConfiguration.title,
65
60
  titleMaxLines: mConfiguration.titleMaxLines,
66
61
  subtitle: mConfiguration.subTitle,
67
62
  subtitleMaxLines: mConfiguration.subTitleMaxLines,
68
- dataTimestamp: mConfiguration.dataTimestamp
63
+ dataTimestamp: mConfiguration.dataTimestamp,
64
+ visible: mConfiguration.visible
69
65
  };
70
66
 
71
67
  if (mConfiguration.status && mConfiguration.status.text && !mConfiguration.status.text.format) {
@@ -73,11 +69,15 @@ sap.ui.define([
73
69
  }
74
70
 
75
71
  if (mConfiguration.icon) {
72
+ var vInitials = mConfiguration.icon.initials || mConfiguration.icon.text;
73
+ var sBackgroundColor = mConfiguration.icon.backgroundColor || (vInitials ? AvatarColor.Accent6 : AvatarColor.Transparent);
74
+
76
75
  mSettings.iconSrc = mConfiguration.icon.src;
77
76
  mSettings.iconDisplayShape = mConfiguration.icon.shape;
78
- mSettings.iconInitials = mConfiguration.icon.text;
77
+ mSettings.iconInitials = vInitials;
79
78
  mSettings.iconAlt = mConfiguration.icon.alt;
80
- mSettings.iconBackgroundColor = mConfiguration.icon.backgroundColor || (mConfiguration.icon.text ? AvatarColor.Accent6 : AvatarColor.Transparent);
79
+ mSettings.iconBackgroundColor = sBackgroundColor;
80
+ mSettings.iconVisible = mConfiguration.icon.visible;
81
81
  }
82
82
 
83
83
  if (mSettings.iconSrc) {
@@ -90,17 +90,15 @@ sap.ui.define([
90
90
 
91
91
  FHeader.call(this, mSettings);
92
92
 
93
- if (oActionsToolbar && oActionsToolbar.isA("sap.ui.integration.controls.ActionsToolbar")) {
94
- oActionsToolbar.attachVisibilityChange(this._handleToolbarVisibilityChange.bind(this));
95
- }
96
-
97
93
  this._oConfiguration = mConfiguration;
98
94
  },
99
95
 
100
96
  metadata: {
101
97
  library: "sap.ui.integration",
102
98
  properties: {
103
- interactive: { type: "boolean", defaultValue: false }
99
+ interactive: { type: "boolean", defaultValue: false },
100
+
101
+ iconVisible: { type: "boolean", defaultValue: true }
104
102
  },
105
103
  aggregations: {
106
104
  /**
@@ -181,14 +179,6 @@ sap.ui.define([
181
179
  this.fireEvent("_error", { logMessage: sLogMessage });
182
180
  };
183
181
 
184
- Header.prototype._handleToolbarVisibilityChange = function (oEvent) {
185
- var bToolbarVisible = oEvent.getParameter("visible");
186
-
187
- if (this._bIsEmpty && this.getVisible() !== bToolbarVisible) {
188
- this.setVisible(bToolbarVisible);
189
- }
190
- };
191
-
192
182
  /**
193
183
  * Await for an event which controls the overall "ready" state of the header.
194
184
  *
@@ -308,6 +298,11 @@ sap.ui.define([
308
298
  };
309
299
 
310
300
  Header.prototype.onDataRequestComplete = function () {
301
+ var oCard = this.getCardInstance();
302
+ if (oCard) {
303
+ oCard._fireDataChange();
304
+ }
305
+
311
306
  this.fireEvent("_dataReady");
312
307
  this.hideLoadingPlaceholders();
313
308
  };
@@ -7,6 +7,7 @@ sap.ui.define([
7
7
  "./BaseListContent",
8
8
  "./ListContentRenderer",
9
9
  "sap/ui/util/openWindow",
10
+ "sap/ui/core/ResizeHandler",
10
11
  "sap/m/library",
11
12
  "sap/m/List",
12
13
  "sap/m/ObjectStatus",
@@ -21,6 +22,7 @@ sap.ui.define([
21
22
  BaseListContent,
22
23
  ListContentRenderer,
23
24
  openWindow,
25
+ ResizeHandler,
24
26
  mLibrary,
25
27
  List,
26
28
  ObjectStatus,
@@ -66,7 +68,7 @@ sap.ui.define([
66
68
  * @extends sap.ui.integration.cards.BaseListContent
67
69
  *
68
70
  * @author SAP SE
69
- * @version 1.105.1
71
+ * @version 1.107.0
70
72
  *
71
73
  * @constructor
72
74
  * @private
@@ -121,6 +123,18 @@ sap.ui.define([
121
123
  this._oItemTemplate.destroy();
122
124
  this._oItemTemplate = null;
123
125
  }
126
+
127
+ if (this._iMicrochartsResizeHandler) {
128
+ ResizeHandler.deregister(this._iMicrochartsResizeHandler);
129
+ this._iMicrochartsResizeHandler = undefined;
130
+ }
131
+ };
132
+
133
+ /**
134
+ * @override
135
+ */
136
+ ListContent.prototype.onAfterRendering = function () {
137
+ this._resizeMicrocharts();
124
138
  };
125
139
 
126
140
  /**
@@ -193,7 +207,11 @@ sap.ui.define([
193
207
  if (bHasGroups) {
194
208
  oStaticConfiguration.groups = aResolvedGroups;
195
209
  } else {
196
- oStaticConfiguration.items = aResolvedItems;
210
+ oStaticConfiguration.groups = [
211
+ {
212
+ items: aResolvedItems
213
+ }
214
+ ];
197
215
  }
198
216
 
199
217
  return oStaticConfiguration;
@@ -256,7 +274,7 @@ sap.ui.define([
256
274
  }.bind(this));
257
275
  mSettings.iconAlt = mItem.icon.alt;
258
276
  mSettings.iconDisplayShape = mItem.icon.shape;
259
- mSettings.iconInitials = mItem.icon.text;
277
+ mSettings.iconInitials = mItem.icon.initials || mItem.icon.text;
260
278
 
261
279
  if (mSettings.title && mSettings.description) {
262
280
  mSettings.iconSize = AvatarSize.S;
@@ -265,7 +283,7 @@ sap.ui.define([
265
283
  }
266
284
 
267
285
  mSettings.iconSize = mItem.icon.size || mSettings.iconSize;
268
- mSettings.iconBackgroundColor = mItem.icon.backgroundColor || (mItem.icon.text ? undefined : AvatarColor.Transparent);
286
+ mSettings.iconBackgroundColor = mItem.icon.backgroundColor || (mSettings.iconInitials ? undefined : AvatarColor.Transparent);
269
287
  }
270
288
 
271
289
  if (mItem.attributesLayoutType) {
@@ -277,7 +295,8 @@ sap.ui.define([
277
295
  mSettings.attributes.push(new ObjectStatus({
278
296
  text: attr.value,
279
297
  state: attr.state,
280
- emptyIndicatorMode: EmptyIndicatorMode.On
298
+ emptyIndicatorMode: EmptyIndicatorMode.On,
299
+ visible: attr.visible
281
300
  }));
282
301
  });
283
302
  }
@@ -342,6 +361,28 @@ sap.ui.define([
342
361
  return oChart;
343
362
  };
344
363
 
364
+ /**
365
+ * @private
366
+ */
367
+ ListContent.prototype._resizeMicrocharts = function () {
368
+ var $charts = this.$().find(".sapUiIntMicrochartChart"),
369
+ iShortestWidth = Number.MAX_VALUE;
370
+
371
+ if ($charts.length === 0) {
372
+ return;
373
+ }
374
+
375
+ $charts.each(function (iIndex, oChartWrapper) {
376
+ iShortestWidth = Math.min(iShortestWidth, oChartWrapper.offsetWidth);
377
+ });
378
+
379
+ $charts.find(".sapUiIntMicrochartChartInner").css("max-width", iShortestWidth + "px");
380
+
381
+ if (!this._iMicrochartsResizeHandler) {
382
+ this._iMicrochartsResizeHandler = ResizeHandler.register(this, this._resizeMicrocharts.bind(this));
383
+ }
384
+ };
385
+
345
386
  /**
346
387
  * Create static StandardListItems which will be mapped with the configuration that is passed.
347
388
  *
@@ -6,7 +6,6 @@
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Core",
8
8
  "sap/base/util/extend",
9
- "sap/base/util/isEmptyObject",
10
9
  "sap/f/cards/NumericHeader",
11
10
  "sap/f/cards/NumericHeaderRenderer",
12
11
  "sap/f/cards/NumericSideIndicator",
@@ -16,7 +15,6 @@ sap.ui.define([
16
15
  ], function (
17
16
  Core,
18
17
  extend,
19
- isEmptyObject,
20
18
  FNumericHeader,
21
19
  FNumericHeaderRenderer,
22
20
  NumericSideIndicator,
@@ -37,13 +35,12 @@ sap.ui.define([
37
35
  * @extends sap.f.cards.NumericHeader
38
36
  *
39
37
  * @author SAP SE
40
- * @version 1.105.1
38
+ * @version 1.107.0
41
39
  *
42
40
  * @constructor
43
41
  * @private
44
42
  * @since 1.77
45
43
  * @alias sap.ui.integration.cards.NumericHeader
46
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
47
44
  */
48
45
  var NumericHeader = FNumericHeader.extend("sap.ui.integration.cards.NumericHeader", {
49
46
 
@@ -51,14 +48,13 @@ sap.ui.define([
51
48
 
52
49
  mConfiguration = mConfiguration || {};
53
50
 
54
- this._bIsEmpty = isEmptyObject(mConfiguration);
55
-
56
51
  var mSettings = {
57
52
  title: mConfiguration.title,
58
53
  titleMaxLines: mConfiguration.titleMaxLines,
59
54
  subtitle: mConfiguration.subTitle,
60
55
  subtitleMaxLines: mConfiguration.subTitleMaxLines,
61
- dataTimestamp: mConfiguration.dataTimestamp
56
+ dataTimestamp: mConfiguration.dataTimestamp,
57
+ visible: mConfiguration.visible
62
58
  };
63
59
 
64
60
  if (mConfiguration.status && mConfiguration.status.text && !mConfiguration.status.text.format) {
@@ -88,10 +84,6 @@ sap.ui.define([
88
84
  mSettings.toolbar = oActionsToolbar;
89
85
 
90
86
  FNumericHeader.call(this, mSettings);
91
-
92
- if (oActionsToolbar && oActionsToolbar.isA("sap.ui.integration.controls.ActionsToolbar")) {
93
- oActionsToolbar.attachVisibilityChange(this._handleToolbarVisibilityChange.bind(this));
94
- }
95
87
  },
96
88
  metadata: {
97
89
  library: "sap.ui.integration",
@@ -259,14 +251,6 @@ sap.ui.define([
259
251
  this.fireEvent("_error", { logMessage: sLogMessage });
260
252
  };
261
253
 
262
- NumericHeader.prototype._handleToolbarVisibilityChange = function (oEvent) {
263
- var bToolbarVisible = oEvent.getParameter("visible");
264
-
265
- if (this._bIsEmpty && this.getVisible() !== bToolbarVisible) {
266
- this.setVisible(bToolbarVisible);
267
- }
268
- };
269
-
270
254
  NumericHeader.prototype.refreshData = function () {
271
255
  if (this._oDataProvider) {
272
256
  this._oDataProvider.triggerDataUpdate();
@@ -12,7 +12,6 @@ sap.ui.define([
12
12
  "sap/m/HBox",
13
13
  "sap/m/VBox",
14
14
  "sap/m/Text",
15
- "sap/m/Title",
16
15
  "sap/m/Avatar",
17
16
  "sap/m/Link",
18
17
  "sap/m/Label",
@@ -21,12 +20,15 @@ sap.ui.define([
21
20
  "sap/m/TextArea",
22
21
  "sap/base/Log",
23
22
  "sap/base/util/isEmptyObject",
23
+ "sap/base/util/isPlainObject",
24
+ "sap/base/util/merge",
24
25
  "sap/ui/core/ResizeHandler",
25
26
  "sap/ui/layout/AlignedFlowLayout",
26
27
  "sap/ui/dom/units/Rem",
27
28
  "sap/ui/integration/util/BindingHelper",
28
29
  "sap/ui/integration/util/BindingResolver",
29
30
  "sap/ui/integration/util/Utils",
31
+ "sap/ui/integration/util/Forms",
30
32
  "sap/f/AvatarGroup",
31
33
  "sap/f/AvatarGroupItem",
32
34
  "sap/f/cards/NumericIndicators",
@@ -44,7 +46,6 @@ sap.ui.define([
44
46
  HBox,
45
47
  VBox,
46
48
  Text,
47
- Title,
48
49
  Avatar,
49
50
  Link,
50
51
  Label,
@@ -53,12 +54,15 @@ sap.ui.define([
53
54
  TextArea,
54
55
  Log,
55
56
  isEmptyObject,
57
+ isPlainObject,
58
+ merge,
56
59
  ResizeHandler,
57
60
  AlignedFlowLayout,
58
61
  Rem,
59
62
  BindingHelper,
60
63
  BindingResolver,
61
64
  Utils,
65
+ Forms,
62
66
  AvatarGroup,
63
67
  AvatarGroupItem,
64
68
  NumericIndicators,
@@ -100,7 +104,7 @@ sap.ui.define([
100
104
  *
101
105
  * @extends sap.ui.integration.cards.BaseContent
102
106
  * @author SAP SE
103
- * @version 1.105.1
107
+ * @version 1.107.0
104
108
  *
105
109
  * @constructor
106
110
  * @since 1.64
@@ -116,6 +120,8 @@ sap.ui.define([
116
120
  ObjectContent.prototype.exit = function() {
117
121
  BaseContent.prototype.exit.apply(this, arguments);
118
122
 
123
+ delete this._aValidationControls;
124
+
119
125
  if (this._sResizeListenerId) {
120
126
  ResizeHandler.deregister(this._sResizeListenerId);
121
127
  this._sResizeListenerId = "";
@@ -126,26 +132,48 @@ sap.ui.define([
126
132
  * Handler for when data is changed.
127
133
  */
128
134
  ObjectContent.prototype.onDataChanged = function () {
129
- this._handleNoItemsError(this.getParsedConfiguration().hasData);
135
+ if (!this._hasData()) {
136
+ this.getParent()._handleError("No items available", true);
137
+ }
138
+
139
+ this._validateInputFields(false);
130
140
  };
131
141
 
132
- /**
133
- * Used to show the illustrated message when there is empty data retrieved.
134
- *
135
- * @protected
136
- * @param {String} sValue value to resolve data.
137
- */
138
- ObjectContent.prototype._handleNoItemsError = function (sValue) {
139
- if (!sValue) {
140
- return;
142
+ ObjectContent.prototype.validateControls = function () {
143
+ this._validateInputFields(true);
144
+ };
145
+
146
+ ObjectContent.prototype._validationControlChanged = function (oEvent) {
147
+ Forms.validateControl(oEvent.getSource(), this.getCardInstance(), true);
148
+ };
149
+
150
+ ObjectContent.prototype._validateInputFields = function (bShowValueState) {
151
+ (this._aValidationControls || []).forEach(function (oControl) {
152
+ Forms.validateControl(oControl, this.getCardInstance(), bShowValueState);
153
+ }.bind(this));
154
+ };
155
+
156
+ ObjectContent.prototype._prepareValidationControl = function (oControl, oItem, sChangeFunction) {
157
+ oControl.attachEvent(sChangeFunction, this._validationControlChanged.bind(this));
158
+ this._aValidationControls.push(oControl);
159
+ oControl._oItem = oItem;
160
+ };
161
+
162
+ ObjectContent.prototype._hasData = function () {
163
+ var oConfiguration = this.getConfiguration();
164
+
165
+ if (!oConfiguration.hasOwnProperty("hasData")) {
166
+ return true;
141
167
  }
142
168
 
143
- var oResolvedValue = BindingResolver.resolveValue(sValue, this, this.getBindingContext().getPath());
169
+ var vResolvedValue = BindingResolver.resolveValue(oConfiguration.hasData, this, this.getBindingContext().getPath());
144
170
 
145
- // check for falsy value, empty array or an empty object
146
- if (!oResolvedValue || Array.isArray(oResolvedValue) && !oResolvedValue.length || isEmptyObject(oResolvedValue)) {
147
- this.getParent()._handleError("No items available", true);
171
+ // check for empty array or an empty object
172
+ if (Array.isArray(vResolvedValue) && !vResolvedValue.length || isPlainObject(vResolvedValue) && isEmptyObject(vResolvedValue)) {
173
+ return false;
148
174
  }
175
+
176
+ return !!vResolvedValue;
149
177
  };
150
178
 
151
179
  ObjectContent.prototype.setConfiguration = function (oConfiguration) {
@@ -156,6 +184,8 @@ sap.ui.define([
156
184
  return this;
157
185
  }
158
186
 
187
+ this._aValidationControls = [];
188
+
159
189
  if (oConfiguration.groups) {
160
190
  this._addGroups(oConfiguration);
161
191
  }
@@ -163,6 +193,63 @@ sap.ui.define([
163
193
  return this;
164
194
  };
165
195
 
196
+ /**
197
+ * @override
198
+ */
199
+ ObjectContent.prototype.getStaticConfiguration = function () {
200
+ var oConfiguration = this.getParsedConfiguration(),
201
+ sObjectContentPath;
202
+
203
+ if (!this.getBindingContext()) {
204
+ return oConfiguration;
205
+ } else {
206
+ sObjectContentPath = this.getBindingContext().getPath();
207
+ }
208
+
209
+ if (oConfiguration.groups) {
210
+ oConfiguration.groups.forEach(function (oGroup) {
211
+ var aResolvedGroupItems = [];
212
+
213
+ if (oGroup.items) {
214
+ oGroup.items.forEach(function (oItem) {
215
+ var sFullPath = sObjectContentPath + oItem.path,
216
+ oResolvedGroupItem = this._resolveGroupItem(oItem, sFullPath);
217
+
218
+ aResolvedGroupItems.push(oResolvedGroupItem);
219
+ }.bind(this));
220
+ }
221
+
222
+ oGroup.items = aResolvedGroupItems;
223
+ }.bind(this));
224
+ }
225
+
226
+ return oConfiguration;
227
+ };
228
+
229
+ ObjectContent.prototype._resolveGroupItem = function (oItem, sFullPath) {
230
+ var oResolvedGroupItem = {},
231
+ aResolvedItems = [];
232
+
233
+ if (oItem.type === "ButtonGroup" || oItem.type === "IconGroup") {
234
+ var oTemplate = oItem.template,
235
+ aData = this.getModel().getProperty(sFullPath);
236
+
237
+ aData.forEach(function (oItemData, iIndex) {
238
+ var oResolvedItem = BindingResolver.resolveValue(oTemplate, this, sFullPath + "/" + iIndex + "/");
239
+ aResolvedItems.push(oResolvedItem);
240
+ }.bind(this));
241
+ oResolvedGroupItem = merge({}, oItem);
242
+ oResolvedGroupItem.items = aResolvedItems;
243
+
244
+ delete oResolvedGroupItem.path;
245
+ delete oResolvedGroupItem.template;
246
+
247
+ return oResolvedGroupItem;
248
+ } else {
249
+ return oItem;
250
+ }
251
+ };
252
+
166
253
  ObjectContent.prototype._getRootContainer = function () {
167
254
  var oRootContainer = this.getAggregation("_content");
168
255
 
@@ -183,6 +270,7 @@ sap.ui.define([
183
270
  oAFLayout,
184
271
  bNextAFLayout = true,
185
272
  aGroups = oConfiguration.groups || [];
273
+ this._formElementsIds = new Set();
186
274
 
187
275
  aGroups.forEach(function (oGroupConfiguration, i) {
188
276
  var oGroup = this._createGroup(oGroupConfiguration);
@@ -231,14 +319,16 @@ sap.ui.define([
231
319
  }).addStyleClass("sapFCardObjectGroup");
232
320
 
233
321
  if (oGroupConfiguration.title) {
234
- oGroup.addItem(new Title({
235
- text: oGroupConfiguration.title
236
- }).addStyleClass("sapFCardObjectItemTitle"));
322
+ oGroup.addItem(new Text({
323
+ text: oGroupConfiguration.title,
324
+ maxLines: oGroupConfiguration.titleMaxLines || 1
325
+ }).addStyleClass("sapFCardObjectItemTitle sapMTitle sapMTitleStyleAuto"));
237
326
 
238
327
  oGroup.addStyleClass("sapFCardObjectGroupWithTitle");
239
328
  }
240
329
 
241
330
  oGroupConfiguration.items.forEach(function (oItem) {
331
+ oItem.labelWrapping = oGroupConfiguration.labelWrapping;
242
332
  this._createGroupItems(oItem).forEach(oGroup.addItem, oGroup);
243
333
  }, this);
244
334
 
@@ -265,7 +355,8 @@ sap.ui.define([
265
355
 
266
356
  oLabel = new Label({
267
357
  text: vLabel,
268
- visible: vVisible
358
+ visible: vVisible,
359
+ wrapping: oItem.labelWrapping
269
360
  }).addStyleClass("sapFCardObjectItemLabel");
270
361
 
271
362
  oLabel.addEventDelegate({
@@ -289,7 +380,8 @@ sap.ui.define([
289
380
  oLabel,
290
381
  oControl
291
382
  ]
292
- });
383
+ }).addStyleClass("sapFCardObjectItemPairContainer");
384
+
293
385
  var oHBox = new HBox({
294
386
  visible: vVisible,
295
387
  renderType: FlexRendertype.Bare,
@@ -308,14 +400,14 @@ sap.ui.define([
308
400
  var vSrc = BindingHelper.formattedProperty(oIconConfiguration.src, function (sValue) {
309
401
  return this._oIconFormatter.formatSrc(sValue);
310
402
  }.bind(this));
311
-
403
+ var vInitials = oIconConfiguration.initials || oIconConfiguration.text;
312
404
  var oAvatar = new Avatar({
313
405
  displaySize: oIconConfiguration.size || AvatarSize.XS,
314
406
  src: vSrc,
315
- initials: oIconConfiguration.text,
407
+ initials: vInitials,
316
408
  displayShape: oIconConfiguration.shape,
317
409
  tooltip: oIconConfiguration.alt,
318
- backgroundColor: oIconConfiguration.backgroundColor || (oIconConfiguration.text ? undefined : AvatarColor.Transparent)
410
+ backgroundColor: oIconConfiguration.backgroundColor || (vInitials ? undefined : AvatarColor.Transparent)
319
411
  }).addStyleClass("sapFCardObjectItemAvatar sapFCardIcon");
320
412
 
321
413
  return oAvatar;
@@ -567,7 +659,7 @@ sap.ui.define([
567
659
  src: BindingHelper.formattedProperty(oTemplateConfig.icon.src, function (sValue) {
568
660
  return this._oIconFormatter.formatSrc(sValue);
569
661
  }.bind(this)),
570
- initials: oTemplateConfig.icon.text,
662
+ initials: oTemplateConfig.icon.initials || oTemplateConfig.icon.text,
571
663
  tooltip: oTemplateConfig.icon.alt
572
664
  });
573
665
 
@@ -596,7 +688,8 @@ sap.ui.define([
596
688
  oFormModel = oCard.getModel("form"),
597
689
  oSettings = {
598
690
  visible: BindingHelper.reuse(vVisible),
599
- placeholder: oItem.placeholder
691
+ placeholder: oItem.placeholder,
692
+ required: Forms.getRequiredValidationValue(oItem)
600
693
  },
601
694
  oControl,
602
695
  oItemTemplate,
@@ -630,8 +723,12 @@ sap.ui.define([
630
723
  if (!oItem.id) {
631
724
  Log.error("Each input element must have an ID.", "sap.ui.integration.widgets.Card");
632
725
  return oControl;
726
+ } else if (this._formElementsIds.has(oItem.id)) {
727
+ Log.error("Duplicate form element ID - " + "'" + oItem.id + "'" , "sap.ui.integration.widgets.Card");
633
728
  }
634
729
 
730
+ this._formElementsIds.add(oItem.id);
731
+
635
732
  fnUpdateValue = function () {
636
733
  oFormModel.setProperty("/" + oItem.id, {
637
734
  key: oControl.getSelectedKey(),
@@ -643,6 +740,7 @@ sap.ui.define([
643
740
  oControl.addEventDelegate({
644
741
  onAfterRendering: fnUpdateValue
645
742
  });
743
+ this._prepareValidationControl(oControl, oItem, "change");
646
744
 
647
745
  return oControl;
648
746
  };
@@ -651,6 +749,7 @@ sap.ui.define([
651
749
  var oCard = this.getCardInstance(),
652
750
  oFormModel = oCard.getModel("form"),
653
751
  oControl = new TextArea({
752
+ required: Forms.getRequiredValidationValue(oItem),
654
753
  value: oItem.value,
655
754
  visible: BindingHelper.reuse(vVisible),
656
755
  rows: oItem.rows,
@@ -665,8 +764,12 @@ sap.ui.define([
665
764
  if (!oItem.id) {
666
765
  Log.error("Each input element must have an ID.", "sap.ui.integration.widgets.Card");
667
766
  return oControl;
767
+ } else if (this._formElementsIds.has(oItem.id)) {
768
+ Log.error("Duplicate form element ID - " + "'" + oItem.id + "'" , "sap.ui.integration.widgets.Card");
668
769
  }
669
770
 
771
+ this._formElementsIds.add(oItem.id);
772
+
670
773
  fnUpdateValue = function () {
671
774
  oFormModel.setProperty("/" + oItem.id, oControl.getValue());
672
775
  };
@@ -675,6 +778,7 @@ sap.ui.define([
675
778
  oControl.addEventDelegate({
676
779
  onAfterRendering: fnUpdateValue
677
780
  });
781
+ this._prepareValidationControl(oControl, oItem, "liveChange");
678
782
 
679
783
  return oControl;
680
784
  };
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  * @extends sap.ui.integration.cards.BaseListContent
78
78
  *
79
79
  * @author SAP SE
80
- * @version 1.105.1
80
+ * @version 1.107.0
81
81
  *
82
82
  * @constructor
83
83
  * @private
@@ -204,7 +204,11 @@ sap.ui.define([
204
204
  if (bHasGroups) {
205
205
  oStaticConfiguration.groups = aResolvedGroups;
206
206
  } else {
207
- oStaticConfiguration.rows = aResolvedRows;
207
+ oStaticConfiguration.groups = [
208
+ {
209
+ rows: aResolvedRows
210
+ }
211
+ ];
208
212
  }
209
213
 
210
214
  return oStaticConfiguration;
@@ -400,14 +404,15 @@ sap.ui.define([
400
404
  var oSrc = BindingHelper.formattedProperty(oColumn.icon.src, function (sValue) {
401
405
  return this._oIconFormatter.formatSrc(sValue);
402
406
  }.bind(this));
407
+ var vInitials = oColumn.icon.initials || oColumn.icon.text;
403
408
 
404
409
  return new Avatar({
405
410
  src: oSrc,
406
411
  displayShape: oColumn.icon.shape,
407
412
  displaySize: oColumn.icon.size || AvatarSize.XS,
408
413
  tooltip: oColumn.icon.alt,
409
- initials: oColumn.icon.text,
410
- backgroundColor: oColumn.icon.backgroundColor || (oColumn.icon.text ? undefined : AvatarColor.Transparent)
414
+ initials: vInitials,
415
+ backgroundColor: oColumn.icon.backgroundColor || (vInitials ? undefined : AvatarColor.Transparent)
411
416
  }).addStyleClass("sapFCardIcon");
412
417
  }
413
418
 
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.integration.cards.BaseListContent
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.105.1
39
+ * @version 1.107.0
40
40
  *
41
41
  * @constructor
42
42
  * @experimental
@@ -26,11 +26,18 @@ sap.ui.define(["./BaseContentRenderer"], function (BaseContentRenderer) {
26
26
  return this.DEFAULT_MIN_HEIGHT;
27
27
  }
28
28
 
29
- var bIsCompact = this.isCompact(oContent),
30
- iItemHeight = bIsCompact ? 4 : 5; // timeline item height in "rem"
29
+ var iItemHeight = this.getItemMinHeight(oConfiguration, oContent);
31
30
 
32
31
  return (iMaxItems * iItemHeight) + "rem";
33
32
  };
34
33
 
34
+ TimelineContentRenderer.getItemMinHeight = function (oConfiguration, oControl) {
35
+ if (!oConfiguration || !oConfiguration.item) {
36
+ return 0;
37
+ }
38
+
39
+ return oConfiguration.item.ownerImage ? 7 : 5.625;
40
+ };
41
+
35
42
  return TimelineContentRenderer;
36
43
  });