@sap/ux-specification 1.102.5 → 1.102.9

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 (745) hide show
  1. package/dist/documentation/runDocu-min.js +5 -9623
  2. package/dist/documentation/runDocu-min.js.map +1 -1
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  9. package/dist/documentation/v4/v4-FreestylePage.html +1 -1
  10. package/dist/documentation/v4/v4-ListReport.html +1 -1
  11. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  12. package/dist/index-min.js +83 -30617
  13. package/dist/index-min.js.map +3 -3
  14. package/dist/schemas/v2/AnalyticalListPageConfig.json +11 -8
  15. package/dist/schemas/v2/ListReportConfig.json +168 -165
  16. package/dist/schemas/v4/ApplicationV4.json +26 -0
  17. package/dist/schemas/v4/ListReportConfig.json +21 -22
  18. package/dist/schemas/v4/ObjectPageConfig.json +1 -2
  19. package/dist/scripts/extractDocu.d.ts +2 -0
  20. package/dist/scripts/extractDocu.d.ts.map +1 -0
  21. package/dist/scripts/extractDocu.js +507 -0
  22. package/dist/scripts/extractDocu.js.map +1 -0
  23. package/dist/scripts/runDocu.d.ts +2 -0
  24. package/dist/scripts/runDocu.d.ts.map +1 -0
  25. package/dist/scripts/runDocu.js +579 -0
  26. package/dist/scripts/runDocu.js.map +1 -0
  27. package/dist/scripts/spec.d.ts +2 -0
  28. package/dist/scripts/spec.d.ts.map +1 -0
  29. package/dist/scripts/spec.js +113 -0
  30. package/dist/scripts/spec.js.map +1 -0
  31. package/dist/scripts/to-json-schema.d.ts +11 -0
  32. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  33. package/dist/scripts/to-json-schema.js +146 -0
  34. package/dist/scripts/to-json-schema.js.map +1 -0
  35. package/dist/{types → src}/api.d.ts +1 -1
  36. package/dist/{types → src}/api.d.ts.map +1 -1
  37. package/dist/src/api.js +191 -0
  38. package/dist/src/api.js.map +1 -0
  39. package/dist/{types → src}/apiTypes.d.ts +17 -21
  40. package/dist/src/apiTypes.d.ts.map +1 -0
  41. package/dist/src/apiTypes.js +25 -0
  42. package/dist/src/apiTypes.js.map +1 -0
  43. package/dist/{types → src}/extensionLogger.d.ts +1 -1
  44. package/dist/{types → src}/extensionLogger.d.ts.map +1 -1
  45. package/dist/src/extensionLogger.js +41 -0
  46. package/dist/src/extensionLogger.js.map +1 -0
  47. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  48. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  49. package/dist/src/i18n/i18n.js +26 -0
  50. package/dist/src/i18n/i18n.js.map +1 -0
  51. package/dist/{types → src}/index.d.ts +2 -2
  52. package/dist/src/index.d.ts.map +1 -0
  53. package/dist/src/index.js +20 -0
  54. package/dist/src/index.js.map +1 -0
  55. package/dist/{types → src}/project.d.ts +2 -1
  56. package/dist/src/project.d.ts.map +1 -0
  57. package/dist/src/project.js +153 -0
  58. package/dist/src/project.js.map +1 -0
  59. package/dist/{types → src}/specification/schemaAccess.d.ts +3 -13
  60. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  61. package/dist/src/specification/schemaAccess.js +63 -0
  62. package/dist/src/specification/schemaAccess.js.map +1 -0
  63. package/dist/{types → src}/sync/common/appProvider.d.ts +3 -5
  64. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  65. package/dist/src/sync/common/appProvider.js +124 -0
  66. package/dist/src/sync/common/appProvider.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/control.d.ts +2 -2
  68. package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
  69. package/dist/src/sync/common/decoration/control.js +219 -0
  70. package/dist/src/sync/common/decoration/control.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  72. package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
  73. package/dist/src/sync/common/decoration/decorators.js +52 -0
  74. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  76. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  77. package/dist/src/sync/common/decoration/factory.js +49 -0
  78. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  79. package/dist/src/sync/common/decoration/flex.d.ts +4 -0
  80. package/dist/src/sync/common/decoration/flex.d.ts.map +1 -0
  81. package/dist/src/sync/common/decoration/flex.js +9 -0
  82. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  83. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/decoration/index.js +16 -0
  86. package/dist/src/sync/common/decoration/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -4
  88. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  89. package/dist/src/sync/common/flexUtils.js +107 -0
  90. package/dist/src/sync/common/flexUtils.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  92. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  93. package/dist/src/sync/common/generate/index.js +15 -0
  94. package/dist/src/sync/common/generate/index.js.map +1 -0
  95. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  96. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  97. package/dist/src/sync/common/generate/objectPage.js +380 -0
  98. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  99. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  100. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  101. package/dist/src/sync/common/generate/utils.js +502 -0
  102. package/dist/src/sync/common/generate/utils.js.map +1 -0
  103. package/dist/src/sync/common/i18n.json +23 -0
  104. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  106. package/dist/src/sync/common/import/utils.js +107 -0
  107. package/dist/src/sync/common/import/utils.js.map +1 -0
  108. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  109. package/dist/src/sync/common/importProject.d.ts.map +1 -0
  110. package/dist/src/sync/common/importProject.js +336 -0
  111. package/dist/src/sync/common/importProject.js.map +1 -0
  112. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  113. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  114. package/dist/src/sync/common/index.js +23 -0
  115. package/dist/src/sync/common/index.js.map +1 -0
  116. package/dist/{types → src}/sync/common/types.d.ts +6 -56
  117. package/dist/src/sync/common/types.d.ts.map +1 -0
  118. package/dist/src/sync/common/types.js +177 -0
  119. package/dist/src/sync/common/types.js.map +1 -0
  120. package/dist/{types → src}/sync/common/utils.d.ts +8 -10
  121. package/dist/src/sync/common/utils.d.ts.map +1 -0
  122. package/dist/src/sync/common/utils.js +1263 -0
  123. package/dist/src/sync/common/utils.js.map +1 -0
  124. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  125. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  126. package/dist/src/sync/i18n.js +28 -0
  127. package/dist/src/sync/i18n.js.map +1 -0
  128. package/dist/{types → src}/sync/v2/application.d.ts +7 -7
  129. package/dist/src/sync/v2/application.d.ts.map +1 -0
  130. package/dist/src/sync/v2/application.js +206 -0
  131. package/dist/src/sync/v2/application.js.map +1 -0
  132. package/dist/{types → src}/sync/v2/export/controls/Action.d.ts +4 -4
  133. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  134. package/dist/src/sync/v2/export/controls/Action.js +129 -0
  135. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  136. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +10 -0
  137. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +75 -0
  139. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  141. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  142. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +57 -0
  143. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  145. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/Card.js +656 -0
  147. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  149. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/Field.js +42 -0
  151. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  152. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +40 -0
  153. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/FilterBar.js +280 -0
  155. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  156. package/dist/{types → src}/sync/v2/export/controls/FormAction.d.ts +3 -3
  157. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/FormAction.js +97 -0
  159. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  160. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  161. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  163. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +8 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +38 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +111 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  172. package/dist/{types → src}/sync/v2/export/controls/ObjectPageFooterAction.d.ts +2 -2
  173. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +63 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +11 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +62 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  180. package/dist/{types → src}/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +2 -2
  181. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +63 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +60 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  188. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  189. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +200 -0
  191. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +52 -0
  193. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +337 -0
  195. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  196. package/dist/{types → src}/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +2 -2
  197. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +62 -0
  199. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +26 -26
  201. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  202. package/dist/src/sync/v2/export/controls/Table.js +755 -0
  203. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/controls/TableColumn.d.ts +5 -6
  205. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  206. package/dist/src/sync/v2/export/controls/TableColumn.js +173 -0
  207. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  208. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  209. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/controls/ToolBar.js +7 -0
  211. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  214. package/dist/src/sync/v2/export/controls/index.js +33 -0
  215. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  217. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  218. package/dist/src/sync/v2/export/export.js +678 -0
  219. package/dist/src/sync/v2/export/export.js.map +1 -0
  220. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  221. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/exportPage.js +304 -0
  223. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  224. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  225. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  226. package/dist/src/sync/v2/export/factory.js +71 -0
  227. package/dist/src/sync/v2/export/factory.js.map +1 -0
  228. package/dist/{types → src}/sync/v2/export/manifest.d.ts +3 -3
  229. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/manifest.js +159 -0
  231. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  232. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  233. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +43 -0
  235. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  236. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  237. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  238. package/dist/src/sync/v2/export/pages/ListReport.js +40 -0
  239. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  240. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +18 -0
  241. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/pages/ObjectPage.js +101 -0
  243. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +7 -7
  245. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  246. package/dist/src/sync/v2/export/pages/OverviewPage.js +214 -0
  247. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  249. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  250. package/dist/src/sync/v2/export/pages/index.js +17 -0
  251. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  253. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  254. package/dist/src/sync/v2/export/view-controller-generator.js +149 -0
  255. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  257. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/analyticalListReport.js +86 -0
  259. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/generate.js +100 -0
  263. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  265. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  266. package/dist/src/sync/v2/generate/index.js +15 -0
  267. package/dist/src/sync/v2/generate/index.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +2 -2
  269. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/listReport.js +125 -0
  271. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  273. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  274. package/dist/src/sync/v2/generate/objectPage.js +547 -0
  275. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  277. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  278. package/dist/src/sync/v2/generate/overviewPage.js +71 -0
  279. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  281. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  282. package/dist/src/sync/v2/generate/utils.js +551 -0
  283. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  285. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/app/appProvider.js +142 -0
  287. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  289. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  290. package/dist/src/sync/v2/import/app/ovpProvider.js +33 -0
  291. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  293. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  294. package/dist/src/sync/v2/import/common/index.js +420 -0
  295. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  297. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/controls/table.js +34 -0
  299. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  301. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  302. package/dist/src/sync/v2/import/getPageType.js +1 -0
  303. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  305. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  306. package/dist/src/sync/v2/import/index.js +18 -0
  307. package/dist/src/sync/v2/import/index.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  309. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/analyticalListPage.js +129 -0
  311. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  313. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/pages/listReport.js +160 -0
  315. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  317. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  318. package/dist/src/sync/v2/import/pages/objectPage.js +746 -0
  319. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  320. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  321. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  322. package/dist/src/sync/v2/import/pages/overviewPage.js +112 -0
  323. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  324. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  325. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  326. package/dist/src/sync/v2/import/utils.js +169 -0
  327. package/dist/src/sync/v2/import/utils.js.map +1 -0
  328. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  329. package/dist/src/sync/v2/types.d.ts.map +1 -0
  330. package/dist/src/sync/v2/types.js +38 -0
  331. package/dist/src/sync/v2/types.js.map +1 -0
  332. package/dist/{types → src}/sync/v4/application.d.ts +6 -9
  333. package/dist/src/sync/v4/application.d.ts.map +1 -0
  334. package/dist/src/sync/v4/application.js +171 -0
  335. package/dist/src/sync/v4/application.js.map +1 -0
  336. package/dist/src/sync/v4/export/controls/FilterBar.d.ts +6 -0
  337. package/dist/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -0
  338. package/dist/src/sync/v4/export/controls/FilterBar.js +25 -0
  339. package/dist/src/sync/v4/export/controls/FilterBar.js.map +1 -0
  340. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +11 -0
  341. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  342. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +136 -0
  343. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -0
  344. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +9 -0
  345. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -0
  346. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +55 -0
  347. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -0
  348. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +22 -0
  349. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +1 -0
  350. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +66 -0
  351. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -0
  352. package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts +5 -0
  353. package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts.map +1 -0
  354. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +25 -0
  355. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -0
  356. package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts +29 -0
  357. package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -0
  358. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +235 -0
  359. package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -0
  360. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +26 -0
  361. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -0
  362. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +161 -0
  363. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -0
  364. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +20 -0
  365. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  366. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +114 -0
  367. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -0
  368. package/dist/{types → src}/sync/v4/export/controls/Table.d.ts +41 -35
  369. package/dist/src/sync/v4/export/controls/Table.d.ts.map +1 -0
  370. package/dist/src/sync/v4/export/controls/Table.js +848 -0
  371. package/dist/src/sync/v4/export/controls/Table.js.map +1 -0
  372. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +64 -0
  373. package/dist/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -0
  374. package/dist/src/sync/v4/export/controls/TableColumn.js +311 -0
  375. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -0
  376. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +9 -0
  377. package/dist/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -0
  378. package/dist/src/sync/v4/export/controls/ToolBar.js +10 -0
  379. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -0
  380. package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +38 -0
  381. package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -0
  382. package/dist/src/sync/v4/export/controls/ToolBarAction.js +215 -0
  383. package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +1 -0
  384. package/dist/{types → src}/sync/v4/export/controls/index.d.ts +0 -0
  385. package/dist/{types → src}/sync/v4/export/controls/index.d.ts.map +0 -0
  386. package/dist/src/sync/v4/export/controls/index.js +25 -0
  387. package/dist/src/sync/v4/export/controls/index.js.map +1 -0
  388. package/dist/{types → src}/sync/v4/export/export.d.ts +3 -2
  389. package/dist/src/sync/v4/export/export.d.ts.map +1 -0
  390. package/dist/src/sync/v4/export/export.js +854 -0
  391. package/dist/src/sync/v4/export/export.js.map +1 -0
  392. package/dist/{types → src}/sync/v4/export/exportCustomColumn.d.ts +0 -0
  393. package/dist/{types → src}/sync/v4/export/exportCustomColumn.d.ts.map +0 -0
  394. package/dist/src/sync/v4/export/exportCustomColumn.js +59 -0
  395. package/dist/src/sync/v4/export/exportCustomColumn.js.map +1 -0
  396. package/dist/{types → src}/sync/v4/export/factory.d.ts +0 -0
  397. package/dist/{types → src}/sync/v4/export/factory.d.ts.map +0 -0
  398. package/dist/src/sync/v4/export/factory.js +57 -0
  399. package/dist/src/sync/v4/export/factory.js.map +1 -0
  400. package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts +9 -0
  401. package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -0
  402. package/dist/src/sync/v4/export/flexibleColumnLayout.js +126 -0
  403. package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +1 -0
  404. package/dist/{types → src}/sync/v4/export/manifest.d.ts +2 -2
  405. package/dist/src/sync/v4/export/manifest.d.ts.map +1 -0
  406. package/dist/src/sync/v4/export/manifest.js +280 -0
  407. package/dist/src/sync/v4/export/manifest.js.map +1 -0
  408. package/dist/{types → src}/sync/v4/export/pages/FreestylePage.d.ts +0 -0
  409. package/dist/{types → src}/sync/v4/export/pages/FreestylePage.d.ts.map +0 -0
  410. package/dist/src/sync/v4/export/pages/FreestylePage.js +10 -0
  411. package/dist/src/sync/v4/export/pages/FreestylePage.js.map +1 -0
  412. package/dist/src/sync/v4/export/pages/ListReport.d.ts +14 -0
  413. package/dist/src/sync/v4/export/pages/ListReport.d.ts.map +1 -0
  414. package/dist/src/sync/v4/export/pages/ListReport.js +82 -0
  415. package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -0
  416. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +9 -0
  417. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts.map +1 -0
  418. package/dist/src/sync/v4/export/pages/ObjectPage.js +41 -0
  419. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -0
  420. package/dist/{types → src}/sync/v4/export/pages/index.d.ts +0 -0
  421. package/dist/{types → src}/sync/v4/export/pages/index.d.ts.map +0 -0
  422. package/dist/src/sync/v4/export/pages/index.js +16 -0
  423. package/dist/src/sync/v4/export/pages/index.js.map +1 -0
  424. package/dist/{types → src}/sync/v4/export/types.d.ts +1 -1
  425. package/dist/{types → src}/sync/v4/export/types.d.ts.map +1 -1
  426. package/dist/src/sync/v4/export/types.js +3 -0
  427. package/dist/src/sync/v4/export/types.js.map +1 -0
  428. package/dist/{types → src}/sync/v4/export/utils.d.ts +2 -2
  429. package/dist/src/sync/v4/export/utils.d.ts.map +1 -0
  430. package/dist/src/sync/v4/export/utils.js +44 -0
  431. package/dist/src/sync/v4/export/utils.js.map +1 -0
  432. package/dist/{types → src}/sync/v4/generate/freestylePage.d.ts +0 -0
  433. package/dist/{types → src}/sync/v4/generate/freestylePage.d.ts.map +0 -0
  434. package/dist/src/sync/v4/generate/freestylePage.js +16 -0
  435. package/dist/src/sync/v4/generate/freestylePage.js.map +1 -0
  436. package/dist/{types → src}/sync/v4/generate/generate.d.ts +1 -1
  437. package/dist/src/sync/v4/generate/generate.d.ts.map +1 -0
  438. package/dist/src/sync/v4/generate/generate.js +82 -0
  439. package/dist/src/sync/v4/generate/generate.js.map +1 -0
  440. package/dist/{types → src}/sync/v4/generate/index.d.ts +0 -0
  441. package/dist/{types → src}/sync/v4/generate/index.d.ts.map +0 -0
  442. package/dist/src/sync/v4/generate/index.js +14 -0
  443. package/dist/src/sync/v4/generate/index.js.map +1 -0
  444. package/dist/{types → src}/sync/v4/generate/listReport.d.ts +0 -0
  445. package/dist/{types → src}/sync/v4/generate/listReport.d.ts.map +1 -1
  446. package/dist/src/sync/v4/generate/listReport.js +712 -0
  447. package/dist/src/sync/v4/generate/listReport.js.map +1 -0
  448. package/dist/{types → src}/sync/v4/generate/objectPage.d.ts +0 -0
  449. package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -0
  450. package/dist/src/sync/v4/generate/objectPage.js +628 -0
  451. package/dist/src/sync/v4/generate/objectPage.js.map +1 -0
  452. package/dist/{types → src}/sync/v4/import/app/appProvider.d.ts +2 -2
  453. package/dist/{types → src}/sync/v4/import/app/appProvider.d.ts.map +1 -1
  454. package/dist/src/sync/v4/import/app/appProvider.js +11 -0
  455. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -0
  456. package/dist/{types → src}/sync/v4/import/app/baseAppProvider.d.ts +9 -9
  457. package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -0
  458. package/dist/src/sync/v4/import/app/baseAppProvider.js +358 -0
  459. package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -0
  460. package/dist/{types → src}/sync/v4/import/app/freestyleProvider.d.ts +2 -2
  461. package/dist/src/sync/v4/import/app/freestyleProvider.d.ts.map +1 -0
  462. package/dist/src/sync/v4/import/app/freestyleProvider.js +12 -0
  463. package/dist/src/sync/v4/import/app/freestyleProvider.js.map +1 -0
  464. package/dist/{types → src}/sync/v4/import/app/index.d.ts +0 -0
  465. package/dist/{types → src}/sync/v4/import/app/index.d.ts.map +0 -0
  466. package/dist/src/sync/v4/import/app/index.js +13 -0
  467. package/dist/src/sync/v4/import/app/index.js.map +1 -0
  468. package/dist/{types → src}/sync/v4/import/fragment.d.ts +1 -1
  469. package/dist/src/sync/v4/import/fragment.d.ts.map +1 -0
  470. package/dist/src/sync/v4/import/fragment.js +128 -0
  471. package/dist/src/sync/v4/import/fragment.js.map +1 -0
  472. package/dist/{types → src}/sync/v4/import/index.d.ts +0 -0
  473. package/dist/{types → src}/sync/v4/import/index.d.ts.map +0 -0
  474. package/dist/src/sync/v4/import/index.js +15 -0
  475. package/dist/src/sync/v4/import/index.js.map +1 -0
  476. package/dist/{types → src}/sync/v4/import/pages/listReport.d.ts +4 -4
  477. package/dist/src/sync/v4/import/pages/listReport.d.ts.map +1 -0
  478. package/dist/src/sync/v4/import/pages/listReport.js +287 -0
  479. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -0
  480. package/dist/{types → src}/sync/v4/import/pages/objectPage.d.ts +2 -2
  481. package/dist/src/sync/v4/import/pages/objectPage.d.ts.map +1 -0
  482. package/dist/src/sync/v4/import/pages/objectPage.js +265 -0
  483. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -0
  484. package/dist/{types → src}/sync/v4/import/utils.d.ts +1 -1
  485. package/dist/{types → src}/sync/v4/import/utils.d.ts.map +1 -1
  486. package/dist/src/sync/v4/import/utils.js +35 -0
  487. package/dist/src/sync/v4/import/utils.js.map +1 -0
  488. package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts +9 -0
  489. package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -0
  490. package/dist/src/sync/v4/sync-rules/controllerExtensions.js +104 -0
  491. package/dist/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -0
  492. package/dist/{types → src}/sync/v4/types.d.ts +0 -0
  493. package/dist/{types → src}/sync/v4/types.d.ts.map +0 -0
  494. package/dist/src/sync/v4/types.js +3 -0
  495. package/dist/src/sync/v4/types.js.map +1 -0
  496. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +1 -1
  497. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  498. package/dist/src/sync/v4/utils/StableIdHelper.js +145 -0
  499. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  500. package/dist/{types → src}/sync/v4/utils/utils.d.ts +23 -25
  501. package/dist/src/sync/v4/utils/utils.d.ts.map +1 -0
  502. package/dist/src/sync/v4/utils/utils.js +432 -0
  503. package/dist/src/sync/v4/utils/utils.js.map +1 -0
  504. package/package.json +15 -15
  505. package/CHANGELOG.md +0 -176
  506. package/dist/types/apiTypes.d.ts.map +0 -1
  507. package/dist/types/index.d.ts.map +0 -1
  508. package/dist/types/project.d.ts.map +0 -1
  509. package/dist/types/specification/common/Application.d.ts +0 -37
  510. package/dist/types/specification/common/Application.d.ts.map +0 -1
  511. package/dist/types/specification/common/index.d.ts +0 -6
  512. package/dist/types/specification/common/index.d.ts.map +0 -1
  513. package/dist/types/specification/common/page.d.ts +0 -51
  514. package/dist/types/specification/common/page.d.ts.map +0 -1
  515. package/dist/types/specification/common/types.d.ts +0 -17
  516. package/dist/types/specification/common/types.d.ts.map +0 -1
  517. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -50
  518. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  519. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  520. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  521. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  522. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  523. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -36
  524. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  525. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  526. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -47
  527. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  528. package/dist/types/specification/v2/controls/Action.d.ts +0 -74
  529. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  530. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -59
  531. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  532. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  533. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  534. package/dist/types/specification/v2/controls/Card.d.ts +0 -658
  535. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  536. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  537. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  538. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  539. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  540. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -235
  541. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  542. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  543. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  544. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  545. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  546. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  547. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  548. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -33
  549. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  550. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  551. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  552. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  553. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  554. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -187
  555. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  556. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  557. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  558. package/dist/types/specification/v2/controls/Table.d.ts +0 -504
  559. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  560. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  561. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  562. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  563. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  564. package/dist/types/specification/v2/index.d.ts +0 -6
  565. package/dist/types/specification/v2/index.d.ts.map +0 -1
  566. package/dist/types/specification/v2/page.d.ts +0 -8
  567. package/dist/types/specification/v2/page.d.ts.map +0 -1
  568. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  569. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  570. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  571. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  572. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -34
  573. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  574. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -132
  575. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  576. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  577. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  578. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  579. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  580. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  581. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  582. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  583. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  584. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  585. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  586. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  587. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  588. package/dist/types/specification/v4/ApplicationV4.d.ts +0 -36
  589. package/dist/types/specification/v4/ApplicationV4.d.ts.map +0 -1
  590. package/dist/types/specification/v4/controls/FilterBar.d.ts +0 -23
  591. package/dist/types/specification/v4/controls/FilterBar.d.ts.map +0 -1
  592. package/dist/types/specification/v4/controls/ObjectPageFooter.d.ts +0 -12
  593. package/dist/types/specification/v4/controls/ObjectPageFooter.d.ts.map +0 -1
  594. package/dist/types/specification/v4/controls/ObjectPageHeader.d.ts +0 -30
  595. package/dist/types/specification/v4/controls/ObjectPageHeader.d.ts.map +0 -1
  596. package/dist/types/specification/v4/controls/ObjectPageHeaderSection.d.ts +0 -47
  597. package/dist/types/specification/v4/controls/ObjectPageHeaderSection.d.ts.map +0 -1
  598. package/dist/types/specification/v4/controls/ObjectPageLayout.d.ts +0 -15
  599. package/dist/types/specification/v4/controls/ObjectPageLayout.d.ts.map +0 -1
  600. package/dist/types/specification/v4/controls/ObjectPageSection.d.ts +0 -99
  601. package/dist/types/specification/v4/controls/ObjectPageSection.d.ts.map +0 -1
  602. package/dist/types/specification/v4/controls/ObjectPageTable.d.ts +0 -107
  603. package/dist/types/specification/v4/controls/ObjectPageTable.d.ts.map +0 -1
  604. package/dist/types/specification/v4/controls/ObjectPageToolBar.d.ts +0 -38
  605. package/dist/types/specification/v4/controls/ObjectPageToolBar.d.ts.map +0 -1
  606. package/dist/types/specification/v4/controls/Table.d.ts +0 -352
  607. package/dist/types/specification/v4/controls/Table.d.ts.map +0 -1
  608. package/dist/types/specification/v4/controls/ToolBar.d.ts +0 -111
  609. package/dist/types/specification/v4/controls/ToolBar.d.ts.map +0 -1
  610. package/dist/types/specification/v4/controls/index.d.ts +0 -11
  611. package/dist/types/specification/v4/controls/index.d.ts.map +0 -1
  612. package/dist/types/specification/v4/index.d.ts +0 -6
  613. package/dist/types/specification/v4/index.d.ts.map +0 -1
  614. package/dist/types/specification/v4/page.d.ts +0 -21
  615. package/dist/types/specification/v4/page.d.ts.map +0 -1
  616. package/dist/types/specification/v4/pages/FreestylePageConfig.d.ts +0 -3
  617. package/dist/types/specification/v4/pages/FreestylePageConfig.d.ts.map +0 -1
  618. package/dist/types/specification/v4/pages/ListReportConfig.d.ts +0 -37
  619. package/dist/types/specification/v4/pages/ListReportConfig.d.ts.map +0 -1
  620. package/dist/types/specification/v4/pages/ObjectPageConfig.d.ts +0 -19
  621. package/dist/types/specification/v4/pages/ObjectPageConfig.d.ts.map +0 -1
  622. package/dist/types/specification/v4/pages/index.d.ts +0 -4
  623. package/dist/types/specification/v4/pages/index.d.ts.map +0 -1
  624. package/dist/types/specification/v4/webapp/index.d.ts +0 -2
  625. package/dist/types/specification/v4/webapp/index.d.ts.map +0 -1
  626. package/dist/types/specification/v4/webapp/manifest/ManifestSettings.d.ts +0 -225
  627. package/dist/types/specification/v4/webapp/manifest/ManifestSettings.d.ts.map +0 -1
  628. package/dist/types/specification/v4/webapp/manifest/index.d.ts +0 -5
  629. package/dist/types/specification/v4/webapp/manifest/index.d.ts.map +0 -1
  630. package/dist/types/specification/v4/webapp/manifest/sapUi5.d.ts +0 -110
  631. package/dist/types/specification/v4/webapp/manifest/sapUi5.d.ts.map +0 -1
  632. package/dist/types/specification/v4/webapp/manifest/sapUiPageV4.d.ts +0 -84
  633. package/dist/types/specification/v4/webapp/manifest/sapUiPageV4.d.ts.map +0 -1
  634. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  635. package/dist/types/sync/common/decoration/control.d.ts.map +0 -1
  636. package/dist/types/sync/common/decoration/decorators.d.ts.map +0 -1
  637. package/dist/types/sync/common/decoration/flex.d.ts +0 -7
  638. package/dist/types/sync/common/decoration/flex.d.ts.map +0 -1
  639. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  640. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  641. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  642. package/dist/types/sync/common/importProject.d.ts.map +0 -1
  643. package/dist/types/sync/common/types.d.ts.map +0 -1
  644. package/dist/types/sync/common/utils.d.ts.map +0 -1
  645. package/dist/types/sync/v2/application.d.ts.map +0 -1
  646. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  647. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -10
  648. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  649. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  650. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  651. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  652. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  653. package/dist/types/sync/v2/export/controls/FilterBar.d.ts +0 -41
  654. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  655. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  656. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  657. package/dist/types/sync/v2/export/controls/ObjectPageChart.d.ts +0 -8
  658. package/dist/types/sync/v2/export/controls/ObjectPageChart.d.ts.map +0 -1
  659. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  660. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  661. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  662. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -11
  663. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  664. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  665. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  666. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  667. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  668. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  669. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -53
  670. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  671. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  672. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  673. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  674. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  675. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  676. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  677. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  678. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  679. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  680. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  681. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  682. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -19
  683. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  684. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  685. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  686. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  687. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  688. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  689. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  690. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  691. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  692. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  693. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  694. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  695. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  696. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  697. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  698. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  699. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  700. package/dist/types/sync/v2/types.d.ts.map +0 -1
  701. package/dist/types/sync/v4/application.d.ts.map +0 -1
  702. package/dist/types/sync/v4/export/controls/FilterBar.d.ts +0 -6
  703. package/dist/types/sync/v4/export/controls/FilterBar.d.ts.map +0 -1
  704. package/dist/types/sync/v4/export/controls/ObjectPageCustomSection.d.ts +0 -13
  705. package/dist/types/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  706. package/dist/types/sync/v4/export/controls/ObjectPageHeader.d.ts +0 -9
  707. package/dist/types/sync/v4/export/controls/ObjectPageHeader.d.ts.map +0 -1
  708. package/dist/types/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +0 -22
  709. package/dist/types/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +0 -1
  710. package/dist/types/sync/v4/export/controls/ObjectPageLayout.d.ts +0 -5
  711. package/dist/types/sync/v4/export/controls/ObjectPageLayout.d.ts.map +0 -1
  712. package/dist/types/sync/v4/export/controls/ObjectPageTable.d.ts +0 -29
  713. package/dist/types/sync/v4/export/controls/ObjectPageTable.d.ts.map +0 -1
  714. package/dist/types/sync/v4/export/controls/ObjectPageTableColumn.d.ts +0 -26
  715. package/dist/types/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +0 -1
  716. package/dist/types/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +0 -20
  717. package/dist/types/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  718. package/dist/types/sync/v4/export/controls/Table.d.ts.map +0 -1
  719. package/dist/types/sync/v4/export/controls/TableColumn.d.ts +0 -64
  720. package/dist/types/sync/v4/export/controls/TableColumn.d.ts.map +0 -1
  721. package/dist/types/sync/v4/export/controls/ToolBar.d.ts +0 -9
  722. package/dist/types/sync/v4/export/controls/ToolBar.d.ts.map +0 -1
  723. package/dist/types/sync/v4/export/controls/ToolBarAction.d.ts +0 -38
  724. package/dist/types/sync/v4/export/controls/ToolBarAction.d.ts.map +0 -1
  725. package/dist/types/sync/v4/export/export.d.ts.map +0 -1
  726. package/dist/types/sync/v4/export/flexibleColumnLayout.d.ts +0 -8
  727. package/dist/types/sync/v4/export/flexibleColumnLayout.d.ts.map +0 -1
  728. package/dist/types/sync/v4/export/manifest.d.ts.map +0 -1
  729. package/dist/types/sync/v4/export/pages/ListReport.d.ts +0 -14
  730. package/dist/types/sync/v4/export/pages/ListReport.d.ts.map +0 -1
  731. package/dist/types/sync/v4/export/pages/ObjectPage.d.ts +0 -9
  732. package/dist/types/sync/v4/export/pages/ObjectPage.d.ts.map +0 -1
  733. package/dist/types/sync/v4/export/utils.d.ts.map +0 -1
  734. package/dist/types/sync/v4/generate/generate.d.ts.map +0 -1
  735. package/dist/types/sync/v4/generate/objectPage.d.ts.map +0 -1
  736. package/dist/types/sync/v4/import/app/baseAppProvider.d.ts.map +0 -1
  737. package/dist/types/sync/v4/import/app/freestyleProvider.d.ts.map +0 -1
  738. package/dist/types/sync/v4/import/fragment.d.ts.map +0 -1
  739. package/dist/types/sync/v4/import/pages/listReport.d.ts.map +0 -1
  740. package/dist/types/sync/v4/import/pages/objectPage.d.ts.map +0 -1
  741. package/dist/types/sync/v4/utils/utils.d.ts.map +0 -1
  742. package/dist/types/v2.d.ts +0 -3
  743. package/dist/types/v2.d.ts.map +0 -1
  744. package/dist/types/v4.d.ts +0 -3
  745. package/dist/types/v4.d.ts.map +0 -1
