@sap/ux-specification 1.90.19 → 1.96.4

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 (391) hide show
  1. package/CHANGELOG.md +17 -352
  2. package/README.md +1 -0
  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-AnalyticalListPage.html +1 -1
  9. package/dist/documentation/v4/v4-ApplicationV4.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 +1 -1
  13. package/dist/schemas/v2/ApplicationV2.json +31 -0
  14. package/dist/schemas/v4/AnalyticalListPageConfig.json +89 -0
  15. package/dist/schemas/v4/ListReportConfig.json +89 -0
  16. package/dist/schemas/v4/ObjectPageConfig.json +87 -0
  17. package/dist/specification/v2/index-min.js +1 -1
  18. package/dist/src/api.d.ts +9 -1
  19. package/dist/src/apiTypes.d.ts +16 -0
  20. package/dist/src/specification/v2/ApplicationV2.d.ts +21 -0
  21. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +18 -2
  22. package/dist/src/specification/v4/controls/Table.d.ts +2 -2
  23. package/dist/src/sync/common/generate/utils.d.ts +3 -1
  24. package/dist/src/sync/v2/application.d.ts +3 -1
  25. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +14 -1
  26. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +14 -1
  27. package/dist/src/sync/v4/export/exportCustomColumn.d.ts +13 -0
  28. package/dist/src/sync/v4/utils/utils.d.ts +20 -2
  29. package/package.json +19 -13
  30. package/dist/scripts/extractDocu.js +0 -488
  31. package/dist/scripts/extractDocu.js.map +0 -1
  32. package/dist/scripts/runDocu.js +0 -577
  33. package/dist/scripts/runDocu.js.map +0 -1
  34. package/dist/scripts/spec.js +0 -114
  35. package/dist/scripts/spec.js.map +0 -1
  36. package/dist/scripts/to-json-schema.js +0 -124
  37. package/dist/scripts/to-json-schema.js.map +0 -1
  38. package/dist/src/api.js +0 -167
  39. package/dist/src/api.js.map +0 -1
  40. package/dist/src/apiTypes.js +0 -5
  41. package/dist/src/apiTypes.js.map +0 -1
  42. package/dist/src/extensionLogger.js +0 -39
  43. package/dist/src/extensionLogger.js.map +0 -1
  44. package/dist/src/i18n/i18n.js +0 -25
  45. package/dist/src/i18n/i18n.js.map +0 -1
  46. package/dist/src/index.js +0 -12
  47. package/dist/src/index.js.map +0 -1
  48. package/dist/src/project.js +0 -143
  49. package/dist/src/project.js.map +0 -1
  50. package/dist/src/specification/common/Application.js +0 -3
  51. package/dist/src/specification/common/Application.js.map +0 -1
  52. package/dist/src/specification/common/i18n.json +0 -1
  53. package/dist/src/specification/common/index.js +0 -10
  54. package/dist/src/specification/common/index.js.map +0 -1
  55. package/dist/src/specification/common/page.js +0 -33
  56. package/dist/src/specification/common/page.js.map +0 -1
  57. package/dist/src/specification/common/types.js +0 -20
  58. package/dist/src/specification/common/types.js.map +0 -1
  59. package/dist/src/specification/common/webapp/manifest/Manifest.js +0 -17
  60. package/dist/src/specification/common/webapp/manifest/Manifest.js.map +0 -1
  61. package/dist/src/specification/common/webapp/manifest/index.js +0 -8
  62. package/dist/src/specification/common/webapp/manifest/index.js.map +0 -1
  63. package/dist/src/specification/common/webapp/manifest/sapOvp.js +0 -9
  64. package/dist/src/specification/common/webapp/manifest/sapOvp.js.map +0 -1
  65. package/dist/src/specification/common/webapp/manifest/sapUi5.js +0 -14
  66. package/dist/src/specification/common/webapp/manifest/sapUi5.js.map +0 -1
  67. package/dist/src/specification/schemaAccess.js +0 -63
  68. package/dist/src/specification/schemaAccess.js.map +0 -1
  69. package/dist/src/specification/v2/ApplicationV2.js +0 -9
  70. package/dist/src/specification/v2/ApplicationV2.js.map +0 -1
  71. package/dist/src/specification/v2/controls/Action.js +0 -3
  72. package/dist/src/specification/v2/controls/Action.js.map +0 -1
  73. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js +0 -36
  74. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js.map +0 -1
  75. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js +0 -3
  76. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js.map +0 -1
  77. package/dist/src/specification/v2/controls/Card.js +0 -72
  78. package/dist/src/specification/v2/controls/Card.js.map +0 -1
  79. package/dist/src/specification/v2/controls/Facets.js +0 -3
  80. package/dist/src/specification/v2/controls/Facets.js.map +0 -1
  81. package/dist/src/specification/v2/controls/Field.js +0 -3
  82. package/dist/src/specification/v2/controls/Field.js.map +0 -1
  83. package/dist/src/specification/v2/controls/FilterBar.js +0 -78
  84. package/dist/src/specification/v2/controls/FilterBar.js.map +0 -1
  85. package/dist/src/specification/v2/controls/Footer.js +0 -3
  86. package/dist/src/specification/v2/controls/Footer.js.map +0 -1
  87. package/dist/src/specification/v2/controls/ObjectPageChart.js +0 -3
  88. package/dist/src/specification/v2/controls/ObjectPageChart.js.map +0 -1
  89. package/dist/src/specification/v2/controls/ObjectPageForm.js +0 -3
  90. package/dist/src/specification/v2/controls/ObjectPageForm.js.map +0 -1
  91. package/dist/src/specification/v2/controls/ObjectPageHeader.js +0 -3
  92. package/dist/src/specification/v2/controls/ObjectPageHeader.js.map +0 -1
  93. package/dist/src/specification/v2/controls/ObjectPageLayout.js +0 -3
  94. package/dist/src/specification/v2/controls/ObjectPageLayout.js.map +0 -1
  95. package/dist/src/specification/v2/controls/ObjectPageSection.js +0 -13
  96. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +0 -1
  97. package/dist/src/specification/v2/controls/ObjectPageTable.js +0 -7
  98. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +0 -1
  99. package/dist/src/specification/v2/controls/ObjectPageToolBar.js +0 -3
  100. package/dist/src/specification/v2/controls/ObjectPageToolBar.js.map +0 -1
  101. package/dist/src/specification/v2/controls/Table.js +0 -42
  102. package/dist/src/specification/v2/controls/Table.js.map +0 -1
  103. package/dist/src/specification/v2/controls/ToolBar.js +0 -3
  104. package/dist/src/specification/v2/controls/ToolBar.js.map +0 -1
  105. package/dist/src/specification/v2/controls/index.js +0 -12
  106. package/dist/src/specification/v2/controls/index.js.map +0 -1
  107. package/dist/src/specification/v2/index.js +0 -10
  108. package/dist/src/specification/v2/index.js.map +0 -1
  109. package/dist/src/specification/v2/page.js +0 -3
  110. package/dist/src/specification/v2/page.js.map +0 -1
  111. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js +0 -3
  112. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js.map +0 -1
  113. package/dist/src/specification/v2/pages/ListReportConfig.js +0 -3
  114. package/dist/src/specification/v2/pages/ListReportConfig.js.map +0 -1
  115. package/dist/src/specification/v2/pages/ObjectPageConfig.js +0 -3
  116. package/dist/src/specification/v2/pages/ObjectPageConfig.js.map +0 -1
  117. package/dist/src/specification/v2/pages/OverviewPageConfig.js +0 -8
  118. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +0 -1
  119. package/dist/src/specification/v2/pages/index.js +0 -7
  120. package/dist/src/specification/v2/pages/index.js.map +0 -1
  121. package/dist/src/specification/v2/webapp/index.js +0 -7
  122. package/dist/src/specification/v2/webapp/index.js.map +0 -1
  123. package/dist/src/specification/v2/webapp/manifest/index.js +0 -8
  124. package/dist/src/specification/v2/webapp/manifest/index.js.map +0 -1
  125. package/dist/src/specification/v2/webapp/manifest/sapUi.js +0 -3
  126. package/dist/src/specification/v2/webapp/manifest/sapUi.js.map +0 -1
  127. package/dist/src/specification/v2/webapp/manifest/sapUi5.js +0 -10
  128. package/dist/src/specification/v2/webapp/manifest/sapUi5.js.map +0 -1
  129. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js +0 -7
  130. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js.map +0 -1
  131. package/dist/src/specification/v4/ApplicationV4.js +0 -3
  132. package/dist/src/specification/v4/ApplicationV4.js.map +0 -1
  133. package/dist/src/specification/v4/controls/FilterBar.js +0 -3
  134. package/dist/src/specification/v4/controls/FilterBar.js.map +0 -1
  135. package/dist/src/specification/v4/controls/ObjectPageFooter.js +0 -3
  136. package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +0 -1
  137. package/dist/src/specification/v4/controls/ObjectPageHeader.js +0 -3
  138. package/dist/src/specification/v4/controls/ObjectPageHeader.js.map +0 -1
  139. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.js +0 -7
  140. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.js.map +0 -1
  141. package/dist/src/specification/v4/controls/ObjectPageLayout.js +0 -8
  142. package/dist/src/specification/v4/controls/ObjectPageLayout.js.map +0 -1
  143. package/dist/src/specification/v4/controls/ObjectPageSection.js +0 -12
  144. package/dist/src/specification/v4/controls/ObjectPageSection.js.map +0 -1
  145. package/dist/src/specification/v4/controls/ObjectPageTable.js +0 -3
  146. package/dist/src/specification/v4/controls/ObjectPageTable.js.map +0 -1
  147. package/dist/src/specification/v4/controls/ObjectPageToolBar.js +0 -3
  148. package/dist/src/specification/v4/controls/ObjectPageToolBar.js.map +0 -1
  149. package/dist/src/specification/v4/controls/Table.js +0 -30
  150. package/dist/src/specification/v4/controls/Table.js.map +0 -1
  151. package/dist/src/specification/v4/controls/ToolBar.js +0 -8
  152. package/dist/src/specification/v4/controls/ToolBar.js.map +0 -1
  153. package/dist/src/specification/v4/controls/index.js +0 -11
  154. package/dist/src/specification/v4/controls/index.js.map +0 -1
  155. package/dist/src/specification/v4/index.js +0 -9
  156. package/dist/src/specification/v4/index.js.map +0 -1
  157. package/dist/src/specification/v4/page.js +0 -3
  158. package/dist/src/specification/v4/page.js.map +0 -1
  159. package/dist/src/specification/v4/pages/AnalyticalListPageConfig.js +0 -3
  160. package/dist/src/specification/v4/pages/AnalyticalListPageConfig.js.map +0 -1
  161. package/dist/src/specification/v4/pages/ListReportConfig.js +0 -9
  162. package/dist/src/specification/v4/pages/ListReportConfig.js.map +0 -1
  163. package/dist/src/specification/v4/pages/ObjectPageConfig.js +0 -8
  164. package/dist/src/specification/v4/pages/ObjectPageConfig.js.map +0 -1
  165. package/dist/src/specification/v4/pages/index.js +0 -8
  166. package/dist/src/specification/v4/pages/index.js.map +0 -1
  167. package/dist/src/specification/v4/webapp/index.js +0 -7
  168. package/dist/src/specification/v4/webapp/index.js.map +0 -1
  169. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js +0 -22
  170. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js.map +0 -1
  171. package/dist/src/specification/v4/webapp/manifest/index.js +0 -10
  172. package/dist/src/specification/v4/webapp/manifest/index.js.map +0 -1
  173. package/dist/src/specification/v4/webapp/manifest/sapUi5.js +0 -11
  174. package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +0 -1
  175. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js +0 -14
  176. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js.map +0 -1
  177. package/dist/src/sync/common/appProvider.js +0 -57
  178. package/dist/src/sync/common/appProvider.js.map +0 -1
  179. package/dist/src/sync/common/decoration/control.js +0 -206
  180. package/dist/src/sync/common/decoration/control.js.map +0 -1
  181. package/dist/src/sync/common/decoration/decorators.js +0 -43
  182. package/dist/src/sync/common/decoration/decorators.js.map +0 -1
  183. package/dist/src/sync/common/decoration/factory.js +0 -48
  184. package/dist/src/sync/common/decoration/factory.js.map +0 -1
  185. package/dist/src/sync/common/decoration/flex.js +0 -8
  186. package/dist/src/sync/common/decoration/flex.js.map +0 -1
  187. package/dist/src/sync/common/decoration/index.js +0 -9
  188. package/dist/src/sync/common/decoration/index.js.map +0 -1
  189. package/dist/src/sync/common/flexUtils.js +0 -95
  190. package/dist/src/sync/common/flexUtils.js.map +0 -1
  191. package/dist/src/sync/common/generate/index.js +0 -8
  192. package/dist/src/sync/common/generate/index.js.map +0 -1
  193. package/dist/src/sync/common/generate/objectPage.js +0 -348
  194. package/dist/src/sync/common/generate/objectPage.js.map +0 -1
  195. package/dist/src/sync/common/generate/utils.js +0 -221
  196. package/dist/src/sync/common/generate/utils.js.map +0 -1
  197. package/dist/src/sync/common/i18n.json +0 -23
  198. package/dist/src/sync/common/import/utils.js +0 -86
  199. package/dist/src/sync/common/import/utils.js.map +0 -1
  200. package/dist/src/sync/common/importProject.js +0 -342
  201. package/dist/src/sync/common/importProject.js.map +0 -1
  202. package/dist/src/sync/common/index.js +0 -15
  203. package/dist/src/sync/common/index.js.map +0 -1
  204. package/dist/src/sync/common/types.js +0 -106
  205. package/dist/src/sync/common/types.js.map +0 -1
  206. package/dist/src/sync/common/utils.js +0 -1053
  207. package/dist/src/sync/common/utils.js.map +0 -1
  208. package/dist/src/sync/i18n.js +0 -15
  209. package/dist/src/sync/i18n.js.map +0 -1
  210. package/dist/src/sync/v2/application.js +0 -170
  211. package/dist/src/sync/v2/application.js.map +0 -1
  212. package/dist/src/sync/v2/export/controls/Action.js +0 -127
  213. package/dist/src/sync/v2/export/controls/Action.js.map +0 -1
  214. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +0 -72
  215. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +0 -1
  216. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +0 -56
  217. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +0 -1
  218. package/dist/src/sync/v2/export/controls/Card.js +0 -655
  219. package/dist/src/sync/v2/export/controls/Card.js.map +0 -1
  220. package/dist/src/sync/v2/export/controls/Field.js +0 -32
  221. package/dist/src/sync/v2/export/controls/Field.js.map +0 -1
  222. package/dist/src/sync/v2/export/controls/FilterBar.js +0 -236
  223. package/dist/src/sync/v2/export/controls/FilterBar.js.map +0 -1
  224. package/dist/src/sync/v2/export/controls/FormAction.js +0 -96
  225. package/dist/src/sync/v2/export/controls/FormAction.js.map +0 -1
  226. package/dist/src/sync/v2/export/controls/Fragment.js +0 -476
  227. package/dist/src/sync/v2/export/controls/Fragment.js.map +0 -1
  228. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +0 -37
  229. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +0 -1
  230. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +0 -110
  231. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +0 -1
  232. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +0 -62
  233. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +0 -1
  234. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +0 -60
  235. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +0 -1
  236. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +0 -62
  237. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +0 -1
  238. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +0 -59
  239. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +0 -1
  240. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +0 -144
  241. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +0 -1
  242. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +0 -335
  243. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +0 -1
  244. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +0 -61
  245. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +0 -1
  246. package/dist/src/sync/v2/export/controls/Table.js +0 -679
  247. package/dist/src/sync/v2/export/controls/Table.js.map +0 -1
  248. package/dist/src/sync/v2/export/controls/TableColumn.js +0 -166
  249. package/dist/src/sync/v2/export/controls/TableColumn.js.map +0 -1
  250. package/dist/src/sync/v2/export/controls/ToolBar.js +0 -6
  251. package/dist/src/sync/v2/export/controls/ToolBar.js.map +0 -1
  252. package/dist/src/sync/v2/export/controls/index.js +0 -26
  253. package/dist/src/sync/v2/export/controls/index.js.map +0 -1
  254. package/dist/src/sync/v2/export/export.js +0 -615
  255. package/dist/src/sync/v2/export/export.js.map +0 -1
  256. package/dist/src/sync/v2/export/exportPage.js +0 -312
  257. package/dist/src/sync/v2/export/exportPage.js.map +0 -1
  258. package/dist/src/sync/v2/export/factory.js +0 -59
  259. package/dist/src/sync/v2/export/factory.js.map +0 -1
  260. package/dist/src/sync/v2/export/manifest.js +0 -114
  261. package/dist/src/sync/v2/export/manifest.js.map +0 -1
  262. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +0 -44
  263. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +0 -1
  264. package/dist/src/sync/v2/export/pages/ListReport.js +0 -41
  265. package/dist/src/sync/v2/export/pages/ListReport.js.map +0 -1
  266. package/dist/src/sync/v2/export/pages/ObjectPage.js +0 -100
  267. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +0 -1
  268. package/dist/src/sync/v2/export/pages/OverviewPage.js +0 -178
  269. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +0 -1
  270. package/dist/src/sync/v2/export/pages/index.js +0 -10
  271. package/dist/src/sync/v2/export/pages/index.js.map +0 -1
  272. package/dist/src/sync/v2/export/view-controller-generator.js +0 -141
  273. package/dist/src/sync/v2/export/view-controller-generator.js.map +0 -1
  274. package/dist/src/sync/v2/generate/analyticalListReport.js +0 -92
  275. package/dist/src/sync/v2/generate/analyticalListReport.js.map +0 -1
  276. package/dist/src/sync/v2/generate/generate.js +0 -96
  277. package/dist/src/sync/v2/generate/generate.js.map +0 -1
  278. package/dist/src/sync/v2/generate/index.js +0 -14
  279. package/dist/src/sync/v2/generate/index.js.map +0 -1
  280. package/dist/src/sync/v2/generate/listReport.js +0 -118
  281. package/dist/src/sync/v2/generate/listReport.js.map +0 -1
  282. package/dist/src/sync/v2/generate/objectPage.js +0 -556
  283. package/dist/src/sync/v2/generate/objectPage.js.map +0 -1
  284. package/dist/src/sync/v2/generate/overviewPage.js +0 -73
  285. package/dist/src/sync/v2/generate/overviewPage.js.map +0 -1
  286. package/dist/src/sync/v2/generate/utils.js +0 -476
  287. package/dist/src/sync/v2/generate/utils.js.map +0 -1
  288. package/dist/src/sync/v2/import/app/appProvider.js +0 -122
  289. package/dist/src/sync/v2/import/app/appProvider.js.map +0 -1
  290. package/dist/src/sync/v2/import/app/ovpProvider.js +0 -33
  291. package/dist/src/sync/v2/import/app/ovpProvider.js.map +0 -1
  292. package/dist/src/sync/v2/import/common/index.js +0 -423
  293. package/dist/src/sync/v2/import/common/index.js.map +0 -1
  294. package/dist/src/sync/v2/import/controls/table.js +0 -32
  295. package/dist/src/sync/v2/import/controls/table.js.map +0 -1
  296. package/dist/src/sync/v2/import/getPageType.js +0 -1
  297. package/dist/src/sync/v2/import/getPageType.js.map +0 -1
  298. package/dist/src/sync/v2/import/index.js +0 -11
  299. package/dist/src/sync/v2/import/index.js.map +0 -1
  300. package/dist/src/sync/v2/import/pages/analyticalListPage.js +0 -126
  301. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +0 -1
  302. package/dist/src/sync/v2/import/pages/listReport.js +0 -124
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +0 -1
  304. package/dist/src/sync/v2/import/pages/objectPage.js +0 -695
  305. package/dist/src/sync/v2/import/pages/objectPage.js.map +0 -1
  306. package/dist/src/sync/v2/import/pages/overviewPage.js +0 -113
  307. package/dist/src/sync/v2/import/pages/overviewPage.js.map +0 -1
  308. package/dist/src/sync/v2/import/utils.js +0 -124
  309. package/dist/src/sync/v2/import/utils.js.map +0 -1
  310. package/dist/src/sync/v2/types.js +0 -33
  311. package/dist/src/sync/v2/types.js.map +0 -1
  312. package/dist/src/sync/v4/application.js +0 -80
  313. package/dist/src/sync/v4/application.js.map +0 -1
  314. package/dist/src/sync/v4/export/controls/FilterBar.js +0 -6
  315. package/dist/src/sync/v4/export/controls/FilterBar.js.map +0 -1
  316. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +0 -136
  317. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +0 -1
  318. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +0 -55
  319. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +0 -1
  320. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +0 -65
  321. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +0 -1
  322. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +0 -24
  323. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +0 -1
  324. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +0 -245
  325. package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +0 -1
  326. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +0 -64
  327. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +0 -1
  328. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +0 -21
  329. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +0 -1
  330. package/dist/src/sync/v4/export/controls/Table.js +0 -318
  331. package/dist/src/sync/v4/export/controls/Table.js.map +0 -1
  332. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -64
  333. package/dist/src/sync/v4/export/controls/TableColumn.js.map +0 -1
  334. package/dist/src/sync/v4/export/controls/ToolBar.js +0 -9
  335. package/dist/src/sync/v4/export/controls/ToolBar.js.map +0 -1
  336. package/dist/src/sync/v4/export/controls/ToolBarAction.js +0 -21
  337. package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +0 -1
  338. package/dist/src/sync/v4/export/controls/index.js +0 -18
  339. package/dist/src/sync/v4/export/controls/index.js.map +0 -1
  340. package/dist/src/sync/v4/export/export.js +0 -422
  341. package/dist/src/sync/v4/export/export.js.map +0 -1
  342. package/dist/src/sync/v4/export/factory.js +0 -44
  343. package/dist/src/sync/v4/export/factory.js.map +0 -1
  344. package/dist/src/sync/v4/export/flexibleColumnLayout.js +0 -114
  345. package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +0 -1
  346. package/dist/src/sync/v4/export/manifest.js +0 -208
  347. package/dist/src/sync/v4/export/manifest.js.map +0 -1
  348. package/dist/src/sync/v4/export/pages/AnalyticalListPage.js +0 -38
  349. package/dist/src/sync/v4/export/pages/AnalyticalListPage.js.map +0 -1
  350. package/dist/src/sync/v4/export/pages/ListReport.js +0 -33
  351. package/dist/src/sync/v4/export/pages/ListReport.js.map +0 -1
  352. package/dist/src/sync/v4/export/pages/ObjectPage.js +0 -39
  353. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +0 -1
  354. package/dist/src/sync/v4/export/pages/index.js +0 -9
  355. package/dist/src/sync/v4/export/pages/index.js.map +0 -1
  356. package/dist/src/sync/v4/export/types.js +0 -3
  357. package/dist/src/sync/v4/export/types.js.map +0 -1
  358. package/dist/src/sync/v4/export/utils.js +0 -26
  359. package/dist/src/sync/v4/export/utils.js.map +0 -1
  360. package/dist/src/sync/v4/generate/generate.js +0 -56
  361. package/dist/src/sync/v4/generate/generate.js.map +0 -1
  362. package/dist/src/sync/v4/generate/index.js +0 -10
  363. package/dist/src/sync/v4/generate/index.js.map +0 -1
  364. package/dist/src/sync/v4/generate/listReport.js +0 -121
  365. package/dist/src/sync/v4/generate/listReport.js.map +0 -1
  366. package/dist/src/sync/v4/generate/objectPage.js +0 -376
  367. package/dist/src/sync/v4/generate/objectPage.js.map +0 -1
  368. package/dist/src/sync/v4/import/app/appProvider.js +0 -313
  369. package/dist/src/sync/v4/import/app/appProvider.js.map +0 -1
  370. package/dist/src/sync/v4/import/fragment.js +0 -130
  371. package/dist/src/sync/v4/import/fragment.js.map +0 -1
  372. package/dist/src/sync/v4/import/index.js +0 -9
  373. package/dist/src/sync/v4/import/index.js.map +0 -1
  374. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -60
  375. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +0 -1
  376. package/dist/src/sync/v4/import/pages/listReport.js +0 -135
  377. package/dist/src/sync/v4/import/pages/listReport.js.map +0 -1
  378. package/dist/src/sync/v4/import/pages/objectPage.js +0 -236
  379. package/dist/src/sync/v4/import/pages/objectPage.js.map +0 -1
  380. package/dist/src/sync/v4/import/utils.js +0 -34
  381. package/dist/src/sync/v4/import/utils.js.map +0 -1
  382. package/dist/src/sync/v4/types.js +0 -3
  383. package/dist/src/sync/v4/types.js.map +0 -1
  384. package/dist/src/sync/v4/utils/StableIdHelper.js +0 -153
  385. package/dist/src/sync/v4/utils/StableIdHelper.js.map +0 -1
  386. package/dist/src/sync/v4/utils/utils.js +0 -170
  387. package/dist/src/sync/v4/utils/utils.js.map +0 -1
  388. package/dist/src/v2.js +0 -8
  389. package/dist/src/v2.js.map +0 -1
  390. package/dist/src/v4.js +0 -8
  391. package/dist/src/v4.js.map +0 -1
