@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,422 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("../../common");
4
- const application_1 = require("../application");
5
- const manifest_1 = require("./manifest");
6
- const flexibleColumnLayout_1 = require("./flexibleColumnLayout");
7
- const v4_1 = require("../../../v4");
8
- const utils_1 = require("../../common/utils");
9
- const factory_1 = require("./factory");
10
- /**
11
- * Return the skeleton of a exportResultManifest's "sap.ui.generic.app" entry, prefilled with some values
12
- * @param name - name of the template, e.g. "sap.suite.ui.generic.template.ObjectPage"
13
- * @param entitySet - the main entity set
14
- * @param navigationProperty - navigation property
15
- */
16
- const getV4ManifestPageTemplate = (name, entitySet) => {
17
- const V4Page = {
18
- type: 'Component',
19
- id: '',
20
- name: name,
21
- options: {
22
- settings: {
23
- entitySet: entitySet,
24
- navigation: {},
25
- controlConfiguration: {}
26
- }
27
- }
28
- };
29
- return V4Page;
30
- };
31
- const defaultExportResult = {
32
- flexChanges: [],
33
- manifest: {
34
- 'sap.ui5': {
35
- flexEnabled: true,
36
- routing: {
37
- targets: {}
38
- }
39
- },
40
- 'sap.app': {}
41
- },
42
- fragments: []
43
- };
44
- /**
45
- * Applies the sync rule for a flex change during eport
46
- * @param syncRule - export rule from the object classes decorator
47
- * @param transferParameters - list of parameters passed from API
48
- * @param ids - list of parent & child ids
49
- * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
50
- * @param title - title from the app schema (comprising for instance the facet ID)
51
- * @param configObject - current (sub)object of the configuration file
52
- * @param key - key of the given property
53
- */
54
- function exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key) {
55
- const controlId = syncRule.flex.controlId(transferParameters.baseId, ids, breadcrumbs, syncRule.flex.controlType, transferParameters.title);
56
- const flexChange = common_1.fillFlexChangeContent(configObject, syncRule, transferParameters.ui5Version, key, controlId);
57
- transferParameters.exportResults.flexChanges.push(syncRule.flex.createFlexChange(flexChange, transferParameters.exportResults.manifest));
58
- }
59
- function determineTargetAnnotation(ids, title) {
60
- let targetAnnotation = '', targetAnnotationEncoded = '', custom = false;
61
- if (ids[0] === 'sections') {
62
- if (ids[1] === 'custom' && ids[2] !== ids[ids.length - 1]) {
63
- custom = true;
64
- targetAnnotationEncoded = ids[2];
65
- targetAnnotation = targetAnnotationEncoded.replace(/::/g, '/');
66
- }
67
- else {
68
- targetAnnotationEncoded = ids[1] && ids[1].replace(/\//g, '::');
69
- targetAnnotation = targetAnnotationEncoded.replace(/::/g, '/');
70
- }
71
- }
72
- if (ids[1] === 'sections') {
73
- //header sections
74
- targetAnnotation = targetAnnotationEncoded =
75
- title && title.indexOf(v4_1.FacetTitlePrefix) > -1
76
- ? title.split(v4_1.FacetTitlePrefix)[1]
77
- : targetAnnotationEncoded.replace(/::/g, '/');
78
- }
79
- return { targetAnnotationEncoded, targetAnnotation, custom };
80
- }
81
- function getColumnKey(ids) {
82
- let columnKey;
83
- const isDataField = (element) => element === 'columns' || element === 'actions';
84
- const columnKeyIndex = ids.findIndex(isDataField) + 1;
85
- if (columnKeyIndex > 0) {
86
- columnKey = ids[columnKeyIndex];
87
- }
88
- return columnKey;
89
- }
90
- function transferPropertyToManifest(propertyDefinition, nextDefinition, syncRule, manifestSection, configObject, key, manifestKey) {
91
- if (!(propertyDefinition['type'] !== 'array' &&
92
- nextDefinition &&
93
- nextDefinition['targetDefinition'].type === 'object' &&
94
- nextDefinition['targetDefinition'].properties)) {
95
- const exportHandler = syncRule.manifest.export;
96
- if (exportHandler !== false) {
97
- if (exportHandler && typeof exportHandler === 'function') {
98
- exportHandler(manifestSection, configObject, key, manifestKey);
99
- }
100
- else if (Array.isArray(configObject[key]) && !configObject[key].length) {
101
- delete manifestSection[manifestKey];
102
- }
103
- else {
104
- manifestSection[manifestKey] = configObject[key];
105
- }
106
- }
107
- }
108
- else if (propertyDefinition['type'] !== 'array' && manifestSection[manifestKey] === undefined) {
109
- manifestSection[manifestKey] = {};
110
- }
111
- }
112
- function exportManifestChange(ids, syncRule, transferParameters, key, configObject, propertyDefinition, nextDefinition) {
113
- //eliminate subsections' hierarchy
114
- let index = ids.indexOf('subsections');
115
- while (index > -1) {
116
- ids.splice(index - 1, 2);
117
- index = ids.indexOf('subsections');
118
- }
119
- const { targetAnnotationEncoded, targetAnnotation, custom } = determineTargetAnnotation(ids, transferParameters.title);
120
- const columnKey = getColumnKey(ids);
121
- const path = syncRule.manifest.path(transferParameters.pageNameArray, {}, targetAnnotationEncoded, columnKey);
122
- const manifestSection = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path, targetAnnotation, custom ? undefined : targetAnnotationEncoded);
123
- const manifestKey = syncRule.manifest.key || key;
124
- if (configObject[key] !== undefined) {
125
- // In case of arrays we take over complete array
126
- transferPropertyToManifest(propertyDefinition, nextDefinition, syncRule, manifestSection, configObject, key, manifestKey);
127
- }
128
- else if (manifestSection[manifestKey] !== undefined) {
129
- delete manifestSection[manifestKey];
130
- }
131
- else if (syncRule.manifest.delete) {
132
- const deleteHandler = syncRule.manifest.delete;
133
- if (typeof deleteHandler === 'function') {
134
- deleteHandler(manifestSection, configObject, key, manifestKey);
135
- }
136
- }
137
- utils_1.deleteEmptyStructure(transferParameters.exportResults.manifest, path, targetAnnotation, targetAnnotationEncoded);
138
- }
139
- /**
140
- * Evaluates an export rule for a property or object, transfers to flex change or manifest setting
141
- * @param transferParameters - list of parameters passed from API
142
- * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
143
- * @param key - key of the given property
144
- * @param configObject - current (sub)object of the configuration file
145
- * @param ids - list of parent & child ids
146
- * @param title - title from the app schema (comprising for instance the facet ID)
147
- * @param propertyDefinition - schema definiton of a particular property
148
- * @param nextDefinition - schema definition referred by $ref
149
- */
150
- function evaluateExportRule(transferParameters, breadcrumbs, key, configObject, ids, propertyDefinition, nextDefinition) {
151
- const syncRule = common_1.getReflectMetadata(configObject, key);
152
- if (syncRule) {
153
- if (syncRule.flex) {
154
- exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key);
155
- }
156
- else if (syncRule.manifest) {
157
- exportManifestChange(ids, syncRule, transferParameters, key, configObject, propertyDefinition, nextDefinition);
158
- }
159
- }
160
- }
161
- function transferSubObject(propertyDefinition, nextDefinition, currentConfigObject, breadcrumbs, key, transferParameters, ids, localIdParts) {
162
- let objects = [], isArray = false;
163
- if (propertyDefinition.$ref && nextDefinition) {
164
- objects.push(nextDefinition.configObject);
165
- }
166
- else if (propertyDefinition['anyOf']) {
167
- objects.push(currentConfigObject);
168
- }
169
- else if (propertyDefinition.type === 'array') {
170
- objects = currentConfigObject;
171
- isArray = true;
172
- }
173
- else {
174
- objects.push(currentConfigObject);
175
- }
176
- for (const innerObject of objects) {
177
- const additionalIds = [];
178
- if (breadcrumbs[0] === 'sections' && key === 'custom' && isArray) {
179
- // We need add custom section 'id' into breadcrumbs to retrieve correct path to manifest
180
- additionalIds.push(innerObject['id']);
181
- }
182
- transferParameters.title = nextDefinition.title;
183
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
184
- transferManifestEntriesAndFlexChange(transferParameters, innerObject, [...ids, ...additionalIds], localIdParts, [...breadcrumbs, key], nextDefinition.targetDefinition);
185
- }
186
- }
187
- /**
188
- * Recursive function that traverses the content of the current object. It reads decorators and fills exportResultManifest entries and flex changes
189
- * @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
190
- * @param configObject - current object to traverse
191
- * @param parentIds - array of collected parent ids
192
- * @param stableIdParts - list of parts of the stable ID for flex changes
193
- * @param breadcrumbs - array of sequence of properties that we are currently processing. Required for instance for table column name
194
- * @param schemaDefinition - the current entry point or definition in the app schema
195
- * @param title - the title to be used for the given schema definition
196
- */
197
- function transferManifestEntriesAndFlexChange(transferParameters, configObject, parentIds, stableIdParts, breadcrumbs, schemaDefinition) {
198
- let currentConfigObject;
199
- if (!(schemaDefinition === null || schemaDefinition === void 0 ? void 0 : schemaDefinition['properties'])) {
200
- return;
201
- }
202
- for (const key in schemaDefinition['properties']) {
203
- currentConfigObject = configObject[key];
204
- const childId = common_1.getChildId(configObject, key);
205
- const propertyDefinition = schemaDefinition['properties'][key];
206
- const nextDefinition = utils_1.getNextTargetDefinition(transferParameters.appSchema, transferParameters.title, currentConfigObject, propertyDefinition, key, transferParameters.factory, transferParameters.pageType);
207
- const ids = childId ? [...parentIds, childId] : [...parentIds, key];
208
- evaluateExportRule(transferParameters, breadcrumbs, key, configObject, ids, propertyDefinition, nextDefinition);
209
- if (propertyDefinition &&
210
- (typeof currentConfigObject === 'object' || (propertyDefinition.$ref && nextDefinition.configObject))) {
211
- const localIdParts = childId ? [...stableIdParts, childId] : stableIdParts;
212
- transferSubObject(propertyDefinition, nextDefinition, currentConfigObject, breadcrumbs, key, transferParameters, ids, localIdParts);
213
- }
214
- }
215
- }
216
- /**
217
- * Instantiates the export classes for a single object page section
218
- * @param sectionId - Current section ID
219
- */
220
- function getClassesForSingleSection(objectPageConfig, sectionId, factory) {
221
- if (sectionId === 'custom' && Array.isArray(objectPageConfig.sections[sectionId])) {
222
- // Custom sections
223
- const customSections = objectPageConfig.sections.custom;
224
- for (let index = 0; index < customSections.length; index++) {
225
- customSections[index] = factory.createInstance(v4_1.PageType.ObjectPage, 'ObjectPageCustomSectionView', customSections[index], customSections[index].className);
226
- }
227
- }
228
- }
229
- /**
230
- * Recursive sub-function for handling subsections
231
- * @param section - Object page section in config
232
- */
233
- function getSubsectionClasses(section, factory) {
234
- if (section['subsections']) {
235
- let subSection;
236
- for (const subSectionId in section['subsections']) {
237
- subSection = section['subsections'][subSectionId];
238
- getClassesForSingleSection(subSection, subSectionId, factory);
239
- getSubsectionClasses(subSection, factory);
240
- }
241
- }
242
- }
243
- /**
244
- * Instantiates the export classes for the object page section
245
- * @param objectPageConfig - the given object page configuration
246
- * @param objectPage - the overall object page export class where the sections shall be included
247
- */
248
- function getExportClassesForSections(objectPageConfig, objectPage, factory) {
249
- let section;
250
- for (const sectionId in objectPageConfig.sections) {
251
- section = objectPage.sections[sectionId];
252
- getClassesForSingleSection(objectPageConfig, sectionId, factory);
253
- getSubsectionClasses(section, factory);
254
- }
255
- }
256
- /**
257
- * Run through the given ObjectPage config and return respective exportResultManifest entry and flex changes
258
- * @param appId - id of the Fiori elements app, which is usually namespace.appid
259
- * @param objectPageConfig - content of the src/ObjectPage_<entity_set>.json file
260
- * @param manifest - manifest of the application
261
- * @param pageName - routing target defined in manifest
262
- */
263
- const exportObjectPage = (exportParameters, ui5Version) => {
264
- var _a;
265
- const exportResults = defaultExportResult;
266
- exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
267
- const factory = new factory_1.MetadataInstanceFactoryV4();
268
- const objectPage = factory.createPageInstance(v4_1.PageType.ObjectPage, exportParameters.page.config);
269
- const pageLayoutInformation = common_1.getPageLayoutInformation(objectPage);
270
- const pageName = exportParameters.page.name;
271
- const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
272
- if ((_a = exportParameters.page.config) === null || _a === void 0 ? void 0 : _a['sections']) {
273
- getExportClassesForSections(exportParameters.page.config, objectPage, factory);
274
- }
275
- const transferParameters = {
276
- exportResults,
277
- appId: exportParameters.appId,
278
- appRootPath: exportParameters.appRootPath,
279
- baseId,
280
- appSchema: exportParameters.jsonSchema,
281
- ui5Version,
282
- factory,
283
- pageNameArray: [pageName],
284
- pageType: v4_1.PageType.ObjectPage,
285
- title: undefined
286
- };
287
- transferManifestEntriesAndFlexChange(transferParameters, objectPage, [], //no parentIds
288
- [], // no stableIds
289
- [], // no breadcrumbs
290
- exportParameters.jsonSchema //starting point for target definition
291
- );
292
- return exportResults;
293
- };
294
- /**
295
- * Run through the given List Page (LR or ALP) config and return respective exportResultManifest entry and flex changes
296
- * @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
297
- * @param config - content of the config file
298
- * @param {PageTypeV4} - pageType - Page type
299
- * @param ui5Version - SAP UI5 version
300
- */
301
- const exportListPage = (exportParameters, factory, config, pageType, ui5Version) => {
302
- var _a;
303
- const exportResults = defaultExportResult;
304
- exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
305
- config.table = factory.createInstance(pageType, 'Table', config.table);
306
- if ((_a = config.table.toolBar) === null || _a === void 0 ? void 0 : _a.actions) {
307
- for (const actionKey in exportParameters.jsonSchema['definitions']['Actions<LineItems>'].properties) {
308
- config.table.toolBar.actions[actionKey] = factory.createInstance(pageType, 'ToolBarAction', config.table.toolBar.actions[actionKey]);
309
- }
310
- }
311
- const pageLayoutInformation = common_1.getPageLayoutInformation(config);
312
- const pageName = exportParameters.page.name;
313
- const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
314
- if (!exportResults.manifest[v4_1.ManifestSection.ui5]['routing']['targets'][pageName]) {
315
- const newV4Page = getV4ManifestPageTemplate(pageLayoutInformation.pageId, pageName);
316
- exportResults.manifest[v4_1.ManifestSection.ui5]['routing']['targets'][pageName] = newV4Page;
317
- }
318
- const transferParameters = {
319
- exportResults,
320
- appId: exportParameters.appId,
321
- appRootPath: exportParameters.appRootPath,
322
- baseId,
323
- appSchema: exportParameters.jsonSchema,
324
- ui5Version,
325
- factory,
326
- pageNameArray: [pageName],
327
- pageType: v4_1.PageType.ListReport,
328
- title: undefined,
329
- logger: exportParameters.logger
330
- };
331
- transferManifestEntriesAndFlexChange(transferParameters, config, [], //no parentIds
332
- [], // no stableIds
333
- [], // no breadcrumbs
334
- exportParameters.jsonSchema //starting point for target definition
335
- );
336
- return exportResults;
337
- };
338
- /**
339
- * Run through the given ListReport config and return respective exportResultManifest entry and flex changes
340
- * @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
341
- *
342
- * @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
343
- */
344
- const exportListReportPage = (exportParameters, ui5Version) => {
345
- const factory = new factory_1.MetadataInstanceFactoryV4();
346
- const listReport = factory.createPageInstance(v4_1.PageType.ListReport, exportParameters.page.config);
347
- return exportListPage(exportParameters, factory, listReport, v4_1.PageTypeV4.ListReport, ui5Version);
348
- };
349
- /**
350
- * Run through the given Analytical List Page config and return respective exportResultManifest entry and flex changes
351
- * @param appId - id of the Fiori elements app, which is usually namespace.appid
352
- * @param analyticalListPageConfig - content of the Analytical List page config file
353
- * @param pageName - routing target defined in manifest
354
- *
355
- * @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
356
- */
357
- const exportAnalyticalListPage = (exportParameters, ui5Version) => {
358
- const factory = new factory_1.MetadataInstanceFactoryV4();
359
- const analyticalListPage = factory.createPageInstance(v4_1.PageType.AnalyticalListPage, exportParameters.page.config);
360
- return exportListPage(exportParameters, factory, analyticalListPage, v4_1.PageTypeV4.AnalyticalListPage, ui5Version);
361
- };
362
- /**
363
- * API for the export of a V4 app configuration
364
- * Export means the transfer of the properties and values of the given config to manifest entries or flex changes
365
- * @param application - V4 application (app.json config file)
366
- * @param manifest - Manifest of the given app
367
- * @param jsonSchema - App schema
368
- *
369
- * @returns ExportResults = object comprising the updated manifest and a list of flex changes
370
- */
371
- const exportApplicationV4 = (application, manifest, jsonSchema) => {
372
- const exportResults = defaultExportResult;
373
- exportResults.manifest = JSON.parse(JSON.stringify(manifest));
374
- const applicationV4 = Object.assign(new application_1.ApplicationV4(), application);
375
- //transform application settings
376
- applicationV4.settings = Object.assign(new application_1.AppSettings(), applicationV4.settings);
377
- for (const key in jsonSchema['definitions']['AppSettings']['properties']) {
378
- const syncRule = common_1.getReflectMetadata(applicationV4.settings, key);
379
- if (syncRule && syncRule.manifest) {
380
- const path = syncRule.manifest.path();
381
- const manifestSection = common_1.getManifestSectionByPathV4(exportResults.manifest, path);
382
- if (application['settings'] && application['settings'][key]) {
383
- manifestSection[key] = application['settings'][key];
384
- }
385
- else {
386
- delete manifestSection[key];
387
- }
388
- utils_1.deleteEmptyStructure(exportResults.manifest, path);
389
- }
390
- }
391
- //transform routing
392
- exportResults.manifest[v4_1.ManifestSection.ui5].routing = manifest_1.transformRoutingV4(application['home'], application['pages'], exportResults.manifest);
393
- // Update FCL data
394
- flexibleColumnLayout_1.updateFcl(exportResults.manifest[v4_1.ManifestSection.ui5], application);
395
- return exportResults;
396
- };
397
- /**
398
- * General API for the export of a V4 config page
399
- * Export means the transfer of the properties and values of the given config to manifest entries or flex changes
400
- * @param appId - Application ID
401
- * @param page - Current page (config)
402
- * @param manifest - Manifest of the given app
403
- * @param jsonSchema - App schema
404
- *
405
- * @returns ExportResults = object comprising the updated manifest and a list of flex changes
406
- */
407
- exports.exportPageV4 = (exportParametersV4, ui5Version) => {
408
- if (exportParametersV4[v4_1.SchemaType.ListReport]) {
409
- return exportListReportPage(exportParametersV4[v4_1.SchemaType.ListReport], ui5Version);
410
- }
411
- else if (exportParametersV4[v4_1.SchemaType.ObjectPage]) {
412
- return exportObjectPage(exportParametersV4[v4_1.SchemaType.ObjectPage], ui5Version);
413
- }
414
- else if (exportParametersV4[v4_1.SchemaType.Application]) {
415
- const { application, manifest, jsonSchema } = exportParametersV4[v4_1.SchemaType.Application];
416
- return exportApplicationV4(application, manifest, jsonSchema);
417
- }
418
- else if (exportParametersV4[v4_1.SchemaType.AnalyticalListPage]) {
419
- return exportAnalyticalListPage(exportParametersV4[v4_1.SchemaType.AnalyticalListPage], ui5Version);
420
- }
421
- };
422
- //# sourceMappingURL=export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/sync/v4/export/export.ts"],"names":[],"mappings":"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"}
@@ -1,44 +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 controls = __importStar(require("./controls"));
11
- const pages = __importStar(require("./pages"));
12
- const factory_1 = require("../../common/decoration/factory");
13
- const common_1 = require("../../../specification/common");
14
- /**
15
- * Note: If the key of the elements corresponds to the name of the definition in schema, you do not have to list it explicitly here.
16
- * The following tables only comprise entries for elements that do not follow the official pattern (yet)
17
- */
18
- const ALPElements = {
19
- //no deviations
20
- };
21
- const LRElements = {
22
- //no deviations
23
- };
24
- const OPElements = {
25
- Table: controls.ObjectPageTable,
26
- TableColumn: controls.ObjectPageTableColumn,
27
- ObjectPageCustomSectionView: controls.ObjectPageCustomSectionFragment,
28
- ActionAfterExecutionConfiguration: controls.ActionAfterExecutionConfigurationOP
29
- };
30
- const pageTypes = {
31
- [common_1.PageType.AnalyticalListPage]: ALPElements,
32
- [common_1.PageType.ListReport]: LRElements,
33
- [common_1.PageType.ObjectPage]: OPElements
34
- };
35
- /**
36
- * V4 specific factory class for creating instances of (reflect) metadata classes
37
- */
38
- class MetadataInstanceFactoryV4 extends factory_1.MetadataFactory {
39
- constructor() {
40
- super(controls, pages, pageTypes);
41
- }
42
- }
43
- exports.MetadataInstanceFactoryV4 = MetadataInstanceFactoryV4;
44
- //# sourceMappingURL=factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/sync/v4/export/factory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qDAAuC;AACvC,+CAAiC;AACjC,6DAA6F;AAC7F,0DAAyD;AAEzD;;;GAGG;AACH,MAAM,WAAW,GAAG;AAChB,eAAe;CAClB,CAAC;AAEF,MAAM,UAAU,GAAG;AACf,eAAe;CAClB,CAAC;AAEF,MAAM,UAAU,GAAG;IACf,KAAK,EAAE,QAAQ,CAAC,eAAe;IAC/B,WAAW,EAAE,QAAQ,CAAC,qBAAqB;IAC3C,2BAA2B,EAAE,QAAQ,CAAC,+BAA+B;IACrE,iCAAiC,EAAE,QAAQ,CAAC,mCAAmC;CAClF,CAAC;AAEF,MAAM,SAAS,GAAG;IACd,CAAC,iBAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW;IAC1C,CAAC,iBAAQ,CAAC,UAAU,CAAC,EAAE,UAAU;IACjC,CAAC,iBAAQ,CAAC,UAAU,CAAC,EAAE,UAAU;CACpC,CAAC;AAEF;;GAEG;AACH,MAAa,yBAA0B,SAAQ,yBAAe;IAC1D;QACI,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;CACJ;AAJD,8DAIC"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const v4_1 = require("../../../specification/v4");
4
- const manifest_1 = require("./manifest");
5
- const utils_1 = require("./utils");
6
- // Aggregations mapping for target levels
7
- // 0 - BeginColumnPages, 1 - MidColumnPages, 2 - EndColumnPages
8
- const fclAggregations = [
9
- v4_1.FlexibleColumnLayoutAggregations.BeginColumnPages,
10
- v4_1.FlexibleColumnLayoutAggregations.MidColumnPages,
11
- v4_1.FlexibleColumnLayoutAggregations.EndColumnPages
12
- ];
13
- /**
14
- * Recursive method which updates manifest routing to enable FCL support.
15
- * Method contains some parts like setting 'ThreeColumnsEndExpanded' to 2st->3rd page navigation - it was requested for demo purposes.
16
- * @param {SapUi5} manifestUI5 - SAPUI5 manifest data.
17
- * @param {Application} app - Project application.
18
- * @param {string} pageName - Page name which should be used to apply FCL.
19
- * @param {Array<string>} targetPages - Current array of target pages to join in.
20
- * For example to display two column FCL we have - ['1stLevelPage', '2ndLevelPage']
21
- * @param {number} level - Current navigation level.
22
- */
23
- const applyFCLRouting = (manifestUI5, app, pageName, targetPages = [], level = 0) => {
24
- const page = app.pages[pageName];
25
- const route = manifestUI5.routing.routes.find((route) => {
26
- return route.name === pageName;
27
- });
28
- // Update route
29
- if (typeof route.target === 'string') {
30
- // 1-3 level navigation is placed like [`1st Page`, `2nd Page`, `3rd Page`]
31
- // 4+ level navigation is placed as fullscreen - [`4th+n Page`]
32
- route.target = level <= 2 ? [...targetPages, route.target] : [route.target];
33
- }
34
- // Update target
35
- const target = manifestUI5.routing.targets[pageName];
36
- target.controlAggregation =
37
- 'controlAggregation' in page
38
- ? page.controlAggregation
39
- : fclAggregations[level]
40
- ? fclAggregations[level]
41
- : v4_1.FlexibleColumnLayoutAggregations.EndColumnPages;
42
- const pattern = route.pattern.replace(manifest_1.Constants.OptionalQuery, '');
43
- target.contextPattern = pattern ? `/${pattern}` : '';
44
- // Loop further pages
45
- if (page.navigation) {
46
- level++;
47
- for (const pageId in page.navigation) {
48
- applyFCLRouting(manifestUI5, app, pageId, route.target, level);
49
- }
50
- }
51
- };
52
- /**
53
- * Method enables FCL support by updating Manifest.
54
- * @param {SapUi5} manifestUI5 - SAPUI5 manifest data.
55
- * @param {Application} app - Project application.
56
- */
57
- const enableFcl = (manifestUI5, app) => {
58
- // Apply FCL
59
- if (!manifestUI5.routing.config) {
60
- manifestUI5.routing.config = {};
61
- }
62
- // Apply config with router class
63
- manifestUI5.routing.config.routerClass = v4_1.FIORI_FCL_ROUTER_CLASS;
64
- // Make changes in
65
- applyFCLRouting(manifestUI5, app, app.home);
66
- // Update 'rootView'
67
- const rootView = {
68
- viewName: v4_1.FIORI_FCL_ROOT_VIEW_NAME,
69
- type: v4_1.ViewTypes.XML,
70
- async: true,
71
- id: v4_1.FIORI_FCL_ROOT_ID
72
- };
73
- manifestUI5.rootView = manifestUI5.rootView ? Object.assign(Object.assign({}, manifestUI5.rootView), rootView) : rootView;
74
- // Added in scope of #523. Starting from SAPUI5 1.83+ - we need make sure that dependency to `sap.f` library is added to manifest.
75
- utils_1.updateDependencyLib(manifestUI5, v4_1.SAPUI5_DEPENDENCY_LIB_SAP_F);
76
- };
77
- /**
78
- * Method disables FCL support by updating Manifest.
79
- * @param {SapUi5} manifestUI5 - SAPUI5 manifest data.
80
- */
81
- const disableFcl = (sapui5) => {
82
- if (sapui5.rootView && sapui5.rootView.viewName === v4_1.FIORI_FCL_ROOT_VIEW_NAME) {
83
- // FCL is disabled and rootview name is equal to FCL ROOT VIEW, then remove rootview
84
- delete sapui5.rootView;
85
- }
86
- if (sapui5.routing) {
87
- if (sapui5.routing.config && sapui5.routing.config.routerClass === v4_1.FIORI_FCL_ROUTER_CLASS) {
88
- // Remove routing class
89
- delete sapui5.routing.config.routerClass;
90
- }
91
- const routes = sapui5.routing.routes || [];
92
- for (const route of routes) {
93
- if (route.target && Array.isArray(route.target)) {
94
- // In 'applyFCLRouting' we set property 'target' as Array
95
- // When FCL is disabled, property 'target' should not be an array anymore - resetting back.
96
- route.target = route.name;
97
- }
98
- }
99
- }
100
- };
101
- /**
102
- * Method updates Manifest depending on is FCL ON or OFF.
103
- * @param {SapUi5} manifestUI5 - SAPUI5 manifest data.
104
- * @param {Application} app - Project application.
105
- */
106
- exports.updateFcl = (manifestUI5, app) => {
107
- if (app.settings && app.settings.flexibleColumnLayout) {
108
- enableFcl(manifestUI5, app);
109
- }
110
- else {
111
- disableFcl(manifestUI5);
112
- }
113
- };
114
- //# sourceMappingURL=flexibleColumnLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flexibleColumnLayout.js","sourceRoot":"","sources":["../../../../../src/sync/v4/export/flexibleColumnLayout.ts"],"names":[],"mappings":"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"}