@openui5/sap.ui.integration 1.99.0 → 1.100.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 (291) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +3 -3
  3. package/src/sap/ui/integration/.library +1 -1
  4. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  5. package/src/sap/ui/integration/Designtime.js +1 -1
  6. package/src/sap/ui/integration/Extension.js +1 -1
  7. package/src/sap/ui/integration/Host.js +17 -3
  8. package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
  9. package/src/sap/ui/integration/cards/AnalyticalContent.js +13 -1
  10. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +1 -1
  11. package/src/sap/ui/integration/cards/BaseContent.js +1 -1
  12. package/src/sap/ui/integration/cards/BaseListContent.js +9 -4
  13. package/src/sap/ui/integration/cards/CalendarContent.js +8 -4
  14. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  15. package/src/sap/ui/integration/cards/Footer.js +1 -1
  16. package/src/sap/ui/integration/cards/Header.js +1 -1
  17. package/src/sap/ui/integration/cards/ListContent.js +1 -1
  18. package/src/sap/ui/integration/cards/NumericHeader.js +1 -1
  19. package/src/sap/ui/integration/cards/ObjectContent.js +69 -4
  20. package/src/sap/ui/integration/cards/TableContent.js +1 -1
  21. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  22. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  23. package/src/sap/ui/integration/cards/actions/CardActions.js +15 -7
  24. package/src/sap/ui/integration/cards/actions/HideCardAction.js +36 -0
  25. package/src/sap/ui/integration/cards/actions/ShowCardAction.js +74 -0
  26. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  31. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +3 -2
  33. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  37. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  38. package/src/sap/ui/integration/controls/ActionsToolbar.js +4 -3
  39. package/src/sap/ui/integration/controls/ListContentItem.js +1 -1
  40. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  41. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  42. package/src/sap/ui/integration/controls/Paginator.js +4 -2
  43. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +6 -4
  44. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  45. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  46. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n.properties +11 -2
  47. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +7 -1
  48. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +7 -1
  49. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +7 -1
  50. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +7 -1
  51. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +7 -1
  52. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +7 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +7 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +7 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +7 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +7 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +7 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saprigi.properties +25 -13
  59. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +7 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +7 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +7 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +7 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +7 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +7 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +7 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +7 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +7 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +7 -1
  69. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +7 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +7 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +7 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +7 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +7 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +7 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +7 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +7 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +7 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +7 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +7 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +7 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +7 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +7 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +7 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +7 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +7 -1
  86. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +7 -1
  87. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +7 -1
  88. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +7 -1
  89. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +7 -1
  90. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +7 -1
  91. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +7 -1
  92. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +7 -1
  93. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +7 -1
  94. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +7 -1
  95. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  96. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  97. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  98. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  99. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  100. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  101. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  102. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  103. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  104. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  105. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  106. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  107. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  108. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +11 -3
  109. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  110. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  111. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.fragment.xml +14 -0
  112. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +102 -0
  113. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  114. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  115. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  116. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +5 -2
  117. package/src/sap/ui/integration/designtime/baseEditor/util/StylesheetManager.js +1 -1
  118. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  119. package/src/sap/ui/integration/designtime/baseEditor/util/createPromise.js +1 -1
  120. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  121. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  122. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  123. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  124. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  125. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  126. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  127. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  128. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  129. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  130. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  131. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  132. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +2 -2
  133. package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +22 -21
  134. package/src/sap/ui/integration/designtime/cardEditor/config/index.js +3 -1
  135. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n.properties +6 -0
  136. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ar.properties +4 -0
  137. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_bg.properties +4 -0
  138. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ca.properties +4 -0
  139. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cs.properties +4 -0
  140. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cy.properties +4 -0
  141. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_da.properties +4 -0
  142. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_de.properties +4 -0
  143. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_el.properties +4 -0
  144. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en.properties +4 -0
  145. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_GB.properties +4 -0
  146. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_sappsd.properties +4 -0
  147. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saprigi.properties +48 -0
  148. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saptrc.properties +4 -0
  149. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es.properties +4 -0
  150. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es_MX.properties +4 -0
  151. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_et.properties +4 -0
  152. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fi.properties +4 -0
  153. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr.properties +4 -0
  154. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr_CA.properties +4 -0
  155. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hi.properties +4 -0
  156. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hr.properties +4 -0
  157. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hu.properties +4 -0
  158. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_id.properties +4 -0
  159. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_it.properties +4 -0
  160. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_iw.properties +4 -0
  161. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ja.properties +4 -0
  162. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_kk.properties +4 -0
  163. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ko.properties +4 -0
  164. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lt.properties +4 -0
  165. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lv.properties +4 -0
  166. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ms.properties +4 -0
  167. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_nl.properties +4 -0
  168. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_no.properties +4 -0
  169. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pl.properties +4 -0
  170. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt.properties +4 -0
  171. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt_PT.properties +4 -0
  172. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ro.properties +4 -0
  173. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ru.properties +4 -0
  174. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sh.properties +4 -0
  175. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sk.properties +4 -0
  176. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sl.properties +4 -0
  177. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sv.properties +4 -0
  178. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_th.properties +4 -0
  179. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_tr.properties +4 -0
  180. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +4 -0
  181. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_vi.properties +4 -0
  182. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_CN.properties +4 -0
  183. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_TW.properties +4 -0
  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 +1 -1
  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 +14 -3
  189. package/src/sap/ui/integration/designtime/editor/CardEditor.js +2 -2
  190. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  191. package/src/sap/ui/integration/editor/Editor.js +604 -219
  192. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  193. package/src/sap/ui/integration/editor/Extension.js +1 -1
  194. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  195. package/src/sap/ui/integration/editor/Settings.js +1 -1
  196. package/src/sap/ui/integration/editor/css/Editor.css +97 -4
  197. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  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/IntegerField.js +16 -2
  203. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  204. package/src/sap/ui/integration/editor/fields/ObjectField.js +1239 -0
  205. package/src/sap/ui/integration/editor/fields/ObjectListField.js +360 -0
  206. package/src/sap/ui/integration/editor/fields/StringField.js +3 -1
  207. package/src/sap/ui/integration/editor/fields/{ListField.js → StringListField.js} +57 -57
  208. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  209. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
  210. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  211. package/src/sap/ui/integration/formatters/InitialsFormatter.js +38 -0
  212. package/src/sap/ui/integration/library.js +17 -3
  213. package/src/sap/ui/integration/messagebundle.properties +72 -0
  214. package/src/sap/ui/integration/messagebundle_ar.properties +48 -0
  215. package/src/sap/ui/integration/messagebundle_bg.properties +48 -0
  216. package/src/sap/ui/integration/messagebundle_ca.properties +48 -0
  217. package/src/sap/ui/integration/messagebundle_cs.properties +48 -0
  218. package/src/sap/ui/integration/messagebundle_cy.properties +48 -0
  219. package/src/sap/ui/integration/messagebundle_da.properties +48 -0
  220. package/src/sap/ui/integration/messagebundle_de.properties +48 -0
  221. package/src/sap/ui/integration/messagebundle_el.properties +48 -0
  222. package/src/sap/ui/integration/messagebundle_en.properties +48 -0
  223. package/src/sap/ui/integration/messagebundle_en_GB.properties +48 -0
  224. package/src/sap/ui/integration/messagebundle_en_US_sappsd.properties +48 -0
  225. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +139 -55
  226. package/src/sap/ui/integration/messagebundle_en_US_saptrc.properties +48 -0
  227. package/src/sap/ui/integration/messagebundle_es.properties +48 -0
  228. package/src/sap/ui/integration/messagebundle_es_MX.properties +48 -0
  229. package/src/sap/ui/integration/messagebundle_et.properties +48 -0
  230. package/src/sap/ui/integration/messagebundle_fi.properties +48 -0
  231. package/src/sap/ui/integration/messagebundle_fr.properties +48 -0
  232. package/src/sap/ui/integration/messagebundle_fr_CA.properties +48 -0
  233. package/src/sap/ui/integration/messagebundle_hi.properties +48 -0
  234. package/src/sap/ui/integration/messagebundle_hr.properties +48 -0
  235. package/src/sap/ui/integration/messagebundle_hu.properties +48 -0
  236. package/src/sap/ui/integration/messagebundle_id.properties +48 -0
  237. package/src/sap/ui/integration/messagebundle_it.properties +48 -0
  238. package/src/sap/ui/integration/messagebundle_iw.properties +48 -0
  239. package/src/sap/ui/integration/messagebundle_ja.properties +48 -0
  240. package/src/sap/ui/integration/messagebundle_kk.properties +48 -0
  241. package/src/sap/ui/integration/messagebundle_ko.properties +48 -0
  242. package/src/sap/ui/integration/messagebundle_lt.properties +48 -0
  243. package/src/sap/ui/integration/messagebundle_lv.properties +48 -0
  244. package/src/sap/ui/integration/messagebundle_ms.properties +48 -0
  245. package/src/sap/ui/integration/messagebundle_nl.properties +48 -0
  246. package/src/sap/ui/integration/messagebundle_no.properties +48 -0
  247. package/src/sap/ui/integration/messagebundle_pl.properties +48 -0
  248. package/src/sap/ui/integration/messagebundle_pt.properties +48 -0
  249. package/src/sap/ui/integration/messagebundle_pt_PT.properties +48 -0
  250. package/src/sap/ui/integration/messagebundle_ro.properties +48 -0
  251. package/src/sap/ui/integration/messagebundle_ru.properties +48 -0
  252. package/src/sap/ui/integration/messagebundle_sh.properties +48 -0
  253. package/src/sap/ui/integration/messagebundle_sk.properties +48 -0
  254. package/src/sap/ui/integration/messagebundle_sl.properties +48 -0
  255. package/src/sap/ui/integration/messagebundle_sv.properties +48 -0
  256. package/src/sap/ui/integration/messagebundle_th.properties +48 -0
  257. package/src/sap/ui/integration/messagebundle_tr.properties +48 -0
  258. package/src/sap/ui/integration/messagebundle_uk.properties +48 -0
  259. package/src/sap/ui/integration/messagebundle_vi.properties +48 -0
  260. package/src/sap/ui/integration/messagebundle_zh_CN.properties +48 -0
  261. package/src/sap/ui/integration/messagebundle_zh_TW.properties +48 -0
  262. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  263. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  264. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  265. package/src/sap/ui/integration/sap-ui-integration-define-nojQuery.js +2 -1
  266. package/src/sap/ui/integration/schemas/sap-card.json +69 -9
  267. package/src/sap/ui/integration/themes/base/Footer.less +1 -0
  268. package/src/sap/ui/integration/themes/base/ObjectContent.less +16 -0
  269. package/src/sap/ui/integration/themes/base/Paginator.less +33 -11
  270. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  271. package/src/sap/ui/integration/util/BindingHelper.js +13 -6
  272. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  273. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +4 -30
  274. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  275. package/src/sap/ui/integration/util/ContentFactory.js +1 -1
  276. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  277. package/src/sap/ui/integration/util/DataProvider.js +1 -1
  278. package/src/sap/ui/integration/util/DataProviderFactory.js +8 -1
  279. package/src/sap/ui/integration/util/Destinations.js +4 -2
  280. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  281. package/src/sap/ui/integration/util/HeaderFactory.js +6 -1
  282. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  283. package/src/sap/ui/integration/util/LoadingProvider.js +3 -3
  284. package/src/sap/ui/integration/util/Manifest.js +7 -3
  285. package/src/sap/ui/integration/util/ManifestResolver.js +0 -1
  286. package/src/sap/ui/integration/util/RequestDataProvider.js +31 -5
  287. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  288. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  289. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  290. package/src/sap/ui/integration/util/Utils.js +1 -1
  291. package/src/sap/ui/integration/widgets/Card.js +172 -36
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  "sap/ui/base/Interface",
16
16
  "sap/ui/integration/Designtime",
