@sap/ux-specification 1.71.66 → 1.71.67

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 (474) 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/index-min.js +83 -24668
  9. package/dist/index-min.js.map +3 -3
  10. package/dist/schemas/v2/ListReportConfig.json +83 -83
  11. package/dist/scripts/extractDocu.d.ts +2 -0
  12. package/dist/scripts/extractDocu.d.ts.map +1 -0
  13. package/dist/scripts/extractDocu.js +494 -0
  14. package/dist/scripts/extractDocu.js.map +1 -0
  15. package/dist/scripts/runDocu.d.ts +2 -0
  16. package/dist/scripts/runDocu.d.ts.map +1 -0
  17. package/dist/scripts/runDocu.js +579 -0
  18. package/dist/scripts/runDocu.js.map +1 -0
  19. package/dist/scripts/spec.d.ts +2 -0
  20. package/dist/scripts/spec.d.ts.map +1 -0
  21. package/dist/scripts/spec.js +114 -0
  22. package/dist/scripts/spec.js.map +1 -0
  23. package/dist/scripts/to-json-schema.d.ts +11 -0
  24. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  25. package/dist/scripts/to-json-schema.js +120 -0
  26. package/dist/scripts/to-json-schema.js.map +1 -0
  27. package/dist/{types → src}/api.d.ts +1 -1
  28. package/dist/{types → src}/api.d.ts.map +1 -1
  29. package/dist/src/api.js +122 -0
  30. package/dist/src/api.js.map +1 -0
  31. package/dist/{types → src}/apiTypes.d.ts +9 -12
  32. package/dist/src/apiTypes.d.ts.map +1 -0
  33. package/dist/src/apiTypes.js +3 -0
  34. package/dist/src/apiTypes.js.map +1 -0
  35. package/dist/{types → src}/extensionLogger.d.ts +0 -0
  36. package/dist/{types → src}/extensionLogger.d.ts.map +0 -0
  37. package/dist/src/extensionLogger.js +34 -0
  38. package/dist/src/extensionLogger.js.map +1 -0
  39. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  40. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  41. package/dist/src/i18n/i18n.js +25 -0
  42. package/dist/src/i18n/i18n.js.map +1 -0
  43. package/dist/{types → src}/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +12 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/{types → src}/project.d.ts +2 -1
  48. package/dist/src/project.d.ts.map +1 -0
  49. package/dist/src/project.js +149 -0
  50. package/dist/src/project.js.map +1 -0
  51. package/dist/{types → src}/specification/schemaAccess.d.ts +2 -11
  52. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  53. package/dist/src/specification/schemaAccess.js +60 -0
  54. package/dist/src/specification/schemaAccess.js.map +1 -0
  55. package/dist/{types → src}/sync/common/appProvider.d.ts +4 -5
  56. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  57. package/dist/src/sync/common/appProvider.js +59 -0
  58. package/dist/src/sync/common/appProvider.js.map +1 -0
  59. package/dist/{types → src}/sync/common/decoration/control.d.ts +0 -0
  60. package/dist/{types → src}/sync/common/decoration/control.d.ts.map +0 -0
  61. package/dist/src/sync/common/decoration/control.js +211 -0
  62. package/dist/src/sync/common/decoration/control.js.map +1 -0
  63. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  64. package/dist/{types → src}/sync/common/decoration/decorators.d.ts.map +0 -0
  65. package/dist/src/sync/common/decoration/decorators.js +45 -0
  66. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  68. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  69. package/dist/src/sync/common/decoration/factory.js +48 -0
  70. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/flex.d.ts +1 -3
  72. package/dist/{types → src}/sync/common/decoration/flex.d.ts.map +1 -1
  73. package/dist/src/sync/common/decoration/flex.js +8 -0
  74. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  76. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  77. package/dist/src/sync/common/decoration/index.js +9 -0
  78. package/dist/src/sync/common/decoration/index.js.map +1 -0
  79. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -3
  80. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  81. package/dist/src/sync/common/flexUtils.js +94 -0
  82. package/dist/src/sync/common/flexUtils.js.map +1 -0
  83. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/generate/index.js +8 -0
  86. package/dist/src/sync/common/generate/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  88. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  89. package/dist/src/sync/common/generate/objectPage.js +355 -0
  90. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  92. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  93. package/dist/src/sync/common/generate/utils.js +382 -0
  94. package/dist/src/sync/common/generate/utils.js.map +1 -0
  95. package/dist/src/sync/common/i18n.json +21 -0
  96. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  97. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  98. package/dist/src/sync/common/import/utils.js +92 -0
  99. package/dist/src/sync/common/import/utils.js.map +1 -0
  100. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  101. package/dist/{types → src}/sync/common/importProject.d.ts.map +1 -1
  102. package/dist/src/sync/common/importProject.js +254 -0
  103. package/dist/src/sync/common/importProject.js.map +1 -0
  104. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  106. package/dist/src/sync/common/index.js +15 -0
  107. package/dist/src/sync/common/index.js.map +1 -0
  108. package/dist/{types → src}/sync/common/types.d.ts +5 -55
  109. package/dist/src/sync/common/types.d.ts.map +1 -0
  110. package/dist/src/sync/common/types.js +165 -0
  111. package/dist/src/sync/common/types.js.map +1 -0
  112. package/dist/{types → src}/sync/common/utils.d.ts +7 -8
  113. package/dist/src/sync/common/utils.d.ts.map +1 -0
  114. package/dist/src/sync/common/utils.js +1066 -0
  115. package/dist/src/sync/common/utils.js.map +1 -0
  116. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  117. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  118. package/dist/src/sync/i18n.js +15 -0
  119. package/dist/src/sync/i18n.js.map +1 -0
  120. package/dist/{types → src}/sync/v2/application.d.ts +6 -6
  121. package/dist/src/sync/v2/application.d.ts.map +1 -0
  122. package/dist/src/sync/v2/application.js +154 -0
  123. package/dist/src/sync/v2/application.js.map +1 -0
  124. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  125. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  126. package/dist/src/sync/v2/export/controls/Action.js +127 -0
  127. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  128. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +9 -0
  129. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  130. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +62 -0
  131. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  132. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  133. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  134. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +56 -0
  135. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  136. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  137. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/Card.js +655 -0
  139. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  141. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/src/sync/v2/export/controls/Field.js +41 -0
  143. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/FilterBar.d.ts +3 -3
  145. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/FilterBar.js +107 -0
  147. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  149. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/FormAction.js +128 -0
  151. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  152. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  153. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  155. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  156. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  157. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +110 -0
  159. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  160. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  161. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +62 -0
  163. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +9 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +61 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +9 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +62 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  172. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  173. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +59 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +194 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  180. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +41 -0
  181. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +278 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +61 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  188. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +22 -23
  189. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/Table.js +593 -0
  191. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +38 -0
  193. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/TableColumn.js +166 -0
  195. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  196. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  197. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ToolBar.js +6 -0
  199. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  201. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  202. package/dist/src/sync/v2/export/controls/index.js +25 -0
  203. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  205. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  206. package/dist/src/sync/v2/export/export.js +681 -0
  207. package/dist/src/sync/v2/export/export.js.map +1 -0
  208. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  209. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/exportPage.js +304 -0
  211. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  214. package/dist/src/sync/v2/export/factory.js +55 -0
  215. package/dist/src/sync/v2/export/factory.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/manifest.d.ts +2 -2
  217. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  218. package/dist/src/sync/v2/export/manifest.js +168 -0
  219. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  220. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  221. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +42 -0
  223. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  224. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  225. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  226. package/dist/src/sync/v2/export/pages/ListReport.js +39 -0
  227. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  228. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +15 -0
  229. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/pages/ObjectPage.js +74 -0
  231. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  232. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +3 -3
  233. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/OverviewPage.js +118 -0
  235. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  236. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  237. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  238. package/dist/src/sync/v2/export/pages/index.js +10 -0
  239. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  240. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  241. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/view-controller-generator.js +141 -0
  243. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  245. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  246. package/dist/src/sync/v2/generate/analyticalListReport.js +84 -0
  247. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  249. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  250. package/dist/src/sync/v2/generate/generate.js +99 -0
  251. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  253. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  254. package/dist/src/sync/v2/generate/index.js +14 -0
  255. package/dist/src/sync/v2/generate/index.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +1 -1
  257. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/listReport.js +116 -0
  259. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/objectPage.js +537 -0
  263. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  265. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  266. package/dist/src/sync/v2/generate/overviewPage.js +70 -0
  267. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  269. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/utils.js +527 -0
  271. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  273. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  274. package/dist/src/sync/v2/import/app/appProvider.js +136 -0
  275. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  277. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  278. package/dist/src/sync/v2/import/app/ovpProvider.js +32 -0
  279. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  281. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  282. package/dist/src/sync/v2/import/common/index.js +393 -0
  283. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  285. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/controls/table.js +33 -0
  287. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  289. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  290. package/dist/src/sync/v2/import/getPageType.js +1 -0
  291. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  293. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  294. package/dist/src/sync/v2/import/index.js +11 -0
  295. package/dist/src/sync/v2/import/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  297. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/pages/analyticalListPage.js +119 -0
  299. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  301. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  302. package/dist/src/sync/v2/import/pages/listReport.js +143 -0
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  305. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  306. package/dist/src/sync/v2/import/pages/objectPage.js +744 -0
  307. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  309. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/overviewPage.js +104 -0
  311. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  313. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/utils.js +171 -0
  315. package/dist/src/sync/v2/import/utils.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  317. package/dist/src/sync/v2/types.d.ts.map +1 -0
  318. package/dist/src/sync/v2/types.js +36 -0
  319. package/dist/src/sync/v2/types.js.map +1 -0
  320. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +0 -0
  321. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +0 -0
  322. package/dist/src/sync/v4/utils/StableIdHelper.js +156 -0
  323. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  324. package/package.json +9 -9
  325. package/CHANGELOG.md +0 -1079
  326. package/dist/types/apiTypes.d.ts.map +0 -1
  327. package/dist/types/index.d.ts.map +0 -1
  328. package/dist/types/project.d.ts.map +0 -1
  329. package/dist/types/specification/common/Application.d.ts +0 -16
  330. package/dist/types/specification/common/Application.d.ts.map +0 -1
  331. package/dist/types/specification/common/index.d.ts +0 -6
  332. package/dist/types/specification/common/index.d.ts.map +0 -1
  333. package/dist/types/specification/common/page.d.ts +0 -42
  334. package/dist/types/specification/common/page.d.ts.map +0 -1
  335. package/dist/types/specification/common/types.d.ts +0 -21
  336. package/dist/types/specification/common/types.d.ts.map +0 -1
  337. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -49
  338. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  339. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  340. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  341. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  342. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  343. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -34
  344. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  345. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  346. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -31
  347. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  348. package/dist/types/specification/v2/controls/Action.d.ts +0 -83
  349. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  350. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -55
  351. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  352. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  353. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  354. package/dist/types/specification/v2/controls/Card.d.ts +0 -626
  355. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  356. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  357. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  358. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  359. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  360. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -81
  361. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  362. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  363. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  364. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  365. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  366. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  367. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  368. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -35
  369. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  370. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  371. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  372. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  373. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  374. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -131
  375. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  376. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  377. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  378. package/dist/types/specification/v2/controls/Table.d.ts +0 -402
  379. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  380. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  381. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  382. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  383. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  384. package/dist/types/specification/v2/index.d.ts +0 -6
  385. package/dist/types/specification/v2/index.d.ts.map +0 -1
  386. package/dist/types/specification/v2/page.d.ts +0 -8
  387. package/dist/types/specification/v2/page.d.ts.map +0 -1
  388. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  389. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  390. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  391. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  392. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -25
  393. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  394. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -83
  395. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  396. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  397. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  398. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  399. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  400. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  401. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  402. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  403. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  404. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  405. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  406. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  407. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  408. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  409. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  410. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  411. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  412. package/dist/types/sync/common/types.d.ts.map +0 -1
  413. package/dist/types/sync/common/utils.d.ts.map +0 -1
  414. package/dist/types/sync/v2/application.d.ts.map +0 -1
  415. package/dist/types/sync/v2/export/controls/Action.d.ts +0 -29
  416. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  417. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -9
  418. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  419. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  420. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  421. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  422. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  423. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  424. package/dist/types/sync/v2/export/controls/FormAction.d.ts +0 -16
  425. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  426. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  427. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  428. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  429. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -9
  430. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  431. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -9
  432. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  433. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -9
  434. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  435. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  436. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  437. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  438. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  439. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -43
  440. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  441. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -9
  442. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  443. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  444. package/dist/types/sync/v2/export/controls/TableColumn.d.ts +0 -39
  445. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  446. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  447. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  448. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  449. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  450. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  451. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  452. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  453. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  454. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -16
  455. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  456. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  457. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  458. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  459. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  460. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  461. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  462. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  463. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  464. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  465. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  466. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  467. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  468. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  469. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  470. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  471. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  472. package/dist/types/sync/v2/types.d.ts.map +0 -1
  473. package/dist/types/v2.d.ts +0 -3
  474. package/dist/types/v2.d.ts.map +0 -1
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class MetadataFactory {
4
+ /**
5
+ * Sub-classes for V2 and V4 have to pass their specific (reflect) metadata classes:
6
+ * @param controls - list of imported metadata classes for controls
7
+ * @param pages - list of imported metadata classes for pages
8
+ * @param pageTypes - list of supported pages, entry point to further definitions
9
+ */
10
+ constructor(controls, pages, pageTypes) {
11
+ this.controls = controls;
12
+ this.pages = pages;
13
+ this.pageTypes = pageTypes;
14
+ }
15
+ /**
16
+ * Creates an instance of a metadata class for a given (complex) property of a JSON schema
17
+ * @param {PageType} pageType - page type of a Fiori Element
18
+ * @param schemaPropertyName - name of the complex property in the JSON schema of the page.
19
+ * Used as fallback if no metadataclass can be found by evaluating controlPropertyValue.
20
+ * @param data - data object from which the values shall be taken over, representing a part of the config
21
+ * @param controlPropertyValue - value of a controling property that categorizes the complex property, e.g. table type or card template
22
+ * @returns a class instance comprising the reflect metadata for import or export.
23
+ * If no metadata class could be identified, assumption is that no dedicated handler class exists; thus the original data object is returned as is.
24
+ */
25
+ createInstance(pageType, schemaPropertyName, data, controlPropertyValue) {
26
+ let metadataClass = this.controls[controlPropertyValue]
27
+ ? this.controls[controlPropertyValue]
28
+ : this.controls[schemaPropertyName];
29
+ if (!metadataClass) {
30
+ metadataClass = this.pageTypes[pageType][controlPropertyValue]
31
+ ? this.pageTypes[pageType][controlPropertyValue]
32
+ : this.pageTypes[pageType][schemaPropertyName];
33
+ }
34
+ return metadataClass ? Object.assign(new metadataClass(), data) : data;
35
+ }
36
+ /**
37
+ * Creates an instance of a metadata class for a given page
38
+ * @param {PageType} pageType - page type of a Fiori Element
39
+ * @param data - data to be taken over (from the config)
40
+ * @returns a class instance comprising the reflect metadata for import or export
41
+ */
42
+ createPageInstance(pageType, data) {
43
+ const metadataClass = this.pages[pageType];
44
+ return Object.assign(new metadataClass(), data);
45
+ }
46
+ }
47
+ exports.MetadataFactory = MetadataFactory;
48
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/factory.ts"],"names":[],"mappings":";;AAWA,MAAsB,eAAe;IAKjC;;;;;OAKG;IACH,YAAsB,QAAoB,EAAE,KAAc,EAAE,SAAiB;QACzE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,QAAkB,EAAE,kBAA0B,EAAE,IAAa,EAAE,oBAA6B;QACvG,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE;YAChB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;SACtD;QACD,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD;;;;;OAKG;IACH,kBAAkB,CAAC,QAAkB,EAAE,IAAa;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACJ;AAhDD,0CAgDC"}
@@ -1,6 +1,4 @@
1
1
  import type { ChangeDefinitionInCreation } from '../types';
2
- import type { Manifest as ManifestV2 } from '../../../v2';
3
- declare type Manifest = ManifestV2;
2
+ import type { Manifest } from '@sap/ux-specification-types';
4
3
  export declare function exportToFlexChange(change: ChangeDefinitionInCreation, manifest: Manifest): string;
5
- export {};
6
4
  //# sourceMappingURL=flex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flex.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/flex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1D,aAAK,QAAQ,GAAG,UAAU,CAAC;AAE3B,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEjG"}
1
+ {"version":3,"file":"flex.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/flex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEjG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const flexUtils_1 = require("../flexUtils");
4
+ function exportToFlexChange(change, manifest) {
5
+ return flexUtils_1.createChangeString(change, manifest);
6
+ }
7
+ exports.exportToFlexChange = exportToFlexChange;
8
+ //# sourceMappingURL=flex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/flex.ts"],"names":[],"mappings":";;AAAA,4CAAkD;AAIlD,SAAgB,kBAAkB,CAAC,MAAkC,EAAE,QAAkB;IACrF,OAAO,8BAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAFD,gDAEC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ function __export(m) {
3
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
+ }
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ __export(require("./control"));
7
+ __export(require("./decorators"));
8
+ __export(require("./flex"));
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/index.ts"],"names":[],"mappings":";;;;;AAAA,+BAA0B;AAC1B,kCAA6B;AAC7B,4BAAuB"}
@@ -1,7 +1,7 @@
1
1
  import type { ChangeDefinition, ChangeDefinitionInCreation } from './types';
2
- import type { Manifest as ManifestV2, UI5Version } from '../../../src';
2
+ import type { Manifest } from '@sap/ux-specification-types';
3
3
  import type { SyncRule } from '../common';
4
- declare type Manifest = ManifestV2;
4
+ import type { UI5Version } from '../../apiTypes';
5
5
  /**
6
6
  * Create a change as string (calls changeUtils from ui5-flexibility-utils)
7
7
  * @param change - properties required to create the change
@@ -27,5 +27,4 @@ export declare function parseChangeString(changeString: string): ChangeDefinitio
27
27
  * @returns {ChangeDefinitionInCreation} - the newly created flex change
28
28
  */
29
29
  export declare function fillFlexChangeContent(configObject: object, syncRule: SyncRule, ui5Version: UI5Version, key: string, controlId: string): ChangeDefinitionInCreation;
30
- export {};
31
30
  //# sourceMappingURL=flexUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexUtils.d.ts","sourceRoot":"","sources":["../../../../src/sync/common/flexUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAYjD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAajG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAMlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAClB,0BAA0B,CAyB5B"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importStar = (this && this.__importStar) || function (mod) {
3
+ if (mod && mod.__esModule) return mod;
4
+ var result = {};
5
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
+ result["default"] = mod;
7
+ return result;
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const flexUtils = __importStar(require("@ui5/flexibility-utils"));
11
+ const changesUtils = flexUtils.default.change;
12
+ const defaultValues = {
13
+ isCustomer: false,
14
+ sapui5Version: ' ',
15
+ creatingTool: 'SAPFioriTools',
16
+ type: 'propertyChange'
17
+ };
18
+ /**
19
+ * Create a change as string (calls changeUtils from ui5-flexibility-utils)
20
+ * @param change - properties required to create the change
21
+ * @param manifest - the manifest.json file
22
+ */
23
+ function createChangeString(change, manifest) {
24
+ let changeString = '';
25
+ try {
26
+ for (const defaultValue in defaultValues) {
27
+ if (change[defaultValue] === undefined) {
28
+ change[defaultValue] = defaultValues[defaultValue];
29
+ }
30
+ }
31
+ changeString = changesUtils.createChangeString(change, manifest);
32
+ }
33
+ catch (error) {
34
+ console.error(`Error while create flex change.`, error);
35
+ }
36
+ return changeString;
37
+ }
38
+ exports.createChangeString = createChangeString;
39
+ /**
40
+ * Parse string and return the change as object (calls changeUtils from ui5-flexibility-utils)
41
+ * @param changeString - string with serialized change
42
+ */
43
+ function parseChangeString(changeString) {
44
+ try {
45
+ return changesUtils.parse(changeString);
46
+ }
47
+ catch (error) {
48
+ return false;
49
+ }
50
+ }
51
+ exports.parseChangeString = parseChangeString;
52
+ /**
53
+ * Creates a flex change based on the given config information
54
+ * @param configObject - current (sub)object of the configuration file
55
+ * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
56
+ * @param syncRule - export rule from the object classes decorator
57
+ * @param ui5Version - SAP UI5 version
58
+ * @param baseId - selector id of the current page
59
+ * @param ids - list of parent & child ids
60
+ * @param title - title from the app schema (comprising for instance the facet ID)
61
+ * @param key - key of the given property
62
+ * @param layer - layer
63
+ * @returns {ChangeDefinitionInCreation} - the newly created flex change
64
+ */
65
+ function fillFlexChangeContent(configObject, syncRule, ui5Version, key, controlId) {
66
+ const isCustomer = ui5Version.layer ? ui5Version.layer === "CUSTOMER_BASE" /* Customer */ : true;
67
+ const flexChange = {
68
+ controlId,
69
+ controlType: syncRule.flex.controlType(),
70
+ content: {
71
+ property: key
72
+ },
73
+ sapui5Version: ui5Version.ui5Version,
74
+ isCustomer
75
+ };
76
+ if (configObject[key] !== undefined) {
77
+ if (syncRule.flex.exportFlexValue) {
78
+ syncRule.flex.exportFlexValue(flexChange, configObject, key);
79
+ }
80
+ else if (configObject[key].toString().startsWith('{')) {
81
+ flexChange.content.newBinding = configObject[key];
82
+ flexChange.type = 'propertyBindingChange';
83
+ }
84
+ else {
85
+ flexChange.content.newValue = configObject[key];
86
+ }
87
+ }
88
+ else {
89
+ flexChange.content.newValue = null;
90
+ }
91
+ return flexChange;
92
+ }
93
+ exports.fillFlexChangeContent = fillFlexChangeContent;
94
+ //# sourceMappingURL=flexUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexUtils.js","sourceRoot":"","sources":["../../../../src/sync/common/flexUtils.ts"],"names":[],"mappings":";;;;;;;;;AACA,kEAAoD;AAMpD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;AAE9C,MAAM,aAAa,GAAG;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,eAAe;IAC7B,IAAI,EAAE,gBAAgB;CACzB,CAAC;AAEF;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAkC,EAAE,QAAkB;IACrF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI;QACA,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACtC,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;gBACpC,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;aACtD;SACJ;QACD,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACpE;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;KAC3D;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAbD,gDAaC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,YAAoB;IAClD,IAAI;QACA,OAAO,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC3C;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAND,8CAMC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,qBAAqB,CACjC,YAAoB,EACpB,QAAkB,EAClB,UAAsB,EACtB,GAAW,EACX,SAAiB;IAEjB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,mCAA6B,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3F,MAAM,UAAU,GAA+B;QAC3C,SAAS;QACT,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;QACxC,OAAO,EAAE;YACL,QAAQ,EAAE,GAAG;SAChB;QACD,aAAa,EAAE,UAAU,CAAC,UAAU;QACpC,UAAU;KACb,CAAC;IACF,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE;YAC/B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;SAChE;aAAM,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACrD,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAClD,UAAU,CAAC,IAAI,GAAG,uBAAuB,CAAC;SAC7C;aAAM;YACH,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;SACnD;KACJ;SAAM;QACH,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AA/BD,sDA+BC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ function __export(m) {
3
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
+ }
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ __export(require("./objectPage"));
7
+ __export(require("./utils"));
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/index.ts"],"names":[],"mappings":";;;;;AAAA,kCAA6B;AAC7B,6BAAwB"}
@@ -1,7 +1,6 @@
1
1
  import type { ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
2
- import { FioriElementsVersion } from '../../../specification/common';
2
+ import { FioriElementsVersion, SectionType } from '@sap/ux-specification-types';
3
3
  import type { FacetConfig } from '..';
4
- import { SectionType } from '..';
5
4
  import type { Definition } from 'typescript-json-schema';
6
5
  import type { GenerateAppSchemaParameters } from '../../../apiTypes';
7
6
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AActC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAgIrE;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,oBAAoB,EAC7B,WAAW,UAAO,GACnB,IAAI,CAyEN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG,MAAM,CAarG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAenH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,2BAA2B,GAAG,IAAI,CA+D7G;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,iBAAiB,EAClC,uBAAuB,KAAA,GACxB,IAAI,CAoCN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAUzF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAMlH"}
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const __1 = require("..");
6
+ /**
7
+ * Determines the name for a field definition in app schema
8
+ * @param {FioriElementsVersion} version - Fiori Elements version
9
+ * @param fieldReferenceId - the stable ID representation of the field
10
+ * @param {string} targetID - unique ID, identifies the parent object (form)
11
+ * @param fieldReference - the reference to the field definition in schema
12
+ * @returns the field definition name in schema
13
+ */
14
+ function determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference) {
15
+ const fieldReferenceType = version === ux_specification_types_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
16
+ ? fieldReferenceId.split('::')[0].replace('DataField', 'Field')
17
+ : undefined;
18
+ if (version === ux_specification_types_1.FioriElementsVersion.v2) {
19
+ return `${fieldReferenceType}<${targetID}::${fieldReference}>`;
20
+ }
21
+ else {
22
+ return `${targetID}::${fieldReference}`;
23
+ }
24
+ }
25
+ /**
26
+ * Adds a field definition to the app specific schema
27
+ * @param {string} sectionType - prefix to distinguish Section and HeaderSection
28
+ * @param {object} appSchema - App schema in general
29
+ * @param {DataFieldAbstractTypes} field - field definition in parser output (AVT)
30
+ * @param {string} targetID - unique ID, identifies the parent object (form)
31
+ * @param {string} key - current field key
32
+ * @param {SectionType} section - current section of the object page
33
+ * @param {FioriElementsVersion} version - Fiori Elements version
34
+ */
35
+ function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true) {
36
+ var _a;
37
+ // Calculate field reference
38
+ const fieldReferenceId = StableIdHelper_1.getStableIdPartFromDataField(field);
39
+ const fieldReference = version === ux_specification_types_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
40
+ ? fieldReferenceId.split('::').splice(1).join('::')
41
+ : fieldReferenceId;
42
+ // Determine field definition name
43
+ const fieldDefinition = determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference);
44
+ // Evaluate field type, set field reference of properties of fields' or actions' definition
45
+ if (!field || !field.$Type) {
46
+ return;
47
+ }
48
+ else if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
49
+ field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
50
+ if (withActions && sectionType === ux_specification_types_1.SectionType.Section) {
51
+ const actionsDefinition = __1.prepareRef(`${sectionType}${__1.DefinitionName.Actions}<${targetID}>`);
52
+ const fieldInSchema = (appSchema.definitions[actionsDefinition].properties[fieldReference] =
53
+ {
54
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${fieldDefinition}`
55
+ });
56
+ fieldInSchema[__1.SchemaTag.propertyIndex] = parseInt(key);
57
+ }
58
+ }
59
+ else {
60
+ const fieldsDefinition = __1.prepareRef(`${sectionType}${__1.DefinitionName.Fields}<${targetID}>`);
61
+ appSchema.definitions[fieldsDefinition]['properties'][fieldReference] = {
62
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${fieldDefinition}`,
63
+ propertyIndex: parseInt(key)
64
+ };
65
+ }
66
+ // Now set up the field definition
67
+ appSchema.definitions[fieldDefinition] = {
68
+ type: 'object',
69
+ properties: {},
70
+ description: __1.getDatafieldDescription(field, section.entityType),
71
+ additionalProperties: false
72
+ };
73
+ //Add tags
74
+ appSchema.definitions[fieldDefinition][__1.SchemaTag.annotationPath] = `/${section.entityType.fullyQualifiedName}/${field.fullyQualifiedName.split(section.entityType.fullyQualifiedName)[1]}`;
75
+ appSchema.definitions[fieldDefinition][__1.SchemaTag.annotationType] = field.$Type;
76
+ appSchema.definitions[fieldDefinition][__1.SchemaTag.isViewNode] = true;
77
+ __1.addDataTypeToDefinition(appSchema.definitions[fieldDefinition], field);
78
+ if (version === ux_specification_types_1.FioriElementsVersion.v2 && appSchema['definitions']['Field']) {
79
+ switch (field.$Type) {
80
+ case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
81
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
82
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
83
+ appSchema['definitions'][fieldDefinition]['properties'] =
84
+ appSchema['definitions']['Field']['properties'];
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['FormAction'])) {
90
+ appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['FormAction']['properties'];
91
+ }
92
+ }
93
+ /**
94
+ * The function determines the target ID that shall be used in the app schema for a form
95
+ * @param section - object describing the section or facet
96
+ * @returns the target ID (string)
97
+ */
98
+ function determineTargetIdOfForm(section) {
99
+ let targetID;
100
+ if (section.target && section.target['qualifier'] && section.entityType) {
101
+ targetID = `${section.entityType.name}::${section.base}::${section.target['qualifier']}`;
102
+ }
103
+ else if (section.entityType) {
104
+ targetID = `${section.entityType.name}::${section.base}`;
105
+ }
106
+ else {
107
+ targetID = section.ID;
108
+ }
109
+ return targetID;
110
+ }
111
+ /**
112
+ * Adds definitions for forms in object page sections to the app schema
113
+ * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
114
+ * @param {FacetConfig} section - facet or section in the FE core model
115
+ * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
116
+ * @param {object} appSchema - app specific schema that gets enhanced
117
+ * @param {FioriElementsVersion} version - Fiori Elements version
118
+ */
119
+ function handleForm(sectionType, section, appSchemaSection, appSchema, version, withActions = true) {
120
+ var _a;
121
+ if (!section.target) {
122
+ return;
123
+ }
124
+ const targetID = determineTargetIdOfForm(section);
125
+ const formDefinition = __1.prepareRef(`${sectionType}${__1.DefinitionName.Form}<${targetID}>`);
126
+ const fieldsDefinition = __1.prepareRef(`${sectionType}${__1.DefinitionName.Fields}<${targetID}>`);
127
+ const actionsDefinition = __1.prepareRef(`${sectionType}${__1.DefinitionName.Actions}<${targetID}>`);
128
+ // Form definition
129
+ appSchemaSection.properties['form'] = { $ref: `${__1.DEFINITION_LINK_PREFIX}${formDefinition}` };
130
+ if (sectionType === ux_specification_types_1.SectionType.Section && withActions) {
131
+ appSchema['definitions'][formDefinition] = {
132
+ type: 'object',
133
+ properties: {
134
+ actions: {
135
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${actionsDefinition}`
136
+ },
137
+ fields: { $ref: `${__1.DEFINITION_LINK_PREFIX}${fieldsDefinition}` }
138
+ },
139
+ description: 'Form',
140
+ additionalProperties: false
141
+ };
142
+ appSchema['definitions'][actionsDefinition] = {
143
+ type: 'object',
144
+ properties: {},
145
+ description: 'Actions',
146
+ additionalProperties: false
147
+ };
148
+ appSchema['definitions'][actionsDefinition][__1.SchemaTag.isViewNode] = true;
149
+ }
150
+ else {
151
+ appSchema['definitions'][formDefinition] = {
152
+ type: 'object',
153
+ properties: {
154
+ fields: { $ref: `${__1.DEFINITION_LINK_PREFIX}${fieldsDefinition}` }
155
+ },
156
+ description: 'Form',
157
+ additionalProperties: false
158
+ };
159
+ }
160
+ appSchema.definitions[formDefinition][__1.SchemaTag.isViewNode] = true;
161
+ if ((_a = section.entityType) === null || _a === void 0 ? void 0 : _a.name) {
162
+ appSchema.definitions[formDefinition][__1.SchemaTag.annotationPath] = __1.createAnnotationPath(section.entityType.fullyQualifiedName, section.target['term'], section.target['qualifier']);
163
+ }
164
+ // Fields definition
165
+ appSchema.definitions[fieldsDefinition] = {
166
+ type: 'object',
167
+ properties: {},
168
+ description: 'Fields',
169
+ additionalProperties: false
170
+ };
171
+ appSchema.definitions[fieldsDefinition][__1.SchemaTag.isViewNode] = true;
172
+ // Add fields
173
+ if (section.base === __1.FacetBase.Identification) {
174
+ for (const key in section.target) {
175
+ const field = section.target[key];
176
+ if (field) {
177
+ addField(sectionType, appSchema, field, targetID, key, section, version, withActions);
178
+ }
179
+ }
180
+ }
181
+ else {
182
+ for (const key in section.target['Data']) {
183
+ const field = section.target['Data'][key];
184
+ addField(sectionType, appSchema, field, targetID, key, section, version);
185
+ }
186
+ }
187
+ }
188
+ exports.handleForm = handleForm;
189
+ /**
190
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list
191
+ * @param annotationIdentifier - annotation ID or reference
192
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
193
+ * @returns the converted string
194
+ */
195
+ function replaceAlias(annotationIdentifier, oDataServiceAVT) {
196
+ const potentialAlias = annotationIdentifier.indexOf('.') > -1 ? annotationIdentifier.split('.')[0] : undefined;
197
+ let result = annotationIdentifier;
198
+ if (potentialAlias) {
199
+ const searchTerm = potentialAlias.replace('SAP__', '');
200
+ const reference = oDataServiceAVT.references.find((ref) => {
201
+ return ref.alias === searchTerm;
202
+ });
203
+ if (reference) {
204
+ result = annotationIdentifier.replace(potentialAlias, reference.namespace);
205
+ }
206
+ }
207
+ return result;
208
+ }
209
+ exports.replaceAlias = replaceAlias;
210
+ /**
211
+ * Common routine to determine the name and the ID of a header action
212
+ * @param action - action as given by AVT
213
+ * @param entityType - entity type by AVT
214
+ * @returns an object comprising action name and action id
215
+ */
216
+ function getActionNameAndId(action, entityType) {
217
+ let separatorIndex = action.lastIndexOf('/');
218
+ if (separatorIndex === -1) {
219
+ separatorIndex = action.lastIndexOf('.');
220
+ }
221
+ let actionName, actionId;
222
+ if (separatorIndex > -1) {
223
+ actionName = action.substring(separatorIndex + 1);
224
+ actionId = `${action.substring(0, separatorIndex)}::${actionName}`;
225
+ }
226
+ else {
227
+ actionName = action;
228
+ const namespace = entityType.fullyQualifiedName.split(entityType.name)[0];
229
+ actionId = `${namespace.substring(0, namespace.length - 1)}::${actionName}`;
230
+ }
231
+ return { actionName, actionId };
232
+ }
233
+ exports.getActionNameAndId = getActionNameAndId;
234
+ /**
235
+ * Add Object Page Footer Action Buttons to app-specific schema
236
+ *
237
+ * @param {object} appSchema Schema of the app
238
+ * @param {EntityType} entityType - current entity type
239
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
240
+ */
241
+ function addFooterActions(appSchema, generateParameters) {
242
+ var _a, _b;
243
+ appSchema.definitions[__1.DefinitionName.ObjectPageFooter] = JSON.parse(JSON.stringify(appSchema.definitions[`${__1.DefinitionName.ObjectPageFooter}<ObjectPageFooterActions>`]));
244
+ // Change reference of footer
245
+ appSchema.properties['footer'] = {
246
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${__1.DefinitionName.ObjectPageFooter}`
247
+ };
248
+ // Add action to configuration
249
+ appSchema.definitions[__1.DefinitionName.ObjectPageFooter].properties[__1.PropertyName.actions] = {
250
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${__1.DefinitionName.FooterActions}`
251
+ };
252
+ const footerActions = (appSchema.definitions[__1.DefinitionName.FooterActions] = {
253
+ type: 'object',
254
+ properties: {},
255
+ description: 'Actions',
256
+ additionalProperties: false
257
+ });
258
+ footerActions[__1.SchemaTag.isViewNode] = true;
259
+ const alias = __1.findAlias(__1.UIVOCABULARY, generateParameters.serviceAVT);
260
+ const entityType = generateParameters.entitySet.entityType;
261
+ const actionAnnotation = alias && ((_b = (_a = entityType.annotations) === null || _a === void 0 ? void 0 : _a[alias]) === null || _b === void 0 ? void 0 : _b.Identification);
262
+ if (actionAnnotation) {
263
+ const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
264
+ footerActions[__1.SchemaTag.annotationPath] = `/${convertedIdentification}`;
265
+ actionAnnotation.forEach((item, index) => {
266
+ if (item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
267
+ const { actionName, actionId } = getActionNameAndId(item.Action, entityType);
268
+ const description = item.Label || actionName;
269
+ const actionDefinitionKey = __1.prepareRef(`${__1.DefinitionName.ObjectPageFooterAction}<${actionId}>`);
270
+ if (appSchema.definitions[__1.DefinitionName.ObjectPageFooterAction]) {
271
+ appSchema.definitions[actionDefinitionKey] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema.definitions[__1.DefinitionName.ObjectPageFooterAction]))), { description, annotationPath: `/${convertedIdentification}/${index}` });
272
+ }
273
+ else {
274
+ appSchema.definitions[actionDefinitionKey] = {
275
+ type: 'object',
276
+ properties: {},
277
+ description: description
278
+ };
279
+ appSchema.definitions[actionDefinitionKey][__1.SchemaTag.isViewNode] = true;
280
+ appSchema.definitions[actionDefinitionKey][__1.SchemaTag.annotationPath] = `/${convertedIdentification}/${index}`;
281
+ }
282
+ footerActions.properties[actionId] = {
283
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
284
+ };
285
+ }
286
+ });
287
+ }
288
+ else {
289
+ footerActions[__1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
290
+ }
291
+ delete appSchema.definitions[__1.DefinitionName.ObjectPageFooterActions];
292
+ delete appSchema.definitions[`${__1.DefinitionName.ObjectPageFooter}<${__1.DefinitionName.ObjectPageFooterActions}>`];
293
+ }
294
+ exports.addFooterActions = addFooterActions;
295
+ /**
296
+ * Add Object Page Header Action Buttons to app-specific schema
297
+ * @param {object} appSchema Schema of the app
298
+ * @param {EntityType} entityType - current entity type
299
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
300
+ */
301
+ function addHeaderActions(appSchema, entityType, oDataServiceAVT, addHeaderActionCallBack) {
302
+ appSchema.definitions[__1.DefinitionName.ObjectPageHeader].properties[__1.PropertyName.actions] = {
303
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${__1.DefinitionName.HeaderActions}`
304
+ };
305
+ const headerActions = (appSchema.definitions[__1.DefinitionName.HeaderActions] = {
306
+ type: 'object',
307
+ properties: {},
308
+ description: 'Actions',
309
+ additionalProperties: false
310
+ });
311
+ headerActions[__1.SchemaTag.isViewNode] = true;
312
+ const alias = __1.findAlias(__1.UIVOCABULARY, oDataServiceAVT);
313
+ const identification = alias &&
314
+ entityType.annotations &&
315
+ entityType.annotations[alias] &&
316
+ entityType.annotations[alias].Identification;
317
+ if (identification) {
318
+ headerActions[__1.SchemaTag.annotationPath] =
319
+ '/' +
320
+ identification.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
321
+ identification.forEach(addHeaderActionCallBack(entityType, appSchema, identification, headerActions, oDataServiceAVT));
322
+ }
323
+ else {
324
+ headerActions[__1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
325
+ }
326
+ delete appSchema.definitions[__1.DefinitionName.GenericActions];
327
+ delete appSchema.definitions[`${__1.DefinitionName.ObjectPageHeader}<${__1.DefinitionName.GenericActions}>`];
328
+ }
329
+ exports.addHeaderActions = addHeaderActions;
330
+ /**
331
+ * Adds common Object Page Header definitions to the app schema
332
+ * @param appSchema - app-specific JSOn schema
333
+ * @param entityType - current entity Type
334
+ */
335
+ function addCommonHeaderSchema(appSchema, entityType) {
336
+ appSchema.properties['header'] = {
337
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${__1.DefinitionName.ObjectPageHeader}`
338
+ };
339
+ appSchema.definitions[__1.DefinitionName.ObjectPageHeader] = JSON.parse(JSON.stringify(appSchema.definitions[`${__1.DefinitionName.ObjectPageHeader}<${__1.DefinitionName.GenericActions}>`]));
340
+ appSchema.definitions[__1.DefinitionName.ObjectPageHeader][__1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderInfo" /* HeaderInfo */}`;
341
+ }
342
+ exports.addCommonHeaderSchema = addCommonHeaderSchema;
343
+ /**
344
+ * Common logic to determine the EntitySet of a facet
345
+ * @param facet - current facet or section
346
+ * @param serviceAVT - AVT converter output, comprising all annotation information
347
+ * @returns the entity set as defined in AVT, if found
348
+ */
349
+ function determineEntitySetOfFacet(facet, serviceAVT) {
350
+ return facet.entityType
351
+ ? serviceAVT.entitySets.find((es) => es.entityType.name === facet.entityType.name || es.name === facet.entityType.name)
352
+ : undefined;
353
+ }
354
+ exports.determineEntitySetOfFacet = determineEntitySetOfFacet;
355
+ //# sourceMappingURL=objectPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}