@sap/ux-specification 1.96.88 → 1.96.90

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 (536) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/runDocu-min.js.map +2 -2
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  5. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  6. package/dist/documentation/v2/v2-ListReport.html +2 -2
  7. package/dist/documentation/v2/v2-ListReportNew.html +73 -0
  8. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  9. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  10. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  11. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  12. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  13. package/dist/documentation/v4/v4-ListReport.html +2 -2
  14. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  15. package/dist/index-min.js +110 -110
  16. package/dist/index-min.js.map +4 -4
  17. package/dist/schemas/v2/ApplicationV2.json +2 -1
  18. package/dist/schemas/v2/ListReportNewConfig.json +16 -0
  19. package/dist/schemas/v4/ApplicationV4.json +6 -1
  20. package/dist/schemas/v4/ListReportConfig.json +18 -0
  21. package/dist/schemas/v4/ObjectPageConfig.json +27 -0
  22. package/dist/specification/package.json +7 -7
  23. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts +21 -0
  24. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts.map +1 -1
  25. package/dist/specification/scripts/documentation/components/TreeDiagram.js +21 -0
  26. package/dist/specification/scripts/documentation/components/TreeDiagram.js.map +1 -1
  27. package/dist/specification/scripts/documentation/components/filter.d.ts +7 -0
  28. package/dist/specification/scripts/documentation/components/filter.d.ts.map +1 -1
  29. package/dist/specification/scripts/documentation/components/filter.js +30 -0
  30. package/dist/specification/scripts/documentation/components/filter.js.map +1 -1
  31. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts +70 -0
  32. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts.map +1 -1
  33. package/dist/specification/scripts/documentation/components/ui/TreeUI.js +70 -3
  34. package/dist/specification/scripts/documentation/components/ui/TreeUI.js.map +1 -1
  35. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts +17 -0
  36. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts.map +1 -1
  37. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js +23 -0
  38. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js.map +1 -1
  39. package/dist/specification/scripts/documentation/components/ui/search.d.ts +12 -0
  40. package/dist/specification/scripts/documentation/components/ui/search.d.ts.map +1 -1
  41. package/dist/specification/scripts/documentation/components/ui/search.js +78 -8
  42. package/dist/specification/scripts/documentation/components/ui/search.js.map +1 -1
  43. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts +21 -0
  44. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts.map +1 -1
  45. package/dist/specification/scripts/documentation/components/ui/toggle.js +23 -6
  46. package/dist/specification/scripts/documentation/components/ui/toggle.js.map +1 -1
  47. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts +24 -0
  48. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts.map +1 -1
  49. package/dist/specification/scripts/documentation/components/ui/tooltip.js +24 -3
  50. package/dist/specification/scripts/documentation/components/ui/tooltip.js.map +1 -1
  51. package/dist/specification/scripts/documentation/components/ui/utils.d.ts +36 -0
  52. package/dist/specification/scripts/documentation/components/ui/utils.d.ts.map +1 -1
  53. package/dist/specification/scripts/documentation/components/ui/utils.js +36 -4
  54. package/dist/specification/scripts/documentation/components/ui/utils.js.map +1 -1
  55. package/dist/specification/scripts/extractDocu.js +49 -5
  56. package/dist/specification/scripts/extractDocu.js.map +1 -1
  57. package/dist/specification/scripts/macros/api.d.ts +4 -1
  58. package/dist/specification/scripts/macros/api.d.ts.map +1 -1
  59. package/dist/specification/scripts/macros/api.js +9 -1
  60. package/dist/specification/scripts/macros/api.js.map +1 -1
  61. package/dist/specification/scripts/macros/cmd.d.ts +1 -0
  62. package/dist/specification/scripts/macros/cmd.d.ts.map +1 -1
  63. package/dist/specification/scripts/macros/cmd.js +1 -0
  64. package/dist/specification/scripts/macros/cmd.js.map +1 -1
  65. package/dist/specification/scripts/macros/corrections.d.ts +1 -0
  66. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  67. package/dist/specification/scripts/macros/corrections.js +4 -0
  68. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  69. package/dist/specification/scripts/macros/i18n.d.ts +1 -0
  70. package/dist/specification/scripts/macros/i18n.d.ts.map +1 -1
  71. package/dist/specification/scripts/macros/i18n.js +1 -0
  72. package/dist/specification/scripts/macros/i18n.js.map +1 -1
  73. package/dist/specification/scripts/macros/schema.d.ts +1 -0
  74. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  75. package/dist/specification/scripts/macros/schema.js +18 -5
  76. package/dist/specification/scripts/macros/schema.js.map +1 -1
  77. package/dist/specification/scripts/schema/to-json-schema.d.ts +13 -5
  78. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  79. package/dist/specification/scripts/schema/to-json-schema.js +57 -6
  80. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  81. package/dist/specification/scripts/spec.js +19 -9
  82. package/dist/specification/scripts/spec.js.map +1 -1
  83. package/dist/specification/src/api.d.ts +20 -12
  84. package/dist/specification/src/api.d.ts.map +1 -1
  85. package/dist/specification/src/api.js +24 -15
  86. package/dist/specification/src/api.js.map +1 -1
  87. package/dist/specification/src/extensionLogger.d.ts +3 -2
  88. package/dist/specification/src/extensionLogger.d.ts.map +1 -1
  89. package/dist/specification/src/extensionLogger.js +3 -2
  90. package/dist/specification/src/extensionLogger.js.map +1 -1
  91. package/dist/specification/src/i18n/i18n.d.ts +5 -0
  92. package/dist/specification/src/i18n/i18n.d.ts.map +1 -1
  93. package/dist/specification/src/i18n/i18n.js +5 -0
  94. package/dist/specification/src/i18n/i18n.js.map +1 -1
  95. package/dist/specification/src/project.d.ts +3 -1
  96. package/dist/specification/src/project.d.ts.map +1 -1
  97. package/dist/specification/src/project.js +3 -1
  98. package/dist/specification/src/project.js.map +1 -1
  99. package/dist/specification/src/specification/schemaAccess.d.ts +6 -2
  100. package/dist/specification/src/specification/schemaAccess.d.ts.map +1 -1
  101. package/dist/specification/src/specification/schemaAccess.js +10 -4
  102. package/dist/specification/src/specification/schemaAccess.js.map +1 -1
  103. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts +63 -0
  104. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts.map +1 -0
  105. package/dist/specification/src/sync/common/DataFieldStrategy.js +357 -0
  106. package/dist/specification/src/sync/common/DataFieldStrategy.js.map +1 -0
  107. package/dist/specification/src/sync/common/appProvider.d.ts +17 -6
  108. package/dist/specification/src/sync/common/appProvider.d.ts.map +1 -1
  109. package/dist/specification/src/sync/common/appProvider.js +33 -17
  110. package/dist/specification/src/sync/common/appProvider.js.map +1 -1
  111. package/dist/specification/src/sync/common/decoration/control.d.ts +26 -10
  112. package/dist/specification/src/sync/common/decoration/control.d.ts.map +1 -1
  113. package/dist/specification/src/sync/common/decoration/control.js +32 -13
  114. package/dist/specification/src/sync/common/decoration/control.js.map +1 -1
  115. package/dist/specification/src/sync/common/decoration/decorators.d.ts +14 -0
  116. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  117. package/dist/specification/src/sync/common/decoration/decorators.js +14 -0
  118. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  119. package/dist/specification/src/sync/common/decoration/factory.d.ts +12 -3
  120. package/dist/specification/src/sync/common/decoration/factory.d.ts.map +1 -1
  121. package/dist/specification/src/sync/common/decoration/factory.js +6 -3
  122. package/dist/specification/src/sync/common/decoration/factory.js.map +1 -1
  123. package/dist/specification/src/sync/common/decoration/flex.d.ts +7 -0
  124. package/dist/specification/src/sync/common/decoration/flex.d.ts.map +1 -1
  125. package/dist/specification/src/sync/common/decoration/flex.js +7 -0
  126. package/dist/specification/src/sync/common/decoration/flex.js.map +1 -1
  127. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +6 -3
  128. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  129. package/dist/specification/src/sync/common/distTagEvaluator.js +6 -3
  130. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  131. package/dist/specification/src/sync/common/flexUtils.d.ts +11 -10
  132. package/dist/specification/src/sync/common/flexUtils.d.ts.map +1 -1
  133. package/dist/specification/src/sync/common/flexUtils.js +11 -10
  134. package/dist/specification/src/sync/common/flexUtils.js.map +1 -1
  135. package/dist/specification/src/sync/common/generate/objectPage.d.ts +89 -19
  136. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  137. package/dist/specification/src/sync/common/generate/objectPage.js +223 -89
  138. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  139. package/dist/specification/src/sync/common/generate/utils.d.ts +81 -36
  140. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  141. package/dist/specification/src/sync/common/generate/utils.js +109 -35
  142. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  143. package/dist/specification/src/sync/common/i18n.json +2 -1
  144. package/dist/specification/src/sync/common/import/utils.d.ts +9 -3
  145. package/dist/specification/src/sync/common/import/utils.d.ts.map +1 -1
  146. package/dist/specification/src/sync/common/import/utils.js +9 -3
  147. package/dist/specification/src/sync/common/import/utils.js.map +1 -1
  148. package/dist/specification/src/sync/common/importProject.d.ts +17 -6
  149. package/dist/specification/src/sync/common/importProject.d.ts.map +1 -1
  150. package/dist/specification/src/sync/common/importProject.js +60 -30
  151. package/dist/specification/src/sync/common/importProject.js.map +1 -1
  152. package/dist/specification/src/sync/common/index.d.ts +1 -0
  153. package/dist/specification/src/sync/common/index.d.ts.map +1 -1
  154. package/dist/specification/src/sync/common/index.js +1 -0
  155. package/dist/specification/src/sync/common/index.js.map +1 -1
  156. package/dist/specification/src/sync/common/utils.d.ts +152 -56
  157. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  158. package/dist/specification/src/sync/common/utils.js +262 -149
  159. package/dist/specification/src/sync/common/utils.js.map +1 -1
  160. package/dist/specification/src/sync/i18n.d.ts +5 -0
  161. package/dist/specification/src/sync/i18n.d.ts.map +1 -1
  162. package/dist/specification/src/sync/i18n.js +5 -0
  163. package/dist/specification/src/sync/i18n.js.map +1 -1
  164. package/dist/specification/src/sync/v2/export/controls/Action.d.ts +3 -3
  165. package/dist/specification/src/sync/v2/export/controls/Action.js +15 -15
  166. package/dist/specification/src/sync/v2/export/controls/Card.d.ts +14 -0
  167. package/dist/specification/src/sync/v2/export/controls/Card.d.ts.map +1 -1
  168. package/dist/specification/src/sync/v2/export/controls/Card.js +20 -0
  169. package/dist/specification/src/sync/v2/export/controls/Card.js.map +1 -1
  170. package/dist/specification/src/sync/v2/export/controls/Field.js +5 -5
  171. package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts +20 -0
  172. package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -1
  173. package/dist/specification/src/sync/v2/export/controls/FilterBar.js +28 -0
  174. package/dist/specification/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  175. package/dist/specification/src/sync/v2/export/controls/FormAction.js +4 -4
  176. package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts +10 -5
  177. package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
  178. package/dist/specification/src/sync/v2/export/controls/Fragment.js +62 -25
  179. package/dist/specification/src/sync/v2/export/controls/Fragment.js.map +1 -1
  180. package/dist/specification/src/sync/v2/export/controls/ObjectPageFooterAction.js +6 -6
  181. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderAction.js +6 -6
  182. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  183. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.js +20 -16
  184. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.js.map +1 -1
  185. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.d.ts.map +1 -1
  186. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.js.map +1 -1
  187. package/dist/specification/src/sync/v2/export/controls/ObjectPageToolBarAction.js +6 -6
  188. package/dist/specification/src/sync/v2/export/controls/Table.d.ts +24 -0
  189. package/dist/specification/src/sync/v2/export/controls/Table.d.ts.map +1 -1
  190. package/dist/specification/src/sync/v2/export/controls/Table.js +42 -3
  191. package/dist/specification/src/sync/v2/export/controls/Table.js.map +1 -1
  192. package/dist/specification/src/sync/v2/export/controls/TableColumn.js +10 -10
  193. package/dist/specification/src/sync/v2/export/export.d.ts +7 -3
  194. package/dist/specification/src/sync/v2/export/export.d.ts.map +1 -1
  195. package/dist/specification/src/sync/v2/export/export.js +133 -44
  196. package/dist/specification/src/sync/v2/export/export.js.map +1 -1
  197. package/dist/specification/src/sync/v2/export/exportPage.d.ts +28 -11
  198. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
  199. package/dist/specification/src/sync/v2/export/exportPage.js +43 -22
  200. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
  201. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts +6 -3
  202. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  203. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +27 -17
  204. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  205. package/dist/specification/src/sync/v2/export/manifest.d.ts +5 -2
  206. package/dist/specification/src/sync/v2/export/manifest.d.ts.map +1 -1
  207. package/dist/specification/src/sync/v2/export/manifest.js +30 -6
  208. package/dist/specification/src/sync/v2/export/manifest.js.map +1 -1
  209. package/dist/specification/src/sync/v2/export/pages/OverviewPage.d.ts +21 -0
  210. package/dist/specification/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -1
  211. package/dist/specification/src/sync/v2/export/pages/OverviewPage.js +36 -2
  212. package/dist/specification/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  213. package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts +25 -15
  214. package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts.map +1 -1
  215. package/dist/specification/src/sync/v2/export/view-controller-generator.js +27 -16
  216. package/dist/specification/src/sync/v2/export/view-controller-generator.js.map +1 -1
  217. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts +2 -0
  218. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  219. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +6 -0
  220. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  221. package/dist/specification/src/sync/v2/generate/generate.d.ts +5 -9
  222. package/dist/specification/src/sync/v2/generate/generate.d.ts.map +1 -1
  223. package/dist/specification/src/sync/v2/generate/generate.js +14 -14
  224. package/dist/specification/src/sync/v2/generate/generate.js.map +1 -1
  225. package/dist/specification/src/sync/v2/generate/index.d.ts +1 -1
  226. package/dist/specification/src/sync/v2/generate/index.d.ts.map +1 -1
  227. package/dist/specification/src/sync/v2/generate/index.js +5 -2
  228. package/dist/specification/src/sync/v2/generate/index.js.map +1 -1
  229. package/dist/specification/src/sync/v2/generate/listReport.d.ts +5 -3
  230. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  231. package/dist/specification/src/sync/v2/generate/listReport.js +25 -8
  232. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  233. package/dist/specification/src/sync/v2/generate/objectPage.d.ts +2 -2
  234. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  235. package/dist/specification/src/sync/v2/generate/objectPage.js +75 -43
  236. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  237. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +2 -2
  238. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  239. package/dist/specification/src/sync/v2/generate/overviewPage.js +2 -2
  240. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  241. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +5 -2
  242. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  243. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -4
  244. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  245. package/dist/specification/src/sync/v2/generate/utils.d.ts +47 -22
  246. package/dist/specification/src/sync/v2/generate/utils.d.ts.map +1 -1
  247. package/dist/specification/src/sync/v2/generate/utils.js +92 -33
  248. package/dist/specification/src/sync/v2/generate/utils.js.map +1 -1
  249. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +27 -0
  250. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -0
  251. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +60 -0
  252. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -0
  253. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.d.ts +84 -0
  254. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.d.ts.map +1 -0
  255. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js +262 -0
  256. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js.map +1 -0
  257. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts +7 -0
  258. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  259. package/dist/specification/src/sync/v2/import/app/appProvider.js +26 -6
  260. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  261. package/dist/specification/src/sync/v2/import/app/ovpProvider.d.ts +4 -0
  262. package/dist/specification/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -1
  263. package/dist/specification/src/sync/v2/import/app/ovpProvider.js +4 -0
  264. package/dist/specification/src/sync/v2/import/app/ovpProvider.js.map +1 -1
  265. package/dist/specification/src/sync/v2/import/common/index.d.ts +28 -15
  266. package/dist/specification/src/sync/v2/import/common/index.d.ts.map +1 -1
  267. package/dist/specification/src/sync/v2/import/common/index.js +91 -35
  268. package/dist/specification/src/sync/v2/import/common/index.js.map +1 -1
  269. package/dist/specification/src/sync/v2/import/controls/table.d.ts +6 -2
  270. package/dist/specification/src/sync/v2/import/controls/table.d.ts.map +1 -1
  271. package/dist/specification/src/sync/v2/import/controls/table.js +6 -2
  272. package/dist/specification/src/sync/v2/import/controls/table.js.map +1 -1
  273. package/dist/specification/src/sync/v2/import/importPage.d.ts +3 -2
  274. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  275. package/dist/specification/src/sync/v2/import/importPage.js +4 -5
  276. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  277. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +3 -3
  278. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  279. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +9 -10
  280. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  281. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +8 -7
  282. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  283. package/dist/specification/src/sync/v2/import/pages/listReport.js +28 -24
  284. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  285. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts +3 -3
  286. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  287. package/dist/specification/src/sync/v2/import/pages/objectPage.js +107 -76
  288. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  289. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts +2 -1
  290. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  291. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +27 -12
  292. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  293. package/dist/specification/src/sync/v2/import/utils.d.ts +18 -9
  294. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  295. package/dist/specification/src/sync/v2/import/utils.js +27 -15
  296. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  297. package/dist/specification/src/sync/v2/utils.d.ts +27 -2
  298. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  299. package/dist/specification/src/sync/v2/utils.js +46 -0
  300. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  301. package/dist/specification/src/sync/v4/application.d.ts +7 -5
  302. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  303. package/dist/specification/src/sync/v4/application.js +7 -5
  304. package/dist/specification/src/sync/v4/application.js.map +1 -1
  305. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  306. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +8 -0
  307. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  308. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooter.d.ts.map +1 -1
  309. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooter.js.map +1 -1
  310. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +4 -1
  311. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
  312. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js +4 -1
  313. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
  314. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts +2 -2
  315. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
  316. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
  317. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +3 -0
  318. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  319. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +4 -1
  320. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  321. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -1
  322. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  323. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +6 -0
  324. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
  325. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +7 -1
  326. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  327. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +18 -10
  328. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  329. package/dist/specification/src/sync/v4/export/controls/Table.js +48 -18
  330. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  331. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  332. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  333. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts +2 -2
  334. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -1
  335. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +6 -0
  336. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  337. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +7 -1
  338. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  339. package/dist/specification/src/sync/v4/export/export.d.ts +6 -4
  340. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  341. package/dist/specification/src/sync/v4/export/export.js +147 -59
  342. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  343. package/dist/specification/src/sync/v4/export/exportCustomColumn.d.ts +6 -4
  344. package/dist/specification/src/sync/v4/export/exportCustomColumn.d.ts.map +1 -1
  345. package/dist/specification/src/sync/v4/export/exportCustomColumn.js +6 -4
  346. package/dist/specification/src/sync/v4/export/exportCustomColumn.js.map +1 -1
  347. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.d.ts +3 -2
  348. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -1
  349. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.js +13 -9
  350. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.js.map +1 -1
  351. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts +6 -4
  352. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  353. package/dist/specification/src/sync/v4/export/fpmCustomPage.js +9 -4
  354. package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  355. package/dist/specification/src/sync/v4/export/manifest.d.ts +6 -2
  356. package/dist/specification/src/sync/v4/export/manifest.d.ts.map +1 -1
  357. package/dist/specification/src/sync/v4/export/manifest.js +46 -17
  358. package/dist/specification/src/sync/v4/export/manifest.js.map +1 -1
  359. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  360. package/dist/specification/src/sync/v4/export/pages/ListReport.js +4 -3
  361. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  362. package/dist/specification/src/sync/v4/export/utils.d.ts +6 -4
  363. package/dist/specification/src/sync/v4/export/utils.d.ts.map +1 -1
  364. package/dist/specification/src/sync/v4/export/utils.js +6 -4
  365. package/dist/specification/src/sync/v4/export/utils.js.map +1 -1
  366. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
  367. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +6 -1
  368. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  369. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts +5 -3
  370. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -1
  371. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js +14 -5
  372. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -1
  373. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts +1 -0
  374. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  375. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +18 -0
  376. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  377. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.d.ts +1 -1
  378. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.d.ts.map +1 -1
  379. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.js +2 -1
  380. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.js.map +1 -1
  381. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts +2 -0
  382. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  383. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +2 -0
  384. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  385. package/dist/specification/src/sync/v4/generate/freestylePage.d.ts +2 -2
  386. package/dist/specification/src/sync/v4/generate/freestylePage.js +2 -2
  387. package/dist/specification/src/sync/v4/generate/generate.d.ts +13 -11
  388. package/dist/specification/src/sync/v4/generate/generate.d.ts.map +1 -1
  389. package/dist/specification/src/sync/v4/generate/generate.js +13 -11
  390. package/dist/specification/src/sync/v4/generate/generate.js.map +1 -1
  391. package/dist/specification/src/sync/v4/generate/listReport.d.ts +10 -7
  392. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  393. package/dist/specification/src/sync/v4/generate/listReport.js +122 -73
  394. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  395. package/dist/specification/src/sync/v4/generate/objectPage.d.ts +22 -1
  396. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  397. package/dist/specification/src/sync/v4/generate/objectPage.js +247 -187
  398. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  399. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts +18 -4
  400. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts.map +1 -1
  401. package/dist/specification/src/sync/v4/import/app/appProvider.js +56 -24
  402. package/dist/specification/src/sync/v4/import/app/appProvider.js.map +1 -1
  403. package/dist/specification/src/sync/v4/import/fragment.d.ts +29 -4
  404. package/dist/specification/src/sync/v4/import/fragment.d.ts.map +1 -1
  405. package/dist/specification/src/sync/v4/import/fragment.js +46 -7
  406. package/dist/specification/src/sync/v4/import/fragment.js.map +1 -1
  407. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.d.ts +3 -2
  408. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.d.ts.map +1 -1
  409. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js +7 -2
  410. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js.map +1 -1
  411. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts +12 -10
  412. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  413. package/dist/specification/src/sync/v4/import/pages/listReport.js +82 -51
  414. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  415. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts +7 -6
  416. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
  417. package/dist/specification/src/sync/v4/import/pages/objectPage.js +82 -71
  418. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
  419. package/dist/specification/src/sync/v4/import/utils.d.ts +4 -2
  420. package/dist/specification/src/sync/v4/import/utils.d.ts.map +1 -1
  421. package/dist/specification/src/sync/v4/import/utils.js +4 -2
  422. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  423. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  424. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +5 -2
  425. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  426. package/dist/specification/src/sync/v4/utils/StableIdHelper.d.ts +33 -0
  427. package/dist/specification/src/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  428. package/dist/specification/src/sync/v4/utils/StableIdHelper.js +42 -53
  429. package/dist/specification/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  430. package/dist/specification/src/sync/v4/utils/macros.d.ts +4 -0
  431. package/dist/specification/src/sync/v4/utils/macros.d.ts.map +1 -1
  432. package/dist/specification/src/sync/v4/utils/macros.js +17 -1
  433. package/dist/specification/src/sync/v4/utils/macros.js.map +1 -1
  434. package/dist/specification/src/sync/v4/utils/utils.d.ts +109 -22
  435. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  436. package/dist/specification/src/sync/v4/utils/utils.js +372 -159
  437. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  438. package/dist/types/src/common/Application.d.ts +6 -0
  439. package/dist/types/src/common/Application.d.ts.map +1 -1
  440. package/dist/types/src/common/Application.js +4 -0
  441. package/dist/types/src/common/Application.js.map +1 -1
  442. package/dist/types/src/common/types.d.ts +56 -2
  443. package/dist/types/src/common/types.d.ts.map +1 -1
  444. package/dist/types/src/common/types.js +7 -1
  445. package/dist/types/src/common/types.js.map +1 -1
  446. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts +3 -2
  447. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts.map +1 -1
  448. package/dist/types/src/common/webapp/manifest/sapUi5.js +3 -2
  449. package/dist/types/src/common/webapp/manifest/sapUi5.js.map +1 -1
  450. package/dist/types/src/v2/application.d.ts +1 -1
  451. package/dist/types/src/v2/controls/Action.d.ts +12 -0
  452. package/dist/types/src/v2/controls/Action.d.ts.map +1 -1
  453. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts +1 -0
  454. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts.map +1 -1
  455. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts +1 -0
  456. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  457. package/dist/types/src/v2/controls/Card.d.ts +13 -0
  458. package/dist/types/src/v2/controls/Card.d.ts.map +1 -1
  459. package/dist/types/src/v2/controls/Card.js.map +1 -1
  460. package/dist/types/src/v2/controls/Field.d.ts +1 -0
  461. package/dist/types/src/v2/controls/Field.d.ts.map +1 -1
  462. package/dist/types/src/v2/controls/FilterBar.d.ts +6 -0
  463. package/dist/types/src/v2/controls/FilterBar.d.ts.map +1 -1
  464. package/dist/types/src/v2/controls/FilterBar.js.map +1 -1
  465. package/dist/types/src/v2/controls/Header.d.ts +1 -0
  466. package/dist/types/src/v2/controls/Header.d.ts.map +1 -1
  467. package/dist/types/src/v2/controls/ObjectPageChart.d.ts +1 -0
  468. package/dist/types/src/v2/controls/ObjectPageChart.d.ts.map +1 -1
  469. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts +2 -0
  470. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts.map +1 -1
  471. package/dist/types/src/v2/controls/ObjectPageForm.d.ts +1 -0
  472. package/dist/types/src/v2/controls/ObjectPageForm.d.ts.map +1 -1
  473. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts +1 -0
  474. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts.map +1 -1
  475. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts +3 -0
  476. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  477. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts +1 -0
  478. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts.map +1 -1
  479. package/dist/types/src/v2/controls/ObjectPageSection.d.ts +13 -0
  480. package/dist/types/src/v2/controls/ObjectPageSection.d.ts.map +1 -1
  481. package/dist/types/src/v2/controls/ObjectPageSection.js.map +1 -1
  482. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +6 -0
  483. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
  484. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts +2 -0
  485. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts.map +1 -1
  486. package/dist/types/src/v2/controls/Table.d.ts +28 -0
  487. package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
  488. package/dist/types/src/v2/controls/Table.js.map +1 -1
  489. package/dist/types/src/v2/controls/ToolBar.d.ts +1 -0
  490. package/dist/types/src/v2/controls/ToolBar.d.ts.map +1 -1
  491. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts +1 -0
  492. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts.map +1 -1
  493. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts +4 -0
  494. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts.map +1 -1
  495. package/dist/types/src/v4/application.d.ts +1 -1
  496. package/dist/types/src/v4/controls/CustomAction.d.ts +10 -0
  497. package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
  498. package/dist/types/src/v4/controls/FilterBar.d.ts +10 -0
  499. package/dist/types/src/v4/controls/FilterBar.d.ts.map +1 -1
  500. package/dist/types/src/v4/controls/FilterBar.js.map +1 -1
  501. package/dist/types/src/v4/controls/Header.d.ts +1 -0
  502. package/dist/types/src/v4/controls/Header.d.ts.map +1 -1
  503. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +1 -0
  504. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -1
  505. package/dist/types/src/v4/controls/ObjectPageForm.d.ts +5 -1
  506. package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
  507. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +6 -1
  508. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  509. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts +6 -0
  510. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  511. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts +1 -0
  512. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts.map +1 -1
  513. package/dist/types/src/v4/controls/ObjectPageSection.d.ts +17 -0
  514. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
  515. package/dist/types/src/v4/controls/ObjectPageSection.js.map +1 -1
  516. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +5 -0
  517. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  518. package/dist/types/src/v4/controls/ObjectPageTable.js.map +1 -1
  519. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +8 -1
  520. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  521. package/dist/types/src/v4/controls/Table.d.ts +15 -0
  522. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  523. package/dist/types/src/v4/controls/ToolBar.d.ts +17 -2
  524. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  525. package/dist/types/src/v4/page.d.ts +4 -0
  526. package/dist/types/src/v4/page.d.ts.map +1 -1
  527. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts +22 -0
  528. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts.map +1 -1
  529. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts +3 -0
  530. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts.map +1 -1
  531. package/dist/types/src/v4/webapp/manifest/sapUi5.js.map +1 -1
  532. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts +1 -1
  533. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts.map +1 -1
  534. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js +2 -2
  535. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js.map +1 -1
  536. package/package.json +8 -8
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addGroupedHeaderActions = addGroupedHeaderActions;
6
7
  exports.generateObjectPageSchemaV4 = generateObjectPageSchemaV4;
7
8
  const i18next_1 = __importDefault(require("i18next"));
8
9
  const extensionLogger_1 = require("../../../extensionLogger");
@@ -21,37 +22,56 @@ const CRITICAL_ACTION_TYPES = [
21
22
  ];
22
23
  const CUSTOM_ACTION_DEFINITION_DESCRIPTION = 'Custom Action';
23
24
  /**
24
- * V4 callback - adds a single header action to schema
25
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
26
- * @param {ActionListType} action - item of the Ui.Identification collection and its original index
27
- * @param {ActionType} actionType - action classification for grouping
28
- * @param {Definition} appSchema Schema of the app
29
- * @param {EntityType} entityType - current entity type
30
- * @param {Definition} headerActions - list of header actions, to be enhanced
25
+ * V4 callback - adds a single header action to schema.
26
+ *
27
+ * @param oDataServiceAVT - Complete service information, as returned by annotation vocabularies tool.
28
+ * @param action - Item of the Ui.Identification collection and its original index.
29
+ * @param actionType - Action classification for grouping.
30
+ * @param appSchema - Schema of the app.
31
+ * @param entityType - Current entity type.
32
+ * @param headerActions - List of header actions, to be enhanced.
33
+ * @param index - The index of the action in the header actions list.
31
34
  */
32
35
  function addSingleHeaderActionV4(oDataServiceAVT, action, actionType, appSchema, entityType, headerActions, index) {
33
36
  const { actionName, namespace } = (0, common_1.getActionNameAndId)(action.item, oDataServiceAVT);
34
37
  const stableId = (0, StableIdHelper_1.getStableIdPartFromDataField)(action.item);
38
+ const actionEntityType = action.item['$Type'];
39
+ const isActionGroup = actionEntityType === "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */;
40
+ const actionDefinitionType = isActionGroup
41
+ ? ux_specification_types_1.DefinitionName.ObjectPageHeaderActionGroup
42
+ : ux_specification_types_1.DefinitionName.ObjectPageHeaderAction;
35
43
  //stableId is used as key in V4, as the DataFieldForAction:: prefix shall be present in manifest settings
36
44
  const convertedIdentification = action.item['fullyQualifiedName'].replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`);
37
- const actionDefinitionKey = `ObjectPageHeaderAction<${(0, common_1.prepareRef)(stableId)}>`;
45
+ const actionDefinitionKey = `${actionDefinitionType}<${(0, common_1.prepareRef)(stableId)}>`;
38
46
  const headerAction = (appSchema.definitions[actionDefinitionKey] = {
39
47
  type: 'object',
40
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.ObjectPageHeaderAction}`,
48
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${actionDefinitionType}`,
41
49
  description: (0, common_1.getDataFieldDescription)(action.item, entityType)
42
50
  });
43
51
  headerAction[ux_specification_types_1.SchemaTag.isViewNode] = true;
44
52
  headerAction[ux_specification_types_1.SchemaTag.dataType] = (0, common_1.determineDataType)(action.item);
45
53
  headerAction[ux_specification_types_1.SchemaTag.propertyIndex] = index;
46
- //keys
47
- headerAction[ux_specification_types_1.SchemaTag.keys] = [];
48
- if (action.item[ux_specification_types_1.SchemaKeyName.semanticObject]) {
49
- headerAction[ux_specification_types_1.SchemaTag.keys].push({
50
- name: ux_specification_types_1.SchemaKeyName.semanticObject,
51
- value: action.item[ux_specification_types_1.SchemaKeyName.semanticObject]
52
- });
54
+ if (isActionGroup) {
55
+ headerAction['properties'] = {};
56
+ // add a warning message for all versions that don't support action groups
57
+ (0, common_1.addMessageToSchema)(headerAction, i18next_1.default.t('ACTION_GROUPS_ARENT_SUPPORTED'));
58
+ const subActions = (action.item['Actions'] ?? []).map((groupedAction, index) => ({
59
+ item: groupedAction,
60
+ index
61
+ }));
62
+ addGroupedHeaderActions(subActions, oDataServiceAVT, appSchema, entityType, headerAction, ux_specification_types_1.ActionType.Annotation);
63
+ }
64
+ else {
65
+ //keys
66
+ headerAction[ux_specification_types_1.SchemaTag.keys] = [];
67
+ if (action.item[ux_specification_types_1.SchemaKeyName.semanticObject]) {
68
+ headerAction[ux_specification_types_1.SchemaTag.keys].push({
69
+ name: ux_specification_types_1.SchemaKeyName.semanticObject,
70
+ value: action.item[ux_specification_types_1.SchemaKeyName.semanticObject]
71
+ });
72
+ }
73
+ headerAction[ux_specification_types_1.SchemaTag.keys].push({ name: ux_specification_types_1.SchemaKeyName.action, value: actionName });
53
74
  }
54
- headerAction[ux_specification_types_1.SchemaTag.keys].push({ name: ux_specification_types_1.SchemaKeyName.action, value: actionName });
55
75
  if (namespace) {
56
76
  appSchema.definitions[actionDefinitionKey][ux_specification_types_1.SchemaTag.target] = namespace;
57
77
  }
@@ -64,13 +84,13 @@ function addSingleHeaderActionV4(oDataServiceAVT, action, actionType, appSchema,
64
84
  headerActions.properties[stableId][ux_specification_types_1.SchemaTag.propertyIndex] = index;
65
85
  }
66
86
  /**
67
- * Adds a given standard action to the app schema of the object page
68
- * @param {string} actionName - name of the action
69
- * @param {Definition} appSchema - schema of the object page
70
- * @param {Definition} headerActions - list of header actions, to be enhanced
71
- * @param {number} index - index for propertyIndex
87
+ * Adds a given standard action to the app schema of the object page.
72
88
  *
73
- * @returns the new header action definition
89
+ * @param actionName - Name of the action.
90
+ * @param appSchema - Schema of the object page.
91
+ * @param headerActions - List of header actions, to be enhanced.
92
+ * @param index - Index for propertyIndex.
93
+ * @returns The new header action definition.
74
94
  */
75
95
  function addStandardHeaderAction(actionName, appSchema, headerActions, index) {
76
96
  const referenceKey = `${actionName}Action`;
@@ -94,12 +114,14 @@ function addStandardHeaderAction(actionName, appSchema, headerActions, index) {
94
114
  return headerAction;
95
115
  }
96
116
  /**
97
- * V4 callback - adds a single footer action to schema
98
- * @param {ActionListType} action - item of the Ui.Identification collection and its original index
99
- * @param {ActionType} actionType - action classification for grouping
100
- * @param {EntityType} entityType - current entity type
101
- * @param {Definition} appSchema - schema of the object page
102
- * @param {Definition} footerActions - list of footer actions, to be enhanced
117
+ * V4 callback - adds a single footer action to schema.
118
+ *
119
+ * @param action - Item of the Ui.Identification collection and its original index.
120
+ * @param actionType - Action classification for grouping.
121
+ * @param entityType - Current entity type.
122
+ * @param appSchema - Schema of the object page.
123
+ * @param footerActions - List of footer actions, to be enhanced.
124
+ * @param index - The index of the action in the footer actions list.
103
125
  */
104
126
  function addSingleFooterAction(action, actionType, entityType, appSchema, footerActions, index) {
105
127
  const actionId = (0, StableIdHelper_1.getStableIdPartFromDataField)(action.item);
@@ -120,15 +142,17 @@ function addSingleFooterAction(action, actionType, entityType, appSchema, footer
120
142
  };
121
143
  }
122
144
  /**
123
- * Distiguishes critical actions and others and returns two separate groups
124
- * @param {any} identification - UI.Identification annotation as present in AVT ConvertedMetadata
125
- * @returns two separate groups of items
145
+ * Distinguishes critical actions and others and returns two separate groups.
146
+ *
147
+ * @param identification - UI.Identification annotation as present in AVT ConvertedMetadata.
148
+ * @returns Two separate groups of items.
126
149
  */
127
150
  function groupByCriticality(identification) {
128
151
  const criticalActions = [];
129
152
  const unCriticalActions = [];
130
153
  identification.forEach((item, index) => {
131
154
  if ((!item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */) ||
155
+ item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */ ||
132
156
  item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* UIAnnotationTypes.DataFieldForIntentBasedNavigation */) {
133
157
  if (CRITICAL_ACTION_TYPES.includes(item['Criticality'])) {
134
158
  criticalActions.push({ index, item });
@@ -140,22 +164,10 @@ function groupByCriticality(identification) {
140
164
  });
141
165
  return { criticalActions, unCriticalActions };
142
166
  }
143
- /**
144
- * Adds the critical header actions to schema
145
- * @param {ActionListType[]} criticalActions - list of critical actions
146
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
147
- * @param {Definition} appSchema - schema of the object page
148
- * @param {EntityType} entityType - current entity type
149
- * @param {Definition} headerActions - list of all header actions
150
- */
151
- function addCriticalActions(criticalActions, oDataServiceAVT, appSchema, entityType, headerActions) {
152
- for (let index = 0; index < criticalActions.length; index++) {
153
- addSingleHeaderActionV4(oDataServiceAVT, criticalActions[index], ux_specification_types_1.ActionType.Criticality, appSchema, entityType, headerActions, index);
154
- }
155
- }
156
167
  /**
157
168
  * Checks if one of the uncritical actions is marked by isCopyAction.
158
169
  * If so, adds this first to the schema and deletes it from the list.
170
+ *
159
171
  * @param {ActionListType[]} unCriticalActions - list of uncritical actions
160
172
  * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
161
173
  * @param {Definition} appSchema - schema of the object page
@@ -174,22 +186,27 @@ function addCopyAction(unCriticalActions, oDataServiceAVT, appSchema, entityType
174
186
  }
175
187
  }
176
188
  /**
177
- * Adds the critical header actions to schema
178
- * @param {ActionListType[]} unCriticalActions - list of uncritical actions
179
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
180
- * @param {Definition} appSchema - schema of the object page
181
- * @param {EntityType} entityType - current entity type
182
- * @param {Definition} headerActions - list of all header actions
183
- * @param {number} nextIndex - index for propertyIndex
189
+ * Adds a list of actions to the header actions in the application schema.
190
+ *
191
+ * @param {ActionListType[]} actions - The list of actions to be added.
192
+ * @param {ConvertedMetadata} oDataServiceAVT - The converted metadata service containing OData service annotations.
193
+ * @param {Definition} appSchema - The application schema definition where actions will be added.
194
+ * @param {EntityType} entityType - The entity type for which the actions are applicable.
195
+ * @param {Definition} headerActions - The definition where the header actions will be appended.
196
+ * @param {ActionType} actionType - The type of actions to be processed and added.
197
+ * @param {number} [startingIndex] - The starting index for assigning actions in the header actions definition.
198
+ * @returns {void} This function does not return a value.
184
199
  */
185
- function addUncriticalActions(unCriticalActions, oDataServiceAVT, appSchema, entityType, headerActions, nextIndex) {
186
- for (const action of unCriticalActions) {
187
- addSingleHeaderActionV4(oDataServiceAVT, action, ux_specification_types_1.ActionType.Annotation, appSchema, entityType, headerActions, nextIndex);
200
+ function addGroupedHeaderActions(actions, oDataServiceAVT, appSchema, entityType, headerActions, actionType, startingIndex = 0) {
201
+ let nextIndex = startingIndex;
202
+ for (const action of actions) {
203
+ addSingleHeaderActionV4(oDataServiceAVT, action, actionType, appSchema, entityType, headerActions, nextIndex);
188
204
  nextIndex++;
189
205
  }
190
206
  }
191
207
  /**
192
- * Adds the critical header actions to schema
208
+ * Adds the critical header actions to schema.
209
+ *
193
210
  * @param {Definition} headerActions - list of all header actions
194
211
  */
195
212
  function addRelatedAppsButton(headerActions) {
@@ -207,6 +224,7 @@ function addRelatedAppsButton(headerActions) {
207
224
  }
208
225
  /**
209
226
  * Fills the annotationPath of the given schema definition, by checking first the EntitySet annotation, then the EntityType annotation.
227
+ *
210
228
  * @param {Definition} schemaDefinition - current definition in the schema
211
229
  * @param {EntitySet} entitySet - current entity set
212
230
  * @param {EntityType} entityType - current entity type
@@ -223,18 +241,19 @@ function setAnnotationPathFromEntitySetOrEntityType(schemaDefinition, entitySet,
223
241
  }
224
242
  }
225
243
  /**
226
- * Callback for adding a single action to headerActions of V4
227
- * @param {EntityType} entityType - current entity type
228
- * @param {Definition} appSchema - schema of the object page
229
- * @param {any} identification - UI.Identification annotation as present in AVT ConvertedMetadata
230
- * @param {Definition} headerActions - list of header actions, to be enhanced
231
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
232
- * @param {SapUiAppPageV4} pageInManifest - current page in manifest
244
+ * Callback for adding a single action to headerActions of V4.
245
+ *
246
+ * @param entityType - current entity type
247
+ * @param appSchema - schema of the object page
248
+ * @param identification - UI.Identification annotation as present in AVT ConvertedMetadata
249
+ * @param headerActions - list of header actions, to be enhanced
250
+ * @param generateParameters - list of API input parameters
251
+ * @param pageInManifest - current page in manifest
233
252
  */
234
253
  function addHeaderActionCallBackV4(entityType, appSchema, identification, headerActions, generateParameters, pageInManifest) {
235
254
  //Build groups of action types
236
255
  const { criticalActions = [], unCriticalActions = [] } = identification ? groupByCriticality(identification) : {};
237
- addCriticalActions(criticalActions, generateParameters.serviceAVT, appSchema, entityType, headerActions);
256
+ addGroupedHeaderActions(criticalActions, generateParameters.serviceAVT, appSchema, entityType, headerActions, ux_specification_types_1.ActionType.Criticality);
238
257
  if (generateParameters.entitySet) {
239
258
  const isDeletable = (0, utils_2.isEntityDeletable)(generateParameters.entitySet);
240
259
  const isUpdatable = (0, utils_2.isEntityUpdatable)(generateParameters.entitySet);
@@ -253,13 +272,14 @@ function addHeaderActionCallBackV4(entityType, appSchema, identification, header
253
272
  const nextIndex = criticalActions.length + 2;
254
273
  //Check if isCopyAction is defined, this gets rendered first after delete
255
274
  addCopyAction(unCriticalActions, generateParameters.serviceAVT, appSchema, entityType, headerActions, nextIndex);
256
- addUncriticalActions(unCriticalActions, generateParameters.serviceAVT, appSchema, entityType, headerActions, nextIndex);
275
+ addGroupedHeaderActions(unCriticalActions, generateParameters.serviceAVT, appSchema, entityType, headerActions, ux_specification_types_1.ActionType.Annotation, nextIndex);
257
276
  // Add custom header actions
258
277
  addHeaderFooterCustomActionsOP(appSchema, pageInManifest, ux_specification_types_1.DefinitionName.CustomHeaderActionOP, generateParameters.logger);
259
278
  addRelatedAppsButton(headerActions);
260
279
  }
261
280
  /**
262
- * Callback for adding a single action to footerActions of V4
281
+ * Callback for adding a single action to footerActions of V4.
282
+ *
263
283
  * @param {EntityType} entityType - current entity type
264
284
  * @param {Definition} appSchema - schema of the object page
265
285
  * @param {Definition} footerActions - list of footer actions, to be enhanced
@@ -288,12 +308,13 @@ function addFooterActionCallBackV4(entityType, appSchema, footerActions, identif
288
308
  }
289
309
  }
290
310
  /**
291
- * Object Page specific enhancements to addCustomColumnDefinition
292
- * @param {object} appSchema - app schema of the object page
293
- * @param {SapUiAppPageV4} v4Page Current page in manifest
294
- * @param {string} lineItemId - identifier of the current table in schema
295
- * @param {string} facetIdInManifest - identifier of the current object page section in manifest
296
- * @param {ExtensionLogger} logger - logger for exceptions
311
+ * Object Page specific enhancements to addCustomColumnDefinition.
312
+ *
313
+ * @param appSchema - app schema of the object page
314
+ * @param v4Page Current page in manifest
315
+ * @param lineItemId - identifier of the current table in schema
316
+ * @param facetIdInManifest - identifier of the current object page section in manifest
317
+ * @param logger - logger for exceptions
297
318
  */
298
319
  function addCustomColumnsOP(appSchema, v4Page, lineItemId, facetIdInManifest, logger) {
299
320
  // Create type specific copy of 'TableCustomColumnOP'
@@ -321,12 +342,13 @@ function addCustomColumnsOP(appSchema, v4Page, lineItemId, facetIdInManifest, lo
321
342
  }
322
343
  }
323
344
  /**
324
- * Object Page specific enhancements to addCustomColumnDefinition
325
- * @param {object} appSchema - app schema of the object page
326
- * @param {SapUiAppPageV4} v4Page Current page in manifest
327
- * @param {string} lineItemId - identifier of the current table in schema
328
- * @param {string} facetIdInManifest - identifier of the current object page section in manifest
329
- * @param {ExtensionLogger} logger - logger for exceptions
345
+ * Object Page specific enhancements to addCustomColumnDefinition.
346
+ *
347
+ * @param appSchema - app schema of the object page
348
+ * @param v4Page Current page in manifest
349
+ * @param lineItemId - identifier of the current table in schema
350
+ * @param facetIdInManifest - identifier of the current object page section in manifest
351
+ * @param logger - logger for exceptions
330
352
  */
331
353
  function addTableCustomActionsOP(appSchema, v4Page, lineItemId, facetIdInManifest, logger) {
332
354
  // Create type specific copy of 'TableCustomActionOP'
@@ -353,11 +375,12 @@ function addTableCustomActionsOP(appSchema, v4Page, lineItemId, facetIdInManifes
353
375
  (0, utils_1.addEnumForActionAnchor)(appSchema, schemaIdForActions, positionId);
354
376
  }
355
377
  /**
356
- * Object Page specific custom action enhancements to header and footer
357
- * @param {object} appSchema - app schema of the object page
358
- * @param {SapUiAppPageV4} v4Page - current page in manifest
359
- * @param {DefinitionName} customActionDefinitionKey - custom action key used in definitions
360
- * @param {ExtensionLogger} logger - logger for exceptions
378
+ * Object Page specific custom action enhancements to header and footer.
379
+ *
380
+ * @param appSchema - app schema of the object page
381
+ * @param v4Page - current page in manifest
382
+ * @param customActionDefinitionKey - custom action key used in definitions
383
+ * @param logger - logger for exceptions
361
384
  */
362
385
  function addHeaderFooterCustomActionsOP(appSchema, v4Page, customActionDefinitionKey, logger) {
363
386
  const customActionDefinition = appSchema.definitions[customActionDefinitionKey];
@@ -381,12 +404,13 @@ function addHeaderFooterCustomActionsOP(appSchema, v4Page, customActionDefinitio
381
404
  }
382
405
  }
383
406
  /**
384
- * Object Page specific enhancements to handleFormIdentification
385
- * @param {object} appSchema - app schema of the object page
386
- * @param {SapUiAppPageV4} v4Page - current page in manifest
387
- * @param {string} formItemId - identifier of the current form in schema
388
- * @param {string} facetIdInManifest - identifier of the current object page section in manifest
389
- * @param {ExtensionLogger} logger - logger for exceptions
407
+ * Object Page specific enhancements to handleFormIdentification.
408
+ *
409
+ * @param appSchema - app schema of the object page
410
+ * @param v4Page - current page in manifest
411
+ * @param formItemId - identifier of the current form in schema
412
+ * @param facetIdInManifest - identifier of the current object page section in manifest
413
+ * @param logger - logger for exceptions
390
414
  */
391
415
  function addFormCustomActionsOP(appSchema, v4Page, formItemId, facetIdInManifest, logger) {
392
416
  const customActionDefinitionKey = `${ux_specification_types_1.DefinitionName.CustomFormActionOP}<${formItemId}>`;
@@ -408,14 +432,16 @@ function addFormCustomActionsOP(appSchema, v4Page, formItemId, facetIdInManifest
408
432
  }
409
433
  }
410
434
  /**
411
- * Adds definitions for line items in object page sections to the app schema
412
- * @param {FacetConfig} facet - the given facet from the UI annotations
413
- * @param {string} facetKey - key of the facet, as used in annotation
414
- * @param {Definition} appSchema - app schema of the object page
415
- * @param {object} lineItemFacet - current lineItem facet
416
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
417
- * @param {SapUiAppPageV4} v4Page Current page in manifest
418
- * @param {ExtensionLogger} logger - logger for exceptions
435
+ * Adds definitions for line items in object page sections to the app schema.
436
+ *
437
+ * @param facet - the given facet from the UI annotations
438
+ * @param facetKey - key of the facet, as used in annotation
439
+ * @param appSchema - app schema of the object page
440
+ * @param lineItemFacet - current lineItem facet
441
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
442
+ * @param v4Page Current page in manifest
443
+ * @param logger - logger for exceptions
444
+ * @returns the definition of the line item table, as used in the object page
419
445
  */
420
446
  function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceAVT, v4Page, logger) {
421
447
  const lineItemId = (0, common_1.getFacetKeyInSchema)(facetKey);
@@ -449,15 +475,16 @@ function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceA
449
475
  return tableDefinition;
450
476
  }
451
477
  /**
452
- * Adds definitions for table section in object page sections to the app schema
453
- * @param {FacetConfig} facet - current facet
454
- * @param {string} facetKey - facet key
455
- * @param {Definition} appSchema - app specific schema of the object page that gets enhanced
456
- * @param {object} lineItemFacet - current lineItem facet
457
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
458
- * @param {SapUiAppPageV4} v4Page Current page in manifest
459
- * @param {Definition} sections - schema of current sections definition.
460
- * @returns {object} sectionTable - section of app schema containing added table section
478
+ * Handles the creation and modification of a section table within the application schema.
479
+ *
480
+ * @param facet - The facet configuration object containing details for the section.
481
+ * @param facetKey - The unique key for identifying the facet in the schema.
482
+ * @param appSchema - The overall application schema where the section table is defined.
483
+ * @param lineItemFacet - The facet configuration specific to line item processing.
484
+ * @param generateParameters - Parameters required for generating the application schema.
485
+ * @param v4Page - The OData V4 page object containing details about the target application page.
486
+ * @param [sections] - The sections definition object where the section table might be added as a reference.
487
+ * @returns The updated definition of the section table included or modified in the application schema.
461
488
  */
462
489
  function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, v4Page, sections) {
463
490
  if (sections) {
@@ -473,7 +500,8 @@ function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateP
473
500
  return { sectionTable, table };
474
501
  }
475
502
  /**
476
- * Adds definitions for Identification and Form facet items in object page sections to the app schema
503
+ * Adds definitions for Identification and Form facet items in object page sections to the app schema.
504
+ *
477
505
  * @param {FacetConfig} facet - current facet
478
506
  * @param {v4.SapUiAppPageV4} v4Page Current page in manifest
479
507
  * @param {string} facetKey - facet key
@@ -510,7 +538,8 @@ function handleFormIdentification(facet, v4Page, facetKey, sections, appSchema,
510
538
  }
511
539
  }
512
540
  /**
513
- * Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema
541
+ * Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema.
542
+ *
514
543
  * @param {FacetConfig} facet - current facet
515
544
  * @param {string} facetKey - facet key
516
545
  * @param {object} sections - schema of current sections definition
@@ -529,11 +558,13 @@ function handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinition
529
558
  sectionFacet[ux_specification_types_1.SchemaTag.isViewNode] = true;
530
559
  }
531
560
  /**
532
- * Adds definitions for Chart items in object page sections to the app schema
561
+ * Adds definitions for Chart items in object page sections to the app schema.
562
+ *
533
563
  * @param {FacetConfig | Chart | object} facet - current facet.
534
564
  * @param {string} facetKey - facet key.
535
565
  * @param {object} appSchema - app specific schema of the object page that gets enhanced.
536
566
  * @param {EntityType} entityType - current entity type
567
+ * @returns {Definition} - the new chart definition
537
568
  */
538
569
  function handleChartActions(facet, facetKey, appSchema, entityType) {
539
570
  const actions = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ObjectPageToolBarActions, facetKey, appSchema);
@@ -562,11 +593,13 @@ function handleChartActions(facet, facetKey, appSchema, entityType) {
562
593
  return actions;
563
594
  }
564
595
  /**
565
- * Adds definitions for Chart items in object page sections to the app schema
566
- * @param {FacetConfig | Chart | object} facet - current facet.
567
- * @param {string} facetKey - facet key.
568
- * @param {object} appSchema - app specific schema of the object page that gets enhanced.
569
- * @param {EntityType} entityType - current entity type
596
+ * Adds definitions for Chart items in object page sections to the app schema.
597
+ *
598
+ * @param facet - current facet.
599
+ * @param facetKey - facet key.
600
+ * @param appSchema - app specific schema of the object page that gets enhanced.
601
+ * @param entityType - current entity type
602
+ * @returns - the new chart definition
570
603
  */
571
604
  function handleChart(facet, facetKey, appSchema, entityType) {
572
605
  const chart = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ObjectPageChart, facetKey, appSchema);
@@ -583,13 +616,16 @@ function handleChart(facet, facetKey, appSchema, entityType) {
583
616
  return { chart, chartActions };
584
617
  }
585
618
  /**
586
- * Adds definitions for Chart section in object page sections to the app schema
619
+ * Adds definitions for Chart section in object page sections to the app schema.
620
+ *
587
621
  * @param {FacetConfig} facet - current facet.
588
622
  * @param {string} facetKey - facet key.
589
623
  * @param {object} appSchema - app specific schema of the object page that gets enhanced.
590
624
  * @param {object} sections - schema of current sections definition.
591
625
  * @param {EntityType} entityType - current entity type
592
626
  * @param {boolean} isPVHeaderFacet - whether the facet is a Presentation Variant header facet
627
+ * @param namespace - the namespace of the facet
628
+ * @returns - the new chart definition
593
629
  */
594
630
  function handleSectionChart(facet, facetKey, appSchema, sections, entityType = facet.entityType, isPVHeaderFacet = false, namespace) {
595
631
  const definition = isPVHeaderFacet
@@ -616,11 +652,12 @@ function handleSectionChart(facet, facetKey, appSchema, sections, entityType = f
616
652
  return { parentChartRef, chart, chartActions };
617
653
  }
618
654
  /**
619
- * Extracts the key and type of the visualization
620
- * @param {boolean} hasTarget - whether the facet has a target
621
- * @param {object} facetTarget - target of the facet
622
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
623
- * @returns {object} - key and type of the visualization
655
+ * Extracts the key and type of the visualization.
656
+ *
657
+ * @param hasTarget - whether the facet has a target
658
+ * @param facetTarget - target of the facet
659
+ * @param generateParameters - list of API input parameters
660
+ * @returns - key and type of the visualization
624
661
  */
625
662
  function getVisualizationKeyAndType(hasTarget, facetTarget, generateParameters) {
626
663
  const alias = hasTarget ? facetTarget.fullyQualifiedName : facetTarget.targetString;
@@ -631,21 +668,23 @@ function getVisualizationKeyAndType(hasTarget, facetTarget, generateParameters)
631
668
  return { key, type };
632
669
  }
633
670
  /**
634
- * Returns the target of the visualization
635
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
671
+ * Returns the target of the visualization.
672
+ *
673
+ * @param generateParameters - list of API input parameters
636
674
  * @param navigationPath - navigation path of the target
637
675
  * @param visualizationType - type of the visualization
638
- * @returns {EntityTypeAnnotationsBase_UI} - target of the visualization
676
+ * @returns - target of the visualization
639
677
  */
640
678
  function getTargetFromNavigation(generateParameters, navigationPath, visualizationType) {
641
679
  const navigationProp = generateParameters.entityType.navigationProperties.find((prop) => prop.name === navigationPath);
642
680
  return navigationProp.targetType?.annotations?.UI[visualizationType];
643
681
  }
644
682
  /**
645
- * Returns the properties of the visualization
646
- * @param {FacetConfig} facet - the given facet from the UI annotations
647
- * @param {string} facetKey - key of the facet, as used in annotation
648
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
683
+ * Returns the properties of the visualization.
684
+ *
685
+ * @param facet - the given facet from the UI annotations
686
+ * @param facetKey - key of the facet, as used in annotation
687
+ * @param generateParameters - list of API input parameters
649
688
  * @returns {VisualizationProps | undefined} - properties of the visualization
650
689
  */
651
690
  function getVisualizationProps(facet, facetKey, generateParameters) {
@@ -664,7 +703,8 @@ function getVisualizationProps(facet, facetKey, generateParameters) {
664
703
  return { key, type, target, namespace, navigationPath };
665
704
  }
666
705
  /**
667
- * Helper function to add property reference to the sections
706
+ * Helper function to add property reference to the sections.
707
+ *
668
708
  * @param {Definition} sections Definition to add property reference
669
709
  * @param {string} propertyName Property name to be added
670
710
  * @param {DefinitionName} definition - Key of the visualization
@@ -675,20 +715,28 @@ function addPropertyRef(sections, propertyName, definition, link) {
675
715
  $ref: (0, common_1.getFacetDefinitionLink)(definition, link || propertyName)
676
716
  };
677
717
  }
718
+ /**
719
+ * Generates the property and navigation keys for a section based on the facet key and visualization properties.
720
+ *
721
+ * @param facetKey - The key of the facet.
722
+ * @param props - The visualization properties containing key, type, target, namespace, and navigationPath.
723
+ * @returns An object containing the navigationKey and propertyKey for the section.
724
+ */
678
725
  function getSectionPropertyRef(facetKey, props) {
679
726
  const propertyKey = `${facetKey}<${props.key}>`;
680
727
  const navigationKey = props.navigationPath ? `${props.navigationPath}::${props.key}` : props.key;
681
728
  return { propertyKey, navigationKey };
682
729
  }
683
730
  /**
684
- * Adds LineItem definition of object page section to the app schema
685
- * @param {FacetConfig} facet - the given facet from the UI annotations
686
- * @param {string} facetKey - key of the facet, as used in annotation
687
- * @param {Definition} appSchema - app schema of the object page
688
- * @param {object} sections - schema of current sections definition.
689
- * @param {VisualizationProps} props - visualization properties
690
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
691
- * @param {SapUiAppPageV4} v4Page Current page in manifest
731
+ * Adds LineItem definition of object page section to the app schema.
732
+ *
733
+ * @param facet - the given facet from the UI annotations
734
+ * @param facetKey - key of the facet, as used in annotation
735
+ * @param appSchema - app schema of the object page
736
+ * @param sections - schema of current sections definition.
737
+ * @param props - visualization properties
738
+ * @param generateParameters - list of API input parameters
739
+ * @param v4Page Current page in manifest
692
740
  */
693
741
  function addPVLineItemSection(facet, facetKey, appSchema, sections, props, generateParameters, v4Page) {
694
742
  const { propertyKey, navigationKey } = getSectionPropertyRef(facetKey, props);
@@ -701,7 +749,8 @@ function addPVLineItemSection(facet, facetKey, appSchema, sections, props, gener
701
749
  table[ux_specification_types_1.SchemaTag.target] = props.namespace;
702
750
  }
703
751
  /**
704
- * Adds Chart definition of object page (header) section to the app schema
752
+ * Adds Chart definition of object page (header) section to the app schema.
753
+ *
705
754
  * @param {FacetConfig} facet - the given facet from the UI annotations
706
755
  * @param {string} facetKey - key of the facet, as used in annotation
707
756
  * @param {Definition} appSchema - app schema of the object page
@@ -731,14 +780,15 @@ function addPVChartSection(facet, facetKey, appSchema, sections, props, isPVHead
731
780
  }
732
781
  }
733
782
  /**
734
- * Adds definitions for (selection) presentation variants in object page sections to the app schema
735
- * @param {FacetConfig} facet - the given facet from the UI annotations
736
- * @param {string} facetKey - key of the facet, as used in annotation
737
- * @param {Definition} appSchema - app schema of the object page
738
- * @param {object} sections - schema of current sections definition.
739
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
740
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
741
- * @param {SapUiAppPageV4} v4Page Current page in manifest
783
+ * Adds definitions for (selection) presentation variants in object page sections to the app schema.
784
+ *
785
+ * @param facet - the given facet from the UI annotations
786
+ * @param facetKey - key of the facet, as used in annotation
787
+ * @param appSchema - app schema of the object page
788
+ * @param sections - schema of current sections definition.
789
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
790
+ * @param generateParameters - list of API input parameters
791
+ * @param v4Page Current page in manifest
742
792
  */
743
793
  function handleSectionPresentationVariant(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page) {
744
794
  if (!facet?.target) {
@@ -763,6 +813,7 @@ function handleSectionPresentationVariant(facet, facetKey, appSchema, sections,
763
813
  }
764
814
  /**
765
815
  * Method checks if passed facet contains any collection facet.
816
+ *
766
817
  * @param {FacetConfig} facet - facet to check
767
818
  * @returns {boolean} Passed facet contains at least one collection facet
768
819
  */
@@ -777,7 +828,8 @@ function containsCollectionFacet(facet) {
777
828
  return false;
778
829
  }
779
830
  /**
780
- * Object Page specific enhancements to addCustomColumnDefinition
831
+ * Object Page specific enhancements to addCustomColumnDefinition.
832
+ *
781
833
  * @param {object} appSchema - app schema of the object page
782
834
  * @param {string} id - identifier of the current section facet
783
835
  * @param {string[]} featureToggles - supported features
@@ -812,10 +864,11 @@ function createCustomSubSectionReference(appSchema, id, featureToggles) {
812
864
  }
813
865
  /**
814
866
  * Method applies custom action definitions to custom sections.
815
- * @param {Definition} appSchema - app schema of the object page
816
- * @param {SapUiAppPageV4} v4Page Current page in manifest
817
- * @param {DefinitionName} customSectionRef - reference to custom section definition
818
- * @param {ExtensionLogger} logger - logger for exceptions
867
+ *
868
+ * @param appSchema - app schema of the object page
869
+ * @param v4Page Current page in manifest
870
+ * @param customSectionRef - reference to custom section definition
871
+ * @param logger - logger for exceptions
819
872
  */
820
873
  function applyCustomActionsToCustomSections(appSchema, v4Page, customSectionRef, logger) {
821
874
  // add specific definitions for custom sections and custom actions from manifest
@@ -853,12 +906,14 @@ function applyCustomActionsToCustomSections(appSchema, v4Page, customSectionRef,
853
906
  }
854
907
  /**
855
908
  * Common method updates schema for custom sections or custom subsections.
856
- * @param {Definition} sections - sections definition
857
- * @param {Definition} appSchema - app schema of the object page
858
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
859
- * @param {SapUiAppPageV4} v4Page Current page in manifest
860
- * @param {FacetConfig} facet - the given facet from the UI annotations
861
- * @param {string} facetKey - key of the facet, as used in annotation
909
+ *
910
+ * @param sections - sections definition
911
+ * @param appSchema - app schema of the object page
912
+ * @param generateParameters - list of API input parameters
913
+ * @param v4Page Current page in manifest
914
+ * @param customSectionDefinitionName - The name of the custom section definition to be applied.
915
+ * @param facet - the given facet from the UI annotations
916
+ * @param facetKey - key of the facet, as used in annotation
862
917
  */
863
918
  function applyCustomSections(sections, appSchema, generateParameters, v4Page, customSectionDefinitionName, facet, facetKey) {
864
919
  let isMergedSections = false;
@@ -910,15 +965,16 @@ function applyCustomSections(sections, appSchema, generateParameters, v4Page, cu
910
965
  }
911
966
  }
912
967
  /**
913
- * Adds definitions for collections in object page sections to the app schema
914
- * @param {FacetConfig} facet - the given facet from the UI annotations
915
- * @param {string} facetKey - key of the facet, as used in annotation
916
- * @param {Definition} appSchema - app schema of the object page
917
- * @param {Definition} sections - schema of current sections definition.
918
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
919
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
920
- * @param {SapUiAppPageV4} v4Page Current page in manifest
921
- * @param {number} level Collection level in tree
968
+ * Adds definitions for collections in object page sections to the app schema.
969
+ *
970
+ * @param facet - the given facet from the UI annotations
971
+ * @param facetKey - key of the facet, as used in annotation
972
+ * @param appSchema - app schema of the object page
973
+ * @param sections - schema of current sections definition.
974
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
975
+ * @param generateParameters - list of API input parameters
976
+ * @param v4Page Current page in manifest
977
+ * @param level Collection level in tree
922
978
  */
923
979
  function handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page, level) {
924
980
  const isCustomSubSectionsSupported = level === 0;
@@ -952,14 +1008,15 @@ function handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, g
952
1008
  }
953
1009
  /**
954
1010
  * Creates a section definition in app schema.
955
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
956
- * @param {FacetConfigs} facets - list of all facets
957
- * @param {string} facetKey - facet key
958
- * @param {object} sections - schema of current sections definition
959
- * @param {object} appSchema - app specific schema of the object page that gets enhanced.
960
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
961
- * @param {SapUiAppPageV4} v4Page Current page in manifest
962
- * @param {number} [level=0] Section level in tree
1011
+ *
1012
+ * @param generateParameters - list of API input parameters
1013
+ * @param facets - list of all facets
1014
+ * @param facetKey - facet key
1015
+ * @param sections - schema of current sections definition
1016
+ * @param appSchema - app specific schema of the object page that gets enhanced.
1017
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
1018
+ * @param v4Page Current page in manifest
1019
+ * @param [level] Section level in tree
963
1020
  */
964
1021
  function addSection(generateParameters, facets, facetKey, sections, appSchema, sectionPrefix, v4Page, level = 0) {
965
1022
  const facet = facets[facetKey];
@@ -1010,10 +1067,11 @@ function addSection(generateParameters, facets, facetKey, sections, appSchema, s
1010
1067
  }
1011
1068
  }
1012
1069
  /**
1013
- * Derives the sections from the UI.Facets annotation and adds them to the schema
1014
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1015
- * @param {object} appSchema - application specific JSON schema of the object page
1016
- * @param {SapUiAppPageV4} v4Page - current page
1070
+ * Derives the sections from the UI.Facets annotation and adds them to the schema.
1071
+ *
1072
+ * @param generateParameters - list of API input parameters
1073
+ * @param appSchema - application specific JSON schema of the object page
1074
+ * @param v4Page - current page
1017
1075
  */
1018
1076
  function addSections(generateParameters, appSchema, v4Page) {
1019
1077
  // Get facet annotations
@@ -1030,11 +1088,12 @@ function addSections(generateParameters, appSchema, v4Page) {
1030
1088
  applyCustomSections(sections, appSchema, generateParameters, v4Page, ux_specification_types_1.DefinitionName.ObjectPageCustomSectionFragment);
1031
1089
  }
1032
1090
  /**
1033
- * Derives the header sections from the UI.HeaderFacets annotation and adds them to the schema
1034
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1035
- * @param {object} appSchema - application specific JSON schema of the object page
1036
- * @param {EntityType} entityType - current entity type
1037
- * @param {SapUiAppPageV4} v4Page - current page in manifest
1091
+ * Derives the header sections from the UI.HeaderFacets annotation and adds them to the schema.
1092
+ *
1093
+ * @param generateParameters - list of API input parameters
1094
+ * @param appSchema - application specific JSON schema of the object page
1095
+ * @param entityType - current entity type
1096
+ * @param v4Page - current page in manifest
1038
1097
  */
1039
1098
  function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
1040
1099
  // Get facet annotations
@@ -1059,10 +1118,11 @@ function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
1059
1118
  delete appSchema.definitions[ux_specification_types_1.DefinitionName.ObjectPageHeaderSectionAddress];
1060
1119
  }
1061
1120
  /**
1062
- * Add Object Page Header to app-specific schema
1063
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1064
- * @param {Definition} appSchema Schema of the object page
1065
- * @param {SapUiAppPageV4} v4Page - current page in manifest
1121
+ * Add Object Page Header to app-specific schema.
1122
+ *
1123
+ * @param generateParameters - list of API input parameters
1124
+ * @param appSchema Schema of the object page
1125
+ * @param v4Page - current page in manifest
1066
1126
  */
1067
1127
  function addHeader(generateParameters, appSchema, v4Page) {
1068
1128
  const entityType = generateParameters.entityType;
@@ -1079,11 +1139,11 @@ function addHeader(generateParameters, appSchema, v4Page) {
1079
1139
  /**
1080
1140
  * Generates an app specific schema out of the generic schema.
1081
1141
  * Generic types are replaced by information from the app specific annotations.
1142
+ *
1082
1143
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1083
1144
  * @param {object} genericSchema - generic JSON schema of an object page
1084
1145
  * @param {string} contextPath - contextPath of the given page
1085
1146
  * @param {object} genericMacrosSchema - generic JSON schema of custom page
1086
- *
1087
1147
  * @returns the app specific JSON schema
1088
1148
  */
1089
1149
  function generateObjectPageSchemaV4(generateParameters, genericSchema, contextPath, genericMacrosSchema) {