@sap/ux-specification 1.120.36 → 1.120.38

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 +112 -112
  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 +6 -6
  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 +5 -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 +13 -3
  128. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  129. package/dist/specification/src/sync/common/distTagEvaluator.js +13 -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 +84 -38
  140. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  141. package/dist/specification/src/sync/common/generate/utils.js +112 -37
  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 +260 -155
  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 +13 -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 +21 -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 +48 -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 +14 -9
  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 +44 -17
  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 +124 -78
  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 +251 -195
  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 +83 -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 +85 -74
  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 +11 -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 +9 -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 +16 -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 +7 -7
@@ -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];
@@ -384,14 +407,13 @@ function addHeaderFooterCustomActionsOP(appSchema, v4Page, customActionDefinitio
384
407
  * Adds a table definition to the application schema based on the provided configuration.
385
408
  * This method defines the properties and annotations required for the table in the schema.
386
409
  *
387
- * @param {AddTableDefinitionProps} params - The parameters for adding the table definition.
388
- * @param {string} params.tableType - The type of the table to be added. For example, AnalyticalTable or ResponsiveTable.
389
- * @param {string} params.facetKey - The key identifying the facet for which the table is being defined.
390
- * @param {FacetConfig} params.facet - The configuration object defining the properties of the facet.
391
- * @param {Definition} params.appSchema - The overall application schema where the table definition should be added.
392
- * @param {string} params.lineItemId - Optional ID for the line item, defaults to a generated schema facet key.
393
- * @param {FacetConfig} params.lineItemFacet - The current line item facet configuration.
394
- * @returns {void}
410
+ * @param params - The parameters for adding the table definition.
411
+ * @param params.tableType - The type of the table to be added. For example, AnalyticalTable or ResponsiveTable.
412
+ * @param params.facetKey - The key identifying the facet for which the table is being defined.
413
+ * @param params.facet - The configuration object defining the properties of the facet.
414
+ * @param params.appSchema - The overall application schema where the table definition should be added.
415
+ * @param params.lineItemId - Optional ID for the line item, defaults to a generated schema facet key.
416
+ * @param params.lineItemFacet - The current line item facet configuration.
395
417
  */
396
418
  function addTableDefinition({ tableType, facetKey, facet, appSchema, lineItemId, lineItemFacet }) {
397
419
  const index = facetKey.lastIndexOf('::');
@@ -408,12 +430,13 @@ function addTableDefinition({ tableType, facetKey, facet, appSchema, lineItemId,
408
430
  tableDefinition[ux_specification_types_1.SchemaTag.target] = lineItemFacet.namespace;
409
431
  }
410
432
  /**
411
- * Object Page specific enhancements to handleFormIdentification
412
- * @param {object} appSchema - app schema of the object page
413
- * @param {SapUiAppPageV4} v4Page - current page in manifest
414
- * @param {string} formItemId - identifier of the current form in schema
415
- * @param {string} facetIdInManifest - identifier of the current object page section in manifest
416
- * @param {ExtensionLogger} logger - logger for exceptions
433
+ * Object Page specific enhancements to handleFormIdentification.
434
+ *
435
+ * @param appSchema - app schema of the object page
436
+ * @param v4Page - current page in manifest
437
+ * @param formItemId - identifier of the current form in schema
438
+ * @param facetIdInManifest - identifier of the current object page section in manifest
439
+ * @param logger - logger for exceptions
417
440
  */
418
441
  function addFormCustomActionsOP(appSchema, v4Page, formItemId, facetIdInManifest, logger) {
419
442
  const customActionDefinitionKey = `${ux_specification_types_1.DefinitionName.CustomFormActionOP}<${formItemId}>`;
@@ -435,14 +458,15 @@ function addFormCustomActionsOP(appSchema, v4Page, formItemId, facetIdInManifest
435
458
  }
436
459
  }
437
460
  /**
438
- * Adds definitions for line items in object page sections to the app schema
439
- * @param {FacetConfig} facet - the given facet from the UI annotations
440
- * @param {string} facetKey - key of the facet, as used in annotation
441
- * @param {Definition} appSchema - app schema of the object page
442
- * @param {object} lineItemFacet - current lineItem facet
443
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
444
- * @param {SapUiAppPageV4} v4Page Current page in manifest
445
- * @param {ExtensionLogger} logger - logger for exceptions
461
+ * Adds definitions for line items in object page sections to the app schema.
462
+ *
463
+ * @param facet - the given facet from the UI annotations
464
+ * @param facetKey - key of the facet, as used in annotation
465
+ * @param appSchema - app schema of the object page
466
+ * @param lineItemFacet - current lineItem facet
467
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
468
+ * @param v4Page Current page in manifest
469
+ * @param logger - logger for exceptions
446
470
  */
447
471
  function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceAVT, v4Page, logger) {
448
472
  const lineItemId = (0, common_1.getFacetKeyInSchema)(facetKey);
@@ -481,15 +505,14 @@ function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceA
481
505
  /**
482
506
  * Handles the creation and modification of a section table within the application schema.
483
507
  *
484
- * @param {FacetConfig} facet - The facet configuration object containing details for the section.
485
- * @param {string} facetKey - The unique key for identifying the facet in the schema.
486
- * @param {Definition} appSchema - The overall application schema where the section table is defined.
487
- * @param {FacetConfig} lineItemFacet - The facet configuration specific to line item processing.
488
- * @param {GenerateAppSchemaParameters} generateParameters - Parameters required for generating the application schema.
489
- * @param {Object} v4Page - The OData V4 page object containing details about the target application page.
490
- * @param {Definition} [sections] - The sections definition object where the section table might be added as a reference.
491
- *
492
- * @return {Definition} The updated definition of the section table included or modified in the application schema.
508
+ * @param facet - The facet configuration object containing details for the section.
509
+ * @param facetKey - The unique key for identifying the facet in the schema.
510
+ * @param appSchema - The overall application schema where the section table is defined.
511
+ * @param lineItemFacet - The facet configuration specific to line item processing.
512
+ * @param generateParameters - Parameters required for generating the application schema.
513
+ * @param v4Page - The OData V4 page object containing details about the target application page.
514
+ * @param [sections] - The sections definition object where the section table might be added as a reference.
515
+ * @returns The updated definition of the section table included or modified in the application schema.
493
516
  */
494
517
  function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, v4Page, sections) {
495
518
  if (sections) {
@@ -510,7 +533,8 @@ function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateP
510
533
  return sectionTable;
511
534
  }
512
535
  /**
513
- * Adds definitions for Identification and Form facet items in object page sections to the app schema
536
+ * Adds definitions for Identification and Form facet items in object page sections to the app schema.
537
+ *
514
538
  * @param {FacetConfig} facet - current facet
515
539
  * @param {v4.SapUiAppPageV4} v4Page Current page in manifest
516
540
  * @param {string} facetKey - facet key
@@ -547,7 +571,8 @@ function handleFormIdentification(facet, v4Page, facetKey, sections, appSchema,
547
571
  }
548
572
  }
549
573
  /**
550
- * Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema
574
+ * Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema.
575
+ *
551
576
  * @param {FacetConfig} facet - current facet
552
577
  * @param {string} facetKey - facet key
553
578
  * @param {object} sections - schema of current sections definition
@@ -566,11 +591,13 @@ function handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinition
566
591
  sectionFacet[ux_specification_types_1.SchemaTag.isViewNode] = true;
567
592
  }
568
593
  /**
569
- * Adds definitions for Chart items in object page sections to the app schema
594
+ * Adds definitions for Chart items in object page sections to the app schema.
595
+ *
570
596
  * @param {FacetConfig | Chart | object} facet - current facet.
571
597
  * @param {string} facetKey - facet key.
572
598
  * @param {object} appSchema - app specific schema of the object page that gets enhanced.
573
599
  * @param {EntityType} entityType - current entity type
600
+ * @returns {Definition} - the new chart definition
574
601
  */
575
602
  function handleChartActions(facet, facetKey, appSchema, entityType) {
576
603
  const actions = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ObjectPageToolBarActions, facetKey, appSchema);
@@ -599,11 +626,13 @@ function handleChartActions(facet, facetKey, appSchema, entityType) {
599
626
  return actions;
600
627
  }
601
628
  /**
602
- * Adds definitions for Chart items in object page sections to the app schema
603
- * @param {FacetConfig | Chart | object} facet - current facet.
604
- * @param {string} facetKey - facet key.
605
- * @param {object} appSchema - app specific schema of the object page that gets enhanced.
606
- * @param {EntityType} entityType - current entity type
629
+ * Adds definitions for Chart items in object page sections to the app schema.
630
+ *
631
+ * @param facet - current facet.
632
+ * @param facetKey - facet key.
633
+ * @param appSchema - app specific schema of the object page that gets enhanced.
634
+ * @param entityType - current entity type
635
+ * @returns - the new chart definition
607
636
  */
608
637
  function handleChart(facet, facetKey, appSchema, entityType) {
609
638
  const chart = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ObjectPageChart, facetKey, appSchema);
@@ -620,13 +649,16 @@ function handleChart(facet, facetKey, appSchema, entityType) {
620
649
  return { chart, chartActions };
621
650
  }
622
651
  /**
623
- * Adds definitions for Chart section in object page sections to the app schema
652
+ * Adds definitions for Chart section in object page sections to the app schema.
653
+ *
624
654
  * @param {FacetConfig} facet - current facet.
625
655
  * @param {string} facetKey - facet key.
626
656
  * @param {object} appSchema - app specific schema of the object page that gets enhanced.
627
657
  * @param {object} sections - schema of current sections definition.
628
658
  * @param {EntityType} entityType - current entity type
629
659
  * @param {boolean} isPVHeaderFacet - whether the facet is a Presentation Variant header facet
660
+ * @param namespace - the namespace of the facet
661
+ * @returns - the new chart definition
630
662
  */
631
663
  function handleSectionChart(facet, facetKey, appSchema, sections, entityType = facet.entityType, isPVHeaderFacet = false, namespace) {
632
664
  const definition = isPVHeaderFacet
@@ -653,11 +685,12 @@ function handleSectionChart(facet, facetKey, appSchema, sections, entityType = f
653
685
  return { parentChartRef, chart, chartActions };
654
686
  }
655
687
  /**
656
- * Extracts the key and type of the visualization
657
- * @param {boolean} hasTarget - whether the facet has a target
658
- * @param {object} facetTarget - target of the facet
659
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
660
- * @returns {object} - key and type of the visualization
688
+ * Extracts the key and type of the visualization.
689
+ *
690
+ * @param hasTarget - whether the facet has a target
691
+ * @param facetTarget - target of the facet
692
+ * @param generateParameters - list of API input parameters
693
+ * @returns - key and type of the visualization
661
694
  */
662
695
  function getVisualizationKeyAndType(hasTarget, facetTarget, generateParameters) {
663
696
  const alias = hasTarget ? facetTarget.fullyQualifiedName : facetTarget.targetString;
@@ -668,21 +701,23 @@ function getVisualizationKeyAndType(hasTarget, facetTarget, generateParameters)
668
701
  return { key, type };
669
702
  }
670
703
  /**
671
- * Returns the target of the visualization
672
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
704
+ * Returns the target of the visualization.
705
+ *
706
+ * @param generateParameters - list of API input parameters
673
707
  * @param navigationPath - navigation path of the target
674
708
  * @param visualizationType - type of the visualization
675
- * @returns {EntityTypeAnnotationsBase_UI} - target of the visualization
709
+ * @returns - target of the visualization
676
710
  */
677
711
  function getTargetFromNavigation(generateParameters, navigationPath, visualizationType) {
678
712
  const navigationProp = generateParameters.entityType.navigationProperties.find((prop) => prop.name === navigationPath);
679
713
  return navigationProp.targetType?.annotations?.UI[visualizationType];
680
714
  }
681
715
  /**
682
- * Returns the properties of the visualization
683
- * @param {FacetConfig} facet - the given facet from the UI annotations
684
- * @param {string} facetKey - key of the facet, as used in annotation
685
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
716
+ * Returns the properties of the visualization.
717
+ *
718
+ * @param facet - the given facet from the UI annotations
719
+ * @param facetKey - key of the facet, as used in annotation
720
+ * @param generateParameters - list of API input parameters
686
721
  * @returns {VisualizationProps | undefined} - properties of the visualization
687
722
  */
688
723
  function getVisualizationProps(facet, facetKey, generateParameters) {
@@ -701,7 +736,8 @@ function getVisualizationProps(facet, facetKey, generateParameters) {
701
736
  return { key, type, target, namespace, navigationPath };
702
737
  }
703
738
  /**
704
- * Helper function to add property reference to the sections
739
+ * Helper function to add property reference to the sections.
740
+ *
705
741
  * @param {Definition} sections Definition to add property reference
706
742
  * @param {string} propertyName Property name to be added
707
743
  * @param {DefinitionName} definition - Key of the visualization
@@ -712,20 +748,28 @@ function addPropertyRef(sections, propertyName, definition, link) {
712
748
  $ref: (0, common_1.getFacetDefinitionLink)(definition, link || propertyName)
713
749
  };
714
750
  }
751
+ /**
752
+ * Generates the property and navigation keys for a section based on the facet key and visualization properties.
753
+ *
754
+ * @param facetKey - The key of the facet.
755
+ * @param props - The visualization properties containing key, type, target, namespace, and navigationPath.
756
+ * @returns An object containing the navigationKey and propertyKey for the section.
757
+ */
715
758
  function getSectionPropertyRef(facetKey, props) {
716
759
  const propertyKey = `${facetKey}<${props.key}>`;
717
760
  const navigationKey = props.navigationPath ? `${props.navigationPath}::${props.key}` : props.key;
718
761
  return { propertyKey, navigationKey };
719
762
  }
720
763
  /**
721
- * Adds LineItem definition of object page section to the app schema
722
- * @param {FacetConfig} facet - the given facet from the UI annotations
723
- * @param {string} facetKey - key of the facet, as used in annotation
724
- * @param {Definition} appSchema - app schema of the object page
725
- * @param {object} sections - schema of current sections definition.
726
- * @param {VisualizationProps} props - visualization properties
727
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
728
- * @param {SapUiAppPageV4} v4Page Current page in manifest
764
+ * Adds LineItem definition of object page section to the app schema.
765
+ *
766
+ * @param facet - the given facet from the UI annotations
767
+ * @param facetKey - key of the facet, as used in annotation
768
+ * @param appSchema - app schema of the object page
769
+ * @param sections - schema of current sections definition.
770
+ * @param props - visualization properties
771
+ * @param generateParameters - list of API input parameters
772
+ * @param v4Page Current page in manifest
729
773
  */
730
774
  function addPVLineItemSection(facet, facetKey, appSchema, sections, props, generateParameters, v4Page) {
731
775
  const { propertyKey, navigationKey } = getSectionPropertyRef(facetKey, props);
@@ -741,7 +785,8 @@ function addPVLineItemSection(facet, facetKey, appSchema, sections, props, gener
741
785
  delete sectionTable[ux_specification_types_1.SchemaTag.isViewNode];
742
786
  }
743
787
  /**
744
- * Adds Chart definition of object page (header) section to the app schema
788
+ * Adds Chart definition of object page (header) section to the app schema.
789
+ *
745
790
  * @param {FacetConfig} facet - the given facet from the UI annotations
746
791
  * @param {string} facetKey - key of the facet, as used in annotation
747
792
  * @param {Definition} appSchema - app schema of the object page
@@ -771,14 +816,15 @@ function addPVChartSection(facet, facetKey, appSchema, sections, props, isPVHead
771
816
  }
772
817
  }
773
818
  /**
774
- * Adds definitions for (selection) presentation variants in object page sections to the app schema
775
- * @param {FacetConfig} facet - the given facet from the UI annotations
776
- * @param {string} facetKey - key of the facet, as used in annotation
777
- * @param {Definition} appSchema - app schema of the object page
778
- * @param {object} sections - schema of current sections definition.
779
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
780
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
781
- * @param {SapUiAppPageV4} v4Page Current page in manifest
819
+ * Adds definitions for (selection) presentation variants in object page sections to the app schema.
820
+ *
821
+ * @param facet - the given facet from the UI annotations
822
+ * @param facetKey - key of the facet, as used in annotation
823
+ * @param appSchema - app schema of the object page
824
+ * @param sections - schema of current sections definition.
825
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
826
+ * @param generateParameters - list of API input parameters
827
+ * @param v4Page Current page in manifest
782
828
  */
783
829
  function handleSectionPresentationVariant(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page) {
784
830
  if (!facet?.target) {
@@ -803,6 +849,7 @@ function handleSectionPresentationVariant(facet, facetKey, appSchema, sections,
803
849
  }
804
850
  /**
805
851
  * Method checks if passed facet contains any collection facet.
852
+ *
806
853
  * @param {FacetConfig} facet - facet to check
807
854
  * @returns {boolean} Passed facet contains at least one collection facet
808
855
  */
@@ -817,7 +864,8 @@ function containsCollectionFacet(facet) {
817
864
  return false;
818
865
  }
819
866
  /**
820
- * Object Page specific enhancements to addCustomColumnDefinition
867
+ * Object Page specific enhancements to addCustomColumnDefinition.
868
+ *
821
869
  * @param {object} appSchema - app schema of the object page
822
870
  * @param {string} id - identifier of the current section facet
823
871
  * @param {string[]} featureToggles - supported features
@@ -852,10 +900,11 @@ function createCustomSubSectionReference(appSchema, id, featureToggles) {
852
900
  }
853
901
  /**
854
902
  * Method applies custom action definitions to custom sections.
855
- * @param {Definition} appSchema - app schema of the object page
856
- * @param {SapUiAppPageV4} v4Page Current page in manifest
857
- * @param {DefinitionName} customSectionRef - reference to custom section definition
858
- * @param {ExtensionLogger} logger - logger for exceptions
903
+ *
904
+ * @param appSchema - app schema of the object page
905
+ * @param v4Page Current page in manifest
906
+ * @param customSectionRef - reference to custom section definition
907
+ * @param logger - logger for exceptions
859
908
  */
860
909
  function applyCustomActionsToCustomSections(appSchema, v4Page, customSectionRef, logger) {
861
910
  // add specific definitions for custom sections and custom actions from manifest
@@ -893,12 +942,14 @@ function applyCustomActionsToCustomSections(appSchema, v4Page, customSectionRef,
893
942
  }
894
943
  /**
895
944
  * Common method updates schema for custom sections or custom subsections.
896
- * @param {Definition} sections - sections definition
897
- * @param {Definition} appSchema - app schema of the object page
898
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
899
- * @param {SapUiAppPageV4} v4Page Current page in manifest
900
- * @param {FacetConfig} facet - the given facet from the UI annotations
901
- * @param {string} facetKey - key of the facet, as used in annotation
945
+ *
946
+ * @param sections - sections definition
947
+ * @param appSchema - app schema of the object page
948
+ * @param generateParameters - list of API input parameters
949
+ * @param v4Page Current page in manifest
950
+ * @param customSectionDefinitionName - The name of the custom section definition to be applied.
951
+ * @param facet - the given facet from the UI annotations
952
+ * @param facetKey - key of the facet, as used in annotation
902
953
  */
903
954
  function applyCustomSections(sections, appSchema, generateParameters, v4Page, customSectionDefinitionName, facet, facetKey) {
904
955
  let isMergedSections = false;
@@ -950,15 +1001,16 @@ function applyCustomSections(sections, appSchema, generateParameters, v4Page, cu
950
1001
  }
951
1002
  }
952
1003
  /**
953
- * Adds definitions for collections in object page sections to the app schema
954
- * @param {FacetConfig} facet - the given facet from the UI annotations
955
- * @param {string} facetKey - key of the facet, as used in annotation
956
- * @param {Definition} appSchema - app schema of the object page
957
- * @param {Definition} sections - schema of current sections definition.
958
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
959
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
960
- * @param {SapUiAppPageV4} v4Page Current page in manifest
961
- * @param {number} level Collection level in tree
1004
+ * Adds definitions for collections in object page sections to the app schema.
1005
+ *
1006
+ * @param facet - the given facet from the UI annotations
1007
+ * @param facetKey - key of the facet, as used in annotation
1008
+ * @param appSchema - app schema of the object page
1009
+ * @param sections - schema of current sections definition.
1010
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
1011
+ * @param generateParameters - list of API input parameters
1012
+ * @param v4Page Current page in manifest
1013
+ * @param level Collection level in tree
962
1014
  */
963
1015
  function handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page, level) {
964
1016
  const isCustomSubSectionsSupported = level === 0;
@@ -992,14 +1044,15 @@ function handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, g
992
1044
  }
993
1045
  /**
994
1046
  * Creates a section definition in app schema.
995
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
996
- * @param {FacetConfigs} facets - list of all facets
997
- * @param {string} facetKey - facet key
998
- * @param {object} sections - schema of current sections definition
999
- * @param {object} appSchema - app specific schema of the object page that gets enhanced.
1000
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
1001
- * @param {SapUiAppPageV4} v4Page Current page in manifest
1002
- * @param {number} [level=0] Section level in tree
1047
+ *
1048
+ * @param generateParameters - list of API input parameters
1049
+ * @param facets - list of all facets
1050
+ * @param facetKey - facet key
1051
+ * @param sections - schema of current sections definition
1052
+ * @param appSchema - app specific schema of the object page that gets enhanced.
1053
+ * @param sectionPrefix - prefix to distinguish Section and HeaderSection
1054
+ * @param v4Page Current page in manifest
1055
+ * @param [level] Section level in tree
1003
1056
  */
1004
1057
  function addSection(generateParameters, facets, facetKey, sections, appSchema, sectionPrefix, v4Page, level = 0) {
1005
1058
  const facet = facets[facetKey];
@@ -1050,10 +1103,11 @@ function addSection(generateParameters, facets, facetKey, sections, appSchema, s
1050
1103
  }
1051
1104
  }
1052
1105
  /**
1053
- * Derives the sections from the UI.Facets annotation and adds them to the schema
1054
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1055
- * @param {object} appSchema - application specific JSON schema of the object page
1056
- * @param {SapUiAppPageV4} v4Page - current page
1106
+ * Derives the sections from the UI.Facets annotation and adds them to the schema.
1107
+ *
1108
+ * @param generateParameters - list of API input parameters
1109
+ * @param appSchema - application specific JSON schema of the object page
1110
+ * @param v4Page - current page
1057
1111
  */
1058
1112
  function addSections(generateParameters, appSchema, v4Page) {
1059
1113
  // Get facet annotations
@@ -1070,11 +1124,12 @@ function addSections(generateParameters, appSchema, v4Page) {
1070
1124
  applyCustomSections(sections, appSchema, generateParameters, v4Page, ux_specification_types_1.DefinitionName.ObjectPageCustomSectionFragment);
1071
1125
  }
1072
1126
  /**
1073
- * Derives the header sections from the UI.HeaderFacets annotation and adds them to the schema
1074
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1075
- * @param {object} appSchema - application specific JSON schema of the object page
1076
- * @param {EntityType} entityType - current entity type
1077
- * @param {SapUiAppPageV4} v4Page - current page in manifest
1127
+ * Derives the header sections from the UI.HeaderFacets annotation and adds them to the schema.
1128
+ *
1129
+ * @param generateParameters - list of API input parameters
1130
+ * @param appSchema - application specific JSON schema of the object page
1131
+ * @param entityType - current entity type
1132
+ * @param v4Page - current page in manifest
1078
1133
  */
1079
1134
  function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
1080
1135
  // Get facet annotations
@@ -1099,10 +1154,11 @@ function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
1099
1154
  delete appSchema.definitions[ux_specification_types_1.DefinitionName.ObjectPageHeaderSectionAddress];
1100
1155
  }
1101
1156
  /**
1102
- * Add Object Page Header to app-specific schema
1103
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1104
- * @param {Definition} appSchema Schema of the object page
1105
- * @param {SapUiAppPageV4} v4Page - current page in manifest
1157
+ * Add Object Page Header to app-specific schema.
1158
+ *
1159
+ * @param generateParameters - list of API input parameters
1160
+ * @param appSchema Schema of the object page
1161
+ * @param v4Page - current page in manifest
1106
1162
  */
1107
1163
  function addHeader(generateParameters, appSchema, v4Page) {
1108
1164
  const entityType = generateParameters.entityType;
@@ -1119,11 +1175,11 @@ function addHeader(generateParameters, appSchema, v4Page) {
1119
1175
  /**
1120
1176
  * Generates an app specific schema out of the generic schema.
1121
1177
  * Generic types are replaced by information from the app specific annotations.
1178
+ *
1122
1179
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
1123
1180
  * @param {object} genericSchema - generic JSON schema of an object page
1124
1181
  * @param {string} contextPath - contextPath of the given page
1125
1182
  * @param {object} genericMacrosSchema - generic JSON schema of custom page
1126
- *
1127
1183
  * @returns the app specific JSON schema
1128
1184
  */
1129
1185
  function generateObjectPageSchemaV4(generateParameters, genericSchema, contextPath, genericMacrosSchema) {