@sap/ux-specification 1.96.19 → 1.96.21

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