@@ -1,556 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const common_1 = require("../../common");
7
- const utils_1 = require("./utils");
8
- const import_1 = require("../import");
9
- const v2_1 = require("../../../v2");
10
- const extensionLogger_1 = require("../../../extensionLogger");
11
- const common_2 = require("../../../specification/common");
12
- const i18next_1 = __importDefault(require("i18next"));
13
- const i18n_1 = require("../../../i18n/i18n");
14
- const types_1 = require("../types");
15
- /**
16
- * Adds flexChange properties for sub(sections)
17
- * @param appSchema - app schema in general
18
- * @param schemaSection - current section
19
- * @param property - property that will be enhanced
20
- * @param sectionType - type of section
21
- */
22
- function addFlexChangeForSection(appSchema, schemaSection, property, sectionType) {
23
- let controlType;
24
- switch (sectionType) {
25
- case types_1.SectionTypeV2.Section:
26
- case types_1.SectionTypeV2.SectionForm:
27
- case types_1.SectionTypeV2.SectionChart:
28
- case types_1.SectionTypeV2.SectionTable:
29
- controlType = v2_1.ControlType.Section;
30
- break;
31
- case types_1.SectionTypeV2.SubSection:
32
- controlType = v2_1.ControlType.SubSection;
33
- break;
34
- case types_1.SectionTypeV2.SubSectionForm:
35
- controlType = v2_1.ControlType.SmartGroup;
36
- break;
37
- case types_1.SectionTypeV2.SubSectionChart:
38
- controlType = v2_1.ControlType.SmartChart;
39
- break;
40
- case types_1.SectionTypeV2.SubSectionTable:
41
- controlType = v2_1.ControlType.SmartTable;
42
- break;
43
- }
44
- if (controlType === undefined) {
45
- return;
46
- }
47
- common_1.addPatternForBindingChangeOfEnumOP(appSchema, schemaSection, property);
48
- schemaSection['properties'][property].artifactType = 'FlexChange';
49
- schemaSection['properties'][property].controlType = controlType;
50
- }
51
- /**
52
- * Callback for adding a single action to headerActions of V2
53
- * @param {EntityType} entityType - current entity type
54
- * @param {object} appSchema Schema of the app
55
- * @param actionAnnotation - annotation as present in AVT ConverterOutput
56
- * @param headerActions - list of header actions, to be enhanced
57
- */
58
- function addHeaderActionCallBackV2(entityType, appSchema, actionAnnotation, headerActions, oDataServiceAVT) {
59
- return (item, index) => {
60
- if (!item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
61
- const action = common_1.replaceAlias(item.Action, oDataServiceAVT);
62
- const { actionName, actionId } = common_1.getActionNameAndId(action, entityType);
63
- const description = item.Label || actionName;
64
- const actionDefinitionKey = `HeaderAction<${common_1.prepareRef(actionId)}>`;
65
- appSchema['definitions'][actionDefinitionKey] = JSON.parse(JSON.stringify(appSchema['definitions']['HeaderAction']));
66
- const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
67
- appSchema['definitions'][actionDefinitionKey].annotationPath = `/${convertedIdentification}/${index}`;
68
- appSchema['definitions'][actionDefinitionKey].description = description;
69
- headerActions.properties[actionId] = {
70
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
71
- };
72
- }
73
- };
74
- }
75
- /**
76
- * Method ensures that definitions for custom columns are created for passed entitySet.
77
- * @param {object} appSchema App schema in general
78
- * @param {object} manifest manifest.json of the app
79
- * @param {string} entitySetName Entity set name.
80
- * @param {string} entityTypeName Entity type name.
81
- * @param {ConverterOutput} oDataServiceAVT Complete service information, as returned by annotation vocabularies tool
82
- * @param {FacetConfig} facet information
83
- * @param {string} facetKey - key of the facet, as listed in FacetConfigs
84
- * @param {FileData[]} [fragments] Array with XML fragments.
85
- * @return {string} Name of custom columns definition.
86
- */
87
- function ensureCustomColumnDefinitionExists(appSchema, manifest, entitySetName, entityTypeName, oDataServiceAVT, facet, facetKey, fragments) {
88
- let suffix, customColumnsDefinitionName;
89
- if (facet.ID && facet.Label) {
90
- suffix = facet.ID + facet.Label.replace(/\s+/g, '');
91
- }
92
- else if (facet.ID) {
93
- suffix = facet.ID;
94
- }
95
- else if (facet.Label) {
96
- suffix = facet.Label.replace(/\s+/g, '');
97
- }
98
- if (suffix) {
99
- customColumnsDefinitionName = `${common_1.DefinitionName.CustomColumns}<${entitySetName}><${facetKey}><${suffix}>`;
100
- }
101
- else {
102
- customColumnsDefinitionName = `${common_1.DefinitionName.CustomColumns}<${entitySetName}><${facetKey}>`;
103
- }
104
- if (appSchema['definitions'][customColumnsDefinitionName]) {
105
- // Definition is already created - we do not need to create it again
106
- return customColumnsDefinitionName;
107
- }
108
- // Create type specific 'TableCustomColumn' definition - use entity set as type.
109
- const customColumnDefinitionName = `${common_1.DefinitionName.CustomColumn}<${entitySetName}>`;
110
- const customColumnDefinition = JSON.parse(JSON.stringify(appSchema['definitions']['TableCustomColumn']));
111
- appSchema['definitions'][customColumnDefinitionName] = customColumnDefinition;
112
- // Update definitions for type specific custom columns
113
- const pageKeys = [];
114
- const entityType = oDataServiceAVT.entityTypes.find((et) => et.name === entityTypeName);
115
- const v2Page = import_1.findObjectPageV2(manifest[common_2.ManifestSection.generic].pages, entitySetName, pageKeys);
116
- utils_1.addTableColumnExtensions(appSchema, entityType, v2Page, manifest, fragments, customColumnsDefinitionName, customColumnDefinitionName);
117
- return customColumnsDefinitionName;
118
- }
119
- /**
120
- * Method fills new app schema section with properties.
121
- * @param {object} appSchema App schema in general
122
- * @param {object} appSchemaSection app schema section to be filled
123
- * @param {FacetConfig} facet facet or section information
124
- * @param {SectionTypeV2} sectionType (sub)section type
125
- * @param {SectionTypeV2} mainSectionType main section type, used to fill app schema section
126
- * @return {boolean} returns false in case further handling is required.
127
- */
128
- function addAppSchemaDefinition(appSchema, appSchemaSection, facet, sectionType, mainSectionType) {
129
- var _a;
130
- if ((facet === null || facet === void 0 ? void 0 : facet.ID) || ((_a = facet === null || facet === void 0 ? void 0 : facet.target) === null || _a === void 0 ? void 0 : _a['qualifier'])) {
131
- appSchemaSection['properties'] = JSON.parse(JSON.stringify(appSchema['definitions'][mainSectionType]['properties']));
132
- if (appSchemaSection['properties'].visible) {
133
- addFlexChangeForSection(appSchema, appSchemaSection, 'visible', sectionType);
134
- }
135
- return true;
136
- }
137
- else {
138
- return false;
139
- }
140
- }
141
- /**
142
- * Method adds title and description to app schema section in case facet information is available.
143
- * @param {object} appSchemaSection app schema section to be filled
144
- * @param {FacetConfig} facet facet or section information
145
- */
146
- function addFacetTitleDescription(appSchemaSection, facet) {
147
- if (facet === null || facet === void 0 ? void 0 : facet.ID) {
148
- appSchemaSection['title'] = common_1.FacetTitlePrefix + facet.ID;
149
- }
150
- if (facet === null || facet === void 0 ? void 0 : facet.Label) {
151
- appSchemaSection['description'] = facet.Label;
152
- }
153
- if (!appSchemaSection['description']) {
154
- appSchemaSection['description'] = facet.base;
155
- }
156
- }
157
- /**
158
- * Method adds reference to section property key.
159
- * @param {object} sections - schema of current sections definition
160
- * @param {string} key section key which will contain the reference
161
- * @param {string} definitionKey key which the section should point to
162
- */
163
- function addSectionReference(sections, key, definitionKey) {
164
- sections['properties'][key] = { $ref: `${common_1.DEFINITION_LINK_PREFIX}${definitionKey}` };
165
- }
166
- /**
167
- * Reuse function for all table types, copies and adapts the generic definition
168
- * @param tableType - Table type
169
- * @param facetId - facet ID, as derived for the given section
170
- * @param facet - facet or section information
171
- * @param appSchema - app-specific schema, to be updated
172
- */
173
- function addTableDefinition(tableType, facetId, facet, appSchema) {
174
- const schemaId = common_1.prepareRef(`${tableType}<${facetId}>`);
175
- appSchema['definitions'][schemaId] = JSON.parse(JSON.stringify(appSchema['definitions'][tableType]));
176
- appSchema['definitions'][schemaId]['properties']['columns']['$ref'] = common_1.DEFINITION_LINK_PREFIX + facetId;
177
- appSchema['definitions'][schemaId].properties.toolBar.$ref = `${common_1.DEFINITION_LINK_PREFIX}ObjectPageToolBar<${facetId}>`;
178
- appSchema['definitions'][schemaId].annotationPath = facet.annotationPath;
179
- if (facet.ID !== undefined) {
180
- appSchema['definitions'][schemaId].title = common_1.FacetTitlePrefix + facet.ID;
181
- }
182
- appSchema['definitions'][schemaId].description = 'Table';
183
- //adjust quickVariantSelection
184
- appSchema['definitions'][schemaId].properties['quickVariantSelection'].$ref = `${common_1.DEFINITION_LINK_PREFIX}QuickVariantSelectionOP<${facetId}>`;
185
- appSchema['definitions'][`QuickVariantSelectionOP<${facetId}>`] = JSON.parse(JSON.stringify(appSchema['definitions']['QuickVariantSelectionOP']));
186
- appSchema['definitions'][`QuickVariant<${facetId}>`] = JSON.parse(JSON.stringify(appSchema['definitions']['QuickVariant']));
187
- appSchema['definitions'][`QuickVariantSelectionOP<${facetId}>`].properties.variants.patternProperties['^[0-9]+$'].$ref = `${common_1.DEFINITION_LINK_PREFIX}QuickVariant<${facetId}>`;
188
- common_1.addEnumForSingleTabVariant(facet.entityType, appSchema, `QuickVariant<${facetId}>`);
189
- }
190
- /**
191
- * Adds definitions for line items in object page sections to the app schema
192
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
193
- * @param {string} facetKey - key of the facet, as listed in FacetConfigs
194
- * @param {object} appSchema - app schema in general
195
- * @param {FacetConfig} facet - the given facet from the UI annotations
196
- * @param {FacetConfigs} facets - list of all facets
197
- * @param {SectionTypeV2} sectionType (sub)section type
198
- */
199
- function handleLineItem(generateParameters, facetKey, appSchema, facet, facets, sectionType) {
200
- if (facet.base !== 'LineItem' || !facetKey) {
201
- //no properties
202
- return;
203
- }
204
- const navigationProperty = facetKey.split('::')[0];
205
- const schemaIdForOpSection = `${sectionType}<${facetKey}>`;
206
- appSchema['definitions'][schemaIdForOpSection] = common_1.createSectionWithoutProperties(facet, facetKey);
207
- const appSchemaSection = appSchema['definitions'][schemaIdForOpSection];
208
- if (!addAppSchemaDefinition(appSchema, appSchemaSection, facet, sectionType, types_1.SectionTypeV2.SectionTable)) {
209
- appSchemaSection.properties.table = JSON.parse(JSON.stringify(appSchema['definitions'][types_1.SectionTypeV2.SectionTable]['properties']['table']));
210
- }
211
- appSchemaSection.properties.table.anyOf = [
212
- {
213
- $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageResponsiveTableWithMultiSelect<${facetKey}>`
214
- },
215
- {
216
- $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageResponsiveTableWithInlineDelete<${facetKey}>`
217
- },
218
- {
219
- $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageAnalyticalTable<${facetKey}>`
220
- },
221
- {
222
- $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageGridTable<${facetKey}>`
223
- },
224
- {
225
- $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageTreeTable<${facetKey}>`
226
- }
227
- ];
228
- appSchemaSection.annotationPath = facet.annotationPath;
229
- common_1.addSectionTitleAndDescription(facet, appSchemaSection, facetKey);
230
- addTableDefinition('ObjectPageResponsiveTableWithMultiSelect', facetKey, facet, appSchema);
231
- addTableDefinition('ObjectPageResponsiveTableWithInlineDelete', facetKey, facet, appSchema);
232
- addTableDefinition('ObjectPageGridTable', facetKey, facet, appSchema);
233
- addTableDefinition('ObjectPageTreeTable', facetKey, facet, appSchema);
234
- addTableDefinition('ObjectPageAnalyticalTable', facetKey, facet, appSchema);
235
- let customColumnDefinitionKey;
236
- // Find target entity
237
- const targetEntitySet = common_1.determineEntitySetOfFacet(facet, generateParameters.serviceAVT);
238
- if (targetEntitySet) {
239
- // Make sure that custom columns definitions are created for passed entity
240
- customColumnDefinitionKey = ensureCustomColumnDefinitionExists(appSchema, generateParameters.manifest, targetEntitySet.name, facet.entityType.name, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, facet, facetKey, generateParameters.fragments);
241
- }
242
- for (const facetKey in facets) {
243
- if (facets[facetKey].base === 'LineItem' && facetKey.includes(navigationProperty)) {
244
- utils_1.addLineItemsType(appSchema, facets[facetKey].target, facets[facetKey].entityType, facetKey, customColumnDefinitionKey);
245
- }
246
- }
247
- }
248
- /**
249
- * Adds definitions for subsections in object page sections to the app schema
250
- * @param {object} appSchema - app schema in general
251
- * @param {string} definitionKey - key of app schema definition to be filled
252
- * @param {FacetConfig} facet facet or section information
253
- * @param {string} facetId - key of the facet, as listed in FacetConfigs
254
- * @param {SectionTypeV2} sectionType (sub)section type
255
- */
256
- function handleSubSection(appSchema, definitionKey, facet, facetId, sectionType) {
257
- appSchema['definitions'][definitionKey] = common_1.createSectionWithoutProperties(facet, facetId);
258
- const appSchemaSection = appSchema['definitions'][definitionKey];
259
- addAppSchemaDefinition(appSchema, appSchemaSection, facet, sectionType, types_1.SectionTypeV2.SubSection);
260
- appSchemaSection.properties.subsections = {
261
- type: 'object',
262
- description: 'Subsections',
263
- properties: {},
264
- additionalProperties: false,
265
- isViewNode: true
266
- };
267
- }
268
- /**
269
- * Method fills new chart section with properties.
270
- * @param {object} appSchema App schema in general
271
- * @param {string} definitionKey - key of app schema definition to be filled
272
- * @param {FacetConfig} facet facet or section information
273
- * @param {string} facetKey - facet key.
274
- * @param {SectionTypeV2} sectionType (sub)section type
275
- */
276
- function handleSectionChart(appSchema, definitionKey, facet, facetKey, sectionType) {
277
- appSchema['definitions'][definitionKey] = common_1.createSectionWithoutProperties(facet, facetKey);
278
- const appSchemaSection = appSchema['definitions'][definitionKey];
279
- addAppSchemaDefinition(appSchema, appSchemaSection, facet, sectionType, types_1.SectionTypeV2.SectionChart);
280
- }
281
- /**
282
- * Method fills new form section in app schema with properties.
283
- * @param {object} appSchema App schema in general
284
- * @param {string} definitionKey - key of app schema definition to be filled
285
- * @param {FacetConfig} facet facet or section information
286
- * @param {string} facetKey - facet key.
287
- * @param {SectionTypeV2} sectionType (sub)section type
288
- * @return {object} returns filled form section in app schema.
289
- */
290
- function handleAppSchemaFormSection(appSchema, definitionKey, facet, facetKey, sectionType) {
291
- appSchema['definitions'][definitionKey] = common_1.createSectionWithoutProperties(facet, facetKey);
292
- const appSchemaSection = appSchema['definitions'][definitionKey];
293
- addAppSchemaDefinition(appSchema, appSchemaSection, facet, sectionType, types_1.SectionTypeV2.SectionForm);
294
- addFacetTitleDescription(appSchemaSection, facet);
295
- appSchemaSection.annotationPath = facet.annotationPath;
296
- appSchemaSection.isViewNode = true;
297
- return appSchemaSection;
298
- }
299
- /**
300
- * Mapping of facet type to (sub)section type to enable correct further handling
301
- * @param {FacetBase} facetType - facet type to be mapped
302
- * @param {boolean} isSubSection - if section is subsection of section
303
- * @return {SectionTypeV2} sectionType (sub)section type
304
- */
305
- function getSectionType(facetType, isSubSection) {
306
- const sectionTypeMapping = new Map([
307
- [v2_1.FacetBase.CollectionFacet, types_1.SectionTypeV2.Section],
308
- [v2_1.FacetBase.LineItem, types_1.SectionTypeV2.SectionTable],
309
- [v2_1.FacetBase.Chart, types_1.SectionTypeV2.SectionChart],
310
- [v2_1.FacetBase.Form, types_1.SectionTypeV2.SectionForm],
311
- [v2_1.FacetBase.Identification, types_1.SectionTypeV2.SectionForm]
312
- ]);
313
- const subSectionTypeMapping = new Map([
314
- [v2_1.FacetBase.CollectionFacet, types_1.SectionTypeV2.SubSection],
315
- [v2_1.FacetBase.LineItem, types_1.SectionTypeV2.SubSectionTable],
316
- [v2_1.FacetBase.Chart, types_1.SectionTypeV2.SubSectionChart],
317
- [v2_1.FacetBase.Form, types_1.SectionTypeV2.SubSectionForm],
318
- [v2_1.FacetBase.Identification, types_1.SectionTypeV2.SubSectionForm]
319
- ]);
320
- if (isSubSection) {
321
- return subSectionTypeMapping.get(facetType);
322
- }
323
- else {
324
- return sectionTypeMapping.get(facetType);
325
- }
326
- }
327
- /**
328
- * Method returns reference key, special handling of (sub)sections
329
- * @param {FacetConfig} facet facet or section information
330
- * @param {string} facetKey - facet key.
331
- * @param {SectionTypeV2} sectionType (sub)section type
332
- * @return {string} reference key
333
- */
334
- function getReferenceKey(facet, facetKey, sectionType) {
335
- let referenceKey = facetKey;
336
- if (sectionType === (types_1.SectionTypeV2.Section || types_1.SectionTypeV2.SubSection)) {
337
- referenceKey = referenceKey.replace(`@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`, facet.base);
338
- }
339
- return `${referenceKey}`;
340
- }
341
- /**
342
- * Creates a section definition in app schema.
343
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
344
- * @param {FacetConfigs} facets - list of all facets.
345
- * @param {string} facetKey - facet key.
346
- * @param {object} sections - schema of current sections definition.
347
- * @param {object} appSchema - app specific schema that potentially gets enhanced.
348
- * @param {boolean} isSubSection - if section is subsection of section
349
- */
350
- function addSection(generateParameters, facets, facetKey, sections, appSchema, isSubSection = false) {
351
- const facet = facets[facetKey];
352
- const sectionType = getSectionType(facet.base, isSubSection);
353
- const referenceKey = getReferenceKey(facet, facetKey, sectionType);
354
- const definitionKey = `${sectionType}<${referenceKey}>`;
355
- addSectionReference(sections, referenceKey, definitionKey);
356
- switch (sectionType) {
357
- case types_1.SectionTypeV2.Section:
358
- case types_1.SectionTypeV2.SubSection: {
359
- //handle collection facets
360
- isSubSection = true;
361
- handleSubSection(appSchema, definitionKey, facet, facetKey, sectionType);
362
- const subSections = appSchema['definitions'][definitionKey].properties.subsections;
363
- for (const key in facet['facets']) {
364
- addSection(generateParameters, facet['facets'], key, subSections, appSchema, isSubSection);
365
- }
366
- break;
367
- }
368
- case types_1.SectionTypeV2.SectionTable:
369
- case types_1.SectionTypeV2.SubSectionTable: {
370
- handleLineItem(generateParameters, facetKey, appSchema, facet, facets, sectionType);
371
- //add fields for createWithParameterDialog
372
- const floorplanSuffix = 'OP';
373
- common_1.addFieldsType(appSchema, facet.entityType, floorplanSuffix);
374
- break;
375
- }
376
- case types_1.SectionTypeV2.SectionChart:
377
- case types_1.SectionTypeV2.SubSectionChart: {
378
- //handle reference facet (if comprising chart)
379
- handleSectionChart(appSchema, definitionKey, facet, facetKey, sectionType);
380
- break;
381
- }
382
- case types_1.SectionTypeV2.SectionForm:
383
- case types_1.SectionTypeV2.SubSectionForm: {
384
- const withActions = facet.base !== v2_1.FacetBase.Identification;
385
- const appSchemaSection = handleAppSchemaFormSection(appSchema, definitionKey, facet, facetKey, sectionType);
386
- common_1.handleForm(v2_1.SectionType.Section, facet, appSchemaSection, appSchema, common_2.FioriElementsVersion.v2, withActions);
387
- break;
388
- }
389
- default: {
390
- // Other facets -> no properties
391
- sections['properties'][facetKey] = common_1.createSectionWithoutProperties(facet, facetKey);
392
- }
393
- }
394
- }
395
- /**
396
- * Adds the sections to the app schema
397
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
398
- * @param {object} appSchema - app specific schema that potentially gets enhanced
399
- * @param {EntityType} entityType - current entity type
400
- * @param {string} entitySetName Entity set name
401
- * @param {SapUiAppPagesV2} pages - list of (manifest) pages
402
- */
403
- function addSections(generateParameters, appSchema, entityType, entitySetName, pages) {
404
- //initialize sections
405
- const sections = (appSchema['definitions']['Sections'] = {
406
- type: 'object',
407
- properties: {},
408
- description: 'Sections',
409
- additionalProperties: false,
410
- isViewNode: true
411
- });
412
- if (entityType) {
413
- sections['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
414
- }
415
- if (!pages) {
416
- return;
417
- }
418
- // Get facet annotations
419
- const facets = common_1.getObjectPageFacets(entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, common_2.FioriElementsVersion.v2, generateParameters.logger);
420
- if (!facets || Object.keys(facets).length === 0) {
421
- return;
422
- }
423
- // Loop on all pages, look for the right entity set
424
- for (const key in pages) {
425
- const element = pages[key];
426
- if (entitySetName.includes(element.entitySet)) {
427
- // Loop on all facets (of the given entitySet)
428
- for (const facetKey in facets) {
429
- addSection(generateParameters, facets, facetKey, sections, appSchema);
430
- }
431
- }
432
- else {
433
- addSections(generateParameters, appSchema, entityType, entitySetName, element.pages);
434
- }
435
- }
436
- // Add custom sections
437
- for (const name in appSchema['definitions']['CustomSections'].properties) {
438
- sections.properties[name] = appSchema['definitions']['CustomSections'].properties[name];
439
- }
440
- }
441
- /**
442
- * Add Object Page Header to app-specific schema
443
- *
444
- * @param {object} appSchema Schema of the app
445
- * @param {EntityType} entityType - current entity type
446
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
447
- */
448
- function addHeader(appSchema, entityType, oDataServiceAVT) {
449
- common_1.addCommonHeaderSchema(appSchema, entityType);
450
- //Add header actions
451
- common_1.addHeaderActions(appSchema, entityType, oDataServiceAVT, addHeaderActionCallBackV2);
452
- }
453
- /**
454
- * Adds the related facets keys 'enum' to the app schema
455
- * @param schema - app specific schema that potentially gets enhanced
456
- * @param {EntityType} entityType - current entity type
457
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
458
- * @param {ExtensionLogger} logger - Logger class for logging messages
459
- */
460
- function addRelatedFacetKeysType(schema, entityType, oDataServiceAVT, logger) {
461
- // Find sections from annotation
462
- // And create new definition in schema as enum with description
463
- const facetSections = common_1.getObjectPageFacetSection(entityType, oDataServiceAVT, logger, undefined, true);
464
- if (facetSections) {
465
- common_1.addDefinitionForRelatedFacetKeys(schema, ['ObjectPageCustomSectionFragment', 'ObjectPageCustomSectionView'], facetSections, ['ID', 'key']);
466
- }
467
- }
468
- /**
469
- * Generates an app specific schema out of the generic schema.
470
- * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
471
- * @param genericSchema - generic JSON schema of an object page
472
- * @param entityTypeName - the base entity type of the given page
473
- *
474
- * @returns the app specific JSON schema
475
- */
476
- function generateObjectPageSchemaV2(generateParameters, genericSchema, entityTypeName) {
477
- // Initialize i18next
478
- i18n_1.initI18n();
479
- const appSchema = JSON.parse(JSON.stringify(genericSchema));
480
- // Custom sections as part of sections
481
- const additionalSections = {};
482
- for (const name in appSchema['definitions']['CustomSections'].properties) {
483
- additionalSections[name] = appSchema['definitions']['CustomSections'].properties[name];
484
- }
485
- // Change reference to generated sections
486
- appSchema['properties']['sections'] = {
487
- $ref: common_1.DEFINITION_LINK_PREFIX + 'Sections'
488
- };
489
- const entitySet = (generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT.entitySets) && (generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT.entitySets.find((es) => es.entityType.name === entityTypeName || es.name === entityTypeName));
490
- if (!entitySet) {
491
- extensionLogger_1.log(generateParameters.logger, {
492
- severity: "error" /* Error */,
493
- message: i18next_1.default.t('NOENTITYSET4NAME', { entityType: entityTypeName }),
494
- location: {
495
- path: common_1.METADATAPATH
496
- }
497
- });
498
- return appSchema;
499
- }
500
- const entityType = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType;
501
- const pages = generateParameters.manifest[common_2.ManifestSection.generic].pages;
502
- if (!pages) {
503
- extensionLogger_1.log(generateParameters.logger, {
504
- severity: "error" /* Error */,
505
- message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
506
- location: {
507
- path: v2_1.MANIFESTPATH,
508
- range: [common_2.ManifestSection.generic]
509
- }
510
- });
511
- return appSchema;
512
- }
513
- // Add header
514
- addHeader(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT);
515
- // Add sections
516
- addSections(generateParameters, appSchema, entityType, entitySet.name, pages);
517
- // Custom section facets
518
- addRelatedFacetKeysType(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, generateParameters.logger);
519
- if (!appSchema['definitions']['Sections']) {
520
- if (appSchema['definitions']['RelatedFacetKeys'] &&
521
- appSchema['definitions']['RelatedFacetKeys']['oneOf'].length) {
522
- // If related facets exists - then we need sections definition
523
- appSchema['definitions']['Sections'] = {
524
- type: 'object',
525
- properties: additionalSections,
526
- additionalProperties: false,
527
- isViewNode: true
528
- };
529
- }
530
- else {
531
- delete appSchema['properties']['sections'];
532
- }
533
- }
534
- common_1.addFooterActions(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT);
535
- // Eliminate generic definitions
536
- delete appSchema['definitions']['GenericSections'];
537
- delete appSchema['definitions']['ObjectPageSectionTableV2'];
538
- delete appSchema['definitions']['GenericColumns'];
539
- delete appSchema['definitions']['TableColumnAction'];
540
- delete appSchema['definitions']['ObjectPageSectionFormV2'];
541
- delete appSchema['definitions']['ObjectPageSectionTableV2'];
542
- delete appSchema['definitions']['ObjectPageSubSectionV2'];
543
- delete appSchema['definitions']['ObjectPageResponsiveTableWithMultiSelect'];
544
- delete appSchema['definitions']['ObjectPageResponsiveTableWithInlineDelete'];
545
- delete appSchema['definitions']['ObjectPageAnalyticalTable'];
546
- delete appSchema['definitions']['ObjectPageTreeTable'];
547
- delete appSchema['definitions']['ObjectPageGridTable'];
548
- delete appSchema['definitions']['ObjectPageToolBar'];
549
- delete appSchema['definitions']['ObjectPageToolBarActions'];
550
- delete appSchema['definitions']['ObjectPageForm'];
551
- delete appSchema['definitions']['ObjectPageFormFields'];
552
- delete appSchema['definitions']['ObjectPageFormActions'];
553
- return appSchema;
554
- }
555
- exports.generateObjectPageSchemaV2 = generateObjectPageSchemaV2;
556
- //# sourceMappingURL=objectPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/objectPage.ts"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("../../../specification/common");
4
- const common_2 = 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 services = (manifest && manifest['sap.app'] && manifest['sap.app'].dataSources) || {};
32
- const enumValues = [];
33
- for (const name in services) {
34
- if (services[name].type === common_1.DataSourceType.OData) {
35
- enumValues.push(name);
36
- }
37
- }
38
- // Define enum
39
- const definition = appSchema['definitions'];
40
- definition['CardModel'] = {
41
- enum: enumValues,
42
- type: 'string'
43
- };
44
- // Apply enum to all card properties
45
- const cards = getCardDefinitionNames(appSchema);
46
- for (const card of cards) {
47
- const property = definition[card]['properties']['model'];
48
- delete property.type;
49
- property['$ref'] = common_2.DEFINITION_LINK_PREFIX + 'CardModel';
50
- }
51
- }
52
- exports.addModelsEnum = addModelsEnum;
53
- /**
54
- * Generates an app specific schema out of the generic schema.
55
- * Generic types are replaced by information from the app manifest.
56
- *
57
- * @param genericSchema - generic JSON schema of an object page
58
- * @param manifest - manifest.json of the app
59
- *
60
- * @returns the app specific JSON schema
61
- */
62
- function generateOverviewPageSchemaV2(genericSchema, manifest) {
63
- const appSchema = JSON.parse(JSON.stringify(genericSchema));
64
- // schema validation for card name
65
- appSchema['properties']['cards']['propertyNames'] = {
66
- pattern: '^[a-zA-Z0-9_\\.\\-]+$'
67
- };
68
- // Enhance 'model' property with enum entries
69
- addModelsEnum(appSchema, manifest);
70
- return appSchema;
71
- }
72
- exports.generateOverviewPageSchemaV2 = generateOverviewPageSchemaV2;
73
- //# sourceMappingURL=overviewPage.js.map