@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 +0,0 @@
1
- {"version":3,"file":"overviewPage.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/overviewPage.ts"],"names":[],"mappings":";;AAAA,0DAAyE;AACzE,yCAAsD;AAEtD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IACxD,oCAAoC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,cAAc,GAChB,CAAC,UAAU,CAAC,OAAO,CAAC;QAChB,UAAU,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,EAAE,CAAC;IACP,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE;QAC/C,cAAc;QACd,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,wDAaC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,QAAkB;IAC/D,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5F,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAc,CAAC,KAAK,EAAE;YAC9C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;KACJ;IACD,cAAc;IACd,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,CAAC,WAAW,CAAC,GAAG;QACtB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;KACjB,CAAC;IACF,oCAAoC;IACpC,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,+BAAsB,GAAG,WAAW,CAAC;KAC3D;AACL,CAAC;AArBD,sCAqBC;AAED;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,aAAqB,EAAE,QAAkB;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,kCAAkC;IAClC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,GAAG;QAChD,OAAO,EAAE,uBAAuB;KACnC,CAAC;IACF,6CAA6C;IAC7C,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oEASC"}
@@ -1,476 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("../../common");
4
- const decorators_1 = require("../../common/decoration/decorators");
5
- const path_1 = require("path");
6
- const xml_js_1 = require("xml-js");
7
- const types_1 = require("../types");
8
- /**
9
- * Common function for enhancing the LineItems definiton of app schema by custom columns
10
- * @param appSchema - app-specific JSON schema
11
- * @param customColumnsDefinitionName - custom column definition name (plural)
12
- * @param customColumnDefinitionName - custom column definition name (singular)
13
- */
14
- function addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName) {
15
- if (appSchema['definitions']['LineItems']) {
16
- appSchema['definitions']['LineItems']['properties']['custom'] = {
17
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnsDefinitionName}`
18
- };
19
- }
20
- appSchema['definitions'][customColumnsDefinitionName] = {
21
- type: 'array',
22
- items: {
23
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnDefinitionName}`
24
- },
25
- isViewNode: true,
26
- description: 'Custom Columns'
27
- };
28
- const columnDefinition = appSchema['definitions'][customColumnDefinitionName];
29
- for (const id in columnDefinition.properties) {
30
- columnDefinition.properties[id].artifactType = common_1.ArtifactType.Manifest;
31
- }
32
- }
33
- /**
34
- * Prepares and returns id of action for further use and reference
35
- * @param actionType - type of action
36
- * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
37
- * @returns {string} actionId
38
- */
39
- function getActionId(actionType, lineItemProperties) {
40
- if (actionType === types_1.ActionTypeV2.ColumnIntentBased) {
41
- return common_1.getSchemaKeyOfLineItemRecord(lineItemProperties.lineItemRecord);
42
- }
43
- else if (actionType === types_1.ActionTypeV2.ToolBarIntentBased || actionType === types_1.ActionTypeV2.FooterIntentBased) {
44
- return common_1.prepareRef(`${lineItemProperties.lineItemRecord.SemanticObject}::${lineItemProperties.lineItemRecord.Action}`);
45
- }
46
- else if (actionType === types_1.ActionTypeV2.Column &&
47
- lineItemProperties.lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
48
- return common_1.prepareRef(`DataFieldForAction:::sAction::${lineItemProperties.lineItemRecord.Action}`);
49
- }
50
- else {
51
- return common_1.prepareRef(lineItemProperties.lineItemRecord.Action);
52
- }
53
- }
54
- /**
55
- * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
56
- * @param appSchema - the app specific schema that shall get enhanced
57
- * @param entityType - the entity type as part of the AVT ConverterOutput
58
- * @param actions - actions definition in schema, parent object
59
- * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
60
- * @param actionType - type of action
61
- * @param recordIndex - record index in the collection
62
- */
63
- function handleActionRecord(appSchema, actions, lineItemProps, actionType, recordIndex) {
64
- let actionReferenceType;
65
- const actionTemplate = lineItemProps.lineItemId === 'LineItems' ? '' : 'ObjectPage';
66
- const actionId = getActionId(actionType, lineItemProps);
67
- if (actionType === types_1.ActionTypeV2.Footer || actionType === types_1.ActionTypeV2.FooterIntentBased) {
68
- actionReferenceType = `Action`;
69
- actionType = types_1.ActionTypeV2.Footer;
70
- }
71
- else if (actionType === types_1.ActionTypeV2.Column || actionType === types_1.ActionTypeV2.ColumnIntentBased) {
72
- actionReferenceType = `TableColumnAction`;
73
- }
74
- else {
75
- actionReferenceType = actionTemplate !== '' ? `${actionTemplate}${actionType}` : `Action`;
76
- actionType = types_1.ActionTypeV2.ToolBar;
77
- }
78
- const actionDefinition = `${actionTemplate}${actionType}<${actionId}>`;
79
- const description = common_1.getDatafieldDescription(lineItemProps.lineItemRecord, lineItemProps.entityType);
80
- actions['properties'][actionId] = {
81
- $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
82
- description,
83
- propertyIndex: recordIndex
84
- };
85
- if (appSchema['definitions'][actionReferenceType]) {
86
- appSchema['definitions'][actionDefinition] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema['definitions'][actionReferenceType]))), { description, annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}` });
87
- }
88
- else {
89
- appSchema['definitions'][actionDefinition] = {
90
- type: 'object',
91
- properties: {},
92
- description,
93
- annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}`,
94
- isViewNode: true,
95
- additionalProperties: false
96
- };
97
- }
98
- }
99
- exports.handleActionRecord = handleActionRecord;
100
- /**
101
- * Returns the type of a column lineItem action
102
- * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
103
- * @param {object} lineItemRecord - actual record of the line item collection
104
- * @param actionTypes - array of action types to be filled
105
- */
106
- function getColumnActionType(lineItemId, lineItemRecord, actionTypes) {
107
- if (lineItemId !== 'LineItems' &&
108
- lineItemRecord.Inline === true &&
109
- (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
110
- lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */)) {
111
- actionTypes.push(types_1.ActionTypeV2.OPColumn);
112
- }
113
- else if (lineItemRecord.Inline === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
114
- actionTypes.push(types_1.ActionTypeV2.Column);
115
- }
116
- else if (lineItemRecord.Inline === true &&
117
- lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
118
- actionTypes.push(types_1.ActionTypeV2.ColumnIntentBased);
119
- }
120
- }
121
- /**
122
- * Returns the type of a lineItem action
123
- * @param {object} lineItemRecord - actual record of the line item collection
124
- * @returns {string[] | undefined } ActionTypeV2[] - action type(s) of the lineItem
125
- */
126
- function getActionType(lineItemRecord, lineItemId) {
127
- const actionTypes = [];
128
- if (lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ &&
129
- lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
130
- return undefined;
131
- }
132
- if (lineItemRecord.Inline !== true &&
133
- lineItemRecord.Determining !== true &&
134
- lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
135
- actionTypes.push(types_1.ActionTypeV2.ToolBar);
136
- }
137
- else if (lineItemRecord.Inline !== true &&
138
- lineItemRecord.Determining !== true &&
139
- lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
140
- actionTypes.push(types_1.ActionTypeV2.ToolBarIntentBased);
141
- }
142
- else if (lineItemRecord.Determining === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
143
- actionTypes.push(types_1.ActionTypeV2.Footer);
144
- }
145
- else if (lineItemRecord.Determining === true &&
146
- lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
147
- actionTypes.push(types_1.ActionTypeV2.FooterIntentBased);
148
- }
149
- getColumnActionType(lineItemId, lineItemRecord, actionTypes);
150
- return actionTypes;
151
- }
152
- /**
153
- * Adds the line item records to the app schema (for the list report or an object page section comprising a table)
154
- * @param appSchema - the app specific schema that shall get enhanced
155
- * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
156
- * @param entityType - the entity type as part of the AVT ConverterOutput
157
- * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
158
- * in case of LR or ALP no ID is passed, 'LineItems' is taken then.
159
- * @param customColumnRef - schema reference to custom column definition.
160
- */
161
- function addLineItemsType(appSchema, lineItemAnnotation, entityType, lineItemId, customColumnRef) {
162
- let schemaKey;
163
- // Add the correct lineItem definition
164
- lineItemId = lineItemId || 'LineItems';
165
- const { actions, footerActions, lineItemPath } = common_1.addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId);
166
- if (lineItemAnnotation) {
167
- let i = 0;
168
- lineItemAnnotation.forEach((lineItemRecord) => {
169
- const lineItemProperties = { lineItemPath, lineItemRecord, lineItemId, entityType };
170
- const actionTypes = getActionType(lineItemRecord, lineItemId);
171
- function generateGenericColumn() {
172
- schemaKey = common_1.getSchemaKeyOfLineItemRecord(lineItemRecord);
173
- if (schemaKey) {
174
- appSchema['definitions'][lineItemId]['properties'][schemaKey] = {
175
- $ref: common_1.DEFINITION_LINK_PREFIX + common_1.DefinitionName.TableColumn,
176
- description: common_1.getDatafieldDescription(lineItemRecord, entityType),
177
- // Custom property in schema - for object properties ordering purpose
178
- propertyIndex: i,
179
- annotationPath: lineItemPath + '/' + i
180
- };
181
- }
182
- }
183
- if (actionTypes) {
184
- actionTypes.forEach((actionType) => {
185
- switch (actionType) {
186
- case types_1.ActionTypeV2.ToolBar:
187
- case types_1.ActionTypeV2.ToolBarIntentBased: {
188
- handleActionRecord(appSchema, actions, lineItemProperties, actionType, i);
189
- break;
190
- }
191
- case types_1.ActionTypeV2.Footer:
192
- case types_1.ActionTypeV2.FooterIntentBased: {
193
- if (footerActions) {
194
- handleActionRecord(appSchema, footerActions, lineItemProperties, actionType, i);
195
- }
196
- break;
197
- }
198
- case types_1.ActionTypeV2.Column:
199
- case types_1.ActionTypeV2.ColumnIntentBased: {
200
- handleActionRecord(appSchema, appSchema['definitions'][lineItemId], lineItemProperties, actionType, i);
201
- break;
202
- }
203
- case types_1.ActionTypeV2.OPColumn: {
204
- generateGenericColumn();
205
- }
206
- }
207
- });
208
- }
209
- else {
210
- generateGenericColumn();
211
- }
212
- i++;
213
- });
214
- }
215
- if (customColumnRef) {
216
- appSchema['definitions'][lineItemId]['properties']['custom'] = {
217
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnRef}`
218
- };
219
- }
220
- }
221
- exports.addLineItemsType = addLineItemsType;
222
- /**
223
- * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
224
- * @param appSchema - the app specific schema that shall get enhanced
225
- * @param entityType - the entity type as part of the AVT ConverterOutput
226
- * @param definitionName - definition name of CustomColumn definition
227
- */
228
- function addListReportLeadingProperties(appSchema, entityType, definitionName) {
229
- // Leading Property
230
- const leadingPropertySchema = appSchema['definitions'][definitionName] &&
231
- appSchema['definitions'][definitionName]['properties'] &&
232
- appSchema['definitions'][definitionName]['properties']['leadingProperty'];
233
- if (leadingPropertySchema) {
234
- const properties = [
235
- // Entity properties
236
- ...((entityType === null || entityType === void 0 ? void 0 : entityType.entityProperties) || []),
237
- // Navigation Properties
238
- ...((entityType === null || entityType === void 0 ? void 0 : entityType.navigationProperties) || [])
239
- ];
240
- leadingPropertySchema['enum'] = properties === null || properties === void 0 ? void 0 : properties.reduce((result, property) => {
241
- if (!result.includes(property.name)) {
242
- result.push(property.name);
243
- }
244
- return result;
245
- }, []);
246
- }
247
- }
248
- exports.addListReportLeadingProperties = addListReportLeadingProperties;
249
- /**
250
- * Adds enum entries of posible tabKey properties for 'leadingProperty' property in TableCustomColumn properties.
251
- * @param appSchema - the app specific schema that shall get enhanced
252
- * @param definitionName - definition name of CustomColumn definition
253
- * @param page - sapui5 page object
254
- */
255
- function addTabkeyEnum(appSchema, definitionName, page) {
256
- const tabkeyPropertySchema = appSchema['definitions'][definitionName] &&
257
- appSchema['definitions'][definitionName]['properties'] &&
258
- appSchema['definitions'][definitionName]['properties']['tabKey'];
259
- if (page) {
260
- const quickVariantsX = page.component &&
261
- page.component.settings &&
262
- page.component.settings.quickVariantSelectionX &&
263
- page.component.settings.quickVariantSelectionX['variants'];
264
- if (quickVariantsX) {
265
- const enumEntries = [];
266
- Object.keys(quickVariantsX).reduce((result, variant) => {
267
- const key = quickVariantsX[variant] && quickVariantsX[variant]['key'] !== undefined
268
- ? quickVariantsX[variant]['key']
269
- : undefined;
270
- // Avoid duplicates
271
- if (key !== undefined && !result.includes(key)) {
272
- result.push(key);
273
- }
274
- return result;
275
- }, enumEntries);
276
- tabkeyPropertySchema['enum'] = enumEntries;
277
- }
278
- }
279
- }
280
- exports.addTabkeyEnum = addTabkeyEnum;
281
- /**
282
- * Adds enum entries of posible fragment entries.
283
- * @param {object} appSchema The app specific schema that shall get enhanced.
284
- * @param {FileData[]} fragments Array of fragments.
285
- * @param {string[]} appId Application id.
286
- * @param {string} property Property name.
287
- * @param {string} definitionName Definition name of CustomColumn definition.
288
- */
289
- function addFragmentEnum(appSchema, fragments, appId, property, definitionName) {
290
- var _a, _b;
291
- const fragmentPropertySchema = (_b = (_a = appSchema['definitions'][definitionName]) === null || _a === void 0 ? void 0 : _a['properties']) === null || _b === void 0 ? void 0 : _b[property];
292
- if (fragments && appId && !appId.startsWith('${')) {
293
- const enumEntries = [];
294
- fragments.forEach((fragment) => {
295
- let relPath = fragment.dataSourceUri.split('webapp')[1];
296
- if (relPath && relPath.indexOf('.fragment.xml') > 0) {
297
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }))['core:FragmentDefinition'];
298
- if ((property === 'fragmentName' &&
299
- (!fragmentJson || fragmentJson.Column || fragmentJson['table:Column'])) ||
300
- (property === 'cellsFragmentName' &&
301
- (!fragmentJson ||
302
- (!fragmentJson.Column &&
303
- !fragmentJson['table:Column'] &&
304
- !fragmentJson['smartfilterbar:ControlConfiguration'])))) {
305
- relPath = relPath.replace(new RegExp('\\' + path_1.sep, 'g'), '/');
306
- const fragmentName = appId + relPath.split('.fragment.xml')[0].replace(/\//g, '.');
307
- enumEntries.push(fragmentName);
308
- }
309
- }
310
- });
311
- if (enumEntries.length > 0) {
312
- fragmentPropertySchema['enum'] = enumEntries;
313
- }
314
- }
315
- }
316
- exports.addFragmentEnum = addFragmentEnum;
317
- /**
318
- * Adds the custom columns to the line item records of the app schema (for the list report comprising a table).
319
- * @param {object} appSchema The app specific schema that shall get enhanced.
320
- * @param {EntityType} entityType The entity type as part of the AVT ConverterOutput.
321
- * @param {SapUiAppPageV2} page Sapui5 page object.
322
- * @param {object} manifest Application manifest.
323
- * @param {FileData[]} [fragments] Array of fragments.
324
- * @param {string} [customColumnsDefinitionName=DefinitionName.CustomColumns] Definition name of Custom Columns definition.
325
- * @param {string} [customColumnDefinitionName=DefinitionName.CustomColumn] Definition name of Custom Column definition.
326
- */
327
- function addTableColumnExtensions(appSchema, entityType, page, manifest, fragments, customColumnsDefinitionName = common_1.DefinitionName.CustomColumns, customColumnDefinitionName = common_1.DefinitionName.CustomColumn) {
328
- addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName);
329
- // Leading Property
330
- addListReportLeadingProperties(appSchema, entityType, customColumnDefinitionName);
331
- // Tab key property
332
- addTabkeyEnum(appSchema, customColumnDefinitionName, page);
333
- // Fragment property
334
- const appId = manifest && manifest['sap.app'] && manifest['sap.app']['id'];
335
- addFragmentEnum(appSchema, fragments, appId, 'fragmentName', customColumnDefinitionName);
336
- addFragmentEnum(appSchema, fragments, appId, 'cellsFragmentName', customColumnDefinitionName);
337
- }
338
- exports.addTableColumnExtensions = addTableColumnExtensions;
339
- /**
340
- * Processes an anyOf definition of the generic schema
341
- * @param propertyDefinition - current definition in the generic schema
342
- * @param schema - the app-specific schema
343
- * @param propertyKey - key of the single property
344
- * @param factory - factory for creating metadata instances
345
- * @param pageType - page type
346
- */
347
- function processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType) {
348
- propertyDefinition['anyOf'].forEach((element) => {
349
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
350
- if (nextDefinition) {
351
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
352
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
353
- }
354
- });
355
- }
356
- /**
357
- * Processes an object reference of the generic schema
358
- * @param schema
359
- * @param propertyDefinition - current definition in the generic schema
360
- * @param propertyKey - key of the single property
361
- * @param factory - factory for creating metadata instances
362
- * @param pageType - page type
363
- */
364
- function processObject(schema, propertyDefinition, propertyKey, factory, pageType) {
365
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, propertyDefinition, propertyKey, factory, pageType);
366
- if (nextDefinition) {
367
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
368
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
369
- }
370
- }
371
- /**
372
- * Determines the artifact type of a property and adds it to the property definition in schema
373
- * @param syncRule - sync rule of the current property
374
- * @param propertyDefinition - current definition in the generic schema
375
- */
376
- function addArtifactType(syncRule, propertyDefinition) {
377
- if (syncRule.manifest !== undefined) {
378
- propertyDefinition.artifactType = common_1.ArtifactType.Manifest;
379
- }
380
- else if (syncRule.flex !== undefined) {
381
- propertyDefinition.artifactType = common_1.ArtifactType.FlexChange;
382
- //Add control type
383
- if (syncRule.flex.controlType) {
384
- propertyDefinition.controlType = syncRule.flex.controlType();
385
- }
386
- }
387
- else {
388
- propertyDefinition.artifactType = common_1.ArtifactType.Annotation;
389
- }
390
- }
391
- /**
392
- * After the generation of a generic schema, apply post-generation rule to a single property
393
- * @param metaDataDefinition
394
- * @param schema - given app schema, to be adapted
395
- * @param pageType - page type
396
- * @param factory - factory for creating metadata instances
397
- * @param propertyDefinition - definition of the single property
398
- * @param propertyKey - key of the single property
399
- * @param schemaDefinition - the current entry point or definition in the app schema
400
- */
401
- function processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition) {
402
- if (metaDataDefinition) {
403
- const syncRule = decorators_1.getReflectMetadata(metaDataDefinition, propertyKey);
404
- if (syncRule) {
405
- if (typeof syncRule.generate === 'function') {
406
- syncRule.generate(schema, schemaDefinition, propertyKey);
407
- propertyDefinition = schemaDefinition['properties'][propertyKey];
408
- }
409
- //Add artifact type
410
- addArtifactType(syncRule, propertyDefinition);
411
- }
412
- if (propertyDefinition.type === 'object' || propertyDefinition.$ref) {
413
- processObject(schema, propertyDefinition, propertyKey, factory, pageType);
414
- }
415
- else if (propertyDefinition['anyOf']) {
416
- processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
417
- }
418
- }
419
- }
420
- /**
421
- * After the generation of a generic schema, apply rules to a list of properties of the given schema section
422
- * @param schema - given app schema, to be adapted
423
- * @param schemaDefinition - the current entry point or definition in the app schema
424
- * @param pageType - page type
425
- * @param factory - factory for creating metadata instances
426
- */
427
- function processProperties(schema, schemaDefinition, metaDataDefinition, propertiesSection, pageType, factory) {
428
- if (schemaDefinition[propertiesSection]) {
429
- for (const propertyKey in schemaDefinition[propertiesSection]) {
430
- if (propertyKey === 'anyOf') {
431
- processAnyOf(schemaDefinition[propertiesSection], schema, propertyKey, factory, pageType);
432
- }
433
- else {
434
- const propertyDefinition = schemaDefinition[propertiesSection][propertyKey];
435
- if (propertyDefinition['anyOf']) {
436
- processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
437
- }
438
- else if (propertyKey === '$ref') {
439
- processObject(schema, schemaDefinition[propertiesSection], propertyKey, factory, pageType);
440
- }
441
- else {
442
- processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition);
443
- }
444
- }
445
- }
446
- }
447
- }
448
- /**
449
- * Apply post-processing rules as specified in form of "generate" at the syncRule
450
- * @param schema - given app schema, to be adapted
451
- * @param schemaDefinition - the current entry point or definition in the app schema
452
- * @param pageType - page type
453
- * @param factory - factory for creating metadata instances
454
- */
455
- function processMetadata(schema, schemaDefinition, metaDataDefinition, pageType, factory) {
456
- processProperties(schema, schemaDefinition, metaDataDefinition, 'properties', pageType, factory);
457
- processProperties(schema, schemaDefinition, metaDataDefinition, 'additionalProperties', pageType, factory);
458
- processProperties(schema, schemaDefinition, metaDataDefinition, 'patternProperties', pageType, factory);
459
- }
460
- exports.processMetadata = processMetadata;
461
- /**
462
- * Method updates passed 'enum' array by removing passed matching entries.
463
- * @param {Array<unknown>} values Array of values.
464
- * @param {Array<unknown>} valuesToRemove Array of values to remove.
465
- */
466
- function removeElementsFromEnum(values, valuesToRemove) {
467
- for (const value of valuesToRemove) {
468
- const index = values.indexOf(value);
469
- if (index !== -1) {
470
- // Value exists - remove it
471
- values.splice(index, 1);
472
- }
473
- }
474
- }
475
- exports.removeElementsFromEnum = removeElementsFromEnum;
476
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"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"}
@@ -1,122 +0,0 @@
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 common_1 = require("../../../../specification/common");
11
- const appProvider_1 = require("../../../common/appProvider");
12
- const common_2 = require("../common");
13
- const listReport_1 = require("../pages/listReport");
14
- const analyticalListPage_1 = require("../pages/analyticalListPage");
15
- const objectPage_1 = require("../pages/objectPage");
16
- const application_1 = require("../../application");
17
- const common_3 = require("../../../common");
18
- const schemaAccess_1 = require("../../../../specification/schemaAccess");
19
- const pageV2 = __importStar(require("../../../../specification/v2/webapp/manifest/sapUiPageV2"));
20
- /**
21
- * Method which generates id for passed page
22
- * @param page - Generic Page object.
23
- * @returns {string} Generated page id
24
- */
25
- function generateId(page) {
26
- return common_3.generatePageId(common_3.getPageTypeV2(page.component.name), page.entitySet, page.navigationProperty);
27
- }
28
- function getPagesAndConfigs(v2Pages, flex, manifest, schemas, fragments, logger) {
29
- const pages = {};
30
- for (const v2PageName in v2Pages) {
31
- const v2Page = v2Pages[v2PageName];
32
- const id = generateId(v2Page);
33
- const page = Object.assign(Object.assign({ pageType: common_3.getPageTypeV2(v2Page.component.name), entitySet: v2Page.entitySet }, (v2Page.navigationProperty && { navigationProperty: v2Page.navigationProperty })), (v2Page.defaultLayoutType && { defaultLayoutType: v2Page.defaultLayoutType }));
34
- pages[id] = page;
35
- // Get the JSON schema for the page. If no page specific schema exists, fall back top the generic schema for the page type
36
- const jsonSchema = Object.keys(schemas).find((element) => element.includes(id)) ||
37
- Object.keys(schemas).find((element) => element.includes(id.slice(0, -1))) ||
38
- Object.keys(schemas).find((element) => element.includes(page.pageType));
39
- // convert settings to config
40
- if (jsonSchema) {
41
- if (page.pageType === common_1.PageType.ListReport) {
42
- const importParameters = {
43
- manifest,
44
- flex,
45
- jsonSchema: schemas[jsonSchema],
46
- fragments,
47
- logger
48
- };
49
- page.config = listReport_1.createListReportConfig(importParameters);
50
- }
51
- else if (page.pageType === common_1.PageType.AnalyticalListPage) {
52
- const importParameters = {
53
- manifest,
54
- flex,
55
- jsonSchema: schemas[jsonSchema],
56
- fragments,
57
- logger
58
- };
59
- page.config = analyticalListPage_1.createAnalyticalListPageConfig(importParameters);
60
- }
61
- else {
62
- const importParameters = {
63
- manifest,
64
- flex,
65
- jsonSchema: schemas[jsonSchema],
66
- entitySet: page.entitySet,
67
- fragments,
68
- logger
69
- };
70
- page.config = objectPage_1.createObjectPageConfigV2(importParameters);
71
- }
72
- }
73
- if (v2Page.pages) {
74
- page.navigation = {};
75
- const targets = getPagesAndConfigs(v2Page.pages, flex, manifest, schemas, fragments);
76
- for (const pageId in targets) {
77
- const target = targets[pageId];
78
- pages[pageId] = target;
79
- }
80
- for (const v2ChildPageName in v2Page.pages) {
81
- const id = generateId(v2Page.pages[v2ChildPageName]);
82
- page.navigation[id] = targets[id].navigationProperty
83
- ? page.entitySet + '.' + targets[id].navigationProperty
84
- : page.entitySet;
85
- }
86
- }
87
- }
88
- return pages;
89
- }
90
- class V2AppProvider extends appProvider_1.AppProvider {
91
- constructor(manifest, changes, schemas, fragments, logger) {
92
- const v2Pages = manifest[common_1.ManifestSection.generic].pages;
93
- const pageKey = Object.keys(v2Pages)[0];
94
- // Import settings
95
- const appSettings = new application_1.AppSettings();
96
- const schemaFile = common_3.getSchemaFilePath(schemaAccess_1.SchemaType.Application);
97
- const appSchema = schemas[schemaFile.filename];
98
- common_2.transferSettingsOfObject(appSettings, manifest, appSchema['definitions']['AppSettings'], undefined);
99
- // Call base
100
- super(manifest, schemas, generateId(v2Pages[pageKey]), getPagesAndConfigs(v2Pages, changes, manifest, schemas, fragments, logger), common_1.FioriElementsVersion.v2, appSettings);
101
- }
102
- }
103
- exports.V2AppProvider = V2AppProvider;
104
- function getPages(v2Pages, componentName) {
105
- const pages = {};
106
- for (const v2PageName in v2Pages) {
107
- const v2Page = v2Pages[v2PageName];
108
- if (v2Page.component.name === componentName) {
109
- const id = generateId(v2Page);
110
- pages[id] = v2Page;
111
- }
112
- if (componentName === pageV2.FE_TEMPLATE_V2_OBJECT_PAGE && v2Page.pages) {
113
- const subPages = getPages(v2Page.pages, componentName);
114
- for (const subPageId in subPages) {
115
- pages[subPageId] = subPages[subPageId];
116
- }
117
- }
118
- }
119
- return pages;
120
- }
121
- exports.getPages = getPages;
122
- //# sourceMappingURL=appProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appProvider.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/import/app/appProvider.ts"],"names":[],"mappings":"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"}