@sap/ux-specification 1.96.3 → 1.96.6

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 (446) hide show
  1. package/CHANGELOG.md +75 -4
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/styleDocu.css +7 -14
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  5. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  6. package/dist/documentation/v2/v2-ListReport.html +1 -1
  7. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  8. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  9. package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
  10. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  11. package/dist/documentation/v4/v4-ListReport.html +1 -1
  12. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  13. package/dist/index-min.js +1 -1
  14. package/dist/index-min.js.LICENSE.txt +0 -71
  15. package/dist/schemas/v2/AnalyticalListPageConfig.json +149 -15
  16. package/dist/schemas/v2/ListReportConfig.json +149 -15
  17. package/dist/schemas/v2/ObjectPageConfig.json +89 -33
  18. package/dist/schemas/v2/OverviewPageConfig.json +57 -16
  19. package/dist/schemas/v4/AnalyticalListPageConfig.json +122 -76
  20. package/dist/schemas/v4/ListReportConfig.json +122 -76
  21. package/dist/schemas/v4/ObjectPageConfig.json +150 -102
  22. package/dist/specification/v2/index-min.js +1 -1
  23. package/dist/specification/v4/index-min.js +1 -1
  24. package/dist/src/apiTypes.d.ts +6 -2
  25. package/dist/src/specification/v2/controls/Action.d.ts +19 -2
  26. package/dist/src/specification/v2/controls/FilterBar.d.ts +70 -22
  27. package/dist/src/specification/v2/controls/Footer.d.ts +20 -0
  28. package/dist/src/specification/v2/controls/Table.d.ts +8 -1
  29. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -8
  30. package/dist/src/specification/v2/controls/index.d.ts +1 -2
  31. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +2 -1
  32. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +2 -1
  33. package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +36 -2
  34. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +2 -2
  35. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.d.ts +2 -14
  36. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +7 -7
  37. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +21 -6
  38. package/dist/src/specification/v4/controls/Table.d.ts +1 -6
  39. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +59 -10
  40. package/dist/src/sync/common/decoration/control.d.ts +11 -1
  41. package/dist/src/sync/common/generate/objectPage.d.ts +9 -0
  42. package/dist/src/sync/common/generate/utils.d.ts +36 -1
  43. package/dist/src/sync/common/import/utils.d.ts +8 -1
  44. package/dist/src/sync/common/types.d.ts +30 -16
  45. package/dist/src/sync/common/utils.d.ts +11 -3
  46. package/dist/src/sync/v2/export/controls/Action.d.ts +15 -0
  47. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +18 -6
  48. package/dist/src/sync/v2/export/controls/Fragment.d.ts +1 -1
  49. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +2 -2
  50. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +5 -5
  51. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +18 -2
  52. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +2 -1
  53. package/dist/src/sync/v2/export/pages/ListReport.d.ts +2 -1
  54. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +2 -1
  55. package/dist/src/sync/v2/export/view-controller-generator.d.ts +16 -21
  56. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -5
  57. package/dist/src/sync/v2/generate/utils.d.ts +22 -11
  58. package/dist/src/sync/v2/import/common/index.d.ts +22 -4
  59. package/dist/src/sync/v2/import/pages/listReport.d.ts +0 -5
  60. package/dist/src/sync/v2/import/utils.d.ts +4 -6
  61. package/dist/src/sync/v2/types.d.ts +8 -1
  62. package/dist/src/sync/v4/application.d.ts +1 -1
  63. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +13 -4
  64. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +10 -2
  65. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +5 -1
  66. package/dist/src/sync/v4/export/exportCustomColumn.d.ts +13 -0
  67. package/dist/src/sync/v4/export/manifest.d.ts +1 -1
  68. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +2 -2
  69. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -2
  70. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  71. package/dist/src/sync/v4/export/types.d.ts +3 -0
  72. package/dist/src/sync/v4/generate/generate.d.ts +4 -2
  73. package/dist/src/sync/v4/generate/listReport.d.ts +7 -6
  74. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +2 -2
  75. package/dist/src/sync/v4/import/pages/listReport.d.ts +3 -3
  76. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  77. package/dist/src/sync/v4/utils/utils.d.ts +32 -1
  78. package/dist/test/unit/utils.test.d.ts +1 -1
  79. package/package.json +15 -16
  80. package/dist/scripts/extractDocu.js +0 -488
  81. package/dist/scripts/extractDocu.js.map +0 -1
  82. package/dist/scripts/runDocu.js +0 -577
  83. package/dist/scripts/runDocu.js.map +0 -1
  84. package/dist/scripts/spec.js +0 -114
  85. package/dist/scripts/spec.js.map +0 -1
  86. package/dist/scripts/to-json-schema.js +0 -130
  87. package/dist/scripts/to-json-schema.js.map +0 -1
  88. package/dist/src/api.js +0 -184
  89. package/dist/src/api.js.map +0 -1
  90. package/dist/src/apiTypes.js +0 -17
  91. package/dist/src/apiTypes.js.map +0 -1
  92. package/dist/src/extensionLogger.js +0 -39
  93. package/dist/src/extensionLogger.js.map +0 -1
  94. package/dist/src/i18n/i18n.js +0 -25
  95. package/dist/src/i18n/i18n.js.map +0 -1
  96. package/dist/src/index.js +0 -13
  97. package/dist/src/index.js.map +0 -1
  98. package/dist/src/project.js +0 -143
  99. package/dist/src/project.js.map +0 -1
  100. package/dist/src/specification/common/Application.js +0 -3
  101. package/dist/src/specification/common/Application.js.map +0 -1
  102. package/dist/src/specification/common/i18n.json +0 -1
  103. package/dist/src/specification/common/index.js +0 -10
  104. package/dist/src/specification/common/index.js.map +0 -1
  105. package/dist/src/specification/common/page.js +0 -33
  106. package/dist/src/specification/common/page.js.map +0 -1
  107. package/dist/src/specification/common/types.js +0 -20
  108. package/dist/src/specification/common/types.js.map +0 -1
  109. package/dist/src/specification/common/webapp/manifest/Manifest.js +0 -17
  110. package/dist/src/specification/common/webapp/manifest/Manifest.js.map +0 -1
  111. package/dist/src/specification/common/webapp/manifest/index.js +0 -8
  112. package/dist/src/specification/common/webapp/manifest/index.js.map +0 -1
  113. package/dist/src/specification/common/webapp/manifest/sapOvp.js +0 -9
  114. package/dist/src/specification/common/webapp/manifest/sapOvp.js.map +0 -1
  115. package/dist/src/specification/common/webapp/manifest/sapUi5.js +0 -14
  116. package/dist/src/specification/common/webapp/manifest/sapUi5.js.map +0 -1
  117. package/dist/src/specification/schemaAccess.js +0 -65
  118. package/dist/src/specification/schemaAccess.js.map +0 -1
  119. package/dist/src/specification/v2/ApplicationV2.js +0 -18
  120. package/dist/src/specification/v2/ApplicationV2.js.map +0 -1
  121. package/dist/src/specification/v2/controls/Action.js +0 -3
  122. package/dist/src/specification/v2/controls/Action.js.map +0 -1
  123. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js +0 -36
  124. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js.map +0 -1
  125. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js +0 -3
  126. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js.map +0 -1
  127. package/dist/src/specification/v2/controls/Card.js +0 -72
  128. package/dist/src/specification/v2/controls/Card.js.map +0 -1
  129. package/dist/src/specification/v2/controls/Facets.js +0 -3
  130. package/dist/src/specification/v2/controls/Facets.js.map +0 -1
  131. package/dist/src/specification/v2/controls/Field.js +0 -3
  132. package/dist/src/specification/v2/controls/Field.js.map +0 -1
  133. package/dist/src/specification/v2/controls/FilterBar.js +0 -54
  134. package/dist/src/specification/v2/controls/FilterBar.js.map +0 -1
  135. package/dist/src/specification/v2/controls/ObjectPageChart.js +0 -3
  136. package/dist/src/specification/v2/controls/ObjectPageChart.js.map +0 -1
  137. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +0 -11
  138. package/dist/src/specification/v2/controls/ObjectPageFooter.js +0 -3
  139. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +0 -1
  140. package/dist/src/specification/v2/controls/ObjectPageFooterAction.d.ts +0 -28
  141. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js +0 -3
  142. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js.map +0 -1
  143. package/dist/src/specification/v2/controls/ObjectPageForm.js +0 -3
  144. package/dist/src/specification/v2/controls/ObjectPageForm.js.map +0 -1
  145. package/dist/src/specification/v2/controls/ObjectPageHeader.js +0 -3
  146. package/dist/src/specification/v2/controls/ObjectPageHeader.js.map +0 -1
  147. package/dist/src/specification/v2/controls/ObjectPageLayout.js +0 -3
  148. package/dist/src/specification/v2/controls/ObjectPageLayout.js.map +0 -1
  149. package/dist/src/specification/v2/controls/ObjectPageSection.js +0 -13
  150. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +0 -1
  151. package/dist/src/specification/v2/controls/ObjectPageTable.js +0 -7
  152. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +0 -1
  153. package/dist/src/specification/v2/controls/ObjectPageToolBar.js +0 -3
  154. package/dist/src/specification/v2/controls/ObjectPageToolBar.js.map +0 -1
  155. package/dist/src/specification/v2/controls/Table.js +0 -42
  156. package/dist/src/specification/v2/controls/Table.js.map +0 -1
  157. package/dist/src/specification/v2/controls/ToolBar.js +0 -3
  158. package/dist/src/specification/v2/controls/ToolBar.js.map +0 -1
  159. package/dist/src/specification/v2/controls/index.js +0 -12
  160. package/dist/src/specification/v2/controls/index.js.map +0 -1
  161. package/dist/src/specification/v2/index.js +0 -10
  162. package/dist/src/specification/v2/index.js.map +0 -1
  163. package/dist/src/specification/v2/page.js +0 -3
  164. package/dist/src/specification/v2/page.js.map +0 -1
  165. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js +0 -3
  166. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js.map +0 -1
  167. package/dist/src/specification/v2/pages/ListReportConfig.js +0 -3
  168. package/dist/src/specification/v2/pages/ListReportConfig.js.map +0 -1
  169. package/dist/src/specification/v2/pages/ObjectPageConfig.js +0 -3
  170. package/dist/src/specification/v2/pages/ObjectPageConfig.js.map +0 -1
  171. package/dist/src/specification/v2/pages/OverviewPageConfig.js +0 -8
  172. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +0 -1
  173. package/dist/src/specification/v2/pages/index.js +0 -7
  174. package/dist/src/specification/v2/pages/index.js.map +0 -1
  175. package/dist/src/specification/v2/webapp/index.js +0 -7
  176. package/dist/src/specification/v2/webapp/index.js.map +0 -1
  177. package/dist/src/specification/v2/webapp/manifest/index.js +0 -8
  178. package/dist/src/specification/v2/webapp/manifest/index.js.map +0 -1
  179. package/dist/src/specification/v2/webapp/manifest/sapUi.js +0 -3
  180. package/dist/src/specification/v2/webapp/manifest/sapUi.js.map +0 -1
  181. package/dist/src/specification/v2/webapp/manifest/sapUi5.js +0 -10
  182. package/dist/src/specification/v2/webapp/manifest/sapUi5.js.map +0 -1
  183. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js +0 -7
  184. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js.map +0 -1
  185. package/dist/src/specification/v4/ApplicationV4.js +0 -3
  186. package/dist/src/specification/v4/ApplicationV4.js.map +0 -1
  187. package/dist/src/specification/v4/controls/FilterBar.js +0 -3
  188. package/dist/src/specification/v4/controls/FilterBar.js.map +0 -1
  189. package/dist/src/specification/v4/controls/ObjectPageFooter.js +0 -3
  190. package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +0 -1
  191. package/dist/src/specification/v4/controls/ObjectPageHeader.js +0 -3
  192. package/dist/src/specification/v4/controls/ObjectPageHeader.js.map +0 -1
  193. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.js +0 -7
  194. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.js.map +0 -1
  195. package/dist/src/specification/v4/controls/ObjectPageLayout.js +0 -8
  196. package/dist/src/specification/v4/controls/ObjectPageLayout.js.map +0 -1
  197. package/dist/src/specification/v4/controls/ObjectPageSection.js +0 -12
  198. package/dist/src/specification/v4/controls/ObjectPageSection.js.map +0 -1
  199. package/dist/src/specification/v4/controls/ObjectPageTable.js +0 -3
  200. package/dist/src/specification/v4/controls/ObjectPageTable.js.map +0 -1
  201. package/dist/src/specification/v4/controls/ObjectPageToolBar.js +0 -3
  202. package/dist/src/specification/v4/controls/ObjectPageToolBar.js.map +0 -1
  203. package/dist/src/specification/v4/controls/Table.js +0 -30
  204. package/dist/src/specification/v4/controls/Table.js.map +0 -1
  205. package/dist/src/specification/v4/controls/ToolBar.js +0 -8
  206. package/dist/src/specification/v4/controls/ToolBar.js.map +0 -1
  207. package/dist/src/specification/v4/controls/index.js +0 -11
  208. package/dist/src/specification/v4/controls/index.js.map +0 -1
  209. package/dist/src/specification/v4/index.js +0 -9
  210. package/dist/src/specification/v4/index.js.map +0 -1
  211. package/dist/src/specification/v4/page.js +0 -3
  212. package/dist/src/specification/v4/page.js.map +0 -1
  213. package/dist/src/specification/v4/pages/AnalyticalListPageConfig.js +0 -3
  214. package/dist/src/specification/v4/pages/AnalyticalListPageConfig.js.map +0 -1
  215. package/dist/src/specification/v4/pages/ListReportConfig.js +0 -9
  216. package/dist/src/specification/v4/pages/ListReportConfig.js.map +0 -1
  217. package/dist/src/specification/v4/pages/ObjectPageConfig.js +0 -8
  218. package/dist/src/specification/v4/pages/ObjectPageConfig.js.map +0 -1
  219. package/dist/src/specification/v4/pages/index.js +0 -8
  220. package/dist/src/specification/v4/pages/index.js.map +0 -1
  221. package/dist/src/specification/v4/webapp/index.js +0 -7
  222. package/dist/src/specification/v4/webapp/index.js.map +0 -1
  223. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js +0 -16
  224. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js.map +0 -1
  225. package/dist/src/specification/v4/webapp/manifest/index.js +0 -10
  226. package/dist/src/specification/v4/webapp/manifest/index.js.map +0 -1
  227. package/dist/src/specification/v4/webapp/manifest/sapUi5.js +0 -11
  228. package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +0 -1
  229. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js +0 -14
  230. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js.map +0 -1
  231. package/dist/src/sync/common/appProvider.js +0 -57
  232. package/dist/src/sync/common/appProvider.js.map +0 -1
  233. package/dist/src/sync/common/decoration/control.js +0 -180
  234. package/dist/src/sync/common/decoration/control.js.map +0 -1
  235. package/dist/src/sync/common/decoration/decorators.js +0 -43
  236. package/dist/src/sync/common/decoration/decorators.js.map +0 -1
  237. package/dist/src/sync/common/decoration/factory.js +0 -50
  238. package/dist/src/sync/common/decoration/factory.js.map +0 -1
  239. package/dist/src/sync/common/decoration/flex.js +0 -8
  240. package/dist/src/sync/common/decoration/flex.js.map +0 -1
  241. package/dist/src/sync/common/decoration/index.js +0 -9
  242. package/dist/src/sync/common/decoration/index.js.map +0 -1
  243. package/dist/src/sync/common/flexUtils.js +0 -95
  244. package/dist/src/sync/common/flexUtils.js.map +0 -1
  245. package/dist/src/sync/common/generate/index.js +0 -8
  246. package/dist/src/sync/common/generate/index.js.map +0 -1
  247. package/dist/src/sync/common/generate/objectPage.js +0 -336
  248. package/dist/src/sync/common/generate/objectPage.js.map +0 -1
  249. package/dist/src/sync/common/generate/utils.js +0 -205
  250. package/dist/src/sync/common/generate/utils.js.map +0 -1
  251. package/dist/src/sync/common/i18n.json +0 -21
  252. package/dist/src/sync/common/import/utils.js +0 -75
  253. package/dist/src/sync/common/import/utils.js.map +0 -1
  254. package/dist/src/sync/common/importProject.js +0 -351
  255. package/dist/src/sync/common/importProject.js.map +0 -1
  256. package/dist/src/sync/common/index.js +0 -15
  257. package/dist/src/sync/common/index.js.map +0 -1
  258. package/dist/src/sync/common/types.js +0 -82
  259. package/dist/src/sync/common/types.js.map +0 -1
  260. package/dist/src/sync/common/utils.js +0 -1056
  261. package/dist/src/sync/common/utils.js.map +0 -1
  262. package/dist/src/sync/i18n.js +0 -15
  263. package/dist/src/sync/i18n.js.map +0 -1
  264. package/dist/src/sync/v2/application.js +0 -190
  265. package/dist/src/sync/v2/application.js.map +0 -1
  266. package/dist/src/sync/v2/export/controls/Action.js +0 -74
  267. package/dist/src/sync/v2/export/controls/Action.js.map +0 -1
  268. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +0 -72
  269. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +0 -1
  270. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +0 -56
  271. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +0 -1
  272. package/dist/src/sync/v2/export/controls/Card.js +0 -655
  273. package/dist/src/sync/v2/export/controls/Card.js.map +0 -1
  274. package/dist/src/sync/v2/export/controls/Field.js +0 -32
  275. package/dist/src/sync/v2/export/controls/Field.js.map +0 -1
  276. package/dist/src/sync/v2/export/controls/FilterBar.js +0 -245
  277. package/dist/src/sync/v2/export/controls/FilterBar.js.map +0 -1
  278. package/dist/src/sync/v2/export/controls/FormAction.js +0 -95
  279. package/dist/src/sync/v2/export/controls/FormAction.js.map +0 -1
  280. package/dist/src/sync/v2/export/controls/Fragment.js +0 -401
  281. package/dist/src/sync/v2/export/controls/Fragment.js.map +0 -1
  282. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +0 -37
  283. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +0 -1
  284. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +0 -110
  285. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +0 -1
  286. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +0 -62
  287. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +0 -1
  288. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +0 -60
  289. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +0 -1
  290. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +0 -62
  291. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +0 -1
  292. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +0 -59
  293. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +0 -1
  294. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +0 -144
  295. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +0 -1
  296. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +0 -335
  297. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +0 -1
  298. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +0 -59
  299. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +0 -1
  300. package/dist/src/sync/v2/export/controls/Table.js +0 -679
  301. package/dist/src/sync/v2/export/controls/Table.js.map +0 -1
  302. package/dist/src/sync/v2/export/controls/TableColumn.js +0 -41
  303. package/dist/src/sync/v2/export/controls/TableColumn.js.map +0 -1
  304. package/dist/src/sync/v2/export/controls/ToolBar.js +0 -6
  305. package/dist/src/sync/v2/export/controls/ToolBar.js.map +0 -1
  306. package/dist/src/sync/v2/export/controls/index.js +0 -26
  307. package/dist/src/sync/v2/export/controls/index.js.map +0 -1
  308. package/dist/src/sync/v2/export/export.js +0 -592
  309. package/dist/src/sync/v2/export/export.js.map +0 -1
  310. package/dist/src/sync/v2/export/exportPage.js +0 -312
  311. package/dist/src/sync/v2/export/exportPage.js.map +0 -1
  312. package/dist/src/sync/v2/export/factory.js +0 -59
  313. package/dist/src/sync/v2/export/factory.js.map +0 -1
  314. package/dist/src/sync/v2/export/manifest.js +0 -117
  315. package/dist/src/sync/v2/export/manifest.js.map +0 -1
  316. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +0 -41
  317. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +0 -1
  318. package/dist/src/sync/v2/export/pages/ListReport.js +0 -38
  319. package/dist/src/sync/v2/export/pages/ListReport.js.map +0 -1
  320. package/dist/src/sync/v2/export/pages/ObjectPage.js +0 -100
  321. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +0 -1
  322. package/dist/src/sync/v2/export/pages/OverviewPage.js +0 -178
  323. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +0 -1
  324. package/dist/src/sync/v2/export/pages/index.js +0 -10
  325. package/dist/src/sync/v2/export/pages/index.js.map +0 -1
  326. package/dist/src/sync/v2/export/view-controller-generator.js +0 -157
  327. package/dist/src/sync/v2/export/view-controller-generator.js.map +0 -1
  328. package/dist/src/sync/v2/generate/analyticalListReport.js +0 -87
  329. package/dist/src/sync/v2/generate/analyticalListReport.js.map +0 -1
  330. package/dist/src/sync/v2/generate/generate.js +0 -96
  331. package/dist/src/sync/v2/generate/generate.js.map +0 -1
  332. package/dist/src/sync/v2/generate/index.js +0 -14
  333. package/dist/src/sync/v2/generate/index.js.map +0 -1
  334. package/dist/src/sync/v2/generate/listReport.js +0 -113
  335. package/dist/src/sync/v2/generate/listReport.js.map +0 -1
  336. package/dist/src/sync/v2/generate/objectPage.js +0 -556
  337. package/dist/src/sync/v2/generate/objectPage.js.map +0 -1
  338. package/dist/src/sync/v2/generate/overviewPage.js +0 -73
  339. package/dist/src/sync/v2/generate/overviewPage.js.map +0 -1
  340. package/dist/src/sync/v2/generate/utils.js +0 -347
  341. package/dist/src/sync/v2/generate/utils.js.map +0 -1
  342. package/dist/src/sync/v2/import/app/appProvider.js +0 -122
  343. package/dist/src/sync/v2/import/app/appProvider.js.map +0 -1
  344. package/dist/src/sync/v2/import/app/ovpProvider.js +0 -33
  345. package/dist/src/sync/v2/import/app/ovpProvider.js.map +0 -1
  346. package/dist/src/sync/v2/import/common/index.js +0 -213
  347. package/dist/src/sync/v2/import/common/index.js.map +0 -1
  348. package/dist/src/sync/v2/import/controls/table.js +0 -31
  349. package/dist/src/sync/v2/import/controls/table.js.map +0 -1
  350. package/dist/src/sync/v2/import/getPageType.js +0 -1
  351. package/dist/src/sync/v2/import/getPageType.js.map +0 -1
  352. package/dist/src/sync/v2/import/index.js +0 -11
  353. package/dist/src/sync/v2/import/index.js.map +0 -1
  354. package/dist/src/sync/v2/import/pages/analyticalListPage.js +0 -104
  355. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +0 -1
  356. package/dist/src/sync/v2/import/pages/listReport.js +0 -234
  357. package/dist/src/sync/v2/import/pages/listReport.js.map +0 -1
  358. package/dist/src/sync/v2/import/pages/objectPage.js +0 -620
  359. package/dist/src/sync/v2/import/pages/objectPage.js.map +0 -1
  360. package/dist/src/sync/v2/import/pages/overviewPage.js +0 -113
  361. package/dist/src/sync/v2/import/pages/overviewPage.js.map +0 -1
  362. package/dist/src/sync/v2/import/utils.js +0 -103
  363. package/dist/src/sync/v2/import/utils.js.map +0 -1
  364. package/dist/src/sync/v2/types.js +0 -26
  365. package/dist/src/sync/v2/types.js.map +0 -1
  366. package/dist/src/sync/v4/application.js +0 -80
  367. package/dist/src/sync/v4/application.js.map +0 -1
  368. package/dist/src/sync/v4/export/controls/FilterBar.js +0 -6
  369. package/dist/src/sync/v4/export/controls/FilterBar.js.map +0 -1
  370. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +0 -136
  371. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +0 -1
  372. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +0 -55
  373. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +0 -1
  374. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +0 -65
  375. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +0 -1
  376. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +0 -24
  377. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +0 -1
  378. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +0 -245
  379. package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +0 -1
  380. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +0 -87
  381. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +0 -1
  382. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +0 -21
  383. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +0 -1
  384. package/dist/src/sync/v4/export/controls/Table.js +0 -318
  385. package/dist/src/sync/v4/export/controls/Table.js.map +0 -1
  386. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -97
  387. package/dist/src/sync/v4/export/controls/TableColumn.js.map +0 -1
  388. package/dist/src/sync/v4/export/controls/ToolBar.js +0 -6
  389. package/dist/src/sync/v4/export/controls/ToolBar.js.map +0 -1
  390. package/dist/src/sync/v4/export/controls/ToolBarAction.js +0 -21
  391. package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +0 -1
  392. package/dist/src/sync/v4/export/controls/index.js +0 -18
  393. package/dist/src/sync/v4/export/controls/index.js.map +0 -1
  394. package/dist/src/sync/v4/export/export.js +0 -418
  395. package/dist/src/sync/v4/export/export.js.map +0 -1
  396. package/dist/src/sync/v4/export/factory.js +0 -44
  397. package/dist/src/sync/v4/export/factory.js.map +0 -1
  398. package/dist/src/sync/v4/export/flexibleColumnLayout.js +0 -114
  399. package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +0 -1
  400. package/dist/src/sync/v4/export/manifest.js +0 -208
  401. package/dist/src/sync/v4/export/manifest.js.map +0 -1
  402. package/dist/src/sync/v4/export/pages/AnalyticalListPage.js +0 -38
  403. package/dist/src/sync/v4/export/pages/AnalyticalListPage.js.map +0 -1
  404. package/dist/src/sync/v4/export/pages/ListReport.js +0 -33
  405. package/dist/src/sync/v4/export/pages/ListReport.js.map +0 -1
  406. package/dist/src/sync/v4/export/pages/ObjectPage.js +0 -39
  407. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +0 -1
  408. package/dist/src/sync/v4/export/pages/index.js +0 -9
  409. package/dist/src/sync/v4/export/pages/index.js.map +0 -1
  410. package/dist/src/sync/v4/export/types.js +0 -3
  411. package/dist/src/sync/v4/export/types.js.map +0 -1
  412. package/dist/src/sync/v4/export/utils.js +0 -26
  413. package/dist/src/sync/v4/export/utils.js.map +0 -1
  414. package/dist/src/sync/v4/generate/generate.js +0 -47
  415. package/dist/src/sync/v4/generate/generate.js.map +0 -1
  416. package/dist/src/sync/v4/generate/index.js +0 -10
  417. package/dist/src/sync/v4/generate/index.js.map +0 -1
  418. package/dist/src/sync/v4/generate/listReport.js +0 -96
  419. package/dist/src/sync/v4/generate/listReport.js.map +0 -1
  420. package/dist/src/sync/v4/generate/objectPage.js +0 -395
  421. package/dist/src/sync/v4/generate/objectPage.js.map +0 -1
  422. package/dist/src/sync/v4/import/app/appProvider.js +0 -313
  423. package/dist/src/sync/v4/import/app/appProvider.js.map +0 -1
  424. package/dist/src/sync/v4/import/fragment.js +0 -130
  425. package/dist/src/sync/v4/import/fragment.js.map +0 -1
  426. package/dist/src/sync/v4/import/index.js +0 -9
  427. package/dist/src/sync/v4/import/index.js.map +0 -1
  428. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -61
  429. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +0 -1
  430. package/dist/src/sync/v4/import/pages/listReport.js +0 -124
  431. package/dist/src/sync/v4/import/pages/listReport.js.map +0 -1
  432. package/dist/src/sync/v4/import/pages/objectPage.js +0 -231
  433. package/dist/src/sync/v4/import/pages/objectPage.js.map +0 -1
  434. package/dist/src/sync/v4/import/utils.js +0 -33
  435. package/dist/src/sync/v4/import/utils.js.map +0 -1
  436. package/dist/src/sync/v4/types.js +0 -3
  437. package/dist/src/sync/v4/types.js.map +0 -1
  438. package/dist/src/sync/v4/utils/StableIdHelper.js +0 -153
  439. package/dist/src/sync/v4/utils/StableIdHelper.js.map +0 -1
  440. package/dist/src/sync/v4/utils/utils.js +0 -94
  441. package/dist/src/sync/v4/utils/utils.js.map +0 -1
  442. package/dist/src/v2.js +0 -8
  443. package/dist/src/v2.js.map +0 -1
  444. package/dist/src/v4.js +0 -8
  445. package/dist/src/v4.js.map +0 -1
  446. package/dist/test/test-utils/metadataParser.d.ts +0 -19
@@ -1,592 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- // Note: the main functions or entry points reside in ./exportPage.ts
7
- const deepmerge_1 = __importDefault(require("deepmerge"));
8
- const controls_1 = require("./controls");
9
- const common_1 = require("../../common");
10
- const v2_1 = require("../../../v2");
11
- const application_1 = require("../application");
12
- const manifest_1 = require("./manifest");
13
- const utils_1 = require("../import/utils");
14
- /**
15
- * Create missing card from the manifest
16
- * @param key - card name
17
- * @param ovp - OVP section of manifest, to be updated
18
- */
19
- function createCard(key, ovp) {
20
- if (!ovp.cards) {
21
- ovp.cards = {};
22
- }
23
- if (!(key in ovp.cards)) {
24
- ovp.cards[key] = {};
25
- }
26
- }
27
- /**
28
- * Recursive function that searches for next avaialble id by increasing number by 1.
29
- * @param {boolean} sectionIds All ids in use.
30
- * @param {string} candidateId Candidate id to check if it is available.
31
- * @return {string} Id string.
32
- */
33
- function findAvailableId(sectionIds, candidateId) {
34
- if (sectionIds.includes(candidateId)) {
35
- const idParts = candidateId.split('|');
36
- if (idParts.length === 3) {
37
- idParts.push('1');
38
- }
39
- else {
40
- idParts[3] = (parseInt(idParts[3]) + 1).toString();
41
- }
42
- return findAvailableId(sectionIds, idParts.join('|'));
43
- }
44
- return candidateId;
45
- }
46
- /**
47
- * Private recursive function that traverses the content of the current object. It reads decorators and fills manifest entries and flex changes
48
- * @param configObject - current object to traverse
49
- * @param exportResults - object with all collected manifest entries and flex changes
50
- * @param jsonSchema - application specific schema
51
- * @param targetDefinition - the current entry point or definition in the app schema
52
- * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
53
- * @param pathHierarchy - elements of the path indicating the hierarchical level
54
- */
55
- function transferManifestEntriesOVP(configObject, exportResults, jsonSchema, targetDefinition, factory, pathHierarchy) {
56
- if (targetDefinition) {
57
- if (targetDefinition['properties']) {
58
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
59
- processProperties(configObject, exportResults, jsonSchema, targetDefinition['properties'], factory, pathHierarchy);
60
- }
61
- else if (targetDefinition['additionalProperties']) {
62
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
63
- processProperties(configObject, exportResults, jsonSchema, targetDefinition['additionalProperties'], factory, pathHierarchy);
64
- }
65
- }
66
- }
67
- exports.transferManifestEntriesOVP = transferManifestEntriesOVP;
68
- /**
69
- * Assign sync rules to {currentObject}
70
- *
71
- * @param {string} structureName - name of the complex structure in schema
72
- * @param {object} currentObject - the given part of the configuration
73
- * @param {string} defaultTypeName - name of the default type that shall be taken if no class is registered for structureName
74
- */
75
- function assignReflectMetadataRules(factory, structureName, currentObject, defaultTypeName) {
76
- return factory.createInstance(v2_1.PageType.OverviewPage, defaultTypeName, currentObject, structureName);
77
- }
78
- exports.assignReflectMetadataRules = assignReflectMetadataRules;
79
- function processAnyOfDefinitionsOfOVP(pathHierarchy, propertyList, jsonSchema, currentObject, configObject, factory, exportResults) {
80
- pathHierarchy.pop();
81
- let newConfigObject = currentObject;
82
- for (const anyOfKey in propertyList['anyOf']) {
83
- if (propertyList['anyOf'][anyOfKey].$ref) {
84
- const definitionArray = propertyList['anyOf'][anyOfKey].$ref.split(common_1.DEFINITION_LINK_PREFIX);
85
- const nextTargetDefinition = jsonSchema['definitions'][definitionArray[definitionArray.length - 1]];
86
- const cardSettingsType = pathHierarchy[1];
87
- currentObject = configObject[cardSettingsType];
88
- newConfigObject = assignReflectMetadataRules(factory, cardSettingsType, currentObject, 'CustomCard');
89
- transferManifestEntriesOVP(newConfigObject, exportResults, jsonSchema, nextTargetDefinition, factory, [
90
- ...pathHierarchy
91
- ]);
92
- }
93
- else if (typeof propertyList['anyOf'][anyOfKey] === 'object') {
94
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
95
- processProperties(configObject, exportResults, jsonSchema, propertyList['anyOf'][anyOfKey].properties, factory, [...pathHierarchy, 'anyOfObject']);
96
- }
97
- }
98
- return newConfigObject;
99
- }
100
- /**
101
- * Transfer manifest settings from config to manifest
102
- * @param syncRule
103
- * @param pathHierarchy
104
- * @param key
105
- * @param exportResults
106
- * @param currentObject
107
- * @param configObject
108
- * @param exceptionList
109
- */
110
- function transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject, exceptionList) {
111
- const path = syncRule.manifest.path([...pathHierarchy, key]);
112
- const manifestSection = manifest_1.getManifestSectionByPathV2(exportResults.manifest, path);
113
- if (key in v2_1.CardSettingsType || key === 'settings') {
114
- manifestSection['settings'] = deepmerge_1.default(manifestSection['settings'] || {}, currentObject || {}, {
115
- arrayMerge: common_1.arrayCombineMerge
116
- });
117
- }
118
- else if (currentObject !== undefined) {
119
- const exportHandler = syncRule.manifest.export;
120
- if (exportHandler !== false) {
121
- if (exportHandler && typeof exportHandler === 'function') {
122
- exportHandler(manifestSection, configObject, key);
123
- }
124
- else if (typeof currentObject === 'object' && !exceptionList.includes(key)) {
125
- // colorPalette is an exception as it can contain anything as per our schema, so just replace the object
126
- manifestSection[key] = deepmerge_1.default(manifestSection[key] || {}, currentObject || {}, {
127
- arrayMerge: common_1.arrayCombineMerge
128
- });
129
- }
130
- else {
131
- manifestSection[key] = currentObject;
132
- }
133
- }
134
- }
135
- else if (manifestSection[key] !== undefined) {
136
- delete manifestSection[key];
137
- }
138
- }
139
- function transferCards(currentObject, jsonSchema, factory, exportResults) {
140
- Object.keys(currentObject).forEach((cardKey) => {
141
- const cardType = currentObject[cardKey].template;
142
- //Determine target defintion
143
- let targetDefinition;
144
- if (!Object.values(v2_1.CardTemplateType).includes(cardType)) {
145
- targetDefinition = ['CustomCard'];
146
- }
147
- else {
148
- targetDefinition = Object.keys(jsonSchema['definitions']).filter((definition) => {
149
- var _a, _b, _c;
150
- return ((_c = (_b = (_a = jsonSchema['definitions'][definition].properties) === null || _a === void 0 ? void 0 : _a.template) === null || _b === void 0 ? void 0 : _b.enum) === null || _c === void 0 ? void 0 : _c.indexOf(currentObject[cardKey].template)) > -1;
151
- });
152
- }
153
- //Get metadata
154
- currentObject[cardKey] = assignReflectMetadataRules(factory, targetDefinition[0], currentObject[cardKey], 'CustomCard');
155
- createCard(cardKey, exportResults['manifest'][v2_1.ManifestSection.ovp]);
156
- transferManifestEntriesOVP(currentObject[cardKey], exportResults, jsonSchema, jsonSchema['definitions'][targetDefinition[0]], factory, [cardKey]);
157
- });
158
- //check for deletions:
159
- Object.keys(exportResults.manifest[v2_1.ManifestSection.ovp].cards).forEach((manifestCard) => {
160
- if (!currentObject[manifestCard]) {
161
- delete exportResults.manifest[v2_1.ManifestSection.ovp].cards[manifestCard];
162
- }
163
- });
164
- }
165
- /**
166
- * Recursive function that transfers the content of a list of properties of a configuration to the overall exportResults
167
- * @param configObject - the given part of the configuration
168
- * @param exportResults - overall result list, to be updated
169
- * @param jsonSchema - app-specific JSOn schema
170
- * @param propertyList - current property list of the config (properties or additional properties)
171
- * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
172
- * @param pathHierarchy - elements of the path indicating the hierarchical level
173
- */
174
- function processProperties(configObject, exportResults, jsonSchema, propertyList, factory, pathHierarchy) {
175
- let currentObject;
176
- let isAnyOfObject = false;
177
- let isObjectProperty = false;
178
- const exceptionList = ['colorPalette', 'tabs'];
179
- for (const key in propertyList) {
180
- currentObject = configObject[key];
181
- let syncRule = common_1.getReflectMetadata(configObject, key);
182
- if (pathHierarchy[pathHierarchy.length - 1] === 'anyOfObject') {
183
- isAnyOfObject = true;
184
- pathHierarchy.pop();
185
- }
186
- if (isAnyOfObject) {
187
- currentObject = configObject[pathHierarchy[pathHierarchy.length - 1]][key];
188
- syncRule = common_1.getReflectMetadata(configObject, pathHierarchy[pathHierarchy.length - 1]);
189
- }
190
- if (pathHierarchy[pathHierarchy.length - 1] === 'objectProperties') {
191
- isObjectProperty = true;
192
- pathHierarchy.pop();
193
- }
194
- if (isObjectProperty) {
195
- currentObject = configObject[pathHierarchy[pathHierarchy.length - 1]][key];
196
- syncRule = common_1.getReflectMetadata(configObject, pathHierarchy[pathHierarchy.length - 1]);
197
- }
198
- if (pathHierarchy[pathHierarchy.length - 1] === 'anyOf') {
199
- currentObject = processAnyOfDefinitionsOfOVP(pathHierarchy, propertyList, jsonSchema, currentObject, configObject, factory, exportResults);
200
- }
201
- if (syncRule === null || syncRule === void 0 ? void 0 : syncRule.manifest) {
202
- transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject, exceptionList);
203
- }
204
- if (currentObject && typeof currentObject === 'object' && propertyList[key]) {
205
- if (key === 'cards') {
206
- //inserts and updates:
207
- transferCards(currentObject, jsonSchema, factory, exportResults);
208
- }
209
- else if (propertyList[key].$ref) {
210
- const definitionArray = propertyList[key].$ref.split(common_1.DEFINITION_LINK_PREFIX);
211
- const nextTargetDefinition = jsonSchema['definitions'][definitionArray[definitionArray.length - 1]];
212
- currentObject = assignReflectMetadataRules(factory, key, currentObject, key === 'settings' ? 'CustomCard' : '');
213
- transferManifestEntriesOVP(currentObject, exportResults, jsonSchema, nextTargetDefinition, factory, [
214
- ...pathHierarchy,
215
- key
216
- ]);
217
- }
218
- else if (propertyList[key].anyOf) {
219
- processProperties(configObject, exportResults, jsonSchema, propertyList[key], factory, [
220
- ...pathHierarchy,
221
- key,
222
- 'anyOf'
223
- ]);
224
- }
225
- else if (propertyList[key]['properties'] !== undefined) {
226
- processProperties(configObject, exportResults, jsonSchema, propertyList[key].properties, factory, [
227
- ...pathHierarchy,
228
- key,
229
- 'objectProperties'
230
- ]);
231
- }
232
- }
233
- }
234
- }
235
- /**
236
- * Evaluates an export rule for a property, transfers to flex change
237
- * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
238
- * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
239
- * @param syncRule - export rule from the object classes decorator
240
- * @param configObject - current (sub)object of the configuration file
241
- * @param ids - list of parent & child ids
242
- * @param title - title from the app schema (comprising for instance the facet ID)
243
- * @param key - key of the given property
244
- */
245
- function evaluateFlexRule(transferParameters, breadcrumbs, syncRule, ids, title, configObject, key) {
246
- let localBreadcrumbs;
247
- if (breadcrumbs.length === 0) {
248
- //only added on top = page level, do not forward
249
- localBreadcrumbs = ['page'];
250
- }
251
- else {
252
- localBreadcrumbs = breadcrumbs;
253
- }
254
- const controlId = syncRule.flex.controlId(transferParameters.baseId, ids, localBreadcrumbs, syncRule.flex.controlType, title);
255
- const flexChange = common_1.fillFlexChangeContent(configObject, syncRule, transferParameters.ui5Version, key, controlId);
256
- const completeFlexChange = syncRule.flex.createFlexChange(flexChange, transferParameters.exportResults.manifest);
257
- const flexChangeExists = transferParameters.exportResults.flexChanges.find((change) => {
258
- let result = false, oldChange = JSON.parse(change);
259
- oldChange = {
260
- content: oldChange['content'],
261
- selector: oldChange['selector']
262
- };
263
- let newChange = JSON.parse(completeFlexChange);
264
- newChange = {
265
- content: newChange['content'],
266
- selector: newChange['selector']
267
- };
268
- if (JSON.stringify(oldChange) === JSON.stringify(newChange)) {
269
- result = true;
270
- }
271
- return result;
272
- });
273
- if (!flexChangeExists) {
274
- transferParameters.exportResults.flexChanges.push(completeFlexChange);
275
- }
276
- }
277
- /**
278
- * Evaluates an export rule for a property, transfers to manifest setting
279
- * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
280
- * @param syncRule - export rule from the object classes decorator
281
- * @param configObject - current (sub)object of the configuration file
282
- * @param ids - list of parent & child ids
283
- * @param title - title from the app schema (comprising for instance the facet ID)
284
- * @param key - key of the given property
285
- */
286
- function evaluateManifestRule(transferParameters, path, syncRule, key, configObject) {
287
- const manifestSection = manifest_1.getManifestSectionByPathV2(transferParameters.exportResults.manifest, path);
288
- const manifestKey = syncRule.manifest.key || key;
289
- if (configObject[key] !== undefined) {
290
- // In case of arrays we take over complete array
291
- if (!(transferParameters.propertyDefinition['type'] !== 'array' &&
292
- transferParameters.nextDefinition &&
293
- transferParameters.nextDefinition['targetDefinition'].type === 'object' &&
294
- transferParameters.nextDefinition['targetDefinition'].properties)) {
295
- const exportHandler = syncRule.manifest.export;
296
- if (exportHandler !== false) {
297
- if (exportHandler && typeof exportHandler === 'function') {
298
- exportHandler(manifestSection, configObject, key, manifestKey);
299
- }
300
- else {
301
- manifestSection[manifestKey] = configObject[key];
302
- }
303
- }
304
- }
305
- else if (transferParameters.propertyDefinition['type'] !== 'array' &&
306
- manifestSection[manifestKey] === undefined) {
307
- manifestSection[manifestKey] = {};
308
- }
309
- }
310
- else {
311
- if (Object.prototype.hasOwnProperty.call(manifestSection, manifestKey)) {
312
- delete manifestSection[manifestKey];
313
- }
314
- }
315
- common_1.deleteEmptyStructure(transferParameters.exportResults.manifest, path);
316
- }
317
- /**
318
- * Evaluates an export rule for a property or object, transfers to flex change or manifest setting
319
- * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
320
- * @param syncRule - export rule from the object classes decorator
321
- * @param configObject - current (sub)object of the configuration file
322
- * @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
323
- * @param ids - list of parent & child ids
324
- * @param title - title from the app schema (comprising for instance the facet ID)
325
- * @param key - key of the given property
326
- */
327
- function evaluateExportRule(transferParameters, syncRule, configObject, breadcrumbs, ids, title, key) {
328
- function getManifestPath() {
329
- let path;
330
- if (breadcrumbs[0] === 'sections') {
331
- if (breadcrumbs[1] === 'custom') {
332
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[2]);
333
- }
334
- else {
335
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, (title === null || title === void 0 ? void 0 : title.startsWith(common_1.FacetTitlePrefix)) ? title.split(common_1.FacetTitlePrefix)[1] : breadcrumbs[1], breadcrumbs[breadcrumbs.length - 1]);
336
- path = path.replace('/@', '::').replace(/VOCWITHCOLONS/g, '::com.sap.vocabularies');
337
- }
338
- }
339
- else if (breadcrumbs[0] === 'table') {
340
- if (breadcrumbs[1] === 'columns' && breadcrumbs[2] === 'custom') {
341
- path = syncRule.manifest.path(transferParameters.pageKeys, transferParameters.exportResults.manifest, configObject['tabKey']);
342
- }
343
- else {
344
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[breadcrumbs.length - 1]);
345
- }
346
- }
347
- else if (breadcrumbs[0] === 'keyPerformanceIndicators') {
348
- path = syncRule.manifest.path(transferParameters.pageKeys, transferParameters.exportResults.manifest, title);
349
- }
350
- else {
351
- path = syncRule.manifest.path(transferParameters.pageKeys);
352
- }
353
- return path;
354
- }
355
- //eliminate subsections' hierarchy
356
- let index = breadcrumbs.indexOf('subsections');
357
- while (index > -1) {
358
- breadcrumbs.splice(index - 1, 2);
359
- index = breadcrumbs.indexOf('subsections');
360
- }
361
- if (syncRule.flex) {
362
- evaluateFlexRule(transferParameters, breadcrumbs, syncRule, ids, title, configObject, key);
363
- }
364
- else if (syncRule.manifest) {
365
- const path = getManifestPath();
366
- evaluateManifestRule(transferParameters, path, syncRule, key, configObject);
367
- }
368
- }
369
- /**
370
- * Walks through the extensions registered in manifest and compares the columns of the fragment with the ones present in config.
371
- * If not present anymore, the extension column gets deleted from fragment.
372
- * @param path - path to extesnions section in manifest
373
- * @param exportResults - result structure, including the fragments that may get updated
374
- * @param entitySet - current entity set
375
- * @param config - current config JSON
376
- * @param sectionKey - section key
377
- * @param extensionType - extensionType
378
- * @param appId - application ID
379
- */
380
- function deleteObsoleteColumnsFromFragment(path, exportResults, entitySet, config, sectionKey, extensionType, appId) {
381
- const folderPath = path.substr(0, path.lastIndexOf('/'));
382
- const manifestSection = manifest_1.getManifestSectionByPathV2(exportResults.manifest, folderPath);
383
- const extensionPattern = path.substr(path.lastIndexOf('/') + 1);
384
- for (const key in manifestSection) {
385
- if (key.startsWith(extensionPattern)) {
386
- const keyParts = key.split('|');
387
- const keyEntitySet = keyParts[1];
388
- const keyTab = keyParts[2];
389
- if (keyEntitySet === entitySet) {
390
- //relevant extension. still present in config?
391
- const existingConfigEntries = config === null || config === void 0 ? void 0 : config.filter((column) => (column.tabKey === keyTab ||
392
- (keyTab === undefined && column.tabKey === '') ||
393
- (keyTab && sectionKey === keyTab)) &&
394
- column.extensionType === extensionType);
395
- if (!existingConfigEntries || existingConfigEntries.length === 0) {
396
- controls_1.deleteColumnFromFragment(manifestSection, key, appId, exportResults.fragments);
397
- // delete from manifest
398
- delete manifestSection[key];
399
- // delete cells entry
400
- if (key.startsWith(common_1.ViewTemplateType.ResponsiveTableColumnsExtension)) {
401
- const cellsPattern = key.replace(common_1.ViewTemplateType.ResponsiveTableColumnsExtension, common_1.ViewTemplateType.ResponsiveTableCellsExtension);
402
- controls_1.deleteColumnFromFragment(manifestSection, cellsPattern, appId, exportResults.fragments);
403
- // delete from manifest
404
- delete manifestSection[cellsPattern];
405
- }
406
- }
407
- }
408
- }
409
- }
410
- }
411
- /**
412
- * Transfers column extensions to manifest and fragment files
413
- * @param {TableCustomColumns} config - config part comprising the table custom columns
414
- * @param {ExportResults} exportResults - object with all collected manifest entries and flex changes
415
- * @param {string} appId - id of the Fiori elements app, which is usually namespace.appid
416
- * @param {object} schemaDefinition - Column schema definition
417
- * @param {SapUiAppPageV2} page - Page object from manifest.
418
- * @param {ObjectPageSectionData} [objectPageSectionData] - Object Page section's data containing target and key options.
419
- */
420
- function transferColumnExtensions(transferParameters, config, schemaDefinition, objectPageSectionData) {
421
- const sectionKey = objectPageSectionData ? objectPageSectionData.key : undefined;
422
- const sectionTarget = objectPageSectionData ? objectPageSectionData.target : undefined;
423
- const entitySet = sectionTarget || transferParameters.v2Page.entitySet;
424
- for (const extensionType in v2_1.TableColumnExtensionTypeV2) {
425
- const { path } = controls_1.getCustomColumnPath(transferParameters.v2Page, entitySet, sectionKey, extensionType);
426
- if (!path) {
427
- continue;
428
- }
429
- deleteObsoleteColumnsFromFragment(path, transferParameters.exportResults, entitySet, config, sectionKey, extensionType, transferParameters.appId);
430
- }
431
- //cluster existing custom columns by manifest path (or tab key)
432
- const cluster = {};
433
- if (config) {
434
- for (let index = 0; index < config.length; index++) {
435
- const customColumn = config[index];
436
- //verify that mandatory parameters are filled
437
- if (!customColumn['className'] ||
438
- !customColumn['fragmentName'] ||
439
- !customColumn['columnKey'] ||
440
- !customColumn['extensionType']) {
441
- continue;
442
- }
443
- //check fragment name
444
- if (schemaDefinition['properties']['fragmentName']['pattern']) {
445
- const namePattern = new RegExp(schemaDefinition['properties']['fragmentName']['pattern']);
446
- if (namePattern.test(customColumn['fragmentName']) === false) {
447
- continue;
448
- }
449
- }
450
- const { path, viewTemplateType } = controls_1.getCustomColumnPath(transferParameters.v2Page, entitySet, customColumn.tabKey || sectionKey, customColumn['extensionType']);
451
- if (!cluster[path]) {
452
- cluster[path] = {
453
- viewTemplateType: viewTemplateType,
454
- columns: []
455
- };
456
- }
457
- cluster[path].columns.push(customColumn);
458
- }
459
- //Export to fragment
460
- for (const path in cluster) {
461
- controls_1.exportToFragment(transferParameters.exportResults, path, cluster[path].columns, transferParameters.appId, cluster[path].viewTemplateType, transferParameters.logger);
462
- }
463
- }
464
- }
465
- /**
466
- * Recursive function that traverses the content of the current object. It reads decorators and fills manifest entries and flex changes
467
- * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
468
- * @param configSections - sections from configuration object
469
- * @param pageKey - page key
470
- * @param parentIds - array of collected parent ids
471
- * @param breadcrumbs - array of properties that we are currently processing. Required for instance for table column name
472
- * @param targetDefinition - the current entry point or definition in the app schema
473
- */
474
- function transferManifestExtensions(transferParameters, configSections, pageKey, parentIds, breadcrumbs, targetDefinition) {
475
- const sectionIds = [];
476
- const entity = pageKey.split('|')[1];
477
- if (!configSections) {
478
- return;
479
- }
480
- for (const section of configSections) {
481
- const id = findAvailableId(sectionIds, [section.relativePosition, entity, section.relatedFacet].join('|'));
482
- sectionIds.push(id);
483
- }
484
- for (let index = 0; index < sectionIds.length; index++) {
485
- const definition = targetDefinition['anyOf'].find((element) => element.$ref.includes(configSections[index].constructor.name));
486
- const definitionArray = definition.$ref.split(common_1.DEFINITION_LINK_PREFIX);
487
- const nextTargetDefinition = transferParameters.appSchema['definitions'][definitionArray[definitionArray.length - 1]];
488
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
489
- transferManifestEntriesAndFlexChange(transferParameters, configSections[index], parentIds, [...breadcrumbs, sectionIds[index]], nextTargetDefinition);
490
- }
491
- // Delete removed manifest entries
492
- const manifestSections = manifest_1.getManifestSectionByPathV2(transferParameters.exportResults.manifest, application_1.getViewExtensionsPath());
493
- for (const key in manifestSections) {
494
- if (utils_1.isAssociatedCustomSection(key, entity) && !sectionIds.includes(key)) {
495
- delete manifestSections[key];
496
- }
497
- }
498
- }
499
- /**
500
- * Method returns converted section id by resolving passed section id and title from schema.
501
- * @param {string[]} breadcrumbs Array of properties that we are currently processing. Required for instance for table column name.
502
- * @param {string} title Title from JSON schema, comprising the facet ID
503
- * @returns {string | undefined} Resolved section id.
504
- */
505
- function getSectionId(breadcrumbs, title) {
506
- let sectionId = undefined;
507
- for (let i = breadcrumbs.length - 1; i >= 0; i--) {
508
- if (breadcrumbs[i] === 'table') {
509
- sectionId = breadcrumbs[i - 1];
510
- break;
511
- }
512
- }
513
- return common_1.convertSectionId(sectionId, title);
514
- }
515
- function transferIndexTable(currentConfigObject, transferParameters, title, propertyDefinition, key, ids, breadcrumbs) {
516
- Object.keys(currentConfigObject).forEach((newKey) => {
517
- const nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject[newKey], propertyDefinition.additionalProperties, key, transferParameters.factory, transferParameters.pageType);
518
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
519
- transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, key], nextDefinition.targetDefinition, newKey);
520
- });
521
- }
522
- function transferCustomColumns(propertyDefinition, breadcrumbs, title, transferParameters, configObject, nextDefinition) {
523
- let objectPageSectionData;
524
- const target = utils_1.getTargetFromCustomColumnRef(propertyDefinition.$ref);
525
- if (target) {
526
- objectPageSectionData = {
527
- target,
528
- key: getSectionId(breadcrumbs, title)
529
- };
530
- }
531
- transferColumnExtensions(transferParameters, configObject === null || configObject === void 0 ? void 0 : configObject.custom, nextDefinition.targetDefinition, objectPageSectionData);
532
- }
533
- /**
534
- * Function that traverses the content of the current object. It reads decorators and fills manifest entries and flex changes
535
- * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
536
- * @param configObject - current (sub)object of the configuration file
537
- * @param parentIds - array of collected parent ids
538
- * @param breadcrumbs - array of properties that we are currently processing. Required for instance for table column name
539
- * @param schemaDefinition - the current entry point or definition in the app schema
540
- * @param title - title from the app schema (comprising for instance the facet ID)
541
- */
542
- function transferManifestEntriesAndFlexChange(transferParameters, configObject, parentIds, breadcrumbs, schemaDefinition, title) {
543
- let currentConfigObject;
544
- if (schemaDefinition && schemaDefinition['properties']) {
545
- for (const key in schemaDefinition['properties']) {
546
- currentConfigObject = configObject && configObject[key];
547
- const childId = configObject && common_1.getChildId(configObject, key);
548
- const ids = childId ? [...parentIds, childId] : parentIds;
549
- const syncRule = common_1.getReflectMetadata(configObject, key);
550
- const propertyDefinition = (transferParameters.propertyDefinition = schemaDefinition['properties'][key]);
551
- let nextDefinition = (transferParameters.nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject, propertyDefinition, key, transferParameters.factory, transferParameters.pageType));
552
- if (syncRule) {
553
- evaluateExportRule(transferParameters, syncRule, configObject, [...breadcrumbs], ids, title, key);
554
- }
555
- if (currentConfigObject && propertyDefinition.additionalProperties) {
556
- //index table
557
- transferIndexTable(currentConfigObject, transferParameters, title, propertyDefinition, key, ids, breadcrumbs);
558
- }
559
- if ((currentConfigObject === undefined || typeof currentConfigObject === 'object') && propertyDefinition) {
560
- if (propertyDefinition.type === 'array' &&
561
- (breadcrumbs[0] === 'sections' || breadcrumbs[0] === 'subsections') &&
562
- key === 'custom') {
563
- transferManifestExtensions(transferParameters, configObject[key], transferParameters.pageKeys[transferParameters.pageKeys.length - 1], ids, [...breadcrumbs, key], propertyDefinition.items);
564
- continue;
565
- }
566
- if (nextDefinition && key === 'custom') {
567
- transferCustomColumns(propertyDefinition, breadcrumbs, title, transferParameters, configObject, nextDefinition);
568
- continue;
569
- }
570
- else if (nextDefinition) {
571
- transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, key], nextDefinition.targetDefinition, nextDefinition.title);
572
- }
573
- else if (propertyDefinition['anyOf']) {
574
- propertyDefinition['anyOf'].forEach((element) => {
575
- nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject, element, key, transferParameters.factory, transferParameters.pageType);
576
- if (nextDefinition) {
577
- transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, key], nextDefinition.targetDefinition, nextDefinition.title);
578
- }
579
- });
580
- }
581
- }
582
- else if (propertyDefinition &&
583
- propertyDefinition.$ref === common_1.DEFINITION_LINK_PREFIX + 'TableCustomColumns') {
584
- //empty config ==> delete all given extensions
585
- transferColumnExtensions(transferParameters, [], transferParameters.appSchema['definitions']['TableCustomColumn']);
586
- continue;
587
- }
588
- }
589
- }
590
- }
591
- exports.transferManifestEntriesAndFlexChange = transferManifestEntriesAndFlexChange;
592
- //# sourceMappingURL=export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/sync/v2/export/export.ts"],"names":[],"mappings":"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"}