@sap/ux-specification 1.96.20 → 1.96.24

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 -30542
  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 +132 -129
  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 +490 -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 +176 -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 +41 -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 +289 -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 +24 -24
  201. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  202. package/dist/src/sync/v2/export/controls/Table.js +709 -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 +121 -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 +540 -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 +234 -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 +49 -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 +847 -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 -458
  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 -483
  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 -19
  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 -42
  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 -5
  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,854 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exportPageV4 = void 0;
4
+ const exportCustomColumn_1 = require("./exportCustomColumn");
5
+ const common_1 = require("../../common");
6
+ const application_1 = require("../application");
7
+ const manifest_1 = require("./manifest");
8
+ const flexibleColumnLayout_1 = require("./flexibleColumnLayout");
9
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
10
+ const utils_1 = require("../../common/utils");
11
+ const factory_1 = require("./factory");
12
+ const utils_2 = require("./utils");
13
+ /**
14
+ * Return the skeleton of a new routing target for the manifest, pre-filled with some values
15
+ * @param name - name of the template, e.g. "sap.suite.ui.generic.template.ObjectPage"
16
+ * @param entitySet - the main entity set
17
+ * @param navigationProperty - navigation property
18
+ */
19
+ const getNewRoutingTarget = (name, entitySet) => {
20
+ return {
21
+ type: 'Component',
22
+ id: '',
23
+ name: name,
24
+ options: {
25
+ settings: {
26
+ entitySet: entitySet,
27
+ navigation: {},
28
+ controlConfiguration: {}
29
+ }
30
+ }
31
+ };
32
+ };
33
+ const defaultExportResult = {
34
+ flexChanges: [],
35
+ manifest: {
36
+ 'sap.ui5': {
37
+ flexEnabled: true,
38
+ routing: {
39
+ targets: {}
40
+ }
41
+ },
42
+ 'sap.app': {}
43
+ },
44
+ fragments: []
45
+ };
46
+ /**
47
+ * Applies the sync rule for a flex change during export
48
+ * @param syncRule - export rule from the object classes decorator
49
+ * @param transferParameters - list of parameters passed from API
50
+ * @param ids - list of parent & child ids
51
+ * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
52
+ * @param title - title from the app schema (comprising for instance the facet ID)
53
+ * @param configObject - current (sub)object of the configuration file
54
+ * @param key - key of the given property
55
+ */
56
+ function exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key) {
57
+ const controlId = syncRule.flex.controlId(transferParameters.baseId, ids, breadcrumbs, syncRule.flex.controlType, transferParameters.title);
58
+ const flexChange = common_1.fillFlexChangeContent(configObject, syncRule, transferParameters.ui5Version, key, controlId);
59
+ transferParameters.exportResults.flexChanges.push(syncRule.flex.createFlexChange(flexChange, transferParameters.exportResults.manifest));
60
+ }
61
+ function determineTargetAnnotationOfTable(ids, transferParameters, configObject) {
62
+ let targetAnnotationEncoded = '@com.sap.vocabularies.UI.v1.LineItem';
63
+ let targetAnnotation = '@com.sap.vocabularies.UI.v1.LineItem';
64
+ const annotationPath = transferParameters.appSchema.definitions[common_1.DefinitionName.TableSPV]?.[common_1.SchemaTag.annotationPath];
65
+ if (ids.length > 1 && transferParameters.config['table'].annotationPath) {
66
+ const annoPath = transferParameters.appSchema.definitions[common_1.DefinitionName.ALPTable]?.[common_1.SchemaTag.annotationPath];
67
+ targetAnnotationEncoded = targetAnnotation = annoPath && annoPath.substr(annoPath.lastIndexOf('@'));
68
+ }
69
+ else if (configObject.table?.annotationPath) {
70
+ //view definition
71
+ targetAnnotationEncoded = targetAnnotation = `@${configObject.table.annotationPath}`;
72
+ }
73
+ else if (ids[0] === common_1.PropertyName.table && annotationPath) {
74
+ const annotationPathArray = annotationPath.split('/');
75
+ targetAnnotationEncoded = targetAnnotation = annotationPathArray[annotationPathArray.length - 1];
76
+ }
77
+ return { targetAnnotationEncoded, targetAnnotation };
78
+ }
79
+ function determineTargetAnnotationOfChart(ids, transferParameters, targetAnnotationEncoded, targetAnnotation, configObject) {
80
+ if (ids.length > 1) {
81
+ const annoPath = transferParameters.appSchema.definitions[common_1.DefinitionName.ALPChart]?.[common_1.SchemaTag.annotationPath];
82
+ targetAnnotationEncoded = targetAnnotation = annoPath && annoPath.substr(annoPath.lastIndexOf('@'));
83
+ }
84
+ else {
85
+ //chart level
86
+ targetAnnotationEncoded = targetAnnotation = `@${configObject.chart?.annotationPath}`;
87
+ }
88
+ return { targetAnnotationEncoded, targetAnnotation };
89
+ }
90
+ function determineTargetAnnotationOfViews(transferParameters, ids, targetAnnotation, targetAnnotationEncoded) {
91
+ const parentDefinition = transferParameters.appSchema.definitions['MultiTableModeV4']?.properties[ids[2]];
92
+ if (parentDefinition) {
93
+ if (ids.length === 3) {
94
+ //the parent definition comprises the annotation of the visualization of the (Selection)PresentationVariant.
95
+ targetAnnotation = targetAnnotationEncoded =
96
+ parentDefinition[common_1.SchemaTag.annotationPath] &&
97
+ parentDefinition[common_1.SchemaTag.annotationPath].substr(parentDefinition[common_1.SchemaTag.annotationPath].lastIndexOf('@'));
98
+ }
99
+ else if (ids.length > 3) {
100
+ //the own definition comprises the lineItem or chart annotation from the visualization
101
+ const ownDefinitionName = parentDefinition.$ref?.split(common_1.DEFINITION_LINK_PREFIX)[1];
102
+ const ownDefinition = ownDefinitionName && transferParameters.appSchema.definitions[ownDefinitionName];
103
+ const annotation = ownDefinition?.[common_1.SchemaTag.annotationPath] &&
104
+ ownDefinition[common_1.SchemaTag.annotationPath].substr(ownDefinition[common_1.SchemaTag.annotationPath].lastIndexOf('@'));
105
+ targetAnnotation = targetAnnotationEncoded = ownDefinition['navigationProperty']
106
+ ? `${ownDefinition['navigationProperty']}/${annotation}`
107
+ : annotation;
108
+ }
109
+ }
110
+ return { targetAnnotation, targetAnnotationEncoded };
111
+ }
112
+ function determineTargetAnnotationOfSections(ids, custom, targetAnnotationEncoded, targetAnnotation) {
113
+ if (ids[1] === 'custom' && ids[2] !== ids[ids.length - 1]) {
114
+ custom = true;
115
+ targetAnnotationEncoded = ids[2];
116
+ targetAnnotation = targetAnnotationEncoded && targetAnnotationEncoded.replace(/::/g, '/');
117
+ }
118
+ else {
119
+ const sectionId = utils_2.extractLastIdPart(ids[1]);
120
+ targetAnnotationEncoded = sectionId && sectionId.replace(/\//g, '::');
121
+ targetAnnotation = targetAnnotationEncoded && targetAnnotationEncoded.replace(/::/g, '/');
122
+ }
123
+ return { custom, targetAnnotationEncoded, targetAnnotation };
124
+ }
125
+ /**
126
+ * Determines the target annotation that is relevant for the sync rule
127
+ * @param {string[]} ids - list of ids of parent elements
128
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
129
+ * @param { [key: string]: any } configObject - the given config.json, to be exported
130
+ * @returns { targetAnnotationEncoded, targetAnnotation, custom }
131
+ */
132
+ function determineTargetAnnotation(ids, transferParameters, configObject) {
133
+ let targetAnnotation, targetAnnotationEncoded, custom = false;
134
+ if (ids[0] === common_1.PropertyName.table && ids[1] !== common_1.PropertyName.views) {
135
+ ({ targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfTable(ids, transferParameters, configObject));
136
+ }
137
+ else if (ids[0] === common_1.PropertyName.chart && transferParameters.templateType === utils_1.TemplateType.AnalyticalListPageV4) {
138
+ ({ targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfChart(ids, transferParameters, targetAnnotationEncoded, targetAnnotation, configObject));
139
+ }
140
+ else if (ids[0] === common_1.PropertyName.sections) {
141
+ ({ custom, targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfSections(ids, custom, targetAnnotationEncoded, targetAnnotation));
142
+ }
143
+ else if (ids[1] === common_1.PropertyName.sections) {
144
+ //header sections
145
+ if (transferParameters.title && transferParameters.title.indexOf(common_1.FacetTitlePrefix) > -1) {
146
+ targetAnnotation = targetAnnotationEncoded = transferParameters.title.split(common_1.FacetTitlePrefix)[1];
147
+ }
148
+ else if (ids[2]) {
149
+ targetAnnotation = targetAnnotationEncoded = ids[2].split('@')[1];
150
+ }
151
+ else if (targetAnnotationEncoded) {
152
+ targetAnnotation = targetAnnotationEncoded = targetAnnotationEncoded.replace(/::/g, '/');
153
+ }
154
+ }
155
+ else if (ids[1] === common_1.PropertyName.views) {
156
+ ({ targetAnnotation, targetAnnotationEncoded } = determineTargetAnnotationOfViews(transferParameters, ids, targetAnnotation, targetAnnotationEncoded));
157
+ }
158
+ return { targetAnnotationEncoded, targetAnnotation, custom };
159
+ }
160
+ /**
161
+ * Calculates an additional key for the sync rule from the given ID's
162
+ * @param {string[]} ids - list of ids of parent elements
163
+ * @returns the key for the sync rule
164
+ */
165
+ function determineKeyForSyncRule(ids) {
166
+ let idIndex = 0;
167
+ for (let index = ids.length - 1; index > -1; index--) {
168
+ const element = ids[index];
169
+ if (element === 'columns' || element === common_1.PropertyName.actions || element === 'views') {
170
+ idIndex = index + 1;
171
+ break;
172
+ }
173
+ }
174
+ return idIndex > 0 ? ids[idIndex].replace(/\//gi, '??') : undefined;
175
+ }
176
+ /**
177
+ * Creates a new object in manifest
178
+ * @param {ExportToManifestParams} params - list of parameters
179
+ */
180
+ function createNewObjectInManifest(params) {
181
+ if (params.exportHandler && typeof params.exportHandler === 'function') {
182
+ params.exportHandler(params.manifestSection, params.configObject, params.configPropertyKey, params.manifestKey, params.syncRuleKey);
183
+ }
184
+ else if (!params.manifestSection[params.manifestKey]) {
185
+ params.manifestSection[params.manifestKey] = {};
186
+ }
187
+ }
188
+ /**
189
+ * Transfers a property value from config to manifest
190
+ * @param {ExportToManifestParams} params - list of parameters
191
+ * @param propertyDefinition - schema definition of a particular property
192
+ * @param nextDefinition - schema definition referred by $ref
193
+ */
194
+ function transferPropertyToManifest(params, propertyDefinition, nextDefinition) {
195
+ if (!(propertyDefinition['type'] !== 'array' &&
196
+ nextDefinition?.['targetDefinition']?.type === 'object' &&
197
+ nextDefinition?.['targetDefinition']?.properties)) {
198
+ if (params.exportHandler !== false) {
199
+ if (params.exportHandler && typeof params.exportHandler === 'function') {
200
+ params.exportHandler(params.manifestSection, params.configObject, params.configPropertyKey, params.manifestKey, params.syncRuleKey);
201
+ }
202
+ else if (Array.isArray(params.configObject[params.configPropertyKey]) &&
203
+ !params.configObject[params.configPropertyKey].length) {
204
+ delete params.manifestSection[params.manifestKey];
205
+ }
206
+ else {
207
+ params.manifestSection[params.manifestKey] = params.configObject[params.configPropertyKey];
208
+ }
209
+ }
210
+ }
211
+ else if (propertyDefinition['type'] !== 'array' && params.manifestSection[params.manifestKey] === undefined) {
212
+ createNewObjectInManifest(params);
213
+ }
214
+ }
215
+ /**
216
+ * Transfers a change in config.json to manifest
217
+ * @param ids - list of parent & child ids
218
+ * @param {SyncRule} syncRule - syncRule (metadata)
219
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
220
+ * @param {string} configPropertyKey - key of property in the config
221
+ * @param { [key: string]: any } configObject - the given config.json, to be exported
222
+ * @param propertyDefinition - schema definition of a particular property
223
+ * @param nextDefinition - schema definition referred by $ref
224
+ */
225
+ function exportManifestChange(ids, syncRule, transferParameters, configPropertyKey, configObject, propertyDefinition, nextDefinition) {
226
+ //eliminate subsections' hierarchy
227
+ let index = ids.indexOf('subsections');
228
+ while (index > -1) {
229
+ ids.splice(index - 1, 2);
230
+ index = ids.indexOf('subsections');
231
+ }
232
+ const { targetAnnotationEncoded, targetAnnotation, custom } = determineTargetAnnotation(ids, transferParameters, configObject);
233
+ const syncRuleKey = determineKeyForSyncRule(ids);
234
+ const path = syncRule.manifest.path(transferParameters.pageNameArray, transferParameters.exportResults.manifest, targetAnnotationEncoded, syncRuleKey, targetAnnotation, configObject);
235
+ const manifestSection = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path, targetAnnotation, custom ? undefined : targetAnnotationEncoded);
236
+ if (manifestSection) {
237
+ const manifestKey = syncRule.manifest.key || configPropertyKey;
238
+ if (configObject[configPropertyKey] !== undefined) {
239
+ // In case of arrays we take over complete array
240
+ const exportParams = {
241
+ exportHandler: syncRule.manifest.export,
242
+ manifestSection,
243
+ configObject,
244
+ configPropertyKey,
245
+ manifestKey,
246
+ syncRuleKey
247
+ };
248
+ transferPropertyToManifest(exportParams, propertyDefinition, nextDefinition);
249
+ }
250
+ else if (syncRule.manifest.delete) {
251
+ const deleteHandler = syncRule.manifest.delete;
252
+ if (typeof deleteHandler === 'function') {
253
+ deleteHandler(manifestSection, configObject, configPropertyKey, manifestKey, syncRuleKey, transferParameters.config);
254
+ }
255
+ }
256
+ else if (manifestSection[manifestKey] !== undefined) {
257
+ delete manifestSection[manifestKey];
258
+ }
259
+ }
260
+ utils_1.deleteEmptyStructure(transferParameters.exportResults.manifest, path, targetAnnotation, targetAnnotationEncoded);
261
+ }
262
+ /**
263
+ * Evaluates an export rule for a property or object, transfers to flex change or manifest setting
264
+ * @param transferParameters - list of parameters passed from API
265
+ * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
266
+ * @param key - key of the given property
267
+ * @param configObject - current (sub)object of the configuration file
268
+ * @param ids - list of parent & child ids
269
+ * @param title - title from the app schema (comprising for instance the facet ID)
270
+ * @param propertyDefinition - schema definition of a particular property
271
+ * @param nextDefinition - schema definition referred by $ref
272
+ */
273
+ function evaluateExportRule(transferParameters, breadcrumbs, key, configObject, ids, propertyDefinition, nextDefinition) {
274
+ const syncRule = common_1.getReflectMetadata(configObject, key);
275
+ if (syncRule) {
276
+ if (syncRule.flex) {
277
+ exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key);
278
+ }
279
+ else if (syncRule.manifest) {
280
+ exportManifestChange(ids, syncRule, transferParameters, key, configObject, propertyDefinition, nextDefinition);
281
+ }
282
+ }
283
+ }
284
+ /**
285
+ * Processes an (object-like) sub-object of the app schema and transfer all connected config entries to manifest
286
+ * @param {TransferEntryParameters} parameters - list of parameters
287
+ * @param {NextDefinition} nextDefinition - the next definition in app schema to be processed
288
+ * @param currentConfigObject - current config object
289
+ * @param ids - list of parent & child ID's
290
+ * @param localIdParts - list of ID parts for building the stable ID
291
+ */
292
+ function transferSubObject(parameters, nextDefinition, currentConfigObject, ids, localIdParts) {
293
+ let objects = [], isArray = false;
294
+ if (parameters.propertyDefinition.$ref && nextDefinition) {
295
+ objects.push(nextDefinition.configObject);
296
+ }
297
+ else if (parameters.propertyDefinition['anyOf']) {
298
+ objects.push(currentConfigObject);
299
+ }
300
+ else if (parameters.propertyDefinition.type === 'array') {
301
+ objects = currentConfigObject;
302
+ isArray = true;
303
+ }
304
+ else {
305
+ objects.push(currentConfigObject);
306
+ }
307
+ parameters.index = 0;
308
+ for (const innerObject of objects) {
309
+ const additionalIds = [];
310
+ if (parameters.breadcrumbs[0] === common_1.PropertyName.sections && parameters.key === 'custom' && isArray) {
311
+ // We need add custom section 'id' into breadcrumbs to retrieve correct path to manifest
312
+ additionalIds.push(innerObject['id']);
313
+ }
314
+ parameters.transferParameters.title = nextDefinition.title;
315
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
316
+ transferManifestEntriesAndFlexChange(parameters.transferParameters, innerObject, [...ids, ...additionalIds], localIdParts, [...parameters.breadcrumbs, parameters.key], nextDefinition.targetDefinition);
317
+ parameters.index++;
318
+ }
319
+ }
320
+ /**
321
+ * Creates an ALP 'views' entry in the resulting manifest if not yet existing yet.
322
+ * Adds the secondary = table view if missing.
323
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
324
+ * @param configObject - current object in config.json
325
+ * @returns
326
+ * - a boolean indicating that the views entry got created.
327
+ * - a boolean indicating if the processing of sub-objects shall be stopped
328
+ **/
329
+ function createALPTableView(transferParameters, configObject, key) {
330
+ let newElementCreated = false;
331
+ if (!configObject[key] || Object.keys(configObject[key]).length === 0 || !configObject.chart) {
332
+ return { newElementCreated, stopProcessing: true };
333
+ }
334
+ const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
335
+ const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
336
+ if (!views['paths'] || Object.keys(views['paths']).length === 0) {
337
+ views['paths'] = [
338
+ {
339
+ secondary: [
340
+ {
341
+ annotationPath: configObject[key].annotationPath
342
+ }
343
+ ]
344
+ }
345
+ ];
346
+ newElementCreated = true;
347
+ }
348
+ else if (!views['paths'][0].secondary) {
349
+ views['paths'][0].secondary = [
350
+ {
351
+ annotationPath: configObject[key].annotationPath
352
+ }
353
+ ];
354
+ newElementCreated = true;
355
+ }
356
+ return { newElementCreated, stopProcessing: false };
357
+ }
358
+ /**
359
+ * Creates an ALP 'views' entry in the resulting manifest if not yet existing yet
360
+ * Adds the primary = chart view if missing.
361
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
362
+ * @param configObject - current object in config.json
363
+ * @returns
364
+ * - a boolean indicating that the views entry got created.
365
+ * - a boolean indicating if the processing of sub-objects shall be stopped
366
+ */
367
+ function createALPChartView(transferParameters, configObject, key) {
368
+ let newElementCreated = false;
369
+ if (!configObject[key] || Object.keys(configObject[key]).length === 0) {
370
+ return { newElementCreated, stopProcessing: true };
371
+ }
372
+ const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
373
+ const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
374
+ if (!views['paths'] || Object.keys(views['paths']).length === 0) {
375
+ views['paths'] = [
376
+ {
377
+ primary: [
378
+ {
379
+ annotationPath: configObject[key].annotationPath
380
+ }
381
+ ]
382
+ }
383
+ ];
384
+ newElementCreated = true;
385
+ }
386
+ else if (!views['paths'][0].primary) {
387
+ views['paths'][0].primary = [
388
+ {
389
+ annotationPath: configObject[key].annotationPath
390
+ }
391
+ ];
392
+ newElementCreated = true;
393
+ }
394
+ if (!views['paths'][0].secondary) {
395
+ views['paths'][0].secondary = [
396
+ {
397
+ annotationPath: configObject?.table?.annotationPath || 'com.sap.vocabularies.UI.v1.LineItem'
398
+ }
399
+ ];
400
+ }
401
+ return { newElementCreated, stopProcessing: false };
402
+ }
403
+ /**
404
+ * Creates an LR 'views' entry in the resulting manifest if not yet existing yet.
405
+ * Adds the current table view if missing.
406
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
407
+ * @param configObject - current object in config.json
408
+ * @returns a boolean indicating that the views entry got created.
409
+ */
410
+ function createLRTableView(index, transferParameters, key, configObject) {
411
+ if (!configObject || Object.keys(configObject).length === 0) {
412
+ return false;
413
+ }
414
+ let newElementCreated = false;
415
+ const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
416
+ const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
417
+ const newEntry = {
418
+ key: configObject['key'],
419
+ annotationPath: configObject.annotationPath
420
+ };
421
+ if (!views['paths'] || Object.keys(views['paths']).length === 0) {
422
+ //No views yet
423
+ views['paths'] = [newEntry];
424
+ newElementCreated = true;
425
+ }
426
+ else {
427
+ const existingIndex = views['paths'].findIndex((view) => view.key === configObject['key'] || view.key === key);
428
+ if (existingIndex === -1) {
429
+ //Given view does not exist yet
430
+ views['paths'].push(newEntry);
431
+ newElementCreated = true;
432
+ }
433
+ else if (existingIndex !== configObject.index) {
434
+ //Reordering scenario
435
+ const savedContent = JSON.parse(JSON.stringify(views['paths'][existingIndex]));
436
+ views['paths'].splice(existingIndex, 1);
437
+ views['paths'].splice(index, 0, savedContent);
438
+ newElementCreated = true;
439
+ }
440
+ }
441
+ return newElementCreated;
442
+ }
443
+ /**
444
+ * Special logic to create new elements in manifest
445
+ * @param definitionName - schema definition name of the current object
446
+ * @param key - key of the current object
447
+ * @param configObject - current object in config.json
448
+ * @param breadcrumbs - array of sequence of properties that we are currently processing. Required for instance for table column name
449
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
450
+ * @returns newElementCreated - boolean value to indicate that a new element was created ==> no further sync rule on this level
451
+ */
452
+ function createNewElement(index, definitionName, key, configObject, breadcrumbs, transferParameters, preprocessed = false) {
453
+ let newElementCreated = false;
454
+ const stopProcessing = false;
455
+ if (definitionName && !preprocessed) {
456
+ if (definitionName.startsWith(common_1.DefinitionName.CustomColumn)) {
457
+ newElementCreated = exportCustomColumn_1.createNewCustomColumn(key, transferParameters, configObject[key], transferParameters.logger, breadcrumbs);
458
+ }
459
+ else if (definitionName === common_1.DefinitionName.ALPChartView && key === common_1.PropertyName.chart && configObject) {
460
+ return createALPChartView(transferParameters, configObject, key);
461
+ }
462
+ else if (definitionName === common_1.DefinitionName.ALPTableView && key === common_1.PropertyName.table && configObject) {
463
+ return createALPTableView(transferParameters, configObject, key);
464
+ }
465
+ else if (key &&
466
+ (definitionName.startsWith(common_1.DefinitionName.LRTableView) ||
467
+ definitionName.startsWith(common_1.DefinitionName.LRChartView))) {
468
+ newElementCreated = createLRTableView(index, transferParameters, key, configObject[key]);
469
+ }
470
+ }
471
+ return { newElementCreated, stopProcessing };
472
+ }
473
+ /**
474
+ * Transfers one entry of a list (aka one property of the config) to the manifest
475
+ * @param {TransferEntryParameters} parameters - list of parameters
476
+ * @param parentIds - array of collected parent ids
477
+ * @param stableIdParts - list of parts of the stable ID for flex changes
478
+ * @param preprocessed - indicates that the list was already preprocessed by following the config order
479
+ */
480
+ function transferSortedListEntry(parameters, parentIds, stableIdParts, preprocessed = false) {
481
+ const currentConfigObject = parameters.configObject[parameters.key];
482
+ const childId = common_1.getChildId(parameters.configObject, parameters.key);
483
+ const nextDefinition = utils_1.getNextTargetDefinition(parameters.transferParameters.appSchema, parameters.transferParameters.title, currentConfigObject, parameters.propertyDefinition, parameters.key, parameters.transferParameters.factory, parameters.transferParameters.pageType);
484
+ const { newElementCreated, stopProcessing } = createNewElement(parameters.index, parameters.propertyDefinition.$ref?.split(common_1.DEFINITION_LINK_PREFIX)[1], parameters.key, parameters.configObject, parameters.breadcrumbs, parameters.transferParameters, preprocessed);
485
+ const ids = childId ? [...parentIds, childId] : [...parentIds, parameters.key];
486
+ if (!newElementCreated) {
487
+ evaluateExportRule(parameters.transferParameters, parameters.breadcrumbs, parameters.key, parameters.configObject, ids, parameters.propertyDefinition, nextDefinition);
488
+ }
489
+ if (parameters.propertyDefinition &&
490
+ ((typeof currentConfigObject === 'object' && Object.keys(currentConfigObject).length !== 0) ||
491
+ (parameters.propertyDefinition.$ref && nextDefinition.configObject)) &&
492
+ !stopProcessing) {
493
+ const localIdParts = childId ? [...stableIdParts, childId] : stableIdParts;
494
+ transferSubObject(parameters, nextDefinition, currentConfigObject, ids, localIdParts);
495
+ }
496
+ }
497
+ /**
498
+ * Function for special handling of anyOf definitions during the export
499
+ * @param {TransferEntryParameters} parameters - list of parameters
500
+ * @param anyOfDefinitions - the array of definitions from the anyOf (of additionalProperties)
501
+ * @param schemaDefinition - parent definition, comprising properties as well as additionalProperties
502
+ * @param parentIds - array of collected parent ids
503
+ * @param stableIdParts - list of parts of the stable ID for flex changes
504
+ * @returns
505
+ */
506
+ function transferConfigEntriesWithAnyOfDefinitions(transferEntryParameters, anyOfDefinitions, schemaDefinition, parentIds, stableIdParts) {
507
+ let preprocessed = false;
508
+ if (anyOfDefinitions) {
509
+ const configEntries = Object.entries(transferEntryParameters.configObject);
510
+ if (!configEntries || configEntries.length < 1) {
511
+ return preprocessed;
512
+ }
513
+ configEntries.sort((a, b) => a[1]['index'] - b[1]['index']);
514
+ //follow the config order, to support reordering
515
+ configEntries.forEach((configEntry) => {
516
+ if (schemaDefinition.properties[configEntry[0]]) {
517
+ transferEntryParameters.key = configEntry[0];
518
+ transferEntryParameters.propertyDefinition = schemaDefinition.properties[configEntry[0]];
519
+ //already part of schema
520
+ transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts);
521
+ preprocessed = true;
522
+ }
523
+ else if (typeof configEntry[1] === 'object') {
524
+ //match against potential schema definitions
525
+ anyOfDefinitions.forEach((anyOfDefinition) => {
526
+ if (anyOfDefinition.$ref) {
527
+ transferEntryParameters.key = configEntry[0];
528
+ transferEntryParameters.propertyDefinition = anyOfDefinition;
529
+ transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts);
530
+ preprocessed = true;
531
+ }
532
+ });
533
+ }
534
+ transferEntryParameters.index++;
535
+ });
536
+ }
537
+ return preprocessed;
538
+ }
539
+ /**
540
+ * Method updates list of definition entries from schema with entries for insertion based on `additionalProperties` entry.
541
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API.
542
+ * @param {Definition} additionalProperties - allowed additional properties.
543
+ * @param {[string, DefinitionOrBoolean][]} list - list with entries.
544
+ * @param {{ [key: string]: unknown }} configObject - configuration object.
545
+ */
546
+ function mergeEntriesForInsert(transferParameters, additionalProperties, list, configObject) {
547
+ let properties = additionalProperties?.properties;
548
+ let required = additionalProperties?.required;
549
+ if (!properties && additionalProperties?.$ref) {
550
+ const reference = additionalProperties?.$ref;
551
+ const definition = transferParameters.appSchema.definitions[reference.split(common_1.DEFINITION_LINK_PREFIX)[1]];
552
+ if (typeof definition === 'object') {
553
+ properties = definition.properties;
554
+ required = definition.required;
555
+ }
556
+ }
557
+ if (!properties) {
558
+ return;
559
+ }
560
+ required = required || [];
561
+ // Merge new entries for creation into list
562
+ for (const key in configObject) {
563
+ const entry = configObject[key];
564
+ // Check if entry from config does not exist in list - potential insert.
565
+ // Additionally check if interface of config entry matches additionalProperties - all required properties should exist in entry
566
+ if (typeof entry === 'object' &&
567
+ !list.some((item) => item[0] === key) &&
568
+ required.every((property) => entry[property])) {
569
+ list.push([key, additionalProperties]);
570
+ }
571
+ }
572
+ }
573
+ /**
574
+ * Recursive function that traverses the content of the current object. It reads decorators and fills exportResultManifest entries and flex changes
575
+ * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
576
+ * @param configObject - current object to traverse
577
+ * @param parentIds - array of collected parent ids
578
+ * @param stableIdParts - list of parts of the stable ID for flex changes
579
+ * @param breadcrumbs - array of sequence of properties that we are currently processing. Required for instance for table column name
580
+ * @param schemaDefinition - the current entry point or definition in the app schema
581
+ * @param title - the title to be used for the given schema definition
582
+ */
583
+ function transferManifestEntriesAndFlexChange(transferParameters, configObject, parentIds, stableIdParts, breadcrumbs, schemaDefinition) {
584
+ if (!schemaDefinition?.properties) {
585
+ return;
586
+ }
587
+ let index = 0;
588
+ //In case of additionalProperties = flexible array definition ==> new entries from the config shall be exported too
589
+ const transferEntryParameters = {
590
+ transferParameters,
591
+ breadcrumbs,
592
+ key: undefined,
593
+ index,
594
+ configObject,
595
+ propertyDefinition: undefined
596
+ };
597
+ const additionalProperties = schemaDefinition.additionalProperties;
598
+ const anyOfDefinitions = additionalProperties?.anyOf;
599
+ const preprocessed = transferConfigEntriesWithAnyOfDefinitions(transferEntryParameters, anyOfDefinitions, schemaDefinition, parentIds, stableIdParts);
600
+ //Sort if there is a propertyIndex, so that the exported list ends up in manifest in the right order
601
+ let sortedList = schemaDefinition.properties && Object.entries(schemaDefinition.properties);
602
+ if (sortedList) {
603
+ if (sortedList[0]?.[1][common_1.SchemaTag.propertyIndex]) {
604
+ sortedList = Object.entries(schemaDefinition.properties).sort((a, b) => a[1][common_1.SchemaTag.propertyIndex] - b[1][common_1.SchemaTag.propertyIndex]);
605
+ }
606
+ if (additionalProperties?.$ref) {
607
+ // Merge new entries for creation into list
608
+ mergeEntriesForInsert(transferParameters, additionalProperties, sortedList, configObject);
609
+ }
610
+ index = 0;
611
+ sortedList.forEach((element) => {
612
+ transferEntryParameters.key = element[0];
613
+ transferEntryParameters.propertyDefinition = element[1];
614
+ transferEntryParameters.index = index;
615
+ transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts, preprocessed);
616
+ if (element[1].$ref) {
617
+ index++;
618
+ }
619
+ });
620
+ }
621
+ }
622
+ /**
623
+ * Instantiates the export classes for a single object page section
624
+ * @param sectionId - Current section ID
625
+ */
626
+ function getClassesForSingleSection(objectPageConfig, sectionId, factory) {
627
+ if (sectionId === 'custom' && Array.isArray(objectPageConfig.sections[sectionId])) {
628
+ // Custom sections
629
+ const customSections = objectPageConfig.sections
630
+ .custom;
631
+ for (let index = 0; index < customSections.length; index++) {
632
+ customSections[index] = factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageCustomSectionView', customSections[index], customSections[index].className);
633
+ }
634
+ }
635
+ }
636
+ /**
637
+ * Recursive sub-function for handling subsections
638
+ * @param section - Object page section in config
639
+ */
640
+ function getSubsectionClasses(section, factory) {
641
+ if (section['subsections']) {
642
+ let subSection;
643
+ for (const subSectionId in section['subsections']) {
644
+ subSection = section['subsections'][subSectionId];
645
+ getClassesForSingleSection(subSection, subSectionId, factory);
646
+ getSubsectionClasses(subSection, factory);
647
+ }
648
+ }
649
+ }
650
+ /**
651
+ * Instantiates the export classes for the object page section
652
+ * @param objectPageConfig - the given object page configuration
653
+ * @param objectPage - the overall object page export class where the sections shall be included
654
+ */
655
+ function getExportClassesForSections(objectPageConfig, objectPage, factory) {
656
+ let section;
657
+ for (const sectionId in objectPageConfig.sections) {
658
+ section = objectPage.sections[sectionId];
659
+ getClassesForSingleSection(objectPageConfig, sectionId, factory);
660
+ getSubsectionClasses(section, factory);
661
+ }
662
+ }
663
+ /**
664
+ * Run through the given ObjectPage config and return respective exportResultManifest entry and flex changes
665
+ * @param appId - id of the Fiori elements app, which is usually namespace.appid
666
+ * @param objectPageConfig - content of the src/ObjectPage_<entity_set>.json file
667
+ * @param manifest - manifest of the application
668
+ * @param pageName - routing target defined in manifest
669
+ */
670
+ const exportObjectPage = (exportParameters, ui5Version) => {
671
+ const exportResults = defaultExportResult;
672
+ exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
673
+ const factory = new factory_1.MetadataInstanceFactoryV4();
674
+ const objectPage = factory.createPageInstance(ux_specification_types_1.PageType.ObjectPage, exportParameters.page.config);
675
+ const pageLayoutInformation = common_1.getPageLayoutInformation(objectPage);
676
+ const pageName = exportParameters.page.name;
677
+ const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
678
+ if (exportParameters.page.config?.[common_1.PropertyName.sections]) {
679
+ getExportClassesForSections(exportParameters.page.config, objectPage, factory);
680
+ }
681
+ const transferParameters = {
682
+ exportResults,
683
+ appId: exportParameters.appId,
684
+ appRootPath: exportParameters.appRootPath,
685
+ baseId,
686
+ appSchema: exportParameters.jsonSchema,
687
+ config: objectPage,
688
+ ui5Version,
689
+ factory,
690
+ pageNameArray: [pageName],
691
+ pageType: ux_specification_types_1.PageType.ObjectPage,
692
+ title: undefined,
693
+ templateType: utils_1.TemplateType.ListReportObjectPageV4
694
+ };
695
+ transferManifestEntriesAndFlexChange(transferParameters, objectPage, [], //no parentIds
696
+ [], // no stableIds
697
+ [], // no breadcrumbs
698
+ exportParameters.jsonSchema //starting point for target definition
699
+ );
700
+ return exportResults;
701
+ };
702
+ /**
703
+ * Run through the given List Page (LR or ALP) config and return respective exportResultManifest entry and flex changes
704
+ * @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
705
+ * @param config - content of the config file
706
+ * @param {PageTypeV4} - pageType - Page type
707
+ * @param ui5Version - SAP UI5 version
708
+ */
709
+ const exportListPage = (exportParameters, factory, config, pageType, ui5Version, templateType) => {
710
+ const exportResults = defaultExportResult;
711
+ exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
712
+ const appSchema = exportParameters.jsonSchema;
713
+ const definitionName = config.table?.[common_1.PropertyName.annotationPath]
714
+ ? common_1.DefinitionName.ALPTableView
715
+ : common_1.DefinitionName.Table;
716
+ const tableDefinition = (config.table = factory.createInstance(pageType, definitionName, config.table));
717
+ let tableDefinitionName = common_1.DefinitionName.LineItems;
718
+ if (appSchema.definitions[common_1.DefinitionName.TableSPV]) {
719
+ const tableRef = appSchema.definitions[common_1.DefinitionName.TableSPV].properties.columns['$ref'];
720
+ tableDefinitionName = tableRef.split(common_1.DEFINITION_LINK_PREFIX)[1];
721
+ }
722
+ const appSchemaActions = appSchema.definitions[`${common_1.DefinitionName.Actions}<${tableDefinitionName}>`];
723
+ if (tableDefinition.toolBar?.actions && appSchemaActions) {
724
+ for (const actionKey in appSchemaActions.properties) {
725
+ tableDefinition.toolBar.actions[actionKey] = factory.createInstance(pageType, common_1.DefinitionName.ToolBarAction, tableDefinition.toolBar.actions[actionKey]);
726
+ }
727
+ }
728
+ const pageLayoutInformation = common_1.getPageLayoutInformation(config);
729
+ const pageName = exportParameters.page.name;
730
+ const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
731
+ if (!exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing.targets[pageName]) {
732
+ const newTarget = getNewRoutingTarget(pageLayoutInformation.pageId, pageName);
733
+ exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing.targets[pageName] = newTarget;
734
+ }
735
+ const transferParameters = {
736
+ exportResults,
737
+ appId: exportParameters.appId,
738
+ appRootPath: exportParameters.appRootPath,
739
+ baseId,
740
+ appSchema,
741
+ config,
742
+ ui5Version,
743
+ factory,
744
+ pageNameArray: [pageName],
745
+ pageType: ux_specification_types_1.PageType.ListReport,
746
+ title: undefined,
747
+ logger: exportParameters.logger,
748
+ templateType
749
+ };
750
+ transferManifestEntriesAndFlexChange(transferParameters, config, [], //no parentIds
751
+ [], // no stableIds
752
+ [], // no breadcrumbs
753
+ appSchema //starting point for target definition
754
+ );
755
+ return exportResults;
756
+ };
757
+ /**
758
+ * Run through the given ListReport config and return respective exportResultManifest entry and flex changes
759
+ * @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
760
+ * @param ui5Version - SAP UI5 version
761
+ * @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
762
+ */
763
+ const exportListReportPage = (exportParameters, ui5Version, templateType) => {
764
+ const factory = new factory_1.MetadataInstanceFactoryV4();
765
+ const listReport = factory.createPageInstance(ux_specification_types_1.PageType.ListReport, exportParameters.page.config);
766
+ return exportListPage(exportParameters, factory, listReport, ux_specification_types_1.PageTypeV4.ListReport, ui5Version, templateType);
767
+ };
768
+ /**
769
+ * Run through the given Analytical List Page config and return respective exportResultManifest entry and flex changes
770
+ * @param {ExportAnalyticalListPageV4Parameters} exportParameters - all API parameters needed for the export
771
+ * @param ui5Version - SAP UI5 version
772
+ * @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
773
+ *
774
+ * @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
775
+ */
776
+ const exportAnalyticalListPage = (exportParameters, ui5Version) => {
777
+ return exportListReportPage(exportParameters, ui5Version, utils_1.TemplateType.AnalyticalListPageV4);
778
+ };
779
+ /**
780
+ * API for the export of a V4 app configuration
781
+ * Export means the transfer of the properties and values of the given config to manifest entries or flex changes
782
+ * @param application - V4 application (app.json config file)
783
+ * @param manifest - Manifest of the given app
784
+ * @param appSchema - App schema
785
+ *
786
+ * @returns ExportResults = object comprising the updated manifest and a list of flex changes
787
+ */
788
+ const exportApplicationV4 = (application, manifest, appSchema) => {
789
+ const exportResults = defaultExportResult;
790
+ exportResults.manifest = JSON.parse(JSON.stringify(manifest));
791
+ const applicationV4 = Object.assign(new application_1.ApplicationV4(), application);
792
+ //transform application settings
793
+ applicationV4.settings = Object.assign(new application_1.AppSettings(), applicationV4.settings);
794
+ for (const key in appSchema.definitions.AppSettings.properties) {
795
+ const syncRule = common_1.getReflectMetadata(applicationV4.settings, key);
796
+ if (syncRule && syncRule.manifest) {
797
+ const path = syncRule.manifest.path();
798
+ const manifestSection = common_1.getManifestSectionByPathV4(exportResults.manifest, path);
799
+ if (syncRule.manifest.export) {
800
+ const exportParams = {
801
+ exportHandler: syncRule.manifest.export,
802
+ manifestSection,
803
+ configObject: application,
804
+ configPropertyKey: key,
805
+ manifestKey: key,
806
+ syncRuleKey: key
807
+ };
808
+ const propertyDefinition = appSchema.definitions.AppSettings.properties[key];
809
+ transferPropertyToManifest(exportParams, propertyDefinition, {});
810
+ }
811
+ else {
812
+ if (application.settings?.[key] !== undefined) {
813
+ manifestSection[key] = application.settings[key];
814
+ }
815
+ else {
816
+ delete manifestSection[key];
817
+ }
818
+ }
819
+ utils_1.deleteEmptyStructure(exportResults.manifest, path);
820
+ }
821
+ }
822
+ //transform routing
823
+ exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing = manifest_1.transformRoutingV4(application['home'], application['pages'], exportResults.manifest);
824
+ // Update FCL data
825
+ flexibleColumnLayout_1.updateFcl(exportResults.manifest[ux_specification_types_1.ManifestSection.ui5], application);
826
+ return exportResults;
827
+ };
828
+ /**
829
+ * General API for the export of a V4 config page
830
+ * Export means the transfer of the properties and values of the given config to manifest entries or flex changes
831
+ * @param appId - Application ID
832
+ * @param page - Current page (config)
833
+ * @param manifest - Manifest of the given app
834
+ * @param jsonSchema - App schema
835
+ *
836
+ * @returns ExportResults = object comprising the updated manifest and a list of flex changes
837
+ */
838
+ const exportPageV4 = (exportParametersV4, ui5Version) => {
839
+ if (exportParametersV4[ux_specification_types_1.SchemaType.ListReport]) {
840
+ return exportListReportPage(exportParametersV4[ux_specification_types_1.SchemaType.ListReport], ui5Version, utils_1.TemplateType.ListReportObjectPageV4);
841
+ }
842
+ else if (exportParametersV4[ux_specification_types_1.SchemaType.ObjectPage]) {
843
+ return exportObjectPage(exportParametersV4[ux_specification_types_1.SchemaType.ObjectPage], ui5Version);
844
+ }
845
+ else if (exportParametersV4[ux_specification_types_1.SchemaType.Application]) {
846
+ const { application, manifest, jsonSchema } = exportParametersV4[ux_specification_types_1.SchemaType.Application];
847
+ return exportApplicationV4(application, manifest, jsonSchema);
848
+ }
849
+ else if (exportParametersV4[ux_specification_types_1.SchemaType.AnalyticalListPage]) {
850
+ return exportAnalyticalListPage(exportParametersV4[ux_specification_types_1.SchemaType.AnalyticalListPage], ui5Version);
851
+ }
852
+ };
853
+ exports.exportPageV4 = exportPageV4;
854
+ //# sourceMappingURL=export.js.map