@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,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateOverviewPageSchemaV2 = exports.addModelsEnum = exports.getCardDefinitionNames = void 0;
4
+ const common_1 = require("../../common");
5
+ /**
6
+ * Method returns array of card definition names.
7
+ * @param genericSchema - Generic schema of Overview Page.
8
+ *
9
+ * @returns Array of definition names
10
+ */
11
+ function getCardDefinitionNames(genericSchema) {
12
+ // Apply enum to all card properties
13
+ const properties = genericSchema['properties'];
14
+ const cardProperties = (properties['cards'] &&
15
+ properties['cards']['additionalProperties'] &&
16
+ properties['cards']['additionalProperties']['anyOf']) ||
17
+ [];
18
+ return cardProperties.map((cardProperty) => {
19
+ // Resolve ref
20
+ const refParts = cardProperty['$ref'].split('/');
21
+ return refParts[refParts.length - 1];
22
+ });
23
+ }
24
+ exports.getCardDefinitionNames = getCardDefinitionNames;
25
+ /**
26
+ * Defines and adds enum entries for 'model' property of Cards.
27
+ * @param appSchema - the app specific schema that shall get enhanced
28
+ * @param manifest - manifest.json of the app
29
+ */
30
+ function addModelsEnum(appSchema, manifest) {
31
+ const dataSources = (manifest && manifest['sap.app'] && manifest['sap.app'].dataSources) || {};
32
+ const serviceKeys = Object.keys(dataSources);
33
+ const models = (manifest && manifest['sap.ui5'] && manifest['sap.ui5'].models) || {};
34
+ let enumValues = [];
35
+ enumValues = enumValues.concat(Object.keys(models).filter((model) => serviceKeys.includes(models[model].dataSource)));
36
+ // Define enum
37
+ const definition = appSchema['definitions'];
38
+ definition['CardModel'] = {
39
+ enum: enumValues,
40
+ type: 'string'
41
+ };
42
+ // Apply enum to all card properties
43
+ const cards = getCardDefinitionNames(appSchema);
44
+ for (const card of cards) {
45
+ const property = definition[card]['properties']['model'];
46
+ delete property.type;
47
+ property['$ref'] = common_1.DEFINITION_LINK_PREFIX + 'CardModel';
48
+ }
49
+ }
50
+ exports.addModelsEnum = addModelsEnum;
51
+ /**
52
+ * Generates an app specific schema out of the generic schema.
53
+ * Generic types are replaced by information from the app manifest.
54
+ *
55
+ * @param genericSchema - generic JSON schema of an object page
56
+ * @param manifest - manifest.json of the app
57
+ *
58
+ * @returns the app specific JSON schema
59
+ */
60
+ function generateOverviewPageSchemaV2(genericSchema, manifest) {
61
+ const appSchema = JSON.parse(JSON.stringify(genericSchema));
62
+ // schema validation for card name
63
+ appSchema['properties']['cards']['propertyNames'] = {
64
+ pattern: '^[a-zA-Z0-9_\\.\\-]+$'
65
+ };
66
+ // Enhance 'model' property with enum entries
67
+ addModelsEnum(appSchema, manifest);
68
+ return appSchema;
69
+ }
70
+ exports.generateOverviewPageSchemaV2 = generateOverviewPageSchemaV2;
71
+ //# sourceMappingURL=overviewPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overviewPage.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/overviewPage.ts"],"names":[],"mappings":";;;AACA,yCAAsD;AAEtD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IACxD,oCAAoC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,cAAc,GAChB,CAAC,UAAU,CAAC,OAAO,CAAC;QAChB,UAAU,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,EAAE,CAAC;IACP,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE;QAC/C,cAAc;QACd,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,wDAaC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,QAAkB;IAC/D,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC/F,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAE,MAAM,CAAC,KAAK,CAAsB,CAAC,UAAU,CAAC,CAAC,CAC9G,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,CAAC,WAAW,CAAC,GAAG;QACtB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;KACjB,CAAC;IACF,oCAAoC;IACpC,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,+BAAsB,GAAG,WAAW,CAAC;KAC3D;AACL,CAAC;AAtBD,sCAsBC;AAED;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,aAAqB,EAAE,QAAkB;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,kCAAkC;IAClC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,GAAG;QAChD,OAAO,EAAE,uBAAuB;KACnC,CAAC;IACF,6CAA6C;IAC7C,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oEASC"}
@@ -1,8 +1,7 @@
1
1
  import type { Definition } from 'typescript-json-schema';