17
17
  "sap/ui/model/json/JSONModel",
18
+ "sap/ui/model/odata/v4/ODataModel",
18
19
  "sap/ui/integration/util/Utils",
19
20
  "sap/ui/integration/util/Destinations",
20
21
  "sap/ui/integration/util/DataProviderFactory",
@@ -47,7 +48,9 @@ sap.ui.define([
47
48
  "sap/m/FlexItemData",
48
49
  "sap/m/FlexBox",
49
50
  "sap/m/Button",
50
- "sap/m/OverflowToolbar"
51
+ "sap/m/OverflowToolbar",
52
+ "sap/m/IconTabBar",
53
+ "sap/m/IconTabFilter"
51
54
  ], function (
52
55
  ui5loader,
53
56
  Control,
@@ -59,6 +62,7 @@ sap.ui.define([
59
62
  Interface,
60
63
  Designtime,
61
64
  JSONModel,
65
+ ODataModel,
62
66
  Utils,
63
67
  Destinations,
64
68
  DataProviderFactory,
@@ -91,7 +95,9 @@ sap.ui.define([
91
95
  FlexItemData,
92
96
  FlexBox,
93
97
  Button,
94
- OverflowToolbar
98
+ OverflowToolbar,
99
+ IconTabBar,
100
+ IconTabFilter
95
101
  ) {
96
102
  "use strict";
97
103
 
@@ -138,7 +144,7 @@ sap.ui.define([
138
144
  * @extends sap.ui.core.Control
139
145
  *
140
146
  * @author SAP SE
141
- * @version 1.99.0
147
+ * @version 1.100.0
142
148
  * @constructor
143
149
  * @since 1.94
144
150
  * @private
@@ -191,6 +197,14 @@ sap.ui.define([
191
197
  previewPosition:{
192
198
  type: "string",
193
199
  defaultValue: "right" // value can be "top", "bottom", "left", "right"
200
+ },
201
+ width: {
202
+ type: "sap.ui.core.CSSSize",
203
+ defaultValue: ""
204
+ },
205
+ height: {
206
+ type: "sap.ui.core.CSSSize",
207
+ defaultValue: ""
194
208
  }
195
209
  },
196
210
  aggregations: {
@@ -269,11 +283,11 @@ sap.ui.define([
269
283
  //render items
270
284
  if (aItems) {
271
285
  var oPanel;
272
- var oSubPanel;
286
+ var oSubGroup;
273
287
  var oLanguagePanel;
274
288
  var oLabelItemForNotWrapping;
275
289
  var oColFields = [];
276
- var oColFieldsOfSubPanel = [];
290
+ var oColFieldsOfSubGroup = [];
277
291
  var oOriginalField;
278
292
  var addColFields = function () {
279
293
  if (oColFields.length > 0) {
@@ -289,18 +303,18 @@ sap.ui.define([
289
303
  oColFields = [];
290
304
  }
291
305
  };
292
- var addColFieldsOfSubPanel = function () {
293
- if (oColFieldsOfSubPanel.length > 0) {
294
- var iLess = 2 - oColFieldsOfSubPanel.length;
306
+ var addColFieldsOfSubGroup = function () {
307
+ if (oColFieldsOfSubGroup.length > 0) {
308
+ var iLess = 2 - oColFieldsOfSubGroup.length;
295
309
  for (var n = 0; n < iLess; n++) {
296
- oColFieldsOfSubPanel.push(new VBox());
310
+ oColFieldsOfSubGroup.push(new VBox());
297
311
  }
298
- oSubPanel.addContent(new FlexBox({
312
+ oSubGroup.addContent(new FlexBox({
299
313
  alignItems: "Start",
300
314
  justifyContent: "SpaceBetween",
301
- items: oColFieldsOfSubPanel
315
+ items: oColFieldsOfSubGroup
302
316
  }));
303
- oColFieldsOfSubPanel = [];
317
+ oColFieldsOfSubGroup = [];
304
318
  }
305
319
  };
306
320
  var renderPanel = function (oPanel) {
@@ -319,42 +333,95 @@ sap.ui.define([
319
333
  }
320
334
  }
321
335
  };
322
- var addSubPanel = function (oPanel, oSubPanel) {
323
- if (oPanel && oSubPanel.getContent().length > 0) {
324
- var aContents = oSubPanel.getContent();
336
+ var addSubPanel = function (oPanel, oSubGroup) {
337
+ if (oPanel && oSubGroup.getContent().length > 0) {
338
+ var aContents = oSubGroup.getContent();
325
339
  if (aContents[0].isA("sap.m.MessageStrip")) {
326
- oSubPanel.removeContent(0);
327
- oSubPanel.addContent(aContents[0]);
340
+ oSubGroup.removeContent(0);
341
+ oSubGroup.addContent(aContents[0]);
328
342
  }
329
- oPanel.addContent(oSubPanel);
330
- if (oSubPanel._messageStrip) {
331
- oPanel.addContent(oSubPanel._messageStrip);
343
+ oPanel.addContent(oSubGroup);
344
+ if (oSubGroup._messageStrip) {
345
+ oPanel.addContent(oSubGroup._messageStrip);
332
346
  }
333
347
  } else {
334
- oSubPanel = null;
348
+ oSubGroup = null;
349
+ }
350
+ };
351
+ var addSubTab = function (oPanel, oSubGroup) {
352
+ var oSubItems = oPanel.getContent(),
353
+ oIconTabBar;
354
+ if (oSubItems.length > 0) {
355
+ for (var m = 0; m < oSubItems.length; m++) {
356
+ if (oSubItems[m].isA("sap.m.IconTabBar")) {
357
+ oIconTabBar = oSubItems[m];
358
+ }
359
+ }
360
+ }
361
+ if (oIconTabBar && oSubGroup.getContent().length > 0) {
362
+ oIconTabBar.addItem(oSubGroup);
335
363
  }
336
364
  };
337
365
  for (var i = 0; i < aItems.length; i++) {
338
366
  var oItem = aItems[i];
339
367
  if (oControl.getMode() !== "translation") {
340
- if (oItem.isA("sap.m.Panel")) {
341
- if (oSubPanel) {
368
+ if (oItem.isA("sap.m.Panel") || oItem.isA("sap.m.IconTabBar")) {
369
+ if (oSubGroup) {
342
370
  //add current col fields to previous sub panel, then empty the col fields list
343
- addColFieldsOfSubPanel();
344
- //add sub panel to panel
345
- addSubPanel(oPanel, oSubPanel);
371
+ addColFieldsOfSubGroup();
372
+ //add sub group to panel
373
+ if (oItem.isA("sap.m.Panel") && oSubGroup.isA("sap.m.Panel")) {
374
+ addSubPanel(oPanel, oSubGroup);
375
+ } else {
376
+ addSubTab(oPanel, oSubGroup);
377
+ }
378
+ }
379
+ var oItemLevel = 0;
380
+ if (oItem.isA("sap.m.Panel")) {
381
+ oItemLevel = oItem._level;
382
+ } else if (oItem.isA("sap.m.IconTabBar")) {
383
+ oItemLevel = oItem.getItems()[0]._level;
346
384
  }
347
- if (oItem._level === "1") {
348
- oSubPanel = oItem;
349
- oSubPanel._subItems = [];
350
- oSubPanel.addStyleClass("sapUiIntegrationEditorSubPanel");
385
+ if (oItemLevel === "1") {
386
+ if (oColFields.length > 0) {
387
+ addColFields();
388
+ // renderPanel(oPanel);
389
+ }
390
+ if (oItem.isA("sap.m.IconTabBar")) {
391
+ var subItems = oPanel.getContent(),
392
+ iconTabBarExist = false;
393
+ if (subItems.length > 0) {
394
+ for (var j = 0; j < subItems.length; j++) {
395
+ if (subItems[j].isA("sap.m.IconTabBar")) {
396
+ iconTabBarExist = true;
397
+ }
398
+ }
399
+ }
400
+ if (!iconTabBarExist) {
401
+ oSubGroup = oItem.getItems()[0];
402
+ oSubGroup._subItems = [];
403
+ oItem.removeItem(oItem.getItems()[0]);
404
+ if (oItem.isA("sap.m.IconTabBar") && oItem._messageStrip) {
405
+ oPanel.addContent(oItem._messageStrip);
406
+ }
407
+ oItem.addStyleClass("sapUiIntegrationEditorSubTab");
408
+ oPanel.addContent(oItem);
409
+ } else {
410
+ oSubGroup = oItem.getItems()[0];
411
+ oSubGroup._subItems = [];
412
+ }
413
+ } else {
414
+ oSubGroup = oItem;
415
+ oSubGroup._subItems = [];
416
+ oSubGroup.addStyleClass("sapUiIntegrationEditorSubGroup");
417
+ }
351
418
  } else {
352
419
  if (oPanel) {
353
420
  //add current col fields to previous panel, then empty the col fields list
354
421
  addColFields();
355
422
  //render previous panel
356
423
  renderPanel(oPanel);
357
- oSubPanel = null;
424
+ oSubGroup = null;
358
425
  }
359
426
  oPanel = oItem;
360
427
  oPanel._subItems = [];
@@ -369,17 +436,17 @@ sap.ui.define([
369
436
  }
370
437
  // add style class for the hint under group and checkbox/toggle
371
438
  if (oItem.isA("sap.m.FormattedText")) {
372
- if (oSubPanel) {
373
- oSubPanel.addContent(oItem.addStyleClass("sapUiIntegrationEditorHint"));
439
+ if (oSubGroup) {
440
+ oSubGroup.addContent(oItem.addStyleClass("sapUiIntegrationEditorHint"));
374
441
  } else {
375
442
  oPanel.addContent(oItem.addStyleClass("sapUiIntegrationEditorHint"));
376
443
  }
377
444
  if (i === aItems.length - 1) {
378
- if (oSubPanel) {
445
+ if (oSubGroup) {
379
446
  //add current col fields to previous sub panel, then empty the col fields list
380
- addColFieldsOfSubPanel();
447
+ addColFieldsOfSubGroup();
381
448
  //add sub panel to panel
382
- addSubPanel(oPanel, oSubPanel);
449
+ addSubPanel(oPanel, oSubGroup);
383
450
  }
384
451
  //add current col fields to panel, then empty the col fields list
385
452
  addColFields();
@@ -400,18 +467,18 @@ sap.ui.define([
400
467
  //if cols === 1 and reach the col size, add the col fields to panel, then empty the col fields list
401
468
  //if cols === 2, add the col fields to panel, then empty the col fields list
402
469
  if (oItem._cols === 2) {
403
- if (oSubPanel) {
404
- addColFieldsOfSubPanel();
470
+ if (oSubGroup) {
471
+ addColFieldsOfSubGroup();
405
472
  } else {
406
473
  addColFields();
407
474
  }
408
- } else if (oColFieldsOfSubPanel.length === 2) {
409
- addColFieldsOfSubPanel();
475
+ } else if (oColFieldsOfSubGroup.length === 2) {
476
+ addColFieldsOfSubGroup();
410
477
  } else if (oColFields.length === 2) {
411
478
  addColFields();
412
479
  }
413
- if (oSubPanel) {
414
- oSubPanel.addContent(oItem);
480
+ if (oSubGroup) {
481
+ oSubGroup.addContent(oItem);
415
482
  } else {
416
483
  oPanel.addContent(oItem);
417
484
  }
@@ -422,9 +489,9 @@ sap.ui.define([
422
489
  } else {
423
490
  oItem.addStyleClass("sapUiIntegrationEditorSpacerWithoutLine");
424
491
  }
425
- if (oSubPanel) {
426
- addColFieldsOfSubPanel();
427
- oSubPanel.addContent(oItem);
492
+ if (oSubGroup) {
493
+ addColFieldsOfSubGroup();
494
+ oSubGroup.addContent(oItem);
428
495
  } else {
429
496
  addColFields();
430
497
  oPanel.addContent(oItem);
@@ -544,11 +611,11 @@ sap.ui.define([
544
611
  ]
545
612
  });
546
613
  }
547
- //render lable and field for NotWrapping parameter
614
+ //render label and field for NotWrapping parameter
548
615
  if (oItem._cols === 1) {
549
- if (oSubPanel) {
550
- if (oColFieldsOfSubPanel.length === 2) {
551
- addColFieldsOfSubPanel();
616
+ if (oSubGroup) {
617
+ if (oColFieldsOfSubGroup.length === 2) {
618
+ addColFieldsOfSubGroup();
552
619
  }
553
620
  if (oConfig.hint) {
554
621
  var oHint = oControl._createHint(oConfig.hint);
@@ -559,10 +626,10 @@ sap.ui.define([
559
626
  ]
560
627
  });
561
628
  oColVBox.addStyleClass("col1");
562
- oColFieldsOfSubPanel.push(oColVBox);
629
+ oColFieldsOfSubGroup.push(oColVBox);
563
630
  } else {
564
631
  oHBox.addStyleClass("col1");
565
- oColFieldsOfSubPanel.push(oHBox);
632
+ oColFieldsOfSubGroup.push(oHBox);
566
633
  }
567
634
  } else {
568
635
  if (oColFields.length === 2) {
@@ -583,9 +650,9 @@ sap.ui.define([
583
650
  oColFields.push(oHBox);
584
651
  }
585
652
  }
586
- } else if (oSubPanel) {
587
- addColFieldsOfSubPanel();
588
- oSubPanel.addContent(oHBox);
653
+ } else if (oSubGroup) {
654
+ addColFieldsOfSubGroup();
655
+ oSubGroup.addContent(oHBox);
589
656
  } else {
590
657
  addColFields();
591
658
  oPanel.addContent(oHBox);
@@ -593,8 +660,8 @@ sap.ui.define([
593
660
  oLabelItemForNotWrapping = null;
594
661
  } else {
595
662
  var oLabel;
596
- if (oSubPanel) {
597
- oLabel = oSubPanel.getContent().pop();
663
+ if (oSubGroup) {
664
+ oLabel = oSubGroup.getContent().pop();
598
665
  } else {
599
666
  oLabel = oPanel.getContent().pop();
600
667
  }
@@ -631,21 +698,21 @@ sap.ui.define([
631
698
  oColVBox.addItem(oHint.addStyleClass("sapUiIntegrationEditorHint"));
632
699
  }
633
700
  oColVBox.addStyleClass("col1");
634
- if (oSubPanel) {
635
- oColFieldsOfSubPanel.push(oColVBox);
701
+ if (oSubGroup) {
702
+ oColFieldsOfSubGroup.push(oColVBox);
636
703
  } else {
637
704
  oColFields.push(oColVBox);
638
705
  }
639
- } else if (oSubPanel) {
640
- oSubPanel.addContent(oLabelFlexBox);
641
- oSubPanel.addContent(oItem);
706
+ } else if (oSubGroup) {
707
+ oSubGroup.addContent(oLabelFlexBox);
708
+ oSubGroup.addContent(oItem);
642
709
  } else {
643
710
  oPanel.addContent(oLabelFlexBox);
644
711
  oPanel.addContent(oItem);
645
712
  }
646
713
  }
647
- if (oSubPanel) {
648
- oSubPanel._subItems.push({
714
+ if (oSubGroup) {
715
+ oSubGroup._subItems.push({
649
716
  "settingspath": oItem.getConfiguration()._settingspath,
650
717
  "itemId": oItem.getId()
651
718
  });
@@ -656,11 +723,15 @@ sap.ui.define([
656
723
  });
657
724
  }
658
725
  if (i === aItems.length - 1) {
659
- if (oSubPanel) {
726
+ if (oSubGroup) {
660
727
  //add current col fields to previous sub panel, then empty the col fields list
661
- addColFieldsOfSubPanel();
728
+ addColFieldsOfSubGroup();
662
729
  //add sub panel to panel
663
- addSubPanel(oPanel, oSubPanel);
730
+ if (oSubGroup.isA("sap.m.Panel")) {
731
+ addSubPanel(oPanel, oSubGroup);
732
+ } else {
733
+ addSubTab(oPanel, oSubGroup);
734
+ }
664
735
  }
665
736
  //add current col fields to panel, then empty the col fields list
666
737
  addColFields();
@@ -674,22 +745,60 @@ sap.ui.define([
674
745
  oLanguagePanel.addStyleClass("sapUiIntegrationEditorTranslationPanel");
675
746
  continue;
676
747
  }
677
- if (oItem.isA("sap.m.Panel")) {
678
- if (oSubPanel) {
748
+ if (oItem.isA("sap.m.Panel") || oItem.isA("sap.m.IconTabBar")) {
749
+ if (oSubGroup) {
679
750
  //add sub panel to panel
680
- addSubPanel(oPanel, oSubPanel);
751
+ if (oItem.isA("sap.m.Panel") && oSubGroup.isA("sap.m.Panel")) {
752
+ addSubPanel(oPanel, oSubGroup);
753
+ } else {
754
+ addSubTab(oPanel, oSubGroup);
755
+ }
756
+ }
757
+ var tItemLevel = 0;
758
+ if (oItem.isA("sap.m.Panel")) {
759
+ tItemLevel = oItem._level;
760
+ } else if (oItem.isA("sap.m.IconTabBar")) {
761
+ if (oItem.getItems().length > 0 && oItem.getItems()[0]._level) {
762
+ tItemLevel = oItem.getItems()[0]._level;
763
+ }
681
764
  }
682
- if (oItem._level === "1") {
683
- oSubPanel = oItem;
684
- oSubPanel.addStyleClass("sapUiIntegrationEditorSubPanel");
765
+ if (tItemLevel === "1") {
766
+ if (oItem.isA("sap.m.IconTabBar")) {
767
+ if (i !== aItems.length - 1 || (i < aItems.length && (aItems[i].isA("sap.m.IconTabBar") || aItems[i].isA("sap.m.Panel")))) {
768
+ var tSubItems = oPanel.getContent(),
769
+ tIconTabBarExist = false;
770
+ if (tSubItems.length > 0) {
771
+ for (var l = 0; l < tSubItems.length; l++) {
772
+ if (tSubItems[l].isA("sap.m.IconTabBar")) {
773
+ tIconTabBarExist = true;
774
+ }
775
+ }
776
+ }
777
+ if (!tIconTabBarExist) {
778
+ oSubGroup = oItem.getItems()[0];
779
+ oItem.removeItem(oItem.getItems()[0]);
780
+ oPanel.addContent(oItem);
781
+ } else {
782
+ oSubGroup = oItem.getItems()[0];
783
+ }
784
+ }
785
+ } else {
786
+ oSubGroup = oItem;
787
+ oSubGroup.addStyleClass("sapUiIntegrationEditorSubGroup");
788
+ }
685
789
  } else {
686
- oSubPanel = null;
790
+ oSubGroup = null;
687
791
  //add sub panel if it has content into top panel
688
792
  if (oPanel && oPanel.getContent().length > 0) {
689
793
  oLanguagePanel.addContent(oPanel);
690
794
  }
691
795
  oPanel = oItem;
692
- oPanel.addStyleClass("sapUiIntegrationEditorSubPanel");
796
+ oPanel.addStyleClass("sapUiIntegrationEditorSubGroup");
797
+ }
798
+ if (i === aItems.length - 1) {
799
+ //add current col fields to panel, then empty the col fields list
800
+ addColFields();
801
+ renderPanel(oPanel);
693
802
  }
694
803
  continue;
695
804
  }
@@ -700,8 +809,8 @@ sap.ui.define([
700
809
  continue;
701
810
  }
702
811
  if (oItem.isA("sap.m.Label")) {
703
- if (oSubPanel) {
704
- oSubPanel.addContent(oItem);
812
+ if (oSubGroup) {
813
+ oSubGroup.addContent(oItem);
705
814
  } else {
706
815
  oPanel.addContent(oItem);
707
816
  }
@@ -720,15 +829,19 @@ sap.ui.define([
720
829
  oItem
721
830
  ]
722
831
  }).addStyleClass("notWrappingRow");
723
- if (oSubPanel) {
724
- oSubPanel.addContent(oHBox);
832
+ if (oSubGroup) {
833
+ oSubGroup.addContent(oHBox);
725
834
  } else {
726
835
  oPanel.addContent(oHBox);
727
836
  }
728
837
  if (i === aItems.length - 1) {
729
- if (oSubPanel) {
838
+ if (oSubGroup) {
730
839
  //add sub panel to panel
731
- addSubPanel(oPanel, oSubPanel);
840
+ if (oSubGroup.isA("sap.m.Panel")) {
841
+ addSubPanel(oPanel, oSubGroup);
842
+ } else {
843
+ addSubTab(oPanel, oSubGroup);
844
+ }
732
845
  }
733
846
  oLanguagePanel.addContent(oPanel);
734
847
  }
@@ -773,7 +886,7 @@ sap.ui.define([
773
886
  * @experimental since 1.94
774
887
  * @public
775
888
  * @author SAP SE
776
- * @version 1.99.0
889
+ * @version 1.100.0
777
890
  * @borrows sap.ui.integration.editor.Editor#getParameters as getParameters
778
891
  * @borrows sap.ui.integration.editor.Editor#resolveDestination as resolveDestination
779
892
  * @borrows sap.ui.integration.editor.Editor#request as request
@@ -1350,8 +1463,22 @@ sap.ui.define([
1350
1463
  if (oItem.valueItems) {
1351
1464
  mResult[oItem.manifestpath.substring(0, oItem.manifestpath.lastIndexOf("/")) + "/valueItems"] = oItem.valueItems;
1352
1465
  }
1353
- if (oItem.type !== "string" || !oItem.translatable) {
1354
- mResult[oItem.manifestpath] = oItem.value;
1466
+ switch (oItem.type) {
1467
+ case "string":
1468
+ if (!oItem.translatable) {
1469
+ mResult[oItem.manifestpath] = oItem.value;
1470
+ }
1471
+ break;
1472
+ case "group":
1473
+ break;
1474
+ case "object":
1475
+ case "object[]":
1476
+ if (oItem.value && oItem.value !== "") {
1477
+ mResult[oItem.manifestpath] = oItem.value;
1478
+ }
1479
+ break;
1480
+ default:
1481
+ mResult[oItem.manifestpath] = oItem.value;
1355
1482
  }
1356
1483
  }
1357
1484
  } else if (oItem.translatable && oItem.value) {
@@ -1591,12 +1718,14 @@ sap.ui.define([
1591
1718
  //map editors for a specific type
1592
1719
  Editor.fieldMap = {
1593
1720
  "string": "sap/ui/integration/editor/fields/StringField",
1721
+ "string[]": "sap/ui/integration/editor/fields/StringListField",
1594
1722
  "integer": "sap/ui/integration/editor/fields/IntegerField",
1595
1723
  "number": "sap/ui/integration/editor/fields/NumberField",
1596
1724
  "boolean": "sap/ui/integration/editor/fields/BooleanField",
1597
1725
  "date": "sap/ui/integration/editor/fields/DateField",
1598
1726
  "datetime": "sap/ui/integration/editor/fields/DateTimeField",
1599
- "string[]": "sap/ui/integration/editor/fields/ListField",
1727
+ "object": "sap/ui/integration/editor/fields/ObjectField",
1728
+ "object[]": "sap/ui/integration/editor/fields/ObjectListField",
1600
1729
  "destination": "sap/ui/integration/editor/fields/DestinationField"
1601
1730
  };
1602
1731
  Editor.Fields = null;
@@ -1838,6 +1967,10 @@ sap.ui.define([
1838
1967
  }.bind(this));
1839
1968
  }
1840
1969
  if (oConfig.values) {
1970
+ // load metadata
1971
+ if (oConfig.values.metadata) {
1972
+ this._addMetadataModel(oConfig, oField);
1973
+ }
1841
1974
  // for MultiInput used in string[] field with filter backend, do not request data when creating it
1842
1975
  if (oConfig.type === "string[]" && oField.isFilterBackend() && oConfig.visualization && oConfig.visualization.type === "MultiInput") {
1843
1976
  oField.setModel(new JSONModel({}), undefined);
@@ -1928,6 +2061,11 @@ sap.ui.define([
1928
2061
  } else {
1929
2062
  tResult = oData;
1930
2063
  }
2064
+ if (oConfig.type === "object" || oConfig.type === "object[]") {
2065
+ tResult.forEach(function (oResult) {
2066
+ oResult._editable = false;
2067
+ });
2068
+ }
1931
2069
  if (this.getMode() === "content" && oConfig.pageAdminValues && oConfig.pageAdminValues.length > 0) {
1932
2070
  var paValues = oConfig.pageAdminValues,
1933
2071
  selValues = oConfig.value,
@@ -1975,7 +2113,7 @@ sap.ui.define([
1975
2113
  oData = results;
1976
2114
  }
1977
2115
  }
1978
- //add group property "Selected" to each record for MultiComboBox in ListField
2116
+ //add group property "Selected" to each record for MultiComboBox in StringListField
1979
2117
  //user configration of the field since its value maybe changed
1980
2118
  var oFieldConfig = oField.getConfiguration();
1981
2119
  if (oConfig.type === "string[]") {
@@ -2018,6 +2156,9 @@ sap.ui.define([
2018
2156
  oValueModel.firePropertyChange();
2019
2157
  this._settingsModel.setProperty(oConfig._settingspath + "/_loading", false);
2020
2158
  oField._hideValueState(true, true);
2159
+ if (oConfig.type === "object" || oConfig.type === "object[]") {
2160
+ oField.mergeValueWithRequestResult(tResult);
2161
+ }
2021
2162
  }.bind(this)).catch(function (oError) {
2022
2163
  this._settingsModel.setProperty(oConfig._settingspath + "/_loading", false);
2023
2164
  var sError = this._oResourceBundle.getText("EDITOR_BAD_REQUEST");
@@ -2044,6 +2185,9 @@ sap.ui.define([
2044
2185
  }
2045
2186
  var oValueModel = oField.getModel();
2046
2187
  oValueModel.firePropertyChange();
2188
+ if (oConfig.type === "object" || oConfig.type === "object[]") {
2189
+ oField.mergeValueWithRequestResult();
2190
+ }
2047
2191
  oField._showValueState("error", sError, true);
2048
2192
  }.bind(this));
2049
2193
  };
@@ -2191,6 +2335,48 @@ sap.ui.define([
2191
2335
  }
2192
2336
  };
2193
2337
 
2338
+ /**
2339
+ * Creates a meta model if a values.metadata section exists in the configuration
2340
+ * @param {object} oConfig
2341
+ * @param {BaseField} oField
2342
+ */
2343
+ Editor.prototype._addMetadataModel = function (oConfig, oField) {
2344
+ if (oConfig.values && oConfig.values.metadata) {
2345
+ var oRequestDefaultParameters = {
2346
+ "synchronizationMode": "None"
2347
+ };
2348
+ oRequestDefaultParameters = merge(oRequestDefaultParameters, oConfig.values.metadata.request);
2349
+
2350
+ var oRequest = {
2351
+ url: oRequestDefaultParameters.serviceUrl
2352
+ };
2353
+ var pRequestChain = Promise.resolve(oRequest);
2354
+ if (this._oDestinations) {
2355
+ pRequestChain = this._oDestinations.process(oRequest);
2356
+ }
2357
+ pRequestChain.then(function(oData) {
2358
+ if (!oData.url.endsWith("/")) {
2359
+ oData.url = oData.url + "/";
2360
+ }
2361
+ oRequestDefaultParameters.serviceUrl = oData.url;
2362
+ var oMetaDataModel = new ODataModel(oRequestDefaultParameters);
2363
+ oMetaDataModel.oMetaModel.fetchData().then(function(oMetaData) {
2364
+ if (oConfig.type === "object" || oConfig.type === "object[]") {
2365
+ var sPath = oConfig.values.metadata.namespace + "." + oConfig.values.metadata.entityTypeName;
2366
+ oMetaData[sPath] = Object.assign(oMetaData[sPath], {
2367
+ _Actions: {
2368
+ $kind: 'Property',
2369
+ $Type: 'Actions',
2370
+ $MaxLength: 15
2371
+ }
2372
+ });
2373
+ }
2374
+ oField.setModel(new JSONModel(oMetaData), "meta");
2375
+ });
2376
+ });
2377
+ }
2378
+ };
2379
+
2194
2380
  Editor.prototype._createDependentFields = function (oConfig, oField) {
2195
2381
  if (oConfig.values) {
2196
2382
  var sData = JSON.stringify(oConfig.values.data);
@@ -2242,12 +2428,62 @@ sap.ui.define([
2242
2428
  return oProperty[sKey];
2243
2429
  };
2244
2430
 
2431
+ Editor.prototype._handleITBValidation = function (oEditor, sItem, sErrorType) {
2432
+ var oResourceBundle = oEditor._oResourceBundle;
2433
+ if (sItem.getItems().length > 0 && sItem._oExpandButton) {
2434
+ var expandBTN = sItem._oExpandButton;
2435
+ var errorMSG = null;
2436
+ if (sErrorType === "Error") {
2437
+ errorMSG = oResourceBundle.getText("EDITOR_GROUP_ERRORS");
2438
+ expandBTN.setIcon("sap-icon://message-error");
2439
+ expandBTN.addStyleClass("errorBTNImage");
2440
+ } else if (sErrorType === "Warning") {
2441
+ errorMSG = oResourceBundle.getText("EDITOR_GROUP_WARNINGS");
2442
+ expandBTN.setIcon("sap-icon://message-warning");
2443
+ expandBTN.addStyleClass("warningBTNImage");
2444
+ }
2445
+ //remove expandButton addtional information
2446
+ expandBTN.setTooltip(null);
2447
+ expandBTN.addEventDelegate({
2448
+ onAfterRendering: function(oEvent) {
2449
+ var eExpandBTN = document.getElementById(expandBTN.getId());
2450
+ eExpandBTN.setAttribute("aria-label", "With validation errors");
2451
+ eExpandBTN.setAttribute("title", "");
2452
+ }
2453
+ });
2454
+ expandBTN.setEnabled(false);
2455
+ expandBTN.addStyleClass("errorBTN").addStyleClass("errorBTNDisabled");
2456
+ var iITBar = expandBTN.getParent().getParent().getParent();
2457
+ var iMessageStrip = Core.byId(iITBar.getId() + "_strip");
2458
+ expandBTN.addEventDelegate({
2459
+ onmouseover: function() {
2460
+ iMessageStrip.setVisible(true);
2461
+ iMessageStrip.setType(sErrorType);
2462
+ iMessageStrip.setText(errorMSG);
2463
+ },
2464
+ onmouseout: function() {
2465
+ iMessageStrip.setVisible(false);
2466
+ }
2467
+ }, oEditor);
2468
+ }
2469
+ };
2470
+
2471
+ Editor.prototype._delayHandleITBValidation = function(oEditor,oItem, sErrorType) {
2472
+ var checkExpandBTNExist = setInterval(function() {
2473
+ if (oItem._oExpandButton) {
2474
+ oEditor._handleITBValidation(oEditor, oItem, sErrorType);
2475
+ clearInterval(checkExpandBTNExist);
2476
+ }
2477
+ }, 50);
2478
+ };
2479
+
2245
2480
  /**
2246
2481
  * Adds an item to the _formContent aggregation based on the config settings
2247
2482
  * @param {} oConfig
2248
2483
  */
2249
- Editor.prototype._addItem = function (oConfig) {
2250
- var sMode = this.getMode();
2484
+ Editor.prototype._addItem = function (oConfig) {
2485
+ var sMode = this.getMode(),
2486
+ that = this;
2251
2487
  //force to turn off features for settings and dynamic values and set the default if not configured
2252
2488
  if (this.getAllowDynamicValues() === false || !oConfig.allowDynamicValues) {
2253
2489
  oConfig.allowDynamicValues = false;
@@ -2261,154 +2497,275 @@ sap.ui.define([
2261
2497
  if (oConfig.visible === false || (!oConfig.translatable && sMode === "translation" && oConfig.type !== "group")) {
2262
2498
  return;
2263
2499
  }
2500
+ //display subPanel as iconTabBar or Panel
2264
2501
  if (oConfig.type === "group") {
2265
2502
  oConfig.expanded = oConfig.expanded !== false;
2266
- var oPanel = new Panel({
2267
- headerText: oConfig.label,
2268
- visible: oConfig.visible,
2269
- expandable: oConfig.expandable !== false,
2270
- expanded: "{currentSettings>expanded}",
2271
- width: "auto",
2272
- backgroundDesign: "Transparent",
2273
- objectBindings: {
2274
- currentSettings: {
2275
- path: "currentSettings>" + oConfig._settingspath
2276
- },
2277
- items: {
2278
- path: "items>/form/items"
2503
+ if (oConfig.visualization && oConfig.visualization.type === "Tab") {
2504
+ var oIconTabBar = new IconTabBar({
2505
+ expandable: oConfig.expandable !== false,
2506
+ expanded: "{currentSettings>expanded}",
2507
+ objectBindings: {
2508
+ currentSettings: {
2509
+ path: "currentSettings>" + oConfig._settingspath
2510
+ },
2511
+ items: {
2512
+ path: "items>/form/items"
2513
+ },
2514
+ context: {
2515
+ path: "context>/"
2516
+ }
2279
2517
  },
2280
- context: {
2281
- path: "context>/"
2282
- }
2283
- },
2284
- expand: function (oEvent) {
2285
- var oControl = oEvent.getSource();
2286
- var bExpand = oEvent.getParameter("expand");
2287
- // handle error message strip for field
2288
- var oMessageStrip = oControl._level === "1" ? oControl.getParent().getParent().getAggregation("_messageStrip") : oControl.getParent().getAggregation("_messageStrip");
2289
- if (oMessageStrip === null) {
2290
- oMessageStrip = Core.byId(MessageStripId);
2291
- }
2292
- if (!bExpand && oControl._level === "1") {
2293
- oControl.getParent().addContent(oMessageStrip);
2294
- oControl.getParent().focus();
2295
- } else {
2296
- oControl.addContent(oMessageStrip);
2297
- oControl.focus();
2298
- }
2299
- // handle error message for panel
2300
- if (!bExpand && oControl._subItems && oControl._subItems.length > 0) {
2301
- var oCurrentSettingsModel = oControl.getModel("currentSettings");
2302
- var bHasError = false;
2303
- var sErrorType = "None";
2304
- for (var i = 0; i < oControl._subItems.length; i++) {
2305
- var sSettingsPath = oControl._subItems[i].settingspath;
2306
- var oItem = Core.byId(oControl._subItems[i].itemId);
2307
- if (oCurrentSettingsModel.getProperty(sSettingsPath + "/hasError") === true && oItem.getVisible()) {
2308
- bHasError = true;
2309
- var sType = oCurrentSettingsModel.getProperty(sSettingsPath + "/errorType");
2310
- if (sType === "Error") {
2311
- sErrorType = "Error";
2312
- break;
2313
- } else if (sType === "Warning" && sErrorType !== "Error") {
2314
- sErrorType = "Warning";
2518
+ select: function (oEvent) {
2519
+ var oControl = oEvent.getSource(),
2520
+ oSelectITFKey = oControl.getSelectedKey(),
2521
+ aItems = oControl.getItems(),
2522
+ vExpanded = oControl.getExpanded(),
2523
+ vShowErrors = false;
2524
+ for (var n = 0; n < aItems.length; n++) {
2525
+ if (!vExpanded) {
2526
+ vShowErrors = true;
2527
+ } else if (aItems[n].getId() !== oSelectITFKey) {
2528
+ vShowErrors = true;
2529
+ } else if (aItems[n].getId() === oSelectITFKey) {
2530
+ vShowErrors = false;
2531
+ }
2532
+ if (vShowErrors) {
2533
+ var bHasError = false,
2534
+ sErrorType = "None";
2535
+ if (aItems[n]._subItems && aItems[n]._subItems.length > 0) {
2536
+ var oCurrentSettingsModel = aItems[n].getModel("currentSettings");
2537
+ for (var i = 0; i < aItems[n]._subItems.length; i++) {
2538
+ var sSettingsPath = aItems[n]._subItems[i].settingspath;
2539
+ var oItem = Core.byId(aItems[n]._subItems[i].itemId);
2540
+ if (oCurrentSettingsModel.getProperty(sSettingsPath + "/hasError") === true && oItem.getVisible()) {
2541
+ bHasError = true;
2542
+ var sType = oCurrentSettingsModel.getProperty(sSettingsPath + "/errorType");
2543
+ if (sType === "Error") {
2544
+ sErrorType = "Error";
2545
+ break;
2546
+ } else if (sType === "Warning" && sErrorType !== "Error") {
2547
+ sErrorType = "Warning";
2548
+ }
2549
+ }
2550
+ }
2551
+ oCurrentSettingsModel.setProperty("hasError", bHasError, oControl.getBindingContext("currentSettings"));
2552
+ oCurrentSettingsModel.setProperty("errorType", sErrorType, oControl.getBindingContext("currentSettings"));
2553
+ }
2554
+ if (bHasError) {
2555
+ var vITF = new IconTabFilter(),
2556
+ aItem = aItems[n];
2557
+ if (aItem.getItems().length > 0) {
2558
+ aItem.removeAllItems();
2559
+ }
2560
+ aItem.addItem(vITF);
2561
+ that._handleITBValidation(that, aItem, sErrorType);
2562
+ if (aItem._oExpandButton === undefined) {
2563
+ that._delayHandleITBValidation(that, aItem, sErrorType);
2564
+ } else {
2565
+ that._handleITBValidation(that, aItem, sErrorType);
2566
+ }
2567
+ }
2568
+ } else if (aItems[n].getItems().length > 0) {
2569
+ aItems[n].removeItem(aItems[n].getItems()[0]);
2570
+ if (aItems[n]._oExpandButton) {
2571
+ aItems[n]._oExpandButton.visible = false;
2315
2572
  }
2573
+ //handle error message for fields
2574
+ var tMessageStrip = oControl.getParent().getParent().getAggregation("_messageStrip");
2575
+ if (tMessageStrip === null) {
2576
+ tMessageStrip = Core.byId(MessageStripId);
2577
+ }
2578
+ aItems[n].addContent(tMessageStrip);
2316
2579
  }
2317
2580
  }
2318
- oCurrentSettingsModel.setProperty("hasError", bHasError, oControl.getBindingContext("currentSettings"));
2319
- oCurrentSettingsModel.setProperty("errorType", sErrorType, oControl.getBindingContext("currentSettings"));
2320
2581
  }
2321
- }
2322
- });
2323
- if (sMode !== "translation") {
2324
- /*
2325
- var oMessage = new MessageStrip({
2326
- showIcon: false,
2327
- text: {
2328
- path: 'currentSettings>errorType',
2329
- formatter: function (errorType) {
2330
- var sPanelTitle = "";
2331
- switch (errorType) {
2332
- case "Error":
2333
- sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_ERRORS");
2334
- break;
2335
- case "Warning":
2336
- sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_WARNINGS");
2337
- break;
2338
- default:
2339
- }
2340
- return sPanelTitle;
2341
- }
2342
- },
2343
- type: "{currentSettings>errorType}",
2344
- visible: "{= !${currentSettings>expanded} && ${currentSettings>hasError} === true}"
2345
- }).addStyleClass("sapUiIntegrationEditorPanelMessageStrip");
2346
- var oHeaderToolbar = new OverflowToolbar({
2347
- content: [
2348
- new Title({
2349
- text: oConfig.label
2350
- }),
2351
- new Separator(),
2352
- oMessage
2353
- ]
2354
- }).addStyleClass("sapUiIntegrationEditorPanelHeader");
2355
- oPanel.setHeaderToolbar(oHeaderToolbar);
2356
- */
2357
- var oResourceBundle = this._oResourceBundle;
2358
- var oMessageStripOfPanel = new MessageStrip({
2359
- showIcon: false,
2360
- visible: "{= !${currentSettings>expanded} && ${currentSettings>hasError} === true}",
2361
- text: {
2362
- path: 'currentSettings>errorType',
2363
- formatter: function (errorType) {
2364
- var sPanelTitle = "";
2365
- switch (errorType) {
2366
- case "Error":
2367
- sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_ERRORS");
2368
- break;
2369
- case "Warning":
2370
- sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_WARNINGS");
2371
- break;
2372
- default:
2373
- }
2374
- return sPanelTitle;
2375
- }
2376
- },
2377
- type: "{currentSettings>errorType}",
2582
+ });
2583
+ var oIconTabFilter = new IconTabFilter({
2584
+ text: oConfig.label,
2585
+ visible: oConfig.visible,
2378
2586
  objectBindings: {
2379
2587
  currentSettings: {
2380
2588
  path: "currentSettings>" + oConfig._settingspath
2589
+ },
2590
+ items: {
2591
+ path: "items>/form/items"
2592
+ },
2593
+ context: {
2594
+ path: "context>/"
2381
2595
  }
2382
2596
  }
2383
2597
  });
2384
- if (oConfig.level !== "1") {
2385
- oMessageStripOfPanel.setModel(this._settingsModel, "currentSettings");
2598
+ oIconTabBar.addItem(oIconTabFilter);
2599
+ oIconTabBar.setBackgroundDesign("Transparent");
2600
+ oIconTabBar.setHeaderBackgroundDesign("Transparent");
2601
+ // oIconTabBar.setHeaderBackgroundDesign("Solid");
2602
+ oIconTabBar.addStyleClass("sapUiIntegrationEditorSubGroup");
2603
+ // oIconTabBar.addStyleClass("sapUiIntegrationEditorSubGroup").addStyleClass("cardEditorIconTabBarBG");
2604
+ // handle messageStrip for tab filter
2605
+ if (sMode !== "translation") {
2606
+ var oMessageStripOfTab = new MessageStrip({
2607
+ id: oIconTabBar.getId() + "_strip",
2608
+ showIcon: false,
2609
+ visible: false
2610
+ });
2611
+ oMessageStripOfTab.addStyleClass("sapUiIntegrationEditorTabMessageStrip");
2612
+ oIconTabBar._messageStrip = oMessageStripOfTab;
2386
2613
  }
2387
- oMessageStripOfPanel.addStyleClass("sapUiIntegrationEditorPanelMessageStrip");
2388
- oPanel._messageStrip = oMessageStripOfPanel;
2389
- }/* else {
2390
- oPanel.setHeaderText(oConfig.label);
2391
- }*/
2392
- this.addAggregation("_formContent", oPanel);
2393
- oPanel._cols = oConfig.cols || 2; //by default 2 cols
2394
- oPanel._level = oConfig.level || 0; //by default 0 level
2395
- if (oConfig.hint) {
2396
- this._addHint(oConfig.hint);
2397
- }
2398
- //add "aria-label" for each panel to make the landmark uniquely
2399
- var oDelegate = {
2400
- onAfterRendering: function(oEvent) {
2401
- var ePanel = document.getElementById(oPanel.getId());
2402
- ePanel.setAttribute("aria-label", oConfig.label);
2403
- var oControl = oEvent.srcControl;
2404
- var oMessageStrip = oControl._messageStrip;
2405
- if (oControl._level !== "1" && oMessageStrip) {
2406
- oMessageStrip.rerender();
2614
+ this.addAggregation("_formContent", oIconTabBar);
2615
+ // oIconTabFilter._cols = oConfig.cols || 2; //by default 2 cols
2616
+ oIconTabFilter._level = oConfig.level || 0; //by default 0 level
2617
+ if (oConfig.hint) {
2618
+ this._addHint(oConfig.hint);
2619
+ }
2620
+ return;
2621
+ } else {
2622
+ var oPanel = new Panel({
2623
+ headerText: oConfig.label,
2624
+ visible: oConfig.visible,
2625
+ expandable: oConfig.expandable !== false,
2626
+ expanded: "{currentSettings>expanded}",
2627
+ width: "auto",
2628
+ backgroundDesign: "Transparent",
2629
+ objectBindings: {
2630
+ currentSettings: {
2631
+ path: "currentSettings>" + oConfig._settingspath
2632
+ },
2633
+ items: {
2634
+ path: "items>/form/items"
2635
+ },
2636
+ context: {
2637
+ path: "context>/"
2638
+ }
2639
+ },
2640
+ expand: function (oEvent) {
2641
+ var oControl = oEvent.getSource();
2642
+ var bExpand = oEvent.getParameter("expand");
2643
+ // handle error message strip for field
2644
+ var oMessageStrip = oControl._level === "1" ? oControl.getParent().getParent().getAggregation("_messageStrip") : oControl.getParent().getAggregation("_messageStrip");
2645
+ if (oMessageStrip === null) {
2646
+ oMessageStrip = Core.byId(MessageStripId);
2647
+ }
2648
+ if (!bExpand && oControl._level === "1") {
2649
+ oControl.getParent().addContent(oMessageStrip);
2650
+ oControl.getParent().focus();
2651
+ } else {
2652
+ oControl.addContent(oMessageStrip);
2653
+ oControl.focus();
2654
+ }
2655
+ // handle error message for panel
2656
+ if (!bExpand && oControl._subItems && oControl._subItems.length > 0) {
2657
+ var oCurrentSettingsModel = oControl.getModel("currentSettings");
2658
+ var bHasError = false;
2659
+ var sErrorType = "None";
2660
+ for (var i = 0; i < oControl._subItems.length; i++) {
2661
+ var sSettingsPath = oControl._subItems[i].settingspath;
2662
+ var oItem = Core.byId(oControl._subItems[i].itemId);
2663
+ if (oCurrentSettingsModel.getProperty(sSettingsPath + "/hasError") === true && oItem.getVisible()) {
2664
+ bHasError = true;
2665
+ var sType = oCurrentSettingsModel.getProperty(sSettingsPath + "/errorType");
2666
+ if (sType === "Error") {
2667
+ sErrorType = "Error";
2668
+ break;
2669
+ } else if (sType === "Warning" && sErrorType !== "Error") {
2670
+ sErrorType = "Warning";
2671
+ }
2672
+ }
2673
+ }
2674
+ oCurrentSettingsModel.setProperty("hasError", bHasError, oControl.getBindingContext("currentSettings"));
2675
+ oCurrentSettingsModel.setProperty("errorType", sErrorType, oControl.getBindingContext("currentSettings"));
2676
+ }
2407
2677
  }
2678
+ });
2679
+ if (sMode !== "translation") {
2680
+ /*
2681
+ var oMessage = new MessageStrip({
2682
+ showIcon: false,
2683
+ text: {
2684
+ path: 'currentSettings>errorType',
2685
+ formatter: function (errorType) {
2686
+ var sPanelTitle = "";
2687
+ switch (errorType) {
2688
+ case "Error":
2689
+ sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_ERRORS");
2690
+ break;
2691
+ case "Warning":
2692
+ sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_WARNINGS");
2693
+ break;
2694
+ default:
2695
+ }
2696
+ return sPanelTitle;
2697
+ }
2698
+ },
2699
+ type: "{currentSettings>errorType}",
2700
+ visible: "{= !${currentSettings>expanded} && ${currentSettings>hasError} === true}"
2701
+ }).addStyleClass("sapUiIntegrationEditorPanelMessageStrip");
2702
+ var oHeaderToolbar = new OverflowToolbar({
2703
+ content: [
2704
+ new Title({
2705
+ text: oConfig.label
2706
+ }),
2707
+ new Separator(),
2708
+ oMessage
2709
+ ]
2710
+ }).addStyleClass("sapUiIntegrationEditorPanelHeader");
2711
+ oPanel.setHeaderToolbar(oHeaderToolbar);
2712
+ */
2713
+ var oResourceBundle = this._oResourceBundle;
2714
+ var oMessageStripOfPanel = new MessageStrip({
2715
+ showIcon: false,
2716
+ visible: "{= !${currentSettings>expanded} && ${currentSettings>hasError} === true}",
2717
+ text: {
2718
+ path: 'currentSettings>errorType',
2719
+ formatter: function (errorType) {
2720
+ var sPanelTitle = "";
2721
+ switch (errorType) {
2722
+ case "Error":
2723
+ sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_ERRORS");
2724
+ break;
2725
+ case "Warning":
2726
+ sPanelTitle = oResourceBundle.getText("EDITOR_GROUP_WARNINGS");
2727
+ break;
2728
+ default:
2729
+ }
2730
+ return sPanelTitle;
2731
+ }
2732
+ },
2733
+ type: "{currentSettings>errorType}",
2734
+ objectBindings: {
2735
+ currentSettings: {
2736
+ path: "currentSettings>" + oConfig._settingspath
2737
+ }
2738
+ }
2739
+ });
2740
+ if (oConfig.level !== "1") {
2741
+ oMessageStripOfPanel.setModel(this._settingsModel, "currentSettings");
2742
+ }
2743
+ oMessageStripOfPanel.addStyleClass("sapUiIntegrationEditorPanelMessageStrip");
2744
+ oPanel._messageStrip = oMessageStripOfPanel;
2745
+ }/* else {
2746
+ oPanel.setHeaderText(oConfig.label);
2747
+ }*/
2748
+ this.addAggregation("_formContent", oPanel);
2749
+ oPanel._cols = oConfig.cols || 2; //by default 2 cols
2750
+ oPanel._level = oConfig.level || 0; //by default 0 level
2751
+ if (oConfig.hint) {
2752
+ this._addHint(oConfig.hint);
2408
2753
  }
2409
- };
2410
- oPanel.addEventDelegate(oDelegate);
2411
- return;
2754
+ //add "aria-label" for each panel to make the landmark uniquely
2755
+ var oDelegate = {
2756
+ onAfterRendering: function(oEvent) {
2757
+ var ePanel = document.getElementById(oPanel.getId());
2758
+ ePanel.setAttribute("aria-label", oConfig.label);
2759
+ var oControl = oEvent.srcControl;
2760
+ var oMessageStrip = oControl._messageStrip;
2761
+ if (oControl._level !== "1" && oMessageStrip) {
2762
+ oMessageStrip.rerender();
2763
+ }
2764
+ }
2765
+ };
2766
+ oPanel.addEventDelegate(oDelegate);
2767
+ return;
2768
+ }
2412
2769
  }
2413
2770
  if (oConfig.type === "separator") {
2414
2771
  var oSeparator = new Separator();
@@ -2753,6 +3110,17 @@ sap.ui.define([
2753
3110
  var oItem = aItems[n];
2754
3111
  this._addItem(oItem);
2755
3112
  }
3113
+ // customize the size of card editor, define the size in dt.js
3114
+ var cardHeight = this._settingsModel.getProperty("/form/height") !== undefined ? this._settingsModel.getProperty("/form/height") : "350px",
3115
+ cardWidth = this._settingsModel.getProperty("/form/width") !== undefined ? this._settingsModel.getProperty("/form/width") : "100%";
3116
+ if (this.getProperty("height") === "") {
3117
+ this.setProperty("height", cardHeight);
3118
+ document.body.style.setProperty("--sapUiIntegrationEditorFormHeight", cardHeight);
3119
+ }
3120
+ if (this.getProperty("width") === "") {
3121
+ this.setProperty("width", cardWidth);
3122
+ document.body.style.setProperty("--sapUiIntegrationEditorFormWidth", cardWidth);
3123
+ }
2756
3124
  //add additional content
2757
3125
  if (this.getMode() !== "translation") {
2758
3126
  Promise.resolve(this._initPreview()).then(function() {
@@ -2768,6 +3136,21 @@ sap.ui.define([
2768
3136
  }.bind(this));
2769
3137
  }
2770
3138
  };
3139
+
3140
+ Editor.prototype.setHeight = function(sValue) {
3141
+ if (sValue) {
3142
+ this.setProperty("height", sValue);
3143
+ document.body.style.setProperty("--sapUiIntegrationEditorFormHeight", sValue);
3144
+ }
3145
+ };
3146
+
3147
+ Editor.prototype.setWidth = function(sValue) {
3148
+ if (sValue) {
3149
+ this.setProperty("width", sValue);
3150
+ document.body.style.setProperty("--sapUiIntegrationEditorFormWidth", sValue);
3151
+ }
3152
+ };
3153
+
2771
3154
  /**
2772
3155
  * Destroy the editor and the internal instances that it created
2773
3156
  */
@@ -2848,6 +3231,8 @@ sap.ui.define([
2848
3231
  case "integer":
2849
3232
  case "number": oItem.value = 0; break;
2850
3233
  case "string[]": oItem.value = []; break;
3234
+ case "object": oItem.value = undefined; break;
3235
+ case "object[]": oItem.value = undefined; break;
2851
3236
  default: oItem.value = "";
2852
3237
  }
2853
3238
  }