@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,746 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createObjectPageConfigV2 = void 0;
7
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
8
+ const table_1 = require("../controls/table");
9
+ const extensionLogger_1 = require("../../../../extensionLogger");
10
+ const utils_1 = require("../utils");
11
+ const common_1 = require("../../../common");
12
+ const manifest_1 = require("../../export/manifest");
13
+ const i18next_1 = __importDefault(require("i18next"));
14
+ const i18n_1 = require("../../../../i18n/i18n");
15
+ const factory_1 = require("../../export/factory");
16
+ const types_1 = require("../../types");
17
+ const common_2 = require("../common");
18
+ // Comprises list of flexChanges that do not require a facet id
19
+ const SupportedFlexChangesWithoutFacetId = [ux_specification_types_1.ControlType.Avatar, ux_specification_types_1.ControlType.ObjectPageLayout, ux_specification_types_1.ControlType.DynamicPage];
20
+ /**
21
+ * Determines Facet ID from single string selector Id
22
+ * @param {string} selectorId Selector ID
23
+ * @returns {string} FacetID
24
+ */
25
+ function getSingleSelectorIdPart(selectorIdParts, facetID) {
26
+ const lastIdParts = selectorIdParts[0].split('-');
27
+ const id = lastIdParts[lastIdParts.length - 1];
28
+ if (selectorIdParts[0].indexOf('::action::') >= 0 || selectorIdParts[0].startsWith('action::')) {
29
+ // Object Page ToolBar Actions
30
+ facetID =
31
+ lastIdParts[0].split('::action::')[0] ||
32
+ lastIdParts[0].split(`${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}::`)[1].split('::')[0];
33
+ facetID = `${common_1.ActionTitlePrefix}${facetID}`;
34
+ }
35
+ else if (selectorIdParts[0].indexOf("com.sap.vocabularies.UI.v1.LineItem" /* LineItem */) >= 0 ||
36
+ selectorIdParts[0].indexOf('UI.LineItem') >= 0 ||
37
+ selectorIdParts[0].indexOf('::Table') >= 0) {
38
+ facetID = lastIdParts[0].split('::Table')[0].split('::responsiveTable')[0];
39
+ }
40
+ else {
41
+ const idParts = id.split('::');
42
+ if (idParts.length > 1) {
43
+ facetID = idParts[0];
44
+ }
45
+ else if (lastIdParts[0].indexOf('::') > -1) {
46
+ facetID = lastIdParts[0].split('::')[0];
47
+ }
48
+ }
49
+ return facetID;
50
+ }
51
+ /**
52
+ * Determines Facet ID of flex change
53
+ * @param {string} selectorId Control ID of flex change
54
+ * @returns {string} FacetID
55
+ */
56
+ function getFacetID(selectorId) {
57
+ let facetID;
58
+ const selectorIdParts = selectorId.split(':::');
59
+ if (selectorIdParts.length === 1) {
60
+ facetID = getSingleSelectorIdPart(selectorIdParts, facetID);
61
+ }
62
+ else if (selectorId.indexOf('sSmartTableId') >= 0) {
63
+ for (const element of selectorIdParts) {
64
+ if (element.startsWith('sSmartTableId')) {
65
+ facetID = element
66
+ .split('sSmartTableId::')[1]
67
+ .split('::Table')[0]
68
+ .split('/responsiveTable')[0]
69
+ .replace(`::${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`, `/@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`);
70
+ break;
71
+ }
72
+ }
73
+ }
74
+ else {
75
+ facetID = selectorIdParts[0];
76
+ }
77
+ return facetID;
78
+ }
79
+ /**
80
+ * Prepares the list of flex changes
81
+ * @param change - the flex change (UI Adaptation)
82
+ * @returns {FlexChangesForTransfer} - list of prepared flex changes
83
+ */
84
+ function prepareFlexChanges(changes, entitySet, logger) {
85
+ const result = {};
86
+ const complexIdMatch = /.+DataField.+:::sSmartTableId::.+/;
87
+ changes.forEach((changeString) => {
88
+ try {
89
+ const change = common_1.parseChangeString(changeString);
90
+ if (change &&
91
+ change.controlId?.includes(ux_specification_types_1.v2.FE_TEMPLATE_V2_OBJECT_PAGE) &&
92
+ change.controlId?.includes(entitySet)) {
93
+ let selectorId = change.controlId.split('--')[1].replace(/:3a:3a/g, '::');
94
+ if (complexIdMatch.exec(selectorId) !== null) {
95
+ selectorId = selectorId.split('template:::TableColumn:::')[1];
96
+ }
97
+ const facetID = getFacetID(selectorId);
98
+ selectorId = common_2.convertSelector(selectorId)
99
+ .replace(/:3a:3a/g, '::')
100
+ .replace(/\/@com.sap.vocabularies/g, '::com.sap.vocabularies');
101
+ result[`${selectorId}::${change.content.property}`] = {
102
+ controlId: selectorId,
103
+ propertyId: change.content.property,
104
+ facetId: facetID,
105
+ newValue: change.content.newBinding !== undefined ? change.content.newBinding : change.content.newValue,
106
+ controlType: change.controlType,
107
+ creation: change.creation
108
+ };
109
+ }
110
+ }
111
+ catch (error) {
112
+ extensionLogger_1.log(logger, {
113
+ severity: "error" /* Error */,
114
+ message: i18next_1.default.t('FLEXERROR')
115
+ }, ...error);
116
+ }
117
+ });
118
+ const sortedList = Object.entries(result).sort((a, b) => a[1].creation - b[1].creation);
119
+ return sortedList.reduce((accum, [k, v]) => {
120
+ accum[k] = v;
121
+ return accum;
122
+ }, {});
123
+ }
124
+ /**
125
+ * Returns the type of a given section
126
+ * @param schemaSection - current section
127
+ * @returns {SectionTypeV2} - type of section, differentiated by level (Sub/Section)
128
+ */
129
+ const getSectionType = (schemaSection) => {
130
+ let reference;
131
+ if (schemaSection['$ref']) {
132
+ reference = schemaSection['$ref'].includes('<') ? schemaSection['$ref'].split('<')[0] : schemaSection['$ref'];
133
+ return reference.replace(common_1.DEFINITION_LINK_PREFIX, '');
134
+ }
135
+ else if (schemaSection['properties']?.['subsections']?.['$ref']) {
136
+ reference = schemaSection['properties']['subsections']['$ref'];
137
+ reference = reference.includes('<') ? reference.split('<')[0] : reference;
138
+ return reference.replace(common_1.DEFINITION_LINK_PREFIX, '');
139
+ }
140
+ else if (schemaSection['properties']?.['subsections']) {
141
+ return types_1.SectionTypeV2.SubSection;
142
+ }
143
+ };
144
+ /**
145
+ * Import of flex changes of a table to the config JSON of OP
146
+ * @param flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
147
+ * @param propertyKey - key of the current property in the app schema
148
+ * @param configPart - part of the configuration to be filled
149
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
150
+ * @param sectionTitle - title of the section (optional)
151
+ * @param sectionId - ID of the given section (optional)
152
+ */
153
+ function importFlexChangesOfTable(flexChanges, propertyKey, configPart, importParameters, sectionTitle, sectionId) {
154
+ let facetIds;
155
+ if (sectionTitle) {
156
+ facetIds = [sectionTitle.replace(/@/g, '')];
157
+ }
158
+ else {
159
+ facetIds = [sectionId.replace(/@/g, ''), sectionId?.replace(/::@com.sap.vocabularies/g, common_1.VOCWITHSLASH)];
160
+ }
161
+ for (const selector in flexChanges) {
162
+ const flexChange = flexChanges[selector];
163
+ const propertyIdMatch = flexChange.propertyId === propertyKey;
164
+ const isTableColumn = propertyKey === 'columns' && flexChange.controlType === ux_specification_types_1.ControlType.TableColumn;
165
+ if ((propertyIdMatch || isTableColumn) && facetIds.indexOf(flexChange?.facetId) > -1) {
166
+ table_1.addFlexForTable(configPart, flexChange, importParameters.jsonSchema);
167
+ }
168
+ }
169
+ }
170
+ /**
171
+ * RegEx check of the control Id and/or the section Id against the selector of a flex change
172
+ * @param schemaDefinition - current section of the app specific schema
173
+ * @param flexChange - flex change
174
+ * @param controlIdChecker - RegEx for the controlId
175
+ * @param selectionIdChecker - RegEx for the selectionId
176
+ * @param sectionId - title of the section (optional)
177
+ * @param controlId - ID of the given control, for e.g. GroupElement, Action (optional)
178
+ * @returns the result of all checks
179
+ */
180
+ function matchSelector(schemaDefinition, flexChange, controlIdChecker, selectionIdChecker, sectionId, controlId) {
181
+ let idMatch = false, controlIdMatch = false;
182
+ const idElementChecker = (arr, target) => target.every((v) => arr.includes(v));
183
+ if (controlId) {
184
+ idMatch = controlIdMatch = controlIdChecker.test(flexChange.controlId);
185
+ if (sectionId) {
186
+ idMatch = controlIdMatch && selectionIdChecker.test(flexChange.controlId);
187
+ }
188
+ }
189
+ else if (sectionId) {
190
+ idMatch = selectionIdChecker.test(flexChange.controlId);
191
+ }
192
+ const controlIdParts = flexChange.controlId.split('::');
193
+ return ((flexChange.controlType === ux_specification_types_1.ControlType.GroupElement && controlIdMatch) ||
194
+ (flexChange.facetId?.includes(common_1.ActionTitlePrefix) && !sectionId && idMatch) ||
195
+ (sectionId && idElementChecker(controlIdParts, sectionId.split('::')) && idMatch) ||
196
+ (schemaDefinition.title && idElementChecker(controlIdParts, schemaDefinition.title.split('::'))) ||
197
+ (!flexChange.facetId && SupportedFlexChangesWithoutFacetId.includes(flexChange.controlType)));
198
+ }
199
+ /**
200
+ * Import of (regular) flex changes to the config JSON of OP
201
+ * @param schemaDefinition - current section of the app specific schema
202
+ * @param configPart - part of the configuration to be filled
203
+ * @param flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
204
+ * @param propertyKey - key of the current property in the app schema
205
+ * @param sectionId - title of the section (optional)
206
+ * @param elementId - stable ID part of the given element, for e.g. GroupElement, Action (optional)
207
+ */
208
+ function importFlexChanges(schemaDefinition, configPart, flexChanges, propertyKey, sectionId, elementId) {
209
+ const controlIdChecker = new RegExp(`.*${elementId}`);
210
+ const selectionIdChecker = new RegExp(`.*${sectionId}`);
211
+ for (const selector in flexChanges) {
212
+ const flexChange = flexChanges[selector];
213
+ //Property match?
214
+ if (flexChange.propertyId !== propertyKey) {
215
+ continue;
216
+ }
217
+ //Control type match?
218
+ if (flexChange.controlType !== schemaDefinition.properties[flexChange.propertyId]?.[common_1.SchemaTag.controlType]) {
219
+ continue;
220
+ }
221
+ const match = matchSelector(schemaDefinition, flexChange, controlIdChecker, selectionIdChecker, sectionId, elementId);
222
+ if (match) {
223
+ configPart[propertyKey] = flexChange.newValue;
224
+ }
225
+ }
226
+ }
227
+ /**
228
+ * Checks for deprecated properties and writes them to the log
229
+ * @param manifestSection - given section in the manifest
230
+ * @param deprecatedProperties - list of deperecated properties
231
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
232
+ * @param manifestPath - manifest path, as calcualted by the sync rule
233
+ */
234
+ function checkDeprecatedProperties(manifestSection, deprecatedProperties, importParameters, manifestPath) {
235
+ if (manifestSection && deprecatedProperties) {
236
+ for (const key in manifestSection) {
237
+ const deprecated = deprecatedProperties[key];
238
+ if (deprecated) {
239
+ extensionLogger_1.log(importParameters.logger, {
240
+ severity: "warning" /* Warning */,
241
+ message: common_1.getTextForDeprecated(key, deprecated),
242
+ location: {
243
+ path: 'webapp/manifest.json/',
244
+ range: manifestPath.split('/')
245
+ }
246
+ });
247
+ delete deprecatedProperties[key];
248
+ }
249
+ }
250
+ }
251
+ }
252
+ /**
253
+ * Imports manifest settings to the object page config
254
+ * @param syncRule - sync rule for accessing the reflect-metadata
255
+ * @param pageKeys - list of page keys (comprises the one entry describing the given page)
256
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
257
+ * @param configPart - part of the configuration to be filled
258
+ * @param propertyKey - key of the current property of the schema definition
259
+ * @param deprecatedProperties - list od deperecated properties
260
+ * @param sectionId - ID of the given section (optional)
261
+ * @param sectionTitle - title of the section (optional)
262
+ */
263
+ function importManifestSetting(syncRule, pageKeys, importParameters, configPart, propertyKey, deprecatedProperties, sectionPart) {
264
+ const sectionIdInManifest = sectionPart?.id
265
+ ? sectionPart.id.replace(/\/@/g, '::').replace(/@com.sap/g, 'com.sap')
266
+ : undefined;
267
+ let manifestPath;
268
+ let manifestSection;
269
+ if (sectionPart?.title) {
270
+ manifestPath = syncRule.manifest.path(pageKeys, {}, sectionPart.title);
271
+ manifestSection = manifest_1.ensureManifestSectionByPathV2(importParameters.manifest, manifestPath);
272
+ if (Object.values(manifestSection).length === 0) {
273
+ manifestPath = syncRule.manifest.path(pageKeys, {}, sectionIdInManifest);
274
+ manifestSection = manifest_1.ensureManifestSectionByPathV2(importParameters.manifest, manifestPath);
275
+ }
276
+ }
277
+ else {
278
+ manifestPath = syncRule.manifest.path(pageKeys, {}, sectionIdInManifest);
279
+ manifestSection = manifest_1.ensureManifestSectionByPathV2(importParameters.manifest, manifestPath);
280
+ }
281
+ const importHandler = syncRule.manifest.import;
282
+ if (importHandler && typeof importHandler === 'function') {
283
+ const value = importHandler(manifestSection, sectionPart?.id);
284
+ if (value !== undefined) {
285
+ configPart[propertyKey] = value;
286
+ }
287
+ }
288
+ else {
289
+ const manifestKey = syncRule.manifest.key || propertyKey;
290
+ if (manifestKey in manifestSection) {
291
+ configPart[propertyKey] = manifestSection[manifestKey];
292
+ }
293
+ }
294
+ // Check for deprecated properties.
295
+ checkDeprecatedProperties(manifestSection, deprecatedProperties, importParameters, manifestPath);
296
+ return manifestSection;
297
+ }
298
+ /**
299
+ * Transfers settings from manifest and flexChanges to object page config
300
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
301
+ * @param configPart - part of the configuration to be filled
302
+ * @param schemaDefinition - current section of the app specific schema
303
+ * @param configParameters - comprises page keys and flex changes
304
+ * @param sectionPart - structure comprising the section information
305
+ * @param elementId - stable ID part of the given element (action, column, ...) (optional)
306
+ */
307
+ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefinition, configParameters, sectionPart, elementId) {
308
+ if (!schemaDefinition) {
309
+ return;
310
+ }
311
+ const deprecatedProperties = configPart?.getDeprecated ? configPart.getDeprecated() : {};
312
+ for (const propertyKey in schemaDefinition.properties || schemaDefinition) {
313
+ const syncRule = common_1.getReflectMetadata(configPart, propertyKey);
314
+ if (propertyKey === 'columns' || syncRule?.flex) {
315
+ if (sectionPart?.type?.startsWith('ObjectPageSectionTableV2') ||
316
+ sectionPart?.type?.startsWith('ObjectPageSubSectionTableV2')) {
317
+ importFlexChangesOfTable(configParameters.flexChanges, propertyKey, configPart, importParameters, sectionPart.title, sectionPart.id);
318
+ }
319
+ else {
320
+ const facetId = sectionPart?.title || sectionPart?.id;
321
+ importFlexChanges(schemaDefinition, configPart, configParameters.flexChanges, propertyKey, facetId, elementId);
322
+ }
323
+ }
324
+ else if (syncRule?.manifest) {
325
+ importManifestSetting(syncRule, configParameters.pageKeys, importParameters, configPart, propertyKey, deprecatedProperties, sectionPart);
326
+ }
327
+ }
328
+ }
329
+ /**
330
+ *
331
+ * @param actionType - type of action
332
+ * @param configActionId - id of action in config
333
+ * @param {ActionTypeV2|string} importTypeId - type of action that was be initiated
334
+ * @returns {string} actionId - to be used for import of flex changes
335
+ */
336
+ function getActionId(actionType, configActionId, importTypeId, facetId) {
337
+ let actionId = common_1.convertActionKeyToStableId(configActionId);
338
+ if (actionType === types_1.ActionTypeV2.Form) {
339
+ actionId = `action::${actionId}::${facetId}::${importTypeId}`;
340
+ }
341
+ else if (actionType === types_1.ActionTypeV2.OPFooter) {
342
+ actionId = `action::${actionId}::Determining`;
343
+ }
344
+ else if (actionType === types_1.ActionTypeV2.OPToolBar) {
345
+ actionId = actionId.includes('sAction::')
346
+ ? `action::${actionId.split('sAction::')[1]}`
347
+ : `action::${actionId.replace(':2f', '::')}`;
348
+ }
349
+ return actionId.replace(/@/g, '');
350
+ }
351
+ /**
352
+ * Fills the action of the configuration
353
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
354
+ * @param {object} actionProperties - current properties' list (of action)
355
+ * @param {object} configPart - the given part of the object page config
356
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
357
+ * @param {ActionTypeV2|string} importTypeId - type of action that should be initiated
358
+ */
359
+ function fillActions(importParameters, actionProperties, configPart, configParameters, importTypeId, facetId) {
360
+ configPart[common_1.PropertyName.actions] = {};
361
+ const actionType = importTypeId.split('::').pop();
362
+ if (configParameters.flexChanges && Object.keys(configParameters.flexChanges).length > 0) {
363
+ const sectionPart = {};
364
+ if (facetId) {
365
+ sectionPart.id = facetId;
366
+ }
367
+ for (const actionProperty in actionProperties) {
368
+ const configActionId = common_2.convertActionKey(actionProperty);
369
+ const actionId = getActionId(actionType, configActionId, importTypeId, facetId);
370
+ if (actionId) {
371
+ configPart[common_1.PropertyName.actions][configActionId] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, actionType);
372
+ transferSettingsAndFlexChanges(importParameters, configPart[common_1.PropertyName.actions][configActionId], importParameters.jsonSchema.definitions[actionType], configParameters, sectionPart, actionId);
373
+ }
374
+ if (configPart[common_1.PropertyName.actions]?.[configActionId] &&
375
+ Object.keys(configPart[common_1.PropertyName.actions][configActionId]).length === 0) {
376
+ delete configPart[common_1.PropertyName.actions][configActionId];
377
+ }
378
+ }
379
+ }
380
+ if (Object.keys(configPart[common_1.PropertyName.actions]).length === 0) {
381
+ delete configPart[common_1.PropertyName.actions];
382
+ }
383
+ }
384
+ /**
385
+ * Fills the fields of an object page form
386
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
387
+ * @param {sectionPartProperties} sectionPart - current properties' list of form section
388
+ * @param fieldProperties - current properties' list (of fields)
389
+ * @param configPart - the given part of the object page config
390
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
391
+ */
392
+ function fillFields(importParameters, sectionPart, fieldProperties, configPart, configParameters) {
393
+ let fieldId;
394
+ configPart[sectionPart.id]['form']['fields'] = {};
395
+ for (const fieldProperty in fieldProperties) {
396
+ fieldId = `${fieldProperty}::GroupElement`;
397
+ configPart[sectionPart.id]['form']['fields'][fieldProperty] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'Field');
398
+ const elementId = sectionPart.title.includes(common_1.UIVOCABULARYALPHADOT)
399
+ ? `${sectionPart.id.replace(/@/g, '')}::${fieldId}`
400
+ : `${sectionPart.title}::${fieldId}`;
401
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id]['form']['fields'][fieldProperty], importParameters.jsonSchema.definitions[common_1.DefinitionName.Field], configParameters, {}, elementId);
402
+ if (Object.keys(configPart[sectionPart.id]['form']['fields'][fieldProperty]).length === 0) {
403
+ delete configPart[sectionPart.id]['form']['fields'][fieldProperty];
404
+ }
405
+ }
406
+ if (Object.keys(configPart[sectionPart.id]['form']['fields']).length === 0) {
407
+ delete configPart[sectionPart.id]['form']['fields'];
408
+ }
409
+ }
410
+ /**
411
+ * Adjusts the app schema by choosing the right table definition, depending on the table type
412
+ * @param tableType - the type of the given table
413
+ * @param {SectionPartProperties} sectionPart - current properties' list
414
+ * @param schemaDefinitions - definitions' section of the app schema
415
+ * @returns the right schema definition for the given table
416
+ */
417
+ function prepareTableSchema(tableType, sectionPart, schemaDefinitions) {
418
+ let tableSchema;
419
+ if (tableType === 'TreeTable' || tableType === 'AnalyticalTable' || tableType === 'GridTable') {
420
+ tableSchema = schemaDefinitions[`ObjectPage${tableType}<${sectionPart.id}>`];
421
+ }
422
+ else if (schemaDefinitions[`ObjectPageResponsiveTableWithMultiSelect<${sectionPart.id}>`] &&
423
+ schemaDefinitions[`ObjectPageResponsiveTableWithInlineDelete<${sectionPart.id}>`]) {
424
+ tableSchema = JSON.parse(JSON.stringify(schemaDefinitions[`ObjectPageResponsiveTableWithMultiSelect<${sectionPart.id}>`]));
425
+ tableSchema['properties'] = {
426
+ ...tableSchema['properties'],
427
+ ...schemaDefinitions[`ObjectPageResponsiveTableWithInlineDelete<${sectionPart.id}>`]['properties']
428
+ };
429
+ }
430
+ return tableSchema;
431
+ }
432
+ /**
433
+ * Fills the table section of the object page config
434
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
435
+ * @param {SectionPartProperties} sectionPart - current properties' list
436
+ * @param {Settings} manifestSettings - object page settings section of the manifest
437
+ * @param {object} configPart - the given part of the object page config
438
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
439
+ */
440
+ function fillTableInConfig(importParameters, sectionPart, manifestSettings, configPart, configParameters) {
441
+ const manifestKey = sectionPart.title || sectionPart.id.replace('@com.sap', 'com.sap');
442
+ const manifestSection = manifestSettings && manifestSettings.sections && manifestSettings.sections[manifestKey];
443
+ if (manifestSection || configParameters.flexChanges) {
444
+ const tableType = manifestSection?.tableSettings?.type || 'ResponsiveTable';
445
+ //Instantiate metadata
446
+ const OPtable = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, `ObjectPage${tableType}`, {
447
+ toolBar: {}
448
+ });
449
+ configPart[sectionPart.id] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, sectionPart.type, {
450
+ table: {}
451
+ });
452
+ configPart[sectionPart.id][common_1.PropertyName.table] = OPtable;
453
+ const schemaDefinitions = importParameters.jsonSchema.definitions;
454
+ const tableSchema = prepareTableSchema(tableType, sectionPart, schemaDefinitions);
455
+ //Transfer settings of (sub)section
456
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id], sectionPart.schema, configParameters, { title: sectionPart.title });
457
+ //Transfer settings of table
458
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id][common_1.PropertyName.table], tableSchema, configParameters, sectionPart);
459
+ //Transfer settings of table toolbar actions
460
+ const toolBarActions = JSON.parse(JSON.stringify(schemaDefinitions))[`Actions<${sectionPart.id}>`];
461
+ if (toolBarActions?.properties) {
462
+ const facetId = sectionPart?.title
463
+ ? sectionPart.title.replace(/@/g, '::').replace(/::com/g, 'com')
464
+ : sectionPart?.id?.replace(/@/g, '::').replace(/::com/g, 'com');
465
+ fillActions(importParameters, toolBarActions.properties, configPart[sectionPart.id][common_1.PropertyName.table]['toolBar'], configParameters, types_1.ActionTypeV2.OPToolBar, facetId);
466
+ }
467
+ if (Object.keys(configPart[sectionPart.id][common_1.PropertyName.table]['toolBar']).length === 0) {
468
+ delete configPart[sectionPart.id][common_1.PropertyName.table]['toolBar'];
469
+ }
470
+ }
471
+ }
472
+ /**
473
+ * Fills custom columns in a V2 object page config JSON
474
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
475
+ * @param {string} escapedSectionId - escaped version of the section ID
476
+ * @param {string} sectionTitle - title of current section, if available
477
+ * @param {object} configPart - the given part of the object page config
478
+ * @param {SapUiAppPageV2} v2Page - v2 page from manifest.
479
+ */
480
+ function fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, v2Page) {
481
+ const customColumnSchemaProp = importParameters.jsonSchema.definitions[escapedSectionId].properties.custom;
482
+ const customColumnTarget = customColumnSchemaProp
483
+ ? common_1.getTargetFromCustomColumnRef(customColumnSchemaProp.$ref)
484
+ : undefined;
485
+ if (customColumnTarget) {
486
+ const objectPageSectionData = {
487
+ key: escapedSectionId.replace('@', ''),
488
+ target: customColumnTarget
489
+ };
490
+ common_2.addFragments(configPart[escapedSectionId], importParameters.manifest, v2Page, ux_specification_types_1.PageType.ObjectPage, importParameters.fragments, objectPageSectionData);
491
+ }
492
+ }
493
+ /**
494
+ * Fills the sections and subsections of the object page config (recursive function)
495
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
496
+ * @param {sectionPartProperties} sectionPart - current properties' list of chart section
497
+ * @param {Settings} manifestSettings - object page settings section of the manifest
498
+ * @param {object} configPart - the given part of the object page config
499
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
500
+ */
501
+ function fillChartSection(importParameters, sectionPart, manifestSettings, configPart, configParameters) {
502
+ const manifestKey = sectionPart.id.replace('@com.sap', 'com.sap');
503
+ const manifestSection = manifestSettings && manifestSettings.sections && manifestSettings.sections[manifestKey];
504
+ configPart[sectionPart.id] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, sectionPart.type, {
505
+ chart: {}
506
+ });
507
+ configPart[sectionPart.id][common_1.PropertyName.chart] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageChart');
508
+ if (manifestSection || configParameters.flexChanges) {
509
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id], sectionPart.schema, configParameters, { title: sectionPart.title });
510
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id][common_1.PropertyName.chart], importParameters.jsonSchema.definitions[common_1.DefinitionName.ObjectPageChart], configParameters, sectionPart);
511
+ }
512
+ }
513
+ /**
514
+ * Fills the form section of the object page config
515
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
516
+ * @param {sectionPartProperties} sectionPart - current properties' list of form section
517
+ * @param {object} configPart - the given part of the object page config
518
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
519
+ */
520
+ function fillFormSection(importParameters, sectionPart, configPart, configParameters) {
521
+ const formId = sectionPart.schema['properties']['form']['$ref'].split('SectionForm')[1];
522
+ configPart[sectionPart.id] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, sectionPart.type, {
523
+ form: {}
524
+ });
525
+ if (configParameters.flexChanges) {
526
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id], sectionPart.schema, configParameters, { title: sectionPart.title });
527
+ }
528
+ const formActions = importParameters.jsonSchema.definitions[`SectionActions${formId}`];
529
+ const facetId = sectionPart?.title
530
+ ? sectionPart.title.replace(/@/g, '::').replace(/::com/g, 'com')
531
+ : sectionPart?.id?.replace(/@/g, '::').replace(/::com/g, 'com');
532
+ if (formActions?.properties) {
533
+ fillActions(importParameters, formActions.properties, configPart[sectionPart.id]['form'], configParameters, types_1.ActionTypeV2.Form, facetId);
534
+ }
535
+ const formFields = importParameters.jsonSchema.definitions[`SectionFields${formId}`];
536
+ if (formFields.properties) {
537
+ fillFields(importParameters, sectionPart, formFields.properties, configPart, configParameters);
538
+ }
539
+ if (Object.keys(configPart[sectionPart.id]['form']).length === 0) {
540
+ delete configPart[sectionPart.id]['form'];
541
+ }
542
+ if (Object.keys(configPart[sectionPart.id]).length === 0) {
543
+ delete configPart[sectionPart.id];
544
+ }
545
+ }
546
+ /**
547
+ * Fills the subsection of the object page config
548
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
549
+ * @param {sectionPartProperties} sectionPart - current properties' list of subsection
550
+ * @param {Settings} manifestSettings - object page settings section of the manifest
551
+ * @param {object} configPart - the given part of the object page config
552
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig
553
+ */
554
+ function fillSubSection(importParameters, sectionPart, manifestSettings, configPart, configParameters) {
555
+ configPart[sectionPart.id] = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, sectionPart.type, {
556
+ subsections: {}
557
+ });
558
+ if (configParameters.flexChanges) {
559
+ transferSettingsAndFlexChanges(importParameters, configPart[sectionPart.id], sectionPart.schema, configParameters, sectionPart);
560
+ }
561
+ let currentSchemaSection;
562
+ const schemaProperties = sectionPart.schema.properties;
563
+ if (schemaProperties?.subsections?.properties) {
564
+ currentSchemaSection = schemaProperties.subsections.properties;
565
+ }
566
+ else {
567
+ currentSchemaSection = schemaProperties;
568
+ }
569
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
570
+ fillSectionsInConfig(importParameters, currentSchemaSection, manifestSettings, configPart[sectionPart.id]['subsections'], configParameters);
571
+ if (Object.keys(configPart[sectionPart.id]['subsections']).length < 1) {
572
+ delete configPart[sectionPart.id]['subsections'];
573
+ }
574
+ }
575
+ /**
576
+ * Fills the sections and subsections of the object page config (recursive function)
577
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
578
+ * @param {object} sectionProperties - current properties' list (of sections or subsections)
579
+ * @param {Settings} manifestSettings - object page settings section of the manifest
580
+ * @param {object} configPart - the given part of the object page config
581
+ * @param {ObjectPageV2ConfigParameters} configParameters - container for factory, pageKeys, flexChanges, v2Page, ObjectPageConfig.
582
+ */
583
+ function fillSectionsInConfig(importParameters, sectionProperties, manifestSettings, configPart, configParameters) {
584
+ const appSchemaDefinitions = importParameters.jsonSchema.definitions;
585
+ for (const sectionId in sectionProperties) {
586
+ const escapedSectionId = sectionId.replace(/\/@/g, '::');
587
+ const sectionPart = {
588
+ id: escapedSectionId,
589
+ type: getSectionType(sectionProperties[sectionId]),
590
+ schema: sectionProperties[sectionId],
591
+ title: common_1.getSectionTitle(sectionProperties[sectionId], importParameters.jsonSchema)
592
+ };
593
+ if (sectionPart.schema['$ref'] && sectionPart.type) {
594
+ switch (sectionPart.type) {
595
+ case types_1.SectionTypeV2.SectionTable:
596
+ case types_1.SectionTypeV2.SubSectionTable: {
597
+ sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
598
+ fillTableInConfig(importParameters, sectionPart, manifestSettings, configPart, configParameters);
599
+ // Custom column ref
600
+ fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, configParameters.v2Page);
601
+ break;
602
+ }
603
+ case types_1.SectionTypeV2.SectionChart:
604
+ case types_1.SectionTypeV2.SubSectionChart: {
605
+ // Section without subsections
606
+ sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
607
+ fillChartSection(importParameters, sectionPart, manifestSettings, configPart, configParameters);
608
+ break;
609
+ }
610
+ case types_1.SectionTypeV2.SectionForm:
611
+ case types_1.SectionTypeV2.SubSectionForm: {
612
+ sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
613
+ fillFormSection(importParameters, sectionPart, configPart, configParameters);
614
+ break;
615
+ }
616
+ case types_1.SectionTypeV2.Section:
617
+ case types_1.SectionTypeV2.SectionAddress:
618
+ case types_1.SectionTypeV2.SubSectionAddress:
619
+ case types_1.SectionTypeV2.SectionContact:
620
+ case types_1.SectionTypeV2.SubSectionContact:
621
+ case types_1.SectionTypeV2.SubSection: {
622
+ // Section with subsections
623
+ sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
624
+ fillSubSection(importParameters, sectionPart, manifestSettings, configPart, configParameters);
625
+ break;
626
+ }
627
+ }
628
+ }
629
+ else if (sectionPart.schema.properties?.['subsections']) {
630
+ sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
631
+ fillSubSection(importParameters, sectionPart, manifestSettings, configPart, configParameters);
632
+ }
633
+ }
634
+ }
635
+ /**
636
+ * Fill properties of object page confg based on manifest settings
637
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
638
+ * @param pageKeys - list of page keys (comprises the one entry describing the given page)
639
+ * @param flexChangesForTransfer - list of flex changes (pre-processed by prepareFlexChanges)
640
+ * @param v2Page - page definition in manifest.json
641
+ * @param {MetadataInstanceInterface} factory - factory, for generating the access to reflect-metadata
642
+ * @returns {ObjectPageConfig} - the object page configuration (JSON)
643
+ */
644
+ function fillConfig(importParameters, configParameters) {
645
+ const objectPageConfig = configParameters.factory.createPageInstance(ux_specification_types_1.PageType.ObjectPage);
646
+ const manifestSettings = configParameters.v2Page.component.settings;
647
+ // Transfer page information
648
+ transferSettingsAndFlexChanges(importParameters, objectPageConfig, importParameters.jsonSchema['properties'], configParameters);
649
+ // Transfer header information
650
+ objectPageConfig.header = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, common_1.DefinitionName.ObjectPageHeader);
651
+ const definitions = importParameters.jsonSchema.definitions;
652
+ const schemaDefinition = definitions[common_1.DefinitionName.ObjectPageHeader]
653
+ ? definitions[common_1.DefinitionName.ObjectPageHeader]
654
+ : definitions['ObjectPageHeader<GenericActions>'];
655
+ transferSettingsAndFlexChanges(importParameters, objectPageConfig.header, schemaDefinition, configParameters);
656
+ const headerAction = definitions[common_1.DefinitionName.HeaderActions];
657
+ if (headerAction) {
658
+ fillActions(importParameters, headerAction.properties, objectPageConfig.header, configParameters, types_1.ActionTypeV2.Header);
659
+ }
660
+ objectPageConfig.footer = {};
661
+ const footerAction = definitions[common_1.DefinitionName.FooterActions];
662
+ if (footerAction) {
663
+ fillActions(importParameters, footerAction.properties, objectPageConfig.footer, configParameters, types_1.ActionTypeV2.OPFooter);
664
+ }
665
+ // Transfer Layout information
666
+ objectPageConfig.layout = configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageLayout');
667
+ transferSettingsAndFlexChanges(importParameters, objectPageConfig.layout, definitions[common_1.DefinitionName.ObjectPageLayout], configParameters);
668
+ if (Object.keys(objectPageConfig.layout).length === 0) {
669
+ delete objectPageConfig.layout;
670
+ }
671
+ // Fill sections and subsections
672
+ objectPageConfig.sections = {};
673
+ const sections = definitions[common_1.DefinitionName.Sections];
674
+ if (sections) {
675
+ fillSectionsInConfig(importParameters, sections.properties, manifestSettings, objectPageConfig.sections, configParameters);
676
+ }
677
+ // Find custom sections
678
+ const customSections = utils_1.findCustomSectionExtensions(importParameters.manifest, importParameters.entitySet);
679
+ if (Object.keys(customSections).length > 0) {
680
+ objectPageConfig.sections.custom = [];
681
+ for (const sectionId in customSections) {
682
+ const customSection = 'fragmentName' in customSections[sectionId]
683
+ ? configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageCustomSectionFragment')
684
+ : configParameters.factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageCustomSectionView');
685
+ const customSectionDefinition = definitions['fragmentName' in customSections[sectionId]
686
+ ? 'ObjectPageCustomSectionFragment'
687
+ : 'ObjectPageCustomSectionView'];
688
+ transferSettingsAndFlexChanges(importParameters, customSection, customSectionDefinition, configParameters, { id: sectionId });
689
+ objectPageConfig.sections.custom.push(customSection);
690
+ }
691
+ }
692
+ return objectPageConfig;
693
+ }
694
+ /**
695
+ * Creates the configuration (file content) for a V2 object page
696
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
697
+ *
698
+ * @returns {ObjectPageConfig} - the object page configuration (JSON)
699
+ */
700
+ function createObjectPageConfigV2(importParameters) {
701
+ // Initialize i18next
702
+ i18n_1.initI18n();
703
+ if (!importParameters.manifest[ux_specification_types_1.ManifestSection.generic]) {
704
+ extensionLogger_1.log(importParameters.logger, {
705
+ severity: "error" /* Error */,
706
+ message: i18next_1.default.t('NOFE'),
707
+ location: {
708
+ path: common_1.MANIFESTPATH,
709
+ range: [ux_specification_types_1.ManifestSection.generic]
710
+ }
711
+ });
712
+ return;
713
+ }
714
+ const pageKeys = [];
715
+ const v2Pages = importParameters.manifest[ux_specification_types_1.ManifestSection.generic].pages;
716
+ if (!v2Pages) {
717
+ extensionLogger_1.log(importParameters.logger, {
718
+ severity: "error" /* Error */,
719
+ message: i18next_1.default.t('NOPAGES', { appId: importParameters.manifest['sap.app']['id'] }),
720
+ location: {
721
+ path: common_1.MANIFESTPATH,
722
+ range: [ux_specification_types_1.ManifestSection.generic]
723
+ }
724
+ });
725
+ return;
726
+ }
727
+ const entitySet = importParameters.entitySet;
728
+ const v2Page = utils_1.findObjectPageV2(v2Pages, importParameters.entitySet, pageKeys);
729
+ if (!v2Page) {
730
+ extensionLogger_1.log(importParameters.logger, {
731
+ severity: "error" /* Error */,
732
+ message: i18next_1.default.t('NOENTITYSET', { entitySet }),
733
+ location: {
734
+ path: common_1.MANIFESTPATH,
735
+ range: [ux_specification_types_1.ManifestSection.generic]
736
+ }
737
+ });
738
+ return;
739
+ }
740
+ const flexChangesForTransfer = prepareFlexChanges(importParameters.flex, entitySet);
741
+ const factory = new factory_1.MetadataInstanceFactoryV2();
742
+ //Fill config.json with manifest settings and flex changes
743
+ return fillConfig(importParameters, { pageKeys, flexChanges: flexChangesForTransfer, v2Page, factory });
744
+ }
745
+ exports.createObjectPageConfigV2 = createObjectPageConfigV2;
746
+ //# sourceMappingURL=objectPage.js.map