2
2
  import type { FileData } from '../../common';
3
3
  import type { MetadataInstanceInterface } from '../../common/decoration/factory';
4
- import type { PageType, PageTypeV4 } from '../../../specification/common';
5
- import type { SapUiAppPageV2 } from '../../../specification/v2';
4
+ import type { v2, PageType, PageTypeV4 } from '@sap/ux-specification-types';
6
5
  import type { AnnotationTerm, EntityType } from '@sap-ux/vocabularies-types';
7
6
  import type { LineItem, SelectionFields } from '@sap-ux/vocabularies-types/vocabularies/UI';
8
7
  import { ActionTypeV2 } from '../types';
@@ -44,7 +43,7 @@ export declare function addListReportLeadingProperties(appSchema: object, entity
44
43
  * @param definitionName - definition name of CustomColumn definition
45
44
  * @param page - sapui5 page object
46
45
  */
47
- export declare function addTabkeyEnum(appSchema: object, definitionName: string, page?: SapUiAppPageV2): void;
46
+ export declare function addTabkeyEnum(appSchema: object, definitionName: string, page?: v2.SapUiAppPageV2): void;
48
47
  /**
49
48
  * Adds enum entries of posible fragment entries.
50
49
  * @param {object} appSchema The app specific schema that shall get enhanced.
@@ -64,7 +63,7 @@ export declare function addFragmentEnum(appSchema: Definition, fragments: FileDa
64
63
  * @param {string} [customColumnsDefinitionName=DefinitionName.CustomColumns] Definition name of Custom Columns definition.
65
64
  * @param {string} [customColumnDefinitionName=DefinitionName.CustomColumn] Definition name of Custom Column definition.
66
65
  */
67
- export declare function addTableColumnExtensions(appSchema: object, entityType: EntityType, page: SapUiAppPageV2, manifest: object, fragments?: FileData[], customColumnsDefinitionName?: string, customColumnDefinitionName?: string): void;
66
+ export declare function addTableColumnExtensions(appSchema: object, entityType: EntityType, page: v2.SapUiAppPageV2, manifest: object, fragments?: FileData[], customColumnsDefinitionName?: string, customColumnDefinitionName?: string): void;
68
67
  /**
69
68
  * Apply post-processing rules as specified in form of "generate" at the syncRule
70
69
  * @param schema - given app schema, to be adapted
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAA0B,QAAQ,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAmBpH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgExC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE;IAAE,YAAY,MAAC;IAAC,cAAc,MAAC;IAAC,UAAU,MAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,EACnF,UAAU,EAAE,YAAY,EACxB,WAAW,EAAE,MAAM,GACpB,IAAI,CAwCN;AAiID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC5C,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACzB,IAAI,CAuCN;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,GACvB,IAAI,CAoBN;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CA2BvG;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACvB,IAAI,CA8BN;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,2BAA2B,GAAE,MAAqC,EAClE,0BAA0B,GAAE,MAAoC,GACjE,IAAI,CAWN;AAiJD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1C,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,EAAE,yBAAyB,GACnC,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAQnG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,cAAc,CAAC,eAAe,CAAC,EAC1D,UAAU,EAAE,UAAU,GACvB,IAAI,CAsCN"}
@@ -0,0 +1,540 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addSelectionFields = exports.removeElementsFromEnum = exports.processMetadata = exports.addTableColumnExtensions = exports.addFragmentEnum = exports.addTabkeyEnum = exports.addListReportLeadingProperties = exports.addLineItemsType = exports.handleActionRecord = void 0;
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const common_1 = require("../../common");
6
+ const decorators_1 = require("../../common/decoration/decorators");
7
+ const path_1 = require("path");
8
+ const xml_js_1 = require("xml-js");
9
+ const types_1 = require("../types");
10
+ /**
11
+ * Common function for enhancing the LineItems definiton of app schema by custom columns
12
+ * @param appSchema - app-specific JSON schema
13
+ * @param customColumnsDefinitionName - custom column definition name (plural)
14
+ * @param customColumnDefinitionName - custom column definition name (singular)
15
+ */
16
+ function addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName) {
17
+ if (appSchema.definitions[common_1.DefinitionName.LineItems]) {
18
+ appSchema.definitions[common_1.DefinitionName.LineItems]['properties']['custom'] = {
19
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnsDefinitionName}`
20
+ };
21
+ }
22
+ appSchema['definitions'][customColumnsDefinitionName] = {
23
+ type: 'array',
24
+ items: {
25
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnDefinitionName}`
26
+ },
27
+ description: 'Custom Columns'
28
+ };
29
+ appSchema['definitions'][customColumnsDefinitionName][common_1.SchemaTag.isViewNode] = true;
30
+ const columnDefinition = appSchema['definitions'][customColumnDefinitionName];
31
+ for (const id in columnDefinition.properties) {
32
+ columnDefinition.properties[id][common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
33
+ }
34
+ }
35
+ /**
36
+ * Prepares and returns id of action for further use and reference
37
+ * @param actionType - type of action
38
+ * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
39
+ * @returns {string} actionId
40
+ */
41
+ function getActionId(actionType, lineItemProperties) {
42
+ let actionId;
43
+ if (actionType === types_1.ActionTypeV2.ColumnIntentBased) {
44
+ actionId = common_1.getSchemaKeyOfLineItemRecord(lineItemProperties.lineItemRecord);
45
+ }
46
+ else if (actionType === types_1.ActionTypeV2.ToolBarIntentBased || actionType === types_1.ActionTypeV2.FooterIntentBased) {
47
+ actionId = common_1.prepareRef(`${lineItemProperties.lineItemRecord.SemanticObject}::${lineItemProperties.lineItemRecord.Action}`);
48
+ }
49
+ else if (actionType === types_1.ActionTypeV2.Column &&
50
+ lineItemProperties.lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
51
+ actionId = common_1.prepareRef(`DataFieldForAction:::sAction::${lineItemProperties.lineItemRecord.Action}`);
52
+ }
53
+ else {
54
+ actionId = common_1.prepareRef(lineItemProperties.lineItemRecord.Action);
55
+ }
56
+ if (lineItemProperties.lineItemId && lineItemProperties.lineItemId !== 'LineItems') {
57
+ return `${lineItemProperties.lineItemId}??${actionId}`;
58
+ }
59
+ else {
60
+ return actionId;
61
+ }
62
+ }
63
+ /**
64
+ * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
65
+ * @param appSchema - the app specific schema that shall get enhanced
66
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
67
+ * @param actions - actions definition in schema, parent object
68
+ * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
69
+ * @param actionType - type of action
70
+ * @param recordIndex - record index in the collection
71
+ */
72
+ function handleActionRecord(appSchema, actions, lineItemProps, actionType, recordIndex) {
73
+ let actionReferenceType;
74
+ const actionTemplate = lineItemProps.lineItemId === common_1.DefinitionName.LineItems ? '' : 'ObjectPage';
75
+ const actionId = getActionId(actionType, lineItemProps);
76
+ if (actionType === types_1.ActionTypeV2.Footer || actionType === types_1.ActionTypeV2.FooterIntentBased) {
77
+ actionReferenceType = `Action`;
78
+ actionType = types_1.ActionTypeV2.Footer;
79
+ }
80
+ else if (actionType === types_1.ActionTypeV2.Column || actionType === types_1.ActionTypeV2.ColumnIntentBased) {
81
+ actionReferenceType = `TableColumnAction`;
82
+ }
83
+ else {
84
+ actionReferenceType = actionTemplate !== '' ? `${actionTemplate}${actionType}` : `Action`;
85
+ actionType = types_1.ActionTypeV2.ToolBar;
86
+ }
87
+ const actionDefinition = `${actionTemplate}${actionType}<${actionId}>`;
88
+ const description = common_1.getDataFieldDescription(lineItemProps.lineItemRecord, lineItemProps.entityType);
89
+ actions['properties'][actionId] = {
90
+ $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
91
+ description,
92
+ propertyIndex: recordIndex
93
+ };
94
+ if (appSchema['definitions'][actionReferenceType]) {
95
+ appSchema['definitions'][actionDefinition] = {
96
+ ...JSON.parse(JSON.stringify(appSchema['definitions'][actionReferenceType])),
97
+ description,
98
+ annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}`
99
+ };
100
+ }
101
+ else {
102
+ appSchema['definitions'][actionDefinition] = {
103
+ type: 'object',
104
+ properties: {},
105
+ description,
106
+ annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}`,
107
+ isViewNode: true,
108
+ additionalProperties: false
109
+ };
110
+ }
111
+ }
112
+ exports.handleActionRecord = handleActionRecord;
113
+ /**
114
+ * Returns the type of a column lineItem action
115
+ * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
116
+ * @param {object} lineItemRecord - actual record of the line item collection
117
+ * @param actionTypes - array of action types to be filled
118
+ */
119
+ function getColumnActionType(lineItemId, lineItemRecord, actionTypes) {
120
+ if (lineItemId !== common_1.DefinitionName.LineItems &&
121
+ lineItemRecord.Inline === true &&
122
+ (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
123
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */)) {
124
+ actionTypes.push(types_1.ActionTypeV2.OPColumn);
125
+ }
126
+ else if (lineItemRecord.Inline === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
127
+ actionTypes.push(types_1.ActionTypeV2.Column);
128
+ }
129
+ else if (lineItemRecord.Inline === true &&
130
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
131
+ actionTypes.push(types_1.ActionTypeV2.ColumnIntentBased);
132
+ }
133
+ }
134
+ /**
135
+ * Returns the type of a lineItem action
136
+ * @param {object} lineItemRecord - actual record of the line item collection
137
+ * @returns {string[] | undefined } ActionTypeV2[] - action type(s) of the lineItem
138
+ */
139
+ function getActionType(lineItemRecord, lineItemId) {
140
+ const actionTypes = [];
141
+ if (lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ &&
142
+ lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
143
+ return undefined;
144
+ }
145
+ if (lineItemRecord.Inline !== true &&
146
+ lineItemRecord.Determining !== true &&
147
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
148
+ actionTypes.push(types_1.ActionTypeV2.ToolBar);
149
+ }
150
+ else if (lineItemRecord.Inline !== true &&
151
+ lineItemRecord.Determining !== true &&
152
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
153
+ actionTypes.push(types_1.ActionTypeV2.ToolBarIntentBased);
154
+ }
155
+ else if (lineItemRecord.Determining === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
156
+ actionTypes.push(types_1.ActionTypeV2.Footer);
157
+ }
158
+ else if (lineItemRecord.Determining === true &&
159
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
160
+ actionTypes.push(types_1.ActionTypeV2.FooterIntentBased);
161
+ }
162
+ getColumnActionType(lineItemId, lineItemRecord, actionTypes);
163
+ return actionTypes;
164
+ }
165
+ function generateGenericColumn(lineItemProperties, appSchema, recordIndex) {
166
+ const schemaKey = common_1.getSchemaKeyOfLineItemRecord(lineItemProperties.lineItemRecord);
167
+ if (schemaKey) {
168
+ const lineItemDefinition = appSchema.definitions[lineItemProperties.lineItemId];
169
+ lineItemDefinition.properties[schemaKey] = {
170
+ $ref: common_1.DEFINITION_LINK_PREFIX + common_1.DefinitionName.TableColumn,
171
+ description: common_1.getDataFieldDescription(lineItemProperties.lineItemRecord, lineItemProperties.entityType)
172
+ // Custom property in schema - for object properties ordering purpose
173
+ };
174
+ lineItemDefinition.properties[schemaKey][common_1.SchemaTag.propertyIndex] = recordIndex;
175
+ lineItemDefinition.properties[schemaKey][common_1.SchemaTag.annotationPath] = `${lineItemProperties.lineItemPath}/${recordIndex}`;
176
+ common_1.addDataTypeToDefinition(lineItemDefinition.properties[schemaKey], lineItemProperties.lineItemRecord);
177
+ }
178
+ }
179
+ function handleAnyAction(actionType, appSchema, actions, lineItemProperties, recordIndex, footerActions, lineItemId) {
180
+ switch (actionType) {
181
+ case types_1.ActionTypeV2.ToolBar:
182
+ case types_1.ActionTypeV2.ToolBarIntentBased: {
183
+ handleActionRecord(appSchema, actions, lineItemProperties, actionType, recordIndex);
184
+ break;
185
+ }
186
+ case types_1.ActionTypeV2.Footer:
187
+ case types_1.ActionTypeV2.FooterIntentBased: {
188
+ if (footerActions) {
189
+ handleActionRecord(appSchema, footerActions, lineItemProperties, actionType, recordIndex);
190
+ }
191
+ break;
192
+ }
193
+ case types_1.ActionTypeV2.Column:
194
+ case types_1.ActionTypeV2.ColumnIntentBased: {
195
+ handleActionRecord(appSchema, appSchema.definitions[lineItemId], lineItemProperties, actionType, recordIndex);
196
+ break;
197
+ }
198
+ case types_1.ActionTypeV2.OPColumn: {
199
+ generateGenericColumn(lineItemProperties, appSchema, recordIndex);
200
+ }
201
+ }
202
+ }
203
+ /**
204
+ * Adds the line item records to the app schema (for the list report or an object page section comprising a table)
205
+ * @param appSchema - the app specific schema that shall get enhanced
206
+ * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
207
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
208
+ * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
209
+ * in case of LR or ALP no ID is passed, 'LineItems' is taken then.
210
+ * @param customColumnRef - schema reference to custom column definition.
211
+ */
212
+ function addLineItemsType(appSchema, lineItemAnnotation, entityType, lineItemId, customColumnRef) {
213
+ // Add the correct lineItem definition
214
+ lineItemId = lineItemId || common_1.DefinitionName.LineItems;
215
+ const { actions, footerActions, lineItemPath } = common_1.addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId);
216
+ if (lineItemAnnotation) {
217
+ let recordIndex = 0;
218
+ lineItemAnnotation.forEach((lineItemRecord) => {
219
+ const lineItemProperties = { lineItemPath, lineItemRecord, lineItemId, entityType };
220
+ const actionTypes = getActionType(lineItemRecord, lineItemId);
221
+ if (actionTypes) {
222
+ actionTypes.forEach((actionType) => {
223
+ handleAnyAction(actionType, appSchema, actions, lineItemProperties, recordIndex, footerActions, lineItemId);
224
+ });
225
+ }
226
+ else {
227
+ generateGenericColumn(lineItemProperties, appSchema, recordIndex);
228
+ }
229
+ recordIndex++;
230
+ });
231
+ }
232
+ if (customColumnRef) {
233
+ appSchema.definitions[lineItemId].properties['custom'] = {
234
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnRef}`
235
+ };
236
+ }
237
+ }
238
+ exports.addLineItemsType = addLineItemsType;
239
+ /**
240
+ * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
241
+ * @param appSchema - the app specific schema that shall get enhanced
242
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
243
+ * @param definitionName - definition name of CustomColumn definition
244
+ */
245
+ function addListReportLeadingProperties(appSchema, entityType, definitionName) {
246
+ // Leading Property
247
+ const leadingPropertySchema = appSchema['definitions'][definitionName] &&
248
+ appSchema['definitions'][definitionName]['properties'] &&
249
+ appSchema['definitions'][definitionName]['properties']['leadingProperty'];
250
+ if (leadingPropertySchema) {
251
+ const properties = [
252
+ // Entity properties
253
+ ...(entityType?.entityProperties || []),
254
+ // Navigation Properties
255
+ ...(entityType?.navigationProperties || [])
256
+ ];
257
+ leadingPropertySchema['enum'] = properties?.reduce((result, property) => {
258
+ if (!result.includes(property.name)) {
259
+ result.push(property.name);
260
+ }
261
+ return result;
262
+ }, []);
263
+ }
264
+ }
265
+ exports.addListReportLeadingProperties = addListReportLeadingProperties;
266
+ /**
267
+ * Adds enum entries of posible tabKey properties for 'leadingProperty' property in TableCustomColumn properties.
268
+ * @param appSchema - the app specific schema that shall get enhanced
269
+ * @param definitionName - definition name of CustomColumn definition
270
+ * @param page - sapui5 page object
271
+ */
272
+ function addTabkeyEnum(appSchema, definitionName, page) {
273
+ const tabkeyPropertySchema = appSchema['definitions'][definitionName] &&
274
+ appSchema['definitions'][definitionName]['properties'] &&
275
+ appSchema['definitions'][definitionName]['properties']['tabKey'];
276
+ if (page) {
277
+ const quickVariantsX = page.component &&
278
+ page.component.settings &&
279
+ page.component.settings.quickVariantSelectionX &&
280
+ page.component.settings.quickVariantSelectionX['variants'];
281
+ if (quickVariantsX) {
282
+ const enumEntries = [];
283
+ Object.keys(quickVariantsX).reduce((result, variant) => {
284
+ const key = quickVariantsX[variant] && quickVariantsX[variant]['key'] !== undefined
285
+ ? quickVariantsX[variant]['key']
286
+ : undefined;
287
+ // Avoid duplicates
288
+ if (key !== undefined && !result.includes(key)) {
289
+ result.push(key);
290
+ }
291
+ return result;
292
+ }, enumEntries);
293
+ tabkeyPropertySchema['enum'] = enumEntries;
294
+ }
295
+ }
296
+ }
297
+ exports.addTabkeyEnum = addTabkeyEnum;
298
+ /**
299
+ * Adds enum entries of posible fragment entries.
300
+ * @param {object} appSchema The app specific schema that shall get enhanced.
301
+ * @param {FileData[]} fragments Array of fragments.
302
+ * @param {string[]} appId Application id.
303
+ * @param {string} property Property name.
304
+ * @param {string} definitionName Definition name of CustomColumn definition.
305
+ */
306
+ function addFragmentEnum(appSchema, fragments, appId, property, definitionName) {
307
+ if (!fragments || !appId || appId.startsWith('${')) {
308
+ return;
309
+ }
310
+ const enumEntries = [];
311
+ fragments.forEach((fragment) => {
312
+ let relPath = fragment.dataSourceUri.split('webapp')[1];
313
+ if (relPath && relPath.indexOf('.fragment.xml') > 0) {
314
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }))['core:FragmentDefinition'];
315
+ if ((property === 'fragmentName' &&
316
+ (!fragmentJson || fragmentJson.Column || fragmentJson['table:Column'])) ||
317
+ (property === 'cellsFragmentName' &&
318
+ (!fragmentJson ||
319
+ (!fragmentJson.Column &&
320
+ !fragmentJson['table:Column'] &&
321
+ !fragmentJson['smartfilterbar:ControlConfiguration'])))) {
322
+ relPath = relPath.replace(new RegExp('\\' + path_1.sep, 'g'), '/');
323
+ const fragmentName = appId + relPath.split('.fragment.xml')[0].replace(/\//g, '.');
324
+ enumEntries.push(fragmentName);
325
+ }
326
+ }
327
+ });
328
+ if (enumEntries.length > 0) {
329
+ const fragmentPropertySchema = appSchema.definitions[definitionName]?.['properties']?.[property];
330
+ fragmentPropertySchema['enum'] = enumEntries;
331
+ }
332
+ }
333
+ exports.addFragmentEnum = addFragmentEnum;
334
+ /**
335
+ * Adds the custom columns to the line item records of the app schema (for the list report comprising a table).
336
+ * @param {object} appSchema The app specific schema that shall get enhanced.
337
+ * @param {EntityType} entityType The entity type as part of the AVT ConvertedMetadata.
338
+ * @param {SapUiAppPageV2} page Sapui5 page object.
339
+ * @param {object} manifest Application manifest.
340
+ * @param {FileData[]} [fragments] Array of fragments.
341
+ * @param {string} [customColumnsDefinitionName=DefinitionName.CustomColumns] Definition name of Custom Columns definition.
342
+ * @param {string} [customColumnDefinitionName=DefinitionName.CustomColumn] Definition name of Custom Column definition.
343
+ */
344
+ function addTableColumnExtensions(appSchema, entityType, page, manifest, fragments, customColumnsDefinitionName = common_1.DefinitionName.CustomColumns, customColumnDefinitionName = common_1.DefinitionName.CustomColumn) {
345
+ addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName);
346
+ // Leading Property
347
+ addListReportLeadingProperties(appSchema, entityType, customColumnDefinitionName);
348
+ // Tab key property
349
+ addTabkeyEnum(appSchema, customColumnDefinitionName, page);
350
+ // Fragment property
351
+ const appId = manifest && manifest['sap.app'] && manifest['sap.app']['id'];
352
+ addFragmentEnum(appSchema, fragments, appId, 'fragmentName', customColumnDefinitionName);
353
+ addFragmentEnum(appSchema, fragments, appId, 'cellsFragmentName', customColumnDefinitionName);
354
+ }
355
+ exports.addTableColumnExtensions = addTableColumnExtensions;
356
+ /**
357
+ * Processes an anyOf definition of the generic schema
358
+ * @param propertyDefinition - current definition in the generic schema
359
+ * @param schema - the app-specific schema
360
+ * @param propertyKey - key of the single property
361
+ * @param factory - factory for creating metadata instances
362
+ * @param pageType - page type
363
+ */
364
+ function processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType) {
365
+ propertyDefinition['anyOf'].forEach((element) => {
366
+ const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
367
+ if (nextDefinition) {
368
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
369
+ processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
370
+ }
371
+ });
372
+ }
373
+ /**
374
+ * Processes an object reference of the generic schema
375
+ * @param schema
376
+ * @param propertyDefinition - current definition in the generic schema
377
+ * @param propertyKey - key of the single property
378
+ * @param factory - factory for creating metadata instances
379
+ * @param pageType - page type
380
+ */
381
+ function processObject(schema, propertyDefinition, propertyKey, factory, pageType) {
382
+ const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, propertyDefinition, propertyKey, factory, pageType);
383
+ if (nextDefinition) {
384
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
385
+ processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
386
+ }
387
+ }
388
+ /**
389
+ * Determines the artifact type of a property and adds it to the property definition in schema
390
+ * @param syncRule - sync rule of the current property
391
+ * @param propertyDefinition - current definition in the generic schema
392
+ */
393
+ function addArtifactType(syncRule, propertyDefinition) {
394
+ if (syncRule.manifest !== undefined) {
395
+ propertyDefinition.artifactType = ux_specification_types_1.ArtifactType.Manifest;
396
+ }
397
+ else if (syncRule.flex !== undefined) {
398
+ propertyDefinition.artifactType = ux_specification_types_1.ArtifactType.FlexChange;
399
+ //Add control type
400
+ if (syncRule.flex.controlType) {
401
+ propertyDefinition.controlType = syncRule.flex.controlType();
402
+ }
403
+ }
404
+ else {
405
+ propertyDefinition.artifactType = ux_specification_types_1.ArtifactType.Annotation;
406
+ }
407
+ }
408
+ /**
409
+ * After the generation of a generic schema, apply post-generation rule to a single property
410
+ * @param metaDataDefinition
411
+ * @param schema - given app schema, to be adapted
412
+ * @param pageType - page type
413
+ * @param factory - factory for creating metadata instances
414
+ * @param propertyDefinition - definition of the single property
415
+ * @param propertyKey - key of the single property
416
+ * @param schemaDefinition - the current entry point or definition in the app schema
417
+ */
418
+ function processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition) {
419
+ if (metaDataDefinition) {
420
+ const syncRule = decorators_1.getReflectMetadata(metaDataDefinition, propertyKey);
421
+ if (syncRule) {
422
+ if (typeof syncRule.generate === 'function') {
423
+ syncRule.generate(schema, schemaDefinition, propertyKey);
424
+ propertyDefinition = schemaDefinition['properties'][propertyKey];
425
+ }
426
+ //Add artifact type
427
+ addArtifactType(syncRule, propertyDefinition);
428
+ }
429
+ if (propertyDefinition.type === 'object' || propertyDefinition.$ref) {
430
+ processObject(schema, propertyDefinition, propertyKey, factory, pageType);
431
+ }
432
+ else if (propertyDefinition['anyOf']) {
433
+ processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
434
+ }
435
+ }
436
+ }
437
+ /**
438
+ * After the generation of a generic schema, apply rules to a list of properties of the given schema section
439
+ * @param schema - given app schema, to be adapted
440
+ * @param schemaDefinition - the current entry point or definition in the app schema
441
+ * @param pageType - page type
442
+ * @param factory - factory for creating metadata instances
443
+ */
444
+ function processProperties(schema, schemaDefinition, metaDataDefinition, propertiesSection, pageType, factory) {
445
+ if (schemaDefinition[propertiesSection]) {
446
+ for (const propertyKey in schemaDefinition[propertiesSection]) {
447
+ if (propertyKey === 'anyOf') {
448
+ processAnyOf(schemaDefinition[propertiesSection], schema, propertyKey, factory, pageType);
449
+ }
450
+ else {
451
+ const propertyDefinition = schemaDefinition[propertiesSection][propertyKey];
452
+ if (propertyDefinition['anyOf']) {
453
+ processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
454
+ }
455
+ else if (propertyKey === '$ref') {
456
+ processObject(schema, schemaDefinition[propertiesSection], propertyKey, factory, pageType);
457
+ }
458
+ else {
459
+ processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition);
460
+ }
461
+ }
462
+ }
463
+ }
464
+ }
465
+ /**
466
+ * Apply post-processing rules as specified in form of "generate" at the syncRule
467
+ * @param schema - given app schema, to be adapted
468
+ * @param schemaDefinition - the current entry point or definition in the app schema
469
+ * @param pageType - page type
470
+ * @param factory - factory for creating metadata instances
471
+ */
472
+ function processMetadata(schema, schemaDefinition, metaDataDefinition, pageType, factory) {
473
+ processProperties(schema, schemaDefinition, metaDataDefinition, 'properties', pageType, factory);
474
+ processProperties(schema, schemaDefinition, metaDataDefinition, 'additionalProperties', pageType, factory);
475
+ processProperties(schema, schemaDefinition, metaDataDefinition, 'patternProperties', pageType, factory);
476
+ }
477
+ exports.processMetadata = processMetadata;
478
+ /**
479
+ * Method updates passed 'enum' array by removing passed matching entries.
480
+ * @param {Array<unknown>} values Array of values.
481
+ * @param {Array<unknown>} valuesToRemove Array of values to remove.
482
+ */
483
+ function removeElementsFromEnum(values, valuesToRemove) {
484
+ for (const value of valuesToRemove) {
485
+ const index = values.indexOf(value);
486
+ if (index !== -1) {
487
+ // Value exists - remove it
488
+ values.splice(index, 1);
489
+ }
490
+ }
491
+ }
492
+ exports.removeElementsFromEnum = removeElementsFromEnum;
493
+ /**
494
+ * Adds the selection fields to the app schema, as properties of the Filterbar
495
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
496
+ * @param appSchema - the app specific schema that shall get enhanced
497
+ * @param selectionFieldsAnnotation - the UI.SelectionField annotation
498
+ */
499
+ function addSelectionFields(appSchema, selectionFieldsAnnotation, entityType) {
500
+ const selectionFieldsDefinition = (appSchema['definitions'].SelectionFields = {
501
+ ...appSchema['definitions'].SelectionFields,
502
+ properties: {},
503
+ additionalProperties: false,
504
+ annotationPath: common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */)
505
+ });
506
+ if (!selectionFieldsAnnotation) {
507
+ return;
508
+ }
509
+ let i = 0;
510
+ selectionFieldsAnnotation.forEach((selectionField) => {
511
+ let description = selectionField.value;
512
+ const fieldDefinition = `SelectionField<${common_1.prepareRef(selectionField.value)}>`;
513
+ const dataType = common_1.determineDataType(selectionField);
514
+ if (selectionField.type === 'PropertyPath') {
515
+ description = common_1.getLabelForPropertyPath(selectionField, entityType);
516
+ }
517
+ selectionFieldsDefinition['properties'][selectionField.value] = {
518
+ $ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition,
519
+ propertyIndex: i
520
+ };
521
+ appSchema['definitions'][fieldDefinition] = {
522
+ type: 'object',
523
+ description,
524
+ annotationPath: `${selectionFieldsDefinition.annotationPath}/${i}`,
525
+ isViewNode: true,
526
+ additionalProperties: false,
527
+ annotationType: selectionField?.type,
528
+ dataType
529
+ };
530
+ if (['Date', 'DateTime', 'DateTimeOffset'].includes(dataType)) {
531
+ appSchema['definitions'][fieldDefinition]['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}SelectionFieldDateSettings`;
532
+ }
533
+ else {
534
+ appSchema['definitions'][fieldDefinition].properties = {};
535
+ }
536
+ i++;
537
+ });
538
+ }
539
+ exports.addSelectionFields = addSelectionFields;
540
+ //# sourceMappingURL=utils.js.map