@@ -0,0 +1,712 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateListReportSchemaV4 = void 0;
7
+ const utils_1 = require("../utils/utils");
8
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
9
+ const i18next_1 = __importDefault(require("i18next"));
10
+ const extensionLogger_1 = require("../../../extensionLogger");
11
+ const common_1 = require("../../common");
12
+ /**
13
+ * Adds the selection fields to the app schema, as properties of the FilterBar
14
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
15
+ * @param appSchema - the app specific schema that shall get enhanced
16
+ * @param selectionFieldsAnnotation - the UI.SelectionField annotation
17
+ */
18
+ function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation) {
19
+ const selectionFieldsDefinition = appSchema['definitions'].SelectionFields;
20
+ selectionFieldsDefinition.additionalProperties = false;
21
+ selectionFieldsDefinition.properties = {};
22
+ if (!entityType) {
23
+ return;
24
+ }
25
+ selectionFieldsDefinition[common_1.SchemaTag.annotationPath] = common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */);
26
+ if (!selectionFieldsAnnotation) {
27
+ return;
28
+ }
29
+ let i = 0;
30
+ selectionFieldsAnnotation.forEach((selectionField) => {
31
+ let description = selectionField.value;
32
+ const fieldDefinition = 'SelectionField::' + common_1.prepareRef(selectionField.value);
33
+ if (selectionField.type === 'PropertyPath') {
34
+ description = common_1.getLabelForPropertyPath(selectionField, entityType);
35
+ }
36
+ selectionFieldsDefinition['properties'][fieldDefinition] = {
37
+ $ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition
38
+ };
39
+ selectionFieldsDefinition['properties'][fieldDefinition][common_1.SchemaTag.propertyIndex] = i;
40
+ const dataType = common_1.determineDataType(selectionField);
41
+ appSchema['definitions'][fieldDefinition] = {
42
+ type: 'object',
43
+ properties: {},
44
+ description,
45
+ annotationPath: `${selectionFieldsDefinition[common_1.SchemaTag.annotationPath]}/${i}`,
46
+ isViewNode: true,
47
+ additionalProperties: false,
48
+ annotationType: selectionField?.type,
49
+ ...(dataType && { dataType })
50
+ };
51
+ i++;
52
+ });
53
+ }
54
+ /**
55
+ * Convert alias prefix of visualization if different from @UI (e.g. SAP__UI)
56
+ * @param visualization visualization of an (Selection)PresentationVariant
57
+ * @param alias - the given alias or namespace of the OData annotations
58
+ * @returns the converted visualization
59
+ */
60
+ function convertVisualization(visualization, alias) {
61
+ if (visualization && !visualization.startsWith(`@${alias}`)) {
62
+ return visualization.replace(visualization.split('.')[0], '@UI');
63
+ }
64
+ else {
65
+ return visualization;
66
+ }
67
+ }
68
+ function defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType) {
69
+ appSchema.definitions[schemaIdForActions] = JSON.parse(JSON.stringify(appSchema.definitions['Actions']));
70
+ const actions = appSchema.definitions[schemaIdForActions];
71
+ actions.properties = {};
72
+ actions.additionalProperties = false;
73
+ const chartAnnotation = annotations[targetAnnotation?.split(`${common_1.UIVOCABULARY}.`)[1]];
74
+ if (chartAnnotation && chartAnnotation.Actions) {
75
+ let i = 0;
76
+ chartAnnotation.Actions.forEach((actionRecord) => {
77
+ const actionDefinition = common_1.prepareRef(`${common_1.DefinitionName.ChartToolBarAction}<${actionRecord.Action}>`);
78
+ const description = common_1.getDataFieldDescription(actionRecord, entityType);
79
+ const prefix = actionRecord.$Type.split(`${common_1.UIVOCABULARY}.`)[1];
80
+ const action = (actions.properties[`${prefix}::${actionRecord.Action}`] = {
81
+ $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
82
+ description
83
+ });
84
+ //Add tags
85
+ action[common_1.SchemaTag.propertyIndex] = i;
86
+ action[common_1.SchemaTag.annotationType] = actionRecord.$Type;
87
+ action[common_1.SchemaTag.annotationPath] = `/${actionRecord.fullyQualifiedName}`;
88
+ //as ChartToolBarAction is an empty object, copy ViewToolBarAction and remove properties
89
+ appSchema.definitions[actionDefinition] = JSON.parse(JSON.stringify(appSchema.definitions[common_1.DefinitionName.ViewToolBarAction]));
90
+ appSchema.definitions[actionDefinition].properties = {};
91
+ appSchema.definitions[actionDefinition][common_1.SchemaTag.annotationPath] = actionRecord.fullyQualifiedName;
92
+ i++;
93
+ });
94
+ }
95
+ }
96
+ /**
97
+ * Finds the right visualization for a given view
98
+ * @param allVisualizations - list of visualizations for the given (S)PV
99
+ * @param alias - alias definition for the relevant namespace
100
+ * @param namespace - namespace for the UI annotations
101
+ * @param viewKey - view key: primary, secondary, or anything else; may also be undefined. The first visualization is taken in this case.
102
+ * @param visualizationType - allows to find the right visualization if there are many.
103
+ * @returns the value of the first fitting visualization
104
+ */
105
+ function findTheRightVisualization(allVisualizations, alias, namespace, viewKey, visualizationType) {
106
+ let visualization, visualizationObject, targetAnnotation;
107
+ if (allVisualizations) {
108
+ if (viewKey === 'primary') {
109
+ visualizationObject = allVisualizations.find((vis) => {
110
+ return vis['value'].indexOf('Chart') > -1;
111
+ });
112
+ }
113
+ else if (viewKey === 'secondary') {
114
+ visualizationObject = allVisualizations.find((vis) => {
115
+ return vis['value'].indexOf(common_1.FacetBase.LineItem) > -1;
116
+ });
117
+ }
118
+ else {
119
+ if (visualizationType) {
120
+ visualizationObject = allVisualizations.find((v) => v['value'].indexOf(visualizationType) > -1);
121
+ }
122
+ else {
123
+ visualizationObject = allVisualizations[0];
124
+ }
125
+ }
126
+ visualization = convertVisualization(visualizationObject?.['value'], alias);
127
+ if (visualizationObject?.['$target']?.fullyQualifiedName) {
128
+ targetAnnotation = `/${namespace}/${visualizationObject['$target'].fullyQualifiedName.split(namespace)[1]}`;
129
+ }
130
+ else if (visualization) {
131
+ targetAnnotation = `/${namespace}/` + visualization.replace(`UI`, common_1.UIVOCABULARY);
132
+ }
133
+ }
134
+ return { visualization, targetAnnotation };
135
+ }
136
+ /**
137
+ * An annotationPath must be analyzed, to find the right target annotation and visualization
138
+ *
139
+ */
140
+ function analyzeChartAnnotation(namespace, annotationPath, annotationAVT, viewKey) {
141
+ const visualization = '@UI.Chart';
142
+ const targetAnnotationFullName = `/${namespace}/@${annotationPath}`;
143
+ let chartTitle;
144
+ if (annotationAVT['Title']) {
145
+ chartTitle = annotationAVT['Title'];
146
+ }
147
+ else {
148
+ chartTitle = `Chart View (${viewKey})`;
149
+ }
150
+ return { visualization, targetAnnotation: targetAnnotationFullName, chartTitle };
151
+ }
152
+ /**
153
+ * An annotationPath must be analyzed, to find the right target annotation and visualization
154
+ * @param annotationPath - given annotationPath
155
+ * @param uIAnnotations - annotations of UI namespace of the given entityType
156
+ * @param generateParameters - parameters required to generate app schema
157
+ * @param viewKey - allows to distinguish the different view types (LR or ALP)
158
+ * @param visualizationType - allows to find the right visualization if there are many.
159
+ * @returns { visualization: string describing the visualization of the annotation,
160
+ * targetAnnotation: the target annotation behind the visualization
161
+ * namespace: namespace of the annotation,
162
+ * title: title to be shown, derived from the annotation }
163
+ */
164
+ function analyzeViewAnnotation(annotationPath, uIAnnotations, generateParameters, viewKey, visualizationType) {
165
+ let namespace = undefined, title;
166
+ const UILINEITEM = '@UI.LineItem';
167
+ const annotationInManifest = annotationPath?.split(`${common_1.UIVOCABULARY}.`)[1];
168
+ const annotationAVT = annotationInManifest && uIAnnotations[annotationInManifest];
169
+ if (!annotationAVT) {
170
+ return { visualization: undefined, targetAnnotation: undefined, namespace, title: `View (${viewKey})` };
171
+ }
172
+ title = annotationAVT.Text;
173
+ namespace = annotationAVT.fullyQualifiedName.split('@com.sap.vocabularies.UI.v1.')[0];
174
+ const alias = common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
175
+ if (annotationInManifest.startsWith('PresentationVariant')) {
176
+ const { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.Visualizations, alias, namespace, viewKey, visualizationType);
177
+ title = title || `View (${viewKey})`;
178
+ return { visualization, targetAnnotation, namespace, title };
179
+ }
180
+ else if (annotationInManifest.startsWith('SelectionPresentationVariant')) {
181
+ let { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.PresentationVariant.Visualizations, alias, namespace, viewKey, visualizationType);
182
+ if (!visualization) {
183
+ visualization = UILINEITEM; // default visualization
184
+ targetAnnotation = `/${namespace}/` + visualization.replace(`UI`, common_1.UIVOCABULARY); // default targetAnnotation
185
+ }
186
+ title = title || `View (${viewKey})`;
187
+ return { visualization, targetAnnotation, namespace, title };
188
+ }
189
+ else if (annotationInManifest.startsWith('SelectionVariant')) {
190
+ const visualization = UILINEITEM;
191
+ const targetAnnotation = `/${namespace}/@com.sap.vocabularies.UI.v1.LineItem`;
192
+ title = title || `Table View (${viewKey})`;
193
+ return { visualization, targetAnnotation, namespace, title };
194
+ }
195
+ else if (annotationInManifest.startsWith('LineItem')) {
196
+ const visualization = UILINEITEM;
197
+ const targetAnnotation = `/${namespace}/@${annotationPath}`;
198
+ title = title || `Table View (${viewKey})`;
199
+ return { visualization, targetAnnotation, namespace, title };
200
+ }
201
+ else if (annotationInManifest.startsWith('Chart')) {
202
+ const { visualization, targetAnnotation, chartTitle } = analyzeChartAnnotation(namespace, annotationPath, annotationAVT, viewKey);
203
+ return { visualization, targetAnnotation, namespace, title: chartTitle };
204
+ }
205
+ return { visualization: undefined, targetAnnotation: undefined, namespace, title: `View (${viewKey})` };
206
+ }
207
+ /**
208
+ * Adds the ALP chart view to the app-specific schema
209
+ * @param {Definition} appSchema - app-specific JSON schema
210
+ * @param targetAnnotation - target annotation of the chart view, as determined by analyzeViewAnnotation
211
+ * @param annotations - UI annotations, as determined by AVT
212
+ */
213
+ function addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annotations) {
214
+ const chartView = appSchema.definitions[common_1.DefinitionName.ALPChartView];
215
+ appSchema.definitions[common_1.DefinitionName.ALPChart] = JSON.parse(JSON.stringify(chartView));
216
+ delete appSchema.definitions[common_1.DefinitionName.ALPChart][common_1.SchemaTag.isViewNode];
217
+ if (targetAnnotation) {
218
+ appSchema.definitions[common_1.DefinitionName.ALPChart][common_1.SchemaTag.annotationPath] = targetAnnotation;
219
+ }
220
+ appSchema.definitions[common_1.DefinitionName.ALPChart].properties.annotationPath[common_1.SchemaTag.hidden] = true;
221
+ chartView.properties.annotationPath[common_1.SchemaTag.hidden] = true;
222
+ chartView.additionalProperties = false;
223
+ chartView.description = `Chart (key: primary)`;
224
+ chartView.title = `Chart`;
225
+ chartView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ALPChart}`;
226
+ if (chartAnnotationPath) {
227
+ const viewAnnotation = chartAnnotationPath.split(common_1.UIVOCABULARYDOT)[1];
228
+ const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
229
+ chartView[common_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
230
+ }
231
+ chartView[common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
232
+ chartView[common_1.SchemaTag.key] = 'primary';
233
+ }
234
+ /**
235
+ * Adds the ALP views to the app-specific schema
236
+ * @param {Definition} appSchema - app-specific JSON schema
237
+ * @param {Array<Object>} viewsPaths - views' paths' section in the manifest
238
+ * @param {EntityType} entityType - actual entity type of the page's entitySet
239
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
240
+ * @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
241
+ * @param {SapUiAppPageV4} v4Page - actual page in the manifest
242
+ */
243
+ function addALPViews(appSchema, viewsPaths, entityType, generateParameters, templateAnnotation, v4Page, tableDefinitionName) {
244
+ const annotations = entityType.annotations.UI;
245
+ //1. Chart View
246
+ const chartAnnotationPath = viewsPaths?.[0]?.['primary']?.[0]?.[common_1.SchemaTag.annotationPath];
247
+ const { targetAnnotation } = analyzeViewAnnotation(chartAnnotationPath, annotations, generateParameters, 'primary');
248
+ addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annotations);
249
+ // Copy toolbar
250
+ const schemaIdForActions = `Actions<ALPChart>`;
251
+ appSchema.definitions[common_1.DefinitionName.ViewChartToolBar].properties.actions['$ref'] =
252
+ common_1.DEFINITION_LINK_PREFIX + schemaIdForActions;
253
+ defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType);
254
+ //2. Table View
255
+ const { visualization: tableVisualization, targetAnnotation: target } = analyzeViewAnnotation(viewsPaths?.[0]?.['secondary']?.[0]?.[common_1.SchemaTag.annotationPath], annotations, generateParameters, 'secondary');
256
+ const tableDefinition = appSchema.definitions[tableDefinitionName];
257
+ if (tableVisualization || templateAnnotation) {
258
+ tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ToolBarLR}`;
259
+ // Switch from generic column to specific definition
260
+ tableDefinition.properties['columns'] = {
261
+ $ref: common_1.DEFINITION_LINK_PREFIX + common_1.DefinitionName.LineItems
262
+ };
263
+ tableDefinition.properties.annotationPath[common_1.SchemaTag.hidden] = true;
264
+ }
265
+ else {
266
+ tableDefinition.properties = {};
267
+ }
268
+ const tableView = appSchema.definitions[common_1.DefinitionName.ALPTableView];
269
+ appSchema.definitions[common_1.DefinitionName.ALPTable] = JSON.parse(JSON.stringify(tableView));
270
+ delete appSchema.definitions[common_1.DefinitionName.ALPTable][common_1.SchemaTag.isViewNode];
271
+ tableView.additionalProperties = false;
272
+ tableView.description = `Table (key: secondary)`;
273
+ tableView.title = `Table`;
274
+ if (tableVisualization) {
275
+ delete tableView.properties;
276
+ tableView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ALPTable}`;
277
+ }
278
+ else if (!templateAnnotation) {
279
+ tableView.properties = {};
280
+ }
281
+ tableView[common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
282
+ let annotationTerm, viewAnnotation;
283
+ if (tableVisualization && tableVisualization.indexOf(common_1.FacetBase.LineItem) > -1) {
284
+ annotationTerm = tableVisualization.split('.')[1];
285
+ viewAnnotation = viewsPaths[0]['secondary'][0].annotationPath.split(common_1.UIVOCABULARYDOT)[1];
286
+ }
287
+ else if (templateAnnotation) {
288
+ annotationTerm = viewAnnotation = templateAnnotation.split(common_1.UIVOCABULARYDOT)[1];
289
+ }
290
+ if (annotationTerm) {
291
+ const dataForLineItem = {
292
+ appSchema,
293
+ lineItemAnnotation: entityType.annotations.UI[annotationTerm],
294
+ entityType,
295
+ oDataServiceAVT: generateParameters.serviceAVT,
296
+ lineItemId: common_1.DefinitionName.LineItems
297
+ };
298
+ utils_1.addLineItemsTypeToSchema(dataForLineItem, common_1.DefinitionName.ViewTableColumn);
299
+ appSchema.definitions[common_1.DefinitionName.ALPTable][common_1.SchemaTag.annotationPath] = target;
300
+ const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
301
+ tableView[common_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
302
+ tableView[common_1.SchemaTag.key] = 'secondary';
303
+ }
304
+ utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger);
305
+ // Table toolbar actions with custom actions
306
+ const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${common_1.prepareRef(common_1.DefinitionName.LineItems)}>`;
307
+ utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForToolbarActions);
308
+ utils_1.addEnumForActionAnchor(appSchema, schemaIdForToolbarActions, common_1.DefinitionName.CustomActionPosition);
309
+ }
310
+ /**
311
+ * Modifies the app schema, adds the right line chart settings
312
+ * @param inputParameters - list of input parameters as collected by the calling instance
313
+ * @param annotations - UI annotations of the given entityType
314
+ * @returns the ID for the chart view in schema
315
+ */
316
+ function addViewChartDefinitions(inputParameters, annotations) {
317
+ const idForChart = `${common_1.DefinitionName.LRChartView}<${inputParameters.viewKey}>`;
318
+ inputParameters.appSchema.definitions[idForChart] = JSON.parse(JSON.stringify(inputParameters.appSchema.definitions[common_1.DefinitionName.LRChartView]));
319
+ delete inputParameters.appSchema.definitions[idForChart][common_1.SchemaTag.isViewNode];
320
+ inputParameters.appSchema.definitions[idForChart][common_1.SchemaTag.annotationPath] = inputParameters.targetAnnotation;
321
+ if (inputParameters.navPropName) {
322
+ inputParameters.appSchema.definitions[idForChart]['navigationProperty'] = inputParameters.navPropName;
323
+ }
324
+ //Copy toolbar
325
+ const idForToolbar = `${common_1.DefinitionName.ViewChartToolBar}<${inputParameters.viewKey}>`;
326
+ inputParameters.appSchema.definitions[idForToolbar] = JSON.parse(JSON.stringify(inputParameters.appSchema.definitions[common_1.DefinitionName.ViewChartToolBar]));
327
+ inputParameters.appSchema.definitions[idForChart]['properties'].toolBar.$ref = `${common_1.DEFINITION_LINK_PREFIX}${idForToolbar}`;
328
+ //Copy actions
329
+ const schemaIdForActions = `${common_1.DefinitionName.Actions}<${inputParameters.viewKey}>`;
330
+ defineActions(inputParameters.appSchema, schemaIdForActions, annotations, inputParameters.targetAnnotation, inputParameters.targetEntityType);
331
+ inputParameters.appSchema.definitions[idForToolbar]['properties'][common_1.PropertyName.actions]['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${schemaIdForActions}`;
332
+ return idForChart;
333
+ }
334
+ /**
335
+ * Adds the definition of a chart view to the app schema
336
+ * @param inputParameters - list of input parameters as collected by the calling instance
337
+ * @param UIAnnotations - AVT UI annotations of the given entity type
338
+ * @param appSchema - app schema
339
+ * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
340
+ * @param viewKey - view key
341
+ * @param title - view title
342
+ */
343
+ function addViewChart(inputParameters, UIAnnotations, appSchema, viewsDefinition, viewKey, title) {
344
+ const idForChart = addViewChartDefinitions(inputParameters, UIAnnotations);
345
+ appSchema.definitions[idForChart].properties.annotationPath[common_1.SchemaTag.hidden] = true;
346
+ appSchema.definitions[idForChart].properties.index[common_1.SchemaTag.hidden] = true;
347
+ appSchema.definitions[idForChart].properties.entitySet[common_1.SchemaTag.hidden] = true;
348
+ const titleOnHover = `Chart View (key: ${viewKey})`;
349
+ viewsDefinition.properties[viewKey] = {
350
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${idForChart}`,
351
+ description: title ? title : titleOnHover,
352
+ title: titleOnHover
353
+ };
354
+ }
355
+ /**
356
+ * Modifies the app schema, adds the right line item settings as derived from the visualization
357
+ * @param inputParameters - list of input parameters as collected by the calling instance
358
+ * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
359
+ * @param visualization - visualization from the given (S)PV
360
+ * @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
361
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
362
+ */
363
+ function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, generateParameters) {
364
+ const tableId = `${common_1.DefinitionName.LRTableView}<${inputParameters.viewKey}>`;
365
+ const viewId = `${common_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
366
+ const lrTableView = common_1.parseSchemaDefinition(common_1.DefinitionName.LRTableView, inputParameters.viewKey, inputParameters.appSchema);
367
+ delete lrTableView[common_1.SchemaTag.isViewNode];
368
+ lrTableView[common_1.SchemaTag.annotationPath] = inputParameters.targetAnnotation;
369
+ if (inputParameters.navPropName) {
370
+ lrTableView['navigationProperty'] = inputParameters.navPropName;
371
+ }
372
+ //Copy toolbar
373
+ common_1.addDefinitionRef(lrTableView.properties.toolBar, common_1.DefinitionName.ToolBar, viewId);
374
+ const title = `Table View (key: ${inputParameters.viewKey})`;
375
+ viewsDefinition.properties[inputParameters.viewKey] = {
376
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${tableId}`,
377
+ description: inputParameters.title || title,
378
+ title
379
+ };
380
+ common_1.addDefinitionRef(lrTableView.properties.columns, viewId);
381
+ lrTableView.properties.annotationPath[common_1.SchemaTag.hidden] = true;
382
+ lrTableView.properties.index[common_1.SchemaTag.hidden] = true;
383
+ lrTableView.properties.entitySet[common_1.SchemaTag.hidden] = true;
384
+ const annotationTerm = visualization?.split('.')[1] || templateAnnotation.split(common_1.UIVOCABULARYDOT)[1];
385
+ const dataForLineItem = {
386
+ appSchema: inputParameters.appSchema,
387
+ lineItemAnnotation: inputParameters.targetEntityType.annotations.UI[annotationTerm],
388
+ entityType: inputParameters.targetEntityType,
389
+ oDataServiceAVT: generateParameters.serviceAVT,
390
+ lineItemId: viewId
391
+ };
392
+ utils_1.addLineItemsTypeToSchema(dataForLineItem, common_1.DefinitionName.ViewTableColumn, common_1.DefinitionName.ViewCustomColumn, common_1.DefinitionName.ViewCustomAction);
393
+ }
394
+ /**
395
+ * Adds the schema tags to a given view
396
+ * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
397
+ * @param viewKey - key property of the view
398
+ * @param namespace - target namespace for annotations
399
+ * @param view - the given view
400
+ */
401
+ function addTagsToView(viewsDefinition, viewKey, namespace, view) {
402
+ viewsDefinition.properties[viewKey][common_1.SchemaTag.isViewNode] = true;
403
+ viewsDefinition.properties[viewKey][common_1.SchemaTag.annotationPath] = namespace
404
+ ? `/${namespace}/@${view[common_1.SchemaTag.annotationPath]}`
405
+ : undefined;
406
+ viewsDefinition.properties[viewKey][common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
407
+ viewsDefinition.properties[viewKey][common_1.SchemaTag.key] = viewKey;
408
+ }
409
+ /**
410
+ * Adjusts the entity type if a different entity set is maintained for a view
411
+ * @param {EntitySet} entitySet - actual entity set (AVT information)
412
+ * @param view - the current view in manifest
413
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
414
+ * @param {EntityType} entityType - actual entity type of the page's entitySet
415
+ * @returns the target entity type
416
+ */
417
+ function getTargetEntityType(entitySet, view, generateParameters, entityType) {
418
+ let targetEntityType = entityType;
419
+ let viewEntitySet = entitySet;
420
+ if (view['entitySet'] && view['entitySet'] !== entitySet.name) {
421
+ viewEntitySet = generateParameters.serviceAVT.entitySets.find((es) => {
422
+ return es.name === view['entitySet'];
423
+ });
424
+ targetEntityType = viewEntitySet.entityType;
425
+ }
426
+ return targetEntityType;
427
+ }
428
+ /**
429
+ * Adds view custom extensions - custom column and custom action definitions
430
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
431
+ * @param {object} commonInputParameters - list of input parameters as collected by the calling instance
432
+ * @param {string} visualization - visualization of the annotation
433
+ * @param {SapUiAppPageV4} v4Page - the given page in manifest
434
+ */
435
+ function addViewCustomExtensions(commonInputParameters, generateParameters, visualization, v4Page) {
436
+ const sectionId = `${common_1.DefinitionName.LineItemsOfView}::${commonInputParameters.viewKey}`;
437
+ const navigationProperty = commonInputParameters.navPropName ? `${commonInputParameters.navPropName}/` : '';
438
+ const sectionIdInManifest = `${navigationProperty}@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}${visualization.split(ux_specification_types_1.Visualization.LineItem)[1]}`;
439
+ const viewColumnDefinition = common_1.parseSchemaDefinition(common_1.DefinitionName.ViewCustomColumn, sectionId, commonInputParameters.appSchema);
440
+ common_1.addDefinitionRef(viewColumnDefinition.properties.position, common_1.DefinitionName.ViewPosition, sectionId);
441
+ common_1.parseSchemaDefinition(common_1.DefinitionName.ViewPosition, sectionId, commonInputParameters.appSchema);
442
+ utils_1.addCustomColumnDefinition(commonInputParameters.appSchema, v4Page, generateParameters.logger, `${common_1.DefinitionName.ViewCustomColumn}<${sectionId}>`, sectionId, sectionIdInManifest);
443
+ utils_1.addFragmentEnumForAnchor(commonInputParameters.appSchema, sectionId, v4Page, `${common_1.DefinitionName.ViewPosition}<${sectionId}>`, sectionIdInManifest);
444
+ // Remove generic position
445
+ if (commonInputParameters.appSchema.definitions.Position) {
446
+ delete commonInputParameters.appSchema.definitions.Position;
447
+ delete commonInputParameters.appSchema.definitions.TableCustomColumn;
448
+ }
449
+ // Table toolbar actions with custom actions
450
+ const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${sectionId}>`;
451
+ const customActionDefinitionKey = `${common_1.DefinitionName.ViewCustomAction}<${sectionId}>`;
452
+ utils_1.addCustomActionDefinition(commonInputParameters.appSchema, v4Page, generateParameters.logger, customActionDefinitionKey, schemaIdForToolbarActions, sectionIdInManifest);
453
+ // Anchor selection
454
+ common_1.parseSchemaDefinition(common_1.DefinitionName.ViewCustomActionPosition, sectionId, commonInputParameters.appSchema);
455
+ const customActionPositionDefinitionKey = `${common_1.DefinitionName.ViewCustomActionPosition}<${sectionId}>`;
456
+ const customActionDefinition = commonInputParameters.appSchema.definitions[customActionDefinitionKey];
457
+ customActionDefinition.properties.position.$ref = `${common_1.DEFINITION_LINK_PREFIX}${customActionPositionDefinitionKey}`;
458
+ utils_1.addEnumForActionAnchor(commonInputParameters.appSchema, schemaIdForToolbarActions, customActionPositionDefinitionKey);
459
+ // Remove generic position
460
+ if (commonInputParameters.appSchema.definitions.CustomActionPosition) {
461
+ delete commonInputParameters.appSchema.definitions.CustomActionPosition;
462
+ }
463
+ }
464
+ /**
465
+ * Adds definition parts to a LR View (LineItem/Chart)
466
+ * @param {string} templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
467
+ * @param {string} visualization - visualization of the annotation
468
+ * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
469
+ * @param {object} commonInputParameters - list of input parameters as collected by the calling instance
470
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
471
+ * @param {SapUiAppPageV4} v4Page - the given page in manifest
472
+ * @param uiAnnotations - UI annotations of the given entityType
473
+ * @paran view - the given view
474
+ */
475
+ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, v4Page, uiAnnotations, view) {
476
+ if (visualization?.indexOf(ux_specification_types_1.Visualization.LineItem) > -1) {
477
+ //Add Line item view
478
+ addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, generateParameters);
479
+ addViewCustomExtensions(commonInputParameters, generateParameters, visualization, v4Page);
480
+ }
481
+ else if (visualization?.indexOf('Chart') > -1) {
482
+ //Add Chart view
483
+ addViewChart(commonInputParameters, uiAnnotations, commonInputParameters.appSchema, viewsDefinition, commonInputParameters.viewKey, commonInputParameters.title);
484
+ }
485
+ else if (view['template']) {
486
+ const titleOnHover = view['label'] || `Custom View (key: ${commonInputParameters.viewKey})`;
487
+ viewsDefinition.properties[commonInputParameters.viewKey] = {
488
+ description: commonInputParameters.title || titleOnHover,
489
+ title: titleOnHover,
490
+ // Default view - use table view reference as default
491
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.TableViewExtension}`
492
+ };
493
+ }
494
+ else {
495
+ const titleOnHover = `View (key: ${commonInputParameters.viewKey})`;
496
+ viewsDefinition.properties[commonInputParameters.viewKey] = {
497
+ description: commonInputParameters.title || titleOnHover,
498
+ title: titleOnHover,
499
+ // Default view - use table view reference as default
500
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.LRTableView}`
501
+ };
502
+ }
503
+ }
504
+ /**
505
+ * Add list report views to the app-specific schema
506
+ * @param {Definition} appSchema - app-specific JSON schema
507
+ * @param {Array<Object>} viewsPaths - views' paths' section in the manifest
508
+ * @param {EntityType} entityType - actual entity type of the page's entitySet
509
+ * @param {EntitySet} entitySet - actual entity set (AVT information)
510
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
511
+ * @param {string} templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
512
+ * @param {SapUiAppPageV4} v4Page - the given page in manifest
513
+ */
514
+ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, v4Page, tableDefinitionName) {
515
+ const tableDefinition = appSchema.definitions[tableDefinitionName];
516
+ tableDefinition.properties = {
517
+ annotationPath: tableDefinition.properties.annotationPath,
518
+ initialLoad: tableDefinition.properties.initialLoad,
519
+ views: tableDefinition.properties.views
520
+ };
521
+ const viewsDefinition = appSchema.definitions.MultiTableModeV4;
522
+ for (const view of viewsPaths) {
523
+ if (!view[common_1.SchemaTag.key]) {
524
+ continue;
525
+ }
526
+ let navPropName = undefined;
527
+ const targetEntityType = getTargetEntityType(entitySet, view, generateParameters, entityType);
528
+ const uiAnnotations = targetEntityType.annotations.UI;
529
+ const { visualization, targetAnnotation, namespace, title } = analyzeViewAnnotation(view?.[common_1.SchemaTag.annotationPath], uiAnnotations, generateParameters, view[common_1.SchemaTag.key]);
530
+ if (view['entitySet']) {
531
+ navPropName = entityType.navigationProperties.find((np) => {
532
+ return np.targetTypeName === namespace;
533
+ })?.name;
534
+ }
535
+ const viewKey = common_1.prepareRef(view[common_1.SchemaTag.key]);
536
+ const commonInputParameters = {
537
+ viewKey,
538
+ appSchema,
539
+ targetAnnotation,
540
+ navPropName,
541
+ targetEntityType,
542
+ title
543
+ };
544
+ addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, v4Page, uiAnnotations, view);
545
+ addTagsToView(viewsDefinition, viewKey, namespace, view);
546
+ }
547
+ }
548
+ /**
549
+ * Adapts the table definition in schema.
550
+ * Evaluates the path depending on if defaultTemplateAnnotationPath or Selection-/PresentationVariant is present.
551
+ * @param {SapUiAppPageV4} v4Page - the given page in manifest
552
+ * @param {EntityType} entityType - the current entity type, as defined in AVT
553
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
554
+ * @param appSchema - the app-specific JSON schema
555
+ * @param alias - alias definition for the UI vocabulary
556
+ */
557
+ function adaptTableDefinition(appSchema, entityType, generateParameters, templateAnnotation, v4Page, alias, tableDefinitionName) {
558
+ //here: tableDefinitionName = DefinitionName.Table
559
+ const tableDefinition = appSchema.definitions[tableDefinitionName];
560
+ const { visualization, targetAnnotation, namespace } = analyzeViewAnnotation(templateAnnotation, entityType.annotations.UI, generateParameters, undefined, ux_specification_types_1.Visualization.LineItem);
561
+ if (visualization) {
562
+ const annotationTerm = visualization.split('.')[1];
563
+ const annotationTermInSchema = `${common_1.DefinitionName.LineItems}OfSPV::${common_1.prepareRef(annotationTerm)}`;
564
+ const spvTable = (appSchema.definitions[`${tableDefinitionName}SPV`] = JSON.parse(JSON.stringify(appSchema.definitions[tableDefinitionName])));
565
+ delete spvTable[common_1.SchemaTag.isViewNode];
566
+ common_1.addDefinitionRef(spvTable.properties.toolBar, common_1.DefinitionName.ToolBar, annotationTermInSchema);
567
+ // Switch from generic column to specific definition
568
+ spvTable[common_1.SchemaTag.annotationPath] = targetAnnotation;
569
+ spvTable.properties.columns = {};
570
+ common_1.addDefinitionRef(spvTable.properties.columns, annotationTermInSchema);
571
+ delete tableDefinition.properties;
572
+ common_1.addDefinitionRef(tableDefinition, `${tableDefinitionName}SPV`);
573
+ tableDefinition[common_1.SchemaTag.annotationPath] = `/${namespace}/@${templateAnnotation}`;
574
+ const lineItemAnnotation = entityType.annotations.UI[annotationTerm];
575
+ const dataForLineItem = {
576
+ appSchema,
577
+ lineItemAnnotation,
578
+ entityType,
579
+ oDataServiceAVT: generateParameters.serviceAVT,
580
+ lineItemId: annotationTermInSchema
581
+ };
582
+ utils_1.addLineItemsTypeToSchema(dataForLineItem);
583
+ const annotationTermQualifier = annotationTerm.split('#')?.[1];
584
+ const sectionIdInManifest = annotationTermQualifier
585
+ ? `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}#${annotationTermQualifier}`
586
+ : `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`;
587
+ utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger, undefined, annotationTermInSchema, sectionIdInManifest);
588
+ utils_1.addFragmentEnumForAnchor(appSchema, annotationTermInSchema, v4Page, undefined, sectionIdInManifest);
589
+ // Table toolbar actions with custom actions
590
+ const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${annotationTermInSchema}>`;
591
+ const customColumnDefinitionName = common_1.getCustomExtensionDefinitionName(appSchema, annotationTermInSchema, common_1.DefinitionName.CustomAction);
592
+ utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, common_1.getDefinitionKey(customColumnDefinitionName), schemaIdForToolbarActions, sectionIdInManifest);
593
+ utils_1.addEnumForActionAnchor(appSchema, schemaIdForToolbarActions, common_1.DefinitionName.CustomActionPosition);
594
+ }
595
+ else {
596
+ tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ToolBarLR}`;
597
+ // Switch from generic column to specific definition
598
+ common_1.addDefinitionRef(tableDefinition.properties.columns, common_1.DefinitionName.LineItems);
599
+ const lineItemAnnotation = entityType?.annotations?.[alias]?.LineItem;
600
+ const dataForLineItem = {
601
+ appSchema,
602
+ lineItemAnnotation,
603
+ entityType,
604
+ oDataServiceAVT: generateParameters.serviceAVT,
605
+ lineItemId: common_1.DefinitionName.LineItems
606
+ };
607
+ utils_1.addLineItemsTypeToSchema(dataForLineItem);
608
+ utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger);
609
+ utils_1.addFragmentEnumForAnchor(appSchema, common_1.DefinitionName.LineItems, v4Page);
610
+ if (lineItemAnnotation) {
611
+ tableDefinition[common_1.SchemaTag.annotationPath] = common_1.createAnnotationPath(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
612
+ }
613
+ // Table toolbar actions with custom actions
614
+ const schemaIdForActions = `${common_1.DefinitionName.Actions}<${common_1.prepareRef(common_1.DefinitionName.LineItems)}>`;
615
+ utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForActions);
616
+ utils_1.addEnumForActionAnchor(appSchema, schemaIdForActions, common_1.DefinitionName.CustomActionPosition);
617
+ }
618
+ }
619
+ /**
620
+ * Checks for the default annotation path to use for LR table
621
+ * @param {SapUiAppPageV4} v4Page - actual page in the manifest
622
+ * @param {EntityType} entityType - actual entity type (AVT information)
623
+ * @returns {string} annotation term
624
+ */
625
+ function getDefaultAnnotationPath(v4Page, entityType, templateType) {
626
+ if (v4Page.options.settings?.views?.paths && templateType === common_1.TemplateType.ListReportObjectPageV4) {
627
+ return;
628
+ }
629
+ if (v4Page.options.settings?.defaultTemplateAnnotationPath) {
630
+ return v4Page.options.settings.defaultTemplateAnnotationPath;
631
+ }
632
+ if (templateType === common_1.TemplateType.ListReportObjectPageV4) {
633
+ return (entityType.annotations.UI?.SelectionPresentationVariant?.term ||
634
+ entityType.annotations.UI?.PresentationVariant?.term);
635
+ }
636
+ }
637
+ /**
638
+ * Add views to schema (LR or ALP)
639
+ * @param {Definition} appSchema - app-specific JSON schema
640
+ * @param {SapUiAppPageV4} v4Page - actual page in the manifest
641
+ * @param {EntityType} entityType - actual entity type (AVT information)
642
+ * @param {EntitySet} entitySet - actual entity set (AVT information)
643
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
644
+ */
645
+ function addTableAndViews(appSchema, v4Page, entityType, entitySet, generateParameters, alias) {
646
+ const viewsPaths = v4Page.options?.settings?.views?.paths;
647
+ const defaultAnnotation = getDefaultAnnotationPath(v4Page, entityType, generateParameters.templateType);
648
+ const tableDefinitionName = utils_1.alignSchemaWithTemplateType(appSchema, generateParameters);
649
+ if (generateParameters.templateType === common_1.TemplateType.ListReportObjectPageV4) {
650
+ if (viewsPaths) {
651
+ addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, v4Page, tableDefinitionName);
652
+ }
653
+ else {
654
+ if (!v4Page.options?.settings?.views) {
655
+ appSchema.definitions.MultiTableModeV4.properties = {};
656
+ }
657
+ adaptTableDefinition(appSchema, entityType, generateParameters, defaultAnnotation, v4Page, alias, tableDefinitionName);
658
+ }
659
+ appSchema.properties[common_1.PropertyName.chart][common_1.SchemaTag.hidden] = true;
660
+ }
661
+ else if (generateParameters.templateType === common_1.TemplateType.AnalyticalListPageV4) {
662
+ addALPViews(appSchema, viewsPaths, entityType, generateParameters, defaultAnnotation, v4Page, tableDefinitionName);
663
+ utils_1.addFragmentEnumForAnchor(appSchema, common_1.DefinitionName.LineItems, v4Page);
664
+ }
665
+ }
666
+ /**
667
+ * Generates an app specific schema for the FE V4 ListReport from the generic schema.
668
+ * Generic types are replaced by information from the app specific annotations.
669
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
670
+ * @param genericSchema - generic JSON schema of an object page
671
+ * @param {EntitySet} entitySet - entity set (AVT object) that is relevant for the given page
672
+ * @param {string} templateName - allows to distinguish list report from ALP
673
+ *
674
+ * @returns {object} application-specific schema of the list report
675
+ */
676
+ function generateListReportSchemaV4(generateParameters, genericSchema, entitySet, templateName) {
677
+ const appSchema = JSON.parse(JSON.stringify(genericSchema));
678
+ const entityType = entitySet?.entityType;
679
+ const alias = generateParameters.serviceAVT && common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
680
+ //Add selection fields
681
+ const selectionFieldAnnotation = alias && entityType?.annotations?.[alias]?.SelectionFields;
682
+ addSelectionFields(entityType, appSchema, selectionFieldAnnotation);
683
+ appSchema.properties[common_1.PropertyName.defaultTemplateAnnotationPath][common_1.SchemaTag.hidden] = true;
684
+ //enum for annotation path as part of QuickVariantSelection
685
+ common_1.addEnumForSingleTabVariant(entityType, appSchema, common_1.DefinitionName.AnnotationPathAsObject);
686
+ if (generateParameters.manifest) {
687
+ //Find page in targets
688
+ const pages = generateParameters.manifest[ux_specification_types_1.ManifestSection.ui5].routing
689
+ .targets;
690
+ if (!pages) {
691
+ extensionLogger_1.log(generateParameters.logger, {
692
+ severity: "error" /* Error */,
693
+ message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
694
+ location: {
695
+ path: common_1.MANIFESTPATH,
696
+ range: [ux_specification_types_1.ManifestSection.generic]
697
+ }
698
+ });
699
+ return appSchema;
700
+ }
701
+ const v4Page = utils_1.findPageV4(pages, templateName, entitySet, generateParameters.logger);
702
+ if (!v4Page) {
703
+ return appSchema;
704
+ }
705
+ addTableAndViews(appSchema, v4Page, entityType, entitySet, generateParameters, alias);
706
+ }
707
+ delete appSchema.definitions.GenericColumns;
708
+ delete appSchema.definitions.Action;
709
+ return appSchema;
710
+ }
711
+ exports.generateListReportSchemaV4 = generateListReportSchemaV4;
712
+ //# sourceMappingURL=listReport.js.map