@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
@@ -1,10 +1,41 @@
1
1
  import type { ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
2
- import type { FacetConfig, GenerateAppSchemaParameters } from '@sap/ux-specification-types';
2
+ import type { DataFieldAbstractTypes } from '@sap-ux/vocabularies-types/vocabularies/UI';
3
+ import type { FacetConfig, GenerateAppSchemaParameters, SchemaDefinition } from '@sap/ux-specification-types';
3
4
  import { FioriElementsVersion, SectionType, v2 } from '@sap/ux-specification-types';
4
5
  import type { Definition } from 'typescript-json-schema';
5
6
  import type { SapUiAppPageV4 } from '@sap/ux-specification-types/src/v4';
7
+ type DefinitionsProperties = {
8
+ [key: string]: SchemaDefinition;
9
+ };
10
+ export interface AddDefinitionParams {
11
+ appSchema: Definition;
12
+ withActions: boolean;
13
+ sectionType: SectionType;
14
+ field: DataFieldAbstractTypes;
15
+ targetID: string;
16
+ containersSchema: FieldsContainerSchema;
17
+ key: string;
18
+ version: FioriElementsVersion;
19
+ section: FacetConfig;
20
+ entityTypeName: string;
21
+ }
22
+ interface FieldsContainerSchema {
23
+ fields?: DefinitionsProperties;
24
+ actions?: DefinitionsProperties;
25
+ }
26
+ /**
27
+ * Retrieves the modified field reference based on the specified Fiori Elements version
28
+ * and the provided field reference identifier.
29
+ *
30
+ * @param {FioriElementsVersion} version - The Fiori Elements version (e.g., v2, v4).
31
+ * @param {string} fieldReferenceId - The identifier for the field reference to be processed.
32
+ * @returns {string} The transformed field reference if the version is v2 and the identifier contains '::',
33
+ * otherwise returns the original field reference identifier.
34
+ */
35
+ export declare function getFieldReference(version: FioriElementsVersion, fieldReferenceId: string): string;
6
36
  /**
7
- * Adds definitions for forms in object page sections to the app schema
37
+ * Adds definitions for forms in object page sections to the app schema.
38
+ *
8
39
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
9
40
  * @param {FacetConfig} section - section definition, as prepared from the annotations
10
41
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
@@ -15,17 +46,19 @@ import type { SapUiAppPageV4 } from '@sap/ux-specification-types/src/v4';
15
46
  */
16
47
  export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: Definition, appSchema: Definition, version: FioriElementsVersion, facetKey: string): string | undefined;
17
48
  /**
18
- * Replaces an alias in an annotation ID or reference, based on the AVT references' list
49
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list.
50
+ *
19
51
  * @param annotationIdentifier - annotation ID or reference
20
52
  * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
21
53
  * @returns the converted string
22
54
  */
23
55
  export declare function replaceAlias(annotationIdentifier: string, oDataServiceAVT: ConvertedMetadata): string;
24
56
  /**
25
- * Common routine to determine the name and the ID of a header action
26
- * @param action - action as given by AVT
27
- * @param entityType - entity type by AVT
28
- * @returns an object comprising action name and action id
57
+ * Extracts the action name, action ID, and namespace from the given item and OData service metadata.
58
+ *
59
+ * @param item - The item containing action information.
60
+ * @param oDataServiceAVT - The OData service metadata used for alias replacement.
61
+ * @returns An object containing the action name, action ID, and namespace.
29
62
  */
30
63
  export declare function getActionNameAndId(item: any, oDataServiceAVT: ConvertedMetadata): {
31
64
  actionName: string;
@@ -33,33 +66,70 @@ export declare function getActionNameAndId(item: any, oDataServiceAVT: Converted
33
66
  namespace: string;
34
67
  };
35
68
  /**
36
- * Add Object Page Footer Action Buttons to app-specific schema
69
+ * Add Object Page Footer Action Buttons to app-specific schema.
37
70
  *
38
- * @param {object} appSchema Schema of the app
39
- * @param {GenerateAppSchemaParameters} generateParameters - Schema parameters
40
- * @param {FioriElementsVersion} version - Fiori elements versions
41
- * @param {function} addFooterActionCallBack - Callback function, either V2 or V4
42
- * @param {SapUiAppPagesV2} pages - pages found in manifest
71
+ * @param appSchema Schema of the app
72
+ * @param generateParameters - Schema parameters
73
+ * @param version - Fiori elements versions
74
+ * @param addFooterActionCallBack - Callback function, either V2 or V4
75
+ * @param pages - pages found in manifest
43
76
  */
44
77
  export declare function addFooterActions(appSchema: Definition, generateParameters: GenerateAppSchemaParameters, version: FioriElementsVersion, addFooterActionCallBack: any, pages?: v2.SapUiAppPagesV2): void;
45
78
  /**
46
- * Add Object Page Header Action Buttons to app-specific schema
79
+ * Add Object Page Header Action Buttons to app-specific schema.
80
+ *
47
81
  * @param {Definition} appSchema Schema of the app
82
+ * @param entityType - The entity type for which the entity set is being determined
48
83
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
49
- * @param {function} addHeaderActionCallBack - Callback function, either V2 or V4
84
+ * @param {Function} addHeaderActionCallBack - Callback function, either V2 or V4
85
+ * @param page - The page configuration for the object page
86
+ * @param isV2 - Indicates whether the version is V2
50
87
  */
51
88
  export declare function addHeaderActions(appSchema: Definition, entityType: EntityType, generateParameters: GenerateAppSchemaParameters, addHeaderActionCallBack: any, page?: SapUiAppPageV4, isV2?: boolean): void;
52
89
  /**
53
- * Adds common Object Page Header definitions to the app schema
90
+ * Adds common Object Page Header definitions to the app schema.
91
+ *
54
92
  * @param appSchema - app-specific JSOn schema
55
93
  * @param entityType - current entity Type
56
94
  */
57
95
  export declare function addCommonHeaderSchema(appSchema: Definition, entityType: EntityType): void;
58
96
  /**
59
- * Common logic to determine the EntitySet of a given EntityType
60
- * @param {EntityType} - entity type
61
- * @param {ConvertedMetadata} serviceAVT - AVT converter output, comprising all annotation information
97
+ * Common logic to determine the EntitySet of a given EntityType.
98
+ *
99
+ * @param entityType - The entity type for which the entity set is being determined
100
+ * @param serviceAVT - AVT converter output, comprising all annotation information
62
101
  * @returns the entity set as defined in AVT, if found
63
102
  */
64
103
  export declare function determineEntitySetOfEntityType(entityType: EntityType, serviceAVT: ConvertedMetadata): EntitySet | undefined;
104
+ /**
105
+ * Adds a data field definition to the application schema based on the provided parameters.
106
+ *
107
+ * @param {AddDefinitionParams} data - An object containing the parameters necessary to define and add the data field.
108
+ * This includes:
109
+ * - `appSchema`: The application schema to which the definition is added
110
+ * - `section`: The section in which the field resides
111
+ * - `sectionType`: The type of the section
112
+ * - `field`: The specific field to be added
113
+ * - `targetID`: The target identifier for the field
114
+ * - `containersSchema`: The schema container for fields
115
+ * - `key`: The key that determines the order of the field
116
+ * - `version`: The version of the schema
117
+ */
118
+ export declare function addDataFieldDefinition(data: AddDefinitionParams): void;
119
+ /**
120
+ * Adds a data field to the schema definition for action and action group configurations.
121
+ *
122
+ * @param {AddDefinitionParams} data - The input data required to add the data field, including:
123
+ * - appSchema: The application schema to be updated.
124
+ * - withActions: A flag indicating whether actions are included.
125
+ * - sectionType: The type of the section (e.g., Section).
126
+ * - field: The data field to be added.
127
+ * - targetID: The identifier of the target.
128
+ * - containersSchema: The schema containing action and action groups configurations.
129
+ * - key: The key used for the property's index.
130
+ * - version: The schema version information.
131
+ * @returns {void} The function does not return a value.
132
+ */
133
+ export declare function addDataFieldForActionAndActionGroupDefinition(data: AddDefinitionParams): void;
134
+ export {};
65
135
  //# sourceMappingURL=objectPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3F,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAoB,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAGH,oBAAoB,EAIpB,WAAW,EAEX,EAAE,EACL,MAAM,6BAA6B,CAAC;AAUrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA8ZzE;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAwDpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG,MAAM,CAarG;AAED;;;;;GAKG;AAEH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,iBAAiB,GACnC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0B7D;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,2BAA2B,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,uBAAuB,KAAA,EACvB,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,GAC3B,IAAI,CA6CN;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,2BAA2B,EAC/C,uBAAuB,KAAA,EACvB,IAAI,CAAC,EAAE,cAAc,EACrB,IAAI,UAAQ,GACb,IAAI,CAkCN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAWzF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB,GAC9B,SAAS,GAAG,SAAS,CAIvB"}
1
+ {"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EACR,sBAAsB,EAGzB,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAGH,oBAAoB,EAIpB,WAAW,EAEX,EAAE,EACL,MAAM,6BAA6B,CAAC;AAWrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAIzE,KAAK,qBAAqB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AACjE,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,qBAAqB;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAiPD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,UAIxF;AAmID;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAwDpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG,MAAM,CAarG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,iBAAiB,GACnC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0B7D;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,2BAA2B,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,uBAAuB,KAAA,EACvB,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,GAC3B,IAAI,CA6CN;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,2BAA2B,EAC/C,uBAAuB,KAAA,EACvB,IAAI,CAAC,EAAE,cAAc,EACrB,IAAI,UAAQ,GACb,IAAI,CAkCN;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAWzF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB,GAC9B,SAAS,GAAG,SAAS,CAIvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,QAuB/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6CAA6C,CAAC,IAAI,EAAE,mBAAmB,QAwBtF"}
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getFieldReference = getFieldReference;
3
7
  exports.handleForm = handleForm;
4
8
  exports.replaceAlias = replaceAlias;
5
9
  exports.getActionNameAndId = getActionNameAndId;
@@ -7,12 +11,17 @@ exports.addFooterActions = addFooterActions;
7
11
  exports.addHeaderActions = addHeaderActions;
8
12
  exports.addCommonHeaderSchema = addCommonHeaderSchema;
9
13
  exports.determineEntitySetOfEntityType = determineEntitySetOfEntityType;
14
+ exports.addDataFieldDefinition = addDataFieldDefinition;
15
+ exports.addDataFieldForActionAndActionGroupDefinition = addDataFieldForActionAndActionGroupDefinition;
10
16
  const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
11
17
  const ux_specification_types_1 = require("@sap/ux-specification-types");
12
18
  const __1 = require("..");
13
19
  const utils_1 = require("../../v2/generate/utils");
20
+ const DataFieldStrategy_1 = require("../DataFieldStrategy");
21
+ const i18next_1 = __importDefault(require("i18next"));
14
22
  /**
15
- * Copies the field properties from the generic definition to the specific field definition
23
+ * Copies the field properties from the generic definition to the specific field definition.
24
+ *
16
25
  * @param {FioriElementsVersion} version - Fiori Elements version
17
26
  * @param {Definition} appSchema - App schema in general
18
27
  * @param {DataFieldAbstractTypes} field - field definition in parser output (AVT)
@@ -44,7 +53,8 @@ function copyFieldProperties(version, appSchema, field, fieldDefinition) {
44
53
  }
45
54
  }
46
55
  /**
47
- * Determines the name for a field definition in app schema
56
+ * Determines the name for a field definition in app schema.
57
+ *
48
58
  * @param {FioriElementsVersion} version - Fiori Elements version
49
59
  * @param fieldReferenceId - the stable ID representation of the field
50
60
  * @param {string} targetID - unique ID, identifies the parent object (form)
@@ -63,7 +73,8 @@ function determineFieldDefinitionName(version, fieldReferenceId, targetID, field
63
73
  }
64
74
  }
65
75
  /**
66
- * Add the keys and target tag for Datafield
76
+ * Add the keys and target tag for Datafield.
77
+ *
67
78
  * @param field - the given field definition
68
79
  * @param appSchema - the app schema to be updated
69
80
  * @param schemaKeyOfField - key for the given field in the app schema
@@ -91,7 +102,8 @@ function addKeysTagForDataField(field, appSchema, schemaKeyOfField) {
91
102
  }
92
103
  }
93
104
  /**
94
- * Adds the "keys" tag to a field definition in schema
105
+ * Adds the "keys" tag to a field definition in schema.
106
+ *
95
107
  * @param field - the given field definition
96
108
  * @param appSchema - the app schema to be updated
97
109
  * @param schemaKeyOfField - key for the given field in the app schema
@@ -150,6 +162,7 @@ function addKeysTagToField(field, appSchema, schemaKeyOfField) {
150
162
  }
151
163
  /**
152
164
  * Method checks if passed field is connected field.
165
+ *
153
166
  * @param field Field to check.
154
167
  * @returns True if passed field's target is ConnectedFieldsType.
155
168
  */
@@ -159,6 +172,7 @@ function isConnectedField(field) {
159
172
  }
160
173
  /**
161
174
  * Method stores connected fields into schema definitions.
175
+ *
162
176
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
163
177
  * @param {Definition} appSchema - App schema in general
164
178
  * @param {DataFieldAbstractTypes} field - field definition in parser output (AVT)
@@ -194,6 +208,7 @@ function addConnectedFields(sectionType, appSchema, field, section, version) {
194
208
  }
195
209
  /**
196
210
  * Method returns schema container properties where to store fields.
211
+ *
197
212
  * @param {Definition} appSchema - App schema in general
198
213
  * @param {string} ref - Container reference id.
199
214
  * @param {DefinitionsProperties} [properties] - Preferable container properties to use.
@@ -207,75 +222,56 @@ function getFieldsSchemaContainer(appSchema, ref, properties) {
207
222
  return appSchema.definitions[fieldsDefinition]['properties'];
208
223
  }
209
224
  /**
210
- * Adds a field definition to the app specific schema
211
- * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
212
- * @param {Definition} appSchema - App schema in general
213
- * @param {DataFieldAbstractTypes} field - field definition in parser output (AVT)
214
- * @param {string} targetID - unique ID, identifies the parent object (form)
215
- * @param {string} key - current field key
216
- * @param {FacetConfig} section - current section of the object page
217
- * @param {FioriElementsVersion} version - Fiori Elements version
218
- * @param {boolean} [withActions=true] - Fields with actions
219
- * @param {FieldsContainerSchema} containersSchema - Schema definitions to store fields and actions.
220
- * @param {string} [entityTypeName=section.entityType.fullyQualifiedNam] - Entity type name for annotation path resoluton.
225
+ * Retrieves the modified field reference based on the specified Fiori Elements version
226
+ * and the provided field reference identifier.
227
+ *
228
+ * @param {FioriElementsVersion} version - The Fiori Elements version (e.g., v2, v4).
229
+ * @param {string} fieldReferenceId - The identifier for the field reference to be processed.
230
+ * @returns {string} The transformed field reference if the version is v2 and the identifier contains '::',
231
+ * otherwise returns the original field reference identifier.
221
232
  */
222
- function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true, containersSchema = {}, entityTypeName = section.entityType.fullyQualifiedName) {
223
- // Calculate field reference
224
- const fieldReferenceId = (0, StableIdHelper_1.getStableIdPartFromDataField)(field);
225
- const fieldReference = version === ux_specification_types_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
233
+ function getFieldReference(version, fieldReferenceId) {
234
+ return version === ux_specification_types_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
226
235
  ? fieldReferenceId.split('::').splice(1).join('::')
227
236
  : fieldReferenceId;
228
- // Determine field definition name
229
- const schemaKeyOfField = determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference);
230
- // Field properties
231
- let properties = {};
237
+ }
238
+ /**
239
+ * Adds a field configuration to the given section type within the application schema.
240
+ *
241
+ * @param sectionType The type of section where the field is to be added.
242
+ * @param appSchema The application schema to which the field configuration should be added.
243
+ * @param field The data field object that contains the field's metadata and properties.
244
+ * @param targetID The target identifier for the field reference within the schema.
245
+ * @param key The unique key of the field in the configuration.
246
+ * @param section The facet configuration for the section to which the field belongs.
247
+ * @param version The version of Fiori Elements being used.
248
+ * @param withActions A boolean indicating whether actions should be included in the field configuration. Defaults to true.
249
+ * @param containersSchema The schema structure for field containers. Defaults to an empty object.
250
+ * @param entityTypeName The name of the entity type associated with the section. Defaults to the fully qualified name of the section's entity type.
251
+ */
252
+ function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true, containersSchema = {}, entityTypeName = section.entityType.fullyQualifiedName) {
232
253
  // Evaluate field type, set field reference of properties of fields' or actions' definition
233
254
  if (!field || !field.$Type) {
234
255
  return;
235
256
  }
236
- else if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */ ||
237
- field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* UIAnnotationTypes.DataFieldForIntentBasedNavigation */) {
238
- if (withActions && sectionType === ux_specification_types_1.SectionType.Section) {
239
- const actionsProperties = getFieldsSchemaContainer(appSchema, `${sectionType}${ux_specification_types_1.DefinitionName.Actions}<${targetID}>`, containersSchema.actions);
240
- const fieldInSchema = (actionsProperties[fieldReference] = {
241
- $ref: `${__1.DEFINITION_LINK_PREFIX}${schemaKeyOfField}`
242
- });
243
- fieldInSchema[ux_specification_types_1.SchemaTag.propertyIndex] = parseInt(key);
244
- }
245
- }
246
- else {
247
- const fieldsProperties = getFieldsSchemaContainer(appSchema, `${sectionType}${ux_specification_types_1.DefinitionName.Fields}<${targetID}>`, containersSchema.fields);
248
- fieldsProperties[fieldReference] = {
249
- $ref: `${__1.DEFINITION_LINK_PREFIX}${schemaKeyOfField}`,
250
- propertyIndex: parseInt(key)
251
- };
252
- if (isConnectedField(field)) {
253
- // Populate connected fields
254
- properties = addConnectedFields(sectionType, appSchema, field, section, version);
255
- }
256
- }
257
- // Now set up the field definition
258
- appSchema.definitions[schemaKeyOfField] = {
259
- type: 'object',
260
- properties,
261
- description: (0, __1.getDataFieldDescription)(field, section.entityType),
262
- additionalProperties: false
257
+ const addDefinitionData = {
258
+ appSchema,
259
+ withActions,
260
+ sectionType,
261
+ field,
262
+ targetID,
263
+ containersSchema,
264
+ key,
265
+ version,
266
+ section,
267
+ entityTypeName
263
268
  };
264
- //Add tags
265
- addKeysTagToField(field, appSchema, schemaKeyOfField);
266
- appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.annotationPath] = `/${entityTypeName}/${field.fullyQualifiedName.split(entityTypeName)[1]}`;
267
- appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.annotationType] = field.$Type;
268
- appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.isViewNode] = true;
269
- (0, __1.addDataTypeToDefinition)(appSchema.definitions[schemaKeyOfField], field);
270
- // Copy the generic definition of field properties to the specific one
271
- copyFieldProperties(version, appSchema, field, schemaKeyOfField);
272
- if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */ && appSchema.definitions?.['FormAction']) {
273
- appSchema.definitions[schemaKeyOfField].$ref = `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.FormAction}`;
274
- delete appSchema.definitions[schemaKeyOfField].properties;
275
- }
269
+ const strategy = DataFieldStrategy_1.dataFieldStrategyContext.getStrategy(field.$Type);
270
+ strategy.addDefinition(addDefinitionData);
276
271
  }
277
272
  /**
278
- * The function determines the target ID that shall be used in the app schema for a form
273
+ * The function determines the target ID that shall be used in the app schema for a form.
274
+ *
279
275
  * @param section - object describing the section or facet
280
276
  * @returns the target ID (string)
281
277
  */
@@ -293,7 +289,8 @@ function determineTargetIdOfForm(section) {
293
289
  return targetID;
294
290
  }
295
291
  /**
296
- * Adds the specific definitions of the form fields to a schema
292
+ * Adds the specific definitions of the form fields to a schema.
293
+ *
297
294
  * @param {FacetConfig} section - section definition, as prepared from the annotations
298
295
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
299
296
  * @param {object} appSchema - app specific schema that gets enhanced
@@ -318,7 +315,8 @@ function addFieldsToFormDefinition(section, sectionType, appSchema, targetID, ve
318
315
  }
319
316
  }
320
317
  /**
321
- * Adds the schema tags for a form definition
318
+ * Adds the schema tags for a form definition.
319
+ *
322
320
  * @param {FacetConfig} section - section definition, as prepared from the annotations
323
321
  * @param {object} appSchema - app specific schema that gets enhanced
324
322
  * @param {string} formDefinitionKey - key of the form definition in schema
@@ -343,7 +341,8 @@ function addTagsToFormDefinition(section, appSchema, formDefinitionKey) {
343
341
  }
344
342
  }
345
343
  /**
346
- * Adds definitions for forms in object page sections to the app schema
344
+ * Adds definitions for forms in object page sections to the app schema.
345
+ *
347
346
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
348
347
  * @param {FacetConfig} section - section definition, as prepared from the annotations
349
348
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
@@ -408,7 +407,8 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, version,
408
407
  return targetID;
409
408
  }
410
409
  /**
411
- * Replaces an alias in an annotation ID or reference, based on the AVT references' list
410
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list.
411
+ *
412
412
  * @param annotationIdentifier - annotation ID or reference
413
413
  * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
414
414
  * @returns the converted string
@@ -428,13 +428,14 @@ function replaceAlias(annotationIdentifier, oDataServiceAVT) {
428
428
  return result;
429
429
  }
430
430
  /**
431
- * Common routine to determine the name and the ID of a header action
432
- * @param action - action as given by AVT
433
- * @param entityType - entity type by AVT
434
- * @returns an object comprising action name and action id
431
+ * Extracts the action name, action ID, and namespace from the given item and OData service metadata.
432
+ *
433
+ * @param item - The item containing action information.
434
+ * @param oDataServiceAVT - The OData service metadata used for alias replacement.
435
+ * @returns An object containing the action name, action ID, and namespace.
435
436
  */
436
437
  function getActionNameAndId(item, oDataServiceAVT) {
437
- const action = replaceAlias(item.Action, oDataServiceAVT);
438
+ const action = replaceAlias(item.Action ?? '', oDataServiceAVT);
438
439
  let relevantAction = action;
439
440
  let separatorIndex = action.indexOf('(');
440
441
  if (separatorIndex > 0) {
@@ -460,10 +461,11 @@ function getActionNameAndId(item, oDataServiceAVT) {
460
461
  return { actionName, actionId, namespace };
461
462
  }
462
463
  /**
463
- * Checks if requested Entity Set is same as first Object Page
464
- * @param {SapUiAppPagesV2} pages - pages found in manifest
465
- * @param {GenerateAppSchemaParameters} generateParameters - Schema parameters
466
- * @returns {boolean} If found Object Page is first Object Page
464
+ * Checks if requested Entity Set is same as first Object Page.
465
+ *
466
+ * @param pages - pages found in manifest
467
+ * @param generateParameters - Schema parameters
468
+ * @returns If found Object Page is first Object Page
467
469
  */
468
470
  function isFirstObjectPage(pages, generateParameters) {
469
471
  for (const key in pages) {
@@ -480,13 +482,13 @@ function isFirstObjectPage(pages, generateParameters) {
480
482
  }
481
483
  }
482
484
  /**
483
- * Add Object Page Footer Action Buttons to app-specific schema
485
+ * Add Object Page Footer Action Buttons to app-specific schema.
484
486
  *
485
- * @param {object} appSchema Schema of the app
486
- * @param {GenerateAppSchemaParameters} generateParameters - Schema parameters
487
- * @param {FioriElementsVersion} version - Fiori elements versions
488
- * @param {function} addFooterActionCallBack - Callback function, either V2 or V4
489
- * @param {SapUiAppPagesV2} pages - pages found in manifest
487
+ * @param appSchema Schema of the app
488
+ * @param generateParameters - Schema parameters
489
+ * @param version - Fiori elements versions
490
+ * @param addFooterActionCallBack - Callback function, either V2 or V4
491
+ * @param pages - pages found in manifest
490
492
  */
491
493
  function addFooterActions(appSchema, generateParameters, version, addFooterActionCallBack, pages) {
492
494
  appSchema.definitions[ux_specification_types_1.DefinitionName.ObjectPageFooter] = JSON.parse(JSON.stringify(appSchema.definitions[`${ux_specification_types_1.DefinitionName.ObjectPageFooter}<ObjectPageFooterActions>`]));
@@ -512,7 +514,7 @@ function addFooterActions(appSchema, generateParameters, version, addFooterActio
512
514
  if (actionAnnotation) {
513
515
  const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`);
514
516
  footerActions[ux_specification_types_1.SchemaTag.annotationPath] = `/${convertedIdentification}`;
515
- //V2 or V4 vcallback
517
+ //V2 or V4 callback
516
518
  addFooterActionCallBack(entityType, appSchema, footerActions, actionAnnotation);
517
519
  }
518
520
  else if (entityType) {
@@ -528,10 +530,14 @@ function addFooterActions(appSchema, generateParameters, version, addFooterActio
528
530
  delete appSchema.definitions[`${ux_specification_types_1.DefinitionName.ObjectPageFooter}<${ux_specification_types_1.DefinitionName.ObjectPageFooterActions}>`];
529
531
  }
530
532
  /**
531
- * Add Object Page Header Action Buttons to app-specific schema
533
+ * Add Object Page Header Action Buttons to app-specific schema.
534
+ *
532
535
  * @param {Definition} appSchema Schema of the app
536
+ * @param entityType - The entity type for which the entity set is being determined
533
537
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
534
- * @param {function} addHeaderActionCallBack - Callback function, either V2 or V4
538
+ * @param {Function} addHeaderActionCallBack - Callback function, either V2 or V4
539
+ * @param page - The page configuration for the object page
540
+ * @param isV2 - Indicates whether the version is V2
535
541
  */
536
542
  function addHeaderActions(appSchema, entityType, generateParameters, addHeaderActionCallBack, page, isV2 = false) {
537
543
  const actionsDefinition = ux_specification_types_1.DefinitionName.ObjectPageHeaderActions;
@@ -565,7 +571,8 @@ function addHeaderActions(appSchema, entityType, generateParameters, addHeaderAc
565
571
  }
566
572
  }
567
573
  /**
568
- * Adds common Object Page Header definitions to the app schema
574
+ * Adds common Object Page Header definitions to the app schema.
575
+ *
569
576
  * @param appSchema - app-specific JSOn schema
570
577
  * @param entityType - current entity Type
571
578
  */
@@ -580,9 +587,10 @@ function addCommonHeaderSchema(appSchema, entityType) {
580
587
  }
581
588
  }
582
589
  /**
583
- * Common logic to determine the EntitySet of a given EntityType
584
- * @param {EntityType} - entity type
585
- * @param {ConvertedMetadata} serviceAVT - AVT converter output, comprising all annotation information
590
+ * Common logic to determine the EntitySet of a given EntityType.
591
+ *
592
+ * @param entityType - The entity type for which the entity set is being determined
593
+ * @param serviceAVT - AVT converter output, comprising all annotation information
586
594
  * @returns the entity set as defined in AVT, if found
587
595
  */
588
596
  function determineEntitySetOfEntityType(entityType, serviceAVT) {
@@ -590,4 +598,130 @@ function determineEntitySetOfEntityType(entityType, serviceAVT) {
590
598
  ? serviceAVT.entitySets.find((es) => es.entityType.fullyQualifiedName === entityType.fullyQualifiedName)
591
599
  : undefined;
592
600
  }
601
+ /**
602
+ * Adds a data field definition to the application schema based on the provided parameters.
603
+ *
604
+ * @param {AddDefinitionParams} data - An object containing the parameters necessary to define and add the data field.
605
+ * This includes:
606
+ * - `appSchema`: The application schema to which the definition is added
607
+ * - `section`: The section in which the field resides
608
+ * - `sectionType`: The type of the section
609
+ * - `field`: The specific field to be added
610
+ * - `targetID`: The target identifier for the field
611
+ * - `containersSchema`: The schema container for fields
612
+ * - `key`: The key that determines the order of the field
613
+ * - `version`: The version of the schema
614
+ */
615
+ function addDataFieldDefinition(data) {
616
+ const { appSchema, section, sectionType, field, targetID, containersSchema, key, version } = data;
617
+ // Calculate field reference
618
+ const fieldReferenceId = (0, StableIdHelper_1.getStableIdPartFromDataField)(field);
619
+ const fieldReference = getFieldReference(version, fieldReferenceId);
620
+ // Determine field definition name
621
+ const schemaKeyOfField = determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference);
622
+ const fieldsProperties = getFieldsSchemaContainer(appSchema, `${sectionType}${ux_specification_types_1.DefinitionName.Fields}<${targetID}>`, containersSchema.fields);
623
+ // Field properties
624
+ let properties = {};
625
+ fieldsProperties[fieldReference] = {
626
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${schemaKeyOfField}`,
627
+ propertyIndex: parseInt(key)
628
+ };
629
+ if (isConnectedField(field)) {
630
+ // Populate connected fields
631
+ properties = addConnectedFields(sectionType, appSchema, field, section, version);
632
+ }
633
+ writeDefinitionToSchema(data, schemaKeyOfField, properties);
634
+ }
635
+ /**
636
+ * Adds a data field to the schema definition for action and action group configurations.
637
+ *
638
+ * @param {AddDefinitionParams} data - The input data required to add the data field, including:
639
+ * - appSchema: The application schema to be updated.
640
+ * - withActions: A flag indicating whether actions are included.
641
+ * - sectionType: The type of the section (e.g., Section).
642
+ * - field: The data field to be added.
643
+ * - targetID: The identifier of the target.
644
+ * - containersSchema: The schema containing action and action groups configurations.
645
+ * - key: The key used for the property's index.
646
+ * - version: The schema version information.
647
+ * @returns {void} The function does not return a value.
648
+ */
649
+ function addDataFieldForActionAndActionGroupDefinition(data) {
650
+ const { appSchema, withActions, sectionType, field, targetID, containersSchema, key, version } = data;
651
+ // Calculate field reference
652
+ const fieldReferenceId = (0, StableIdHelper_1.getStableIdPartFromDataField)(field);
653
+ const fieldReference = getFieldReference(version, fieldReferenceId);
654
+ // Determine field definition name
655
+ const schemaKeyOfField = determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference);
656
+ const properties = {};
657
+ if (withActions && sectionType === ux_specification_types_1.SectionType.Section) {
658
+ const actionsProperties = getFieldsSchemaContainer(appSchema, `${sectionType}${ux_specification_types_1.DefinitionName.Actions}<${targetID}>`, containersSchema.actions);
659
+ const fieldInSchema = (actionsProperties[fieldReference] = {
660
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${schemaKeyOfField}`
661
+ });
662
+ fieldInSchema[ux_specification_types_1.SchemaTag.propertyIndex] = parseInt(key);
663
+ }
664
+ addGroupedActionsToDefinition(data, schemaKeyOfField, properties);
665
+ writeDefinitionToSchema(data, schemaKeyOfField, properties);
666
+ }
667
+ /**
668
+ * Adds each action in the group to the provided schema properties based on the given field and schema key.
669
+ *
670
+ * @param {AddDefinitionParams} data - An object containing details about the application schema, the field, and the version.
671
+ * @param {string} schemaKeyOfField - The schema key corresponding to the field being processed.
672
+ * @param {DefinitionsProperties} properties - The schema definitions properties object where new definitions will be added.
673
+ * @returns {void} This function does not return a value.
674
+ */
675
+ function addGroupedActionsToDefinition(data, schemaKeyOfField, properties) {
676
+ const { appSchema, field, version } = data;
677
+ if (field.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */) {
678
+ return;
679
+ }
680
+ (field['Actions'] ?? []).forEach((action) => {
681
+ const dataForGroup = { ...data, field: action, targetID: schemaKeyOfField, withActions: false };
682
+ const actionReferenceId = (0, StableIdHelper_1.getStableIdPartFromDataField)(action);
683
+ const actionReference = getFieldReference(version, actionReferenceId);
684
+ const schemaKeyOfAction = determineFieldDefinitionName(version, actionReferenceId, schemaKeyOfField, actionReference);
685
+ addDataFieldForActionAndActionGroupDefinition(dataForGroup);
686
+ properties[actionReference] = appSchema.definitions[schemaKeyOfAction];
687
+ });
688
+ }
689
+ /**
690
+ * Writes a definition to the schema based on the provided data and schema key.
691
+ *
692
+ * @param {AddDefinitionParams} data - The parameters containing information about the schema, field, version, section, and entity type name.
693
+ * @param {string} schemaKeyOfField - The key for the schema definition where the field's properties should be added.
694
+ * @param {DefinitionsProperties} [properties] - Optional properties to include in the schema definition.
695
+ * @returns {void} The function does not return a value.
696
+ */
697
+ function writeDefinitionToSchema(data, schemaKeyOfField, properties = {}) {
698
+ const { appSchema, field, version, section, entityTypeName } = data;
699
+ appSchema.definitions[schemaKeyOfField] = {
700
+ type: 'object',
701
+ properties,
702
+ description: (0, __1.getDataFieldDescription)(field, section.entityType),
703
+ additionalProperties: false
704
+ };
705
+ // add a warning message for all versions that don't support action groups
706
+ if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */) {
707
+ (0, __1.addMessageToSchema)(appSchema.definitions[schemaKeyOfField], i18next_1.default.t('ACTION_GROUPS_ARENT_SUPPORTED'));
708
+ }
709
+ //Add tags
710
+ addKeysTagToField(field, appSchema, schemaKeyOfField);
711
+ appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.annotationPath] = `/${entityTypeName}/${field.fullyQualifiedName.split(entityTypeName)[1]}`;
712
+ appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.annotationType] = field.$Type;
713
+ appSchema.definitions[schemaKeyOfField][ux_specification_types_1.SchemaTag.isViewNode] = true;
714
+ (0, __1.addDataTypeToDefinition)(appSchema.definitions[schemaKeyOfField], field);
715
+ // Copy the generic definition of field properties to the specific one
716
+ copyFieldProperties(version, appSchema, field, schemaKeyOfField);
717
+ if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */ && appSchema.definitions?.[ux_specification_types_1.DefinitionName.FormAction]) {
718
+ appSchema.definitions[schemaKeyOfField].$ref = `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.FormAction}`;
719
+ delete appSchema.definitions[schemaKeyOfField].properties;
720
+ }
721
+ if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */ &&
722
+ appSchema.definitions?.[ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup]) {
723
+ appSchema.definitions[schemaKeyOfField].$ref =
724
+ `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup}`;
725
+ }
726
+ }
593
727
  //# sourceMappingURL=objectPage.js.map