@sap/ux-specification 1.71.66 → 1.71.70

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 (476) hide show
  1. package/dist/documentation/runDocu-min.js +5 -9623
  2. package/dist/documentation/runDocu-min.js.map +1 -1
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/index-min.js +83 -24668
  9. package/dist/index-min.js.map +3 -3
  10. package/dist/schemas/v2/ListReportConfig.json +83 -83
  11. package/dist/scripts/extractDocu.d.ts +2 -0
  12. package/dist/scripts/extractDocu.d.ts.map +1 -0
  13. package/dist/scripts/extractDocu.js +506 -0
  14. package/dist/scripts/extractDocu.js.map +1 -0
  15. package/dist/scripts/runDocu.d.ts +2 -0
  16. package/dist/scripts/runDocu.d.ts.map +1 -0
  17. package/dist/scripts/runDocu.js +579 -0
  18. package/dist/scripts/runDocu.js.map +1 -0
  19. package/dist/scripts/spec.d.ts +2 -0
  20. package/dist/scripts/spec.d.ts.map +1 -0
  21. package/dist/scripts/spec.js +113 -0
  22. package/dist/scripts/spec.js.map +1 -0
  23. package/dist/scripts/to-json-schema.d.ts +11 -0
  24. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  25. package/dist/scripts/to-json-schema.js +134 -0
  26. package/dist/scripts/to-json-schema.js.map +1 -0
  27. package/dist/{types → src}/api.d.ts +1 -1
  28. package/dist/{types → src}/api.d.ts.map +1 -1
  29. package/dist/src/api.js +123 -0
  30. package/dist/src/api.js.map +1 -0
  31. package/dist/{types → src}/apiTypes.d.ts +9 -12
  32. package/dist/src/apiTypes.d.ts.map +1 -0
  33. package/dist/src/apiTypes.js +3 -0
  34. package/dist/src/apiTypes.js.map +1 -0
  35. package/dist/{types → src}/extensionLogger.d.ts +1 -1
  36. package/dist/{types → src}/extensionLogger.d.ts.map +1 -1
  37. package/dist/src/extensionLogger.js +36 -0
  38. package/dist/src/extensionLogger.js.map +1 -0
  39. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  40. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  41. package/dist/src/i18n/i18n.js +26 -0
  42. package/dist/src/i18n/i18n.js.map +1 -0
  43. package/dist/{types → src}/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +20 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/{types → src}/project.d.ts +2 -1
  48. package/dist/src/project.d.ts.map +1 -0
  49. package/dist/src/project.js +153 -0
  50. package/dist/src/project.js.map +1 -0
  51. package/dist/{types → src}/specification/schemaAccess.d.ts +3 -12
  52. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  53. package/dist/src/specification/schemaAccess.js +63 -0
  54. package/dist/src/specification/schemaAccess.js.map +1 -0
  55. package/dist/{types → src}/sync/common/appProvider.d.ts +4 -5
  56. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  57. package/dist/src/sync/common/appProvider.js +66 -0
  58. package/dist/src/sync/common/appProvider.js.map +1 -0
  59. package/dist/{types → src}/sync/common/decoration/control.d.ts +2 -2
  60. package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
  61. package/dist/src/sync/common/decoration/control.js +219 -0
  62. package/dist/src/sync/common/decoration/control.js.map +1 -0
  63. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  64. package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
  65. package/dist/src/sync/common/decoration/decorators.js +52 -0
  66. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  68. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  69. package/dist/src/sync/common/decoration/factory.js +49 -0
  70. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/flex.d.ts +1 -3
  72. package/dist/{types → src}/sync/common/decoration/flex.d.ts.map +1 -1
  73. package/dist/src/sync/common/decoration/flex.js +9 -0
  74. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  76. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  77. package/dist/src/sync/common/decoration/index.js +16 -0
  78. package/dist/src/sync/common/decoration/index.js.map +1 -0
  79. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -3
  80. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  81. package/dist/src/sync/common/flexUtils.js +107 -0
  82. package/dist/src/sync/common/flexUtils.js.map +1 -0
  83. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/generate/index.js +15 -0
  86. package/dist/src/sync/common/generate/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  88. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  89. package/dist/src/sync/common/generate/objectPage.js +357 -0
  90. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  92. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  93. package/dist/src/sync/common/generate/utils.js +383 -0
  94. package/dist/src/sync/common/generate/utils.js.map +1 -0
  95. package/dist/src/sync/common/i18n.json +21 -0
  96. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  97. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  98. package/dist/src/sync/common/import/utils.js +93 -0
  99. package/dist/src/sync/common/import/utils.js.map +1 -0
  100. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  101. package/dist/{types → src}/sync/common/importProject.d.ts.map +1 -1
  102. package/dist/src/sync/common/importProject.js +252 -0
  103. package/dist/src/sync/common/importProject.js.map +1 -0
  104. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  106. package/dist/src/sync/common/index.js +23 -0
  107. package/dist/src/sync/common/index.js.map +1 -0
  108. package/dist/{types → src}/sync/common/types.d.ts +6 -56
  109. package/dist/src/sync/common/types.d.ts.map +1 -0
  110. package/dist/src/sync/common/types.js +166 -0
  111. package/dist/src/sync/common/types.js.map +1 -0
  112. package/dist/{types → src}/sync/common/utils.d.ts +10 -11
  113. package/dist/src/sync/common/utils.d.ts.map +1 -0
  114. package/dist/src/sync/common/utils.js +1067 -0
  115. package/dist/src/sync/common/utils.js.map +1 -0
  116. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  117. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  118. package/dist/src/sync/i18n.js +28 -0
  119. package/dist/src/sync/i18n.js.map +1 -0
  120. package/dist/{types → src}/sync/v2/application.d.ts +6 -6
  121. package/dist/src/sync/v2/application.d.ts.map +1 -0
  122. package/dist/src/sync/v2/application.js +169 -0
  123. package/dist/src/sync/v2/application.js.map +1 -0
  124. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  125. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  126. package/dist/src/sync/v2/export/controls/Action.js +129 -0
  127. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  128. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +9 -0
  129. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  130. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +64 -0
  131. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  132. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  133. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  134. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +57 -0
  135. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  136. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  137. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/Card.js +656 -0
  139. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  141. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/src/sync/v2/export/controls/Field.js +42 -0
  143. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/FilterBar.d.ts +3 -3
  145. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/FilterBar.js +108 -0
  147. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  149. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/FormAction.js +129 -0
  151. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  152. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  153. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  155. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  156. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  157. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +111 -0
  159. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  160. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  161. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +63 -0
  163. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +9 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +62 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +9 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +63 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  172. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  173. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +60 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +200 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  180. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +41 -0
  181. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +279 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +62 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  188. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +22 -23
  189. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/Table.js +593 -0
  191. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +38 -0
  193. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/TableColumn.js +173 -0
  195. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  196. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  197. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ToolBar.js +7 -0
  199. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  201. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  202. package/dist/src/sync/v2/export/controls/index.js +32 -0
  203. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  205. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  206. package/dist/src/sync/v2/export/export.js +678 -0
  207. package/dist/src/sync/v2/export/export.js.map +1 -0
  208. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  209. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/exportPage.js +304 -0
  211. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  214. package/dist/src/sync/v2/export/factory.js +68 -0
  215. package/dist/src/sync/v2/export/factory.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/manifest.d.ts +3 -3
  217. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  218. package/dist/src/sync/v2/export/manifest.js +173 -0
  219. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  220. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  221. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +43 -0
  223. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  224. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  225. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  226. package/dist/src/sync/v2/export/pages/ListReport.js +40 -0
  227. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  228. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +15 -0
  229. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/pages/ObjectPage.js +75 -0
  231. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  232. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +3 -3
  233. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/OverviewPage.js +119 -0
  235. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  236. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  237. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  238. package/dist/src/sync/v2/export/pages/index.js +17 -0
  239. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  240. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  241. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/view-controller-generator.js +150 -0
  243. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  245. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  246. package/dist/src/sync/v2/generate/analyticalListReport.js +84 -0
  247. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  249. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  250. package/dist/src/sync/v2/generate/generate.js +100 -0
  251. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  253. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  254. package/dist/src/sync/v2/generate/index.js +15 -0
  255. package/dist/src/sync/v2/generate/index.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +2 -2
  257. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/listReport.js +113 -0
  259. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/objectPage.js +539 -0
  263. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  265. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  266. package/dist/src/sync/v2/generate/overviewPage.js +71 -0
  267. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  269. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/utils.js +536 -0
  271. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  273. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  274. package/dist/src/sync/v2/import/app/appProvider.js +142 -0
  275. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  277. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  278. package/dist/src/sync/v2/import/app/ovpProvider.js +33 -0
  279. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  281. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  282. package/dist/src/sync/v2/import/common/index.js +400 -0
  283. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  285. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/controls/table.js +34 -0
  287. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  289. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  290. package/dist/src/sync/v2/import/getPageType.js +1 -0
  291. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  293. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  294. package/dist/src/sync/v2/import/index.js +18 -0
  295. package/dist/src/sync/v2/import/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  297. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/pages/analyticalListPage.js +120 -0
  299. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  301. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  302. package/dist/src/sync/v2/import/pages/listReport.js +144 -0
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  305. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  306. package/dist/src/sync/v2/import/pages/objectPage.js +741 -0
  307. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  309. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/overviewPage.js +105 -0
  311. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  313. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/utils.js +169 -0
  315. package/dist/src/sync/v2/import/utils.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  317. package/dist/src/sync/v2/types.d.ts.map +1 -0
  318. package/dist/src/sync/v2/types.js +37 -0
  319. package/dist/src/sync/v2/types.js.map +1 -0
  320. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +1 -1
  321. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  322. package/dist/src/sync/v4/utils/StableIdHelper.js +145 -0
  323. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  324. package/package.json +14 -14
  325. package/CHANGELOG.md +0 -1079
  326. package/dist/types/apiTypes.d.ts.map +0 -1
  327. package/dist/types/index.d.ts.map +0 -1
  328. package/dist/types/project.d.ts.map +0 -1
  329. package/dist/types/specification/common/Application.d.ts +0 -16
  330. package/dist/types/specification/common/Application.d.ts.map +0 -1
  331. package/dist/types/specification/common/index.d.ts +0 -6
  332. package/dist/types/specification/common/index.d.ts.map +0 -1
  333. package/dist/types/specification/common/page.d.ts +0 -42
  334. package/dist/types/specification/common/page.d.ts.map +0 -1
  335. package/dist/types/specification/common/types.d.ts +0 -21
  336. package/dist/types/specification/common/types.d.ts.map +0 -1
  337. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -49
  338. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  339. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  340. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  341. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  342. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  343. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -34
  344. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  345. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  346. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -31
  347. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  348. package/dist/types/specification/v2/controls/Action.d.ts +0 -83
  349. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  350. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -55
  351. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  352. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  353. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  354. package/dist/types/specification/v2/controls/Card.d.ts +0 -626
  355. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  356. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  357. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  358. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  359. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  360. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -81
  361. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  362. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  363. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  364. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  365. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  366. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  367. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  368. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -35
  369. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  370. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  371. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  372. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  373. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  374. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -131
  375. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  376. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  377. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  378. package/dist/types/specification/v2/controls/Table.d.ts +0 -402
  379. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  380. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  381. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  382. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  383. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  384. package/dist/types/specification/v2/index.d.ts +0 -6
  385. package/dist/types/specification/v2/index.d.ts.map +0 -1
  386. package/dist/types/specification/v2/page.d.ts +0 -8
  387. package/dist/types/specification/v2/page.d.ts.map +0 -1
  388. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  389. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  390. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  391. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  392. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -25
  393. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  394. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -83
  395. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  396. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  397. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  398. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  399. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  400. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  401. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  402. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  403. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  404. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  405. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  406. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  407. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  408. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  409. package/dist/types/sync/common/decoration/control.d.ts.map +0 -1
  410. package/dist/types/sync/common/decoration/decorators.d.ts.map +0 -1
  411. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  412. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  413. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  414. package/dist/types/sync/common/types.d.ts.map +0 -1
  415. package/dist/types/sync/common/utils.d.ts.map +0 -1
  416. package/dist/types/sync/v2/application.d.ts.map +0 -1
  417. package/dist/types/sync/v2/export/controls/Action.d.ts +0 -29
  418. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  419. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -9
  420. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  421. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  422. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  423. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  424. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  425. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  426. package/dist/types/sync/v2/export/controls/FormAction.d.ts +0 -16
  427. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  428. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  429. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  430. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  431. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -9
  432. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  433. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -9
  434. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  435. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -9
  436. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  437. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  438. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  439. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  440. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  441. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -43
  442. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  443. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -9
  444. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  445. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  446. package/dist/types/sync/v2/export/controls/TableColumn.d.ts +0 -39
  447. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  448. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  449. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  450. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  451. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  452. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  453. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  454. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  455. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  456. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -16
  457. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  458. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  459. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  460. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  461. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  462. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  463. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  464. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  465. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  466. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  467. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  468. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  469. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  470. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  471. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  472. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  473. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  474. package/dist/types/sync/v2/types.d.ts.map +0 -1
  475. package/dist/types/v2.d.ts +0 -3
  476. package/dist/types/v2.d.ts.map +0 -1
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPages = exports.V2AppProvider = void 0;
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const appProvider_1 = require("../../../common/appProvider");
6
+ const common_1 = require("../common");
7
+ const listReport_1 = require("../pages/listReport");
8
+ const analyticalListPage_1 = require("../pages/analyticalListPage");
9
+ const objectPage_1 = require("../pages/objectPage");
10
+ const application_1 = require("../../application");
11
+ const common_2 = require("../../../common");
12
+ /**
13
+ * Method which generates id for passed page
14
+ * @param page - Generic Page object.
15
+ * @returns {string} Generated page id
16
+ */
17
+ function generateId(page) {
18
+ return common_2.generatePageId(common_2.getPageTypeV2(page.component.name), page.entitySet);
19
+ }
20
+ function getPageConfigsAndNavigations(page, v2Page, flex, manifest, schemas, fragments, pages) {
21
+ page.navigation = {};
22
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
23
+ const targets = getPagesAndConfigs(v2Page.pages, flex, manifest, schemas, fragments);
24
+ for (const pageId in targets) {
25
+ const target = targets[pageId];
26
+ pages[pageId] = target;
27
+ }
28
+ for (const v2ChildPageName in v2Page.pages) {
29
+ const id = generateId(v2Page.pages[v2ChildPageName]);
30
+ page.navigation[id] = targets[id].navigationProperty
31
+ ? `${page.entitySet}.${targets[id].navigationProperty}`
32
+ : page.entitySet;
33
+ }
34
+ }
35
+ /**
36
+ * Sets up page definitions, including the configurations for them
37
+ * @param {SapUiAppPagesV2} v2Pages - lisr of all pages
38
+ * @param flex - list of flexibility changes
39
+ * @param manifest - manifest.json of the app
40
+ * @param schemas - list of all app-specific schemas
41
+ * @param fragments - list of fragments
42
+ * @param {ExtensionLogger} logger - logger for messages
43
+ * @returns an index table of page definitions
44
+ */
45
+ function getPagesAndConfigs(v2Pages, flex, manifest, schemas, fragments, logger) {
46
+ const pages = {};
47
+ for (const v2PageName in v2Pages) {
48
+ const v2Page = v2Pages[v2PageName];
49
+ const id = generateId(v2Page);
50
+ const page = {
51
+ pageType: common_2.getPageTypeV2(v2Page.component.name),
52
+ entitySet: v2Page.entitySet,
53
+ ...(v2Page.navigationProperty && { navigationProperty: v2Page.navigationProperty }),
54
+ ...(v2Page.defaultLayoutType && { defaultLayoutType: v2Page.defaultLayoutType })
55
+ };
56
+ pages[id] = page;
57
+ // Get the JSON schema for the page. If no page specific schema exists, fall back top the generic schema for the page type
58
+ const jsonSchema = Object.keys(schemas).find((element) => element.includes(id)) ||
59
+ Object.keys(schemas).find((element) => element.includes(id.slice(0, -1))) ||
60
+ Object.keys(schemas).find((element) => element.includes(page.pageType));
61
+ // convert settings to config
62
+ if (jsonSchema) {
63
+ if (page.pageType === ux_specification_types_1.PageType.ListReport) {
64
+ const importParameters = {
65
+ manifest,
66
+ flex,
67
+ jsonSchema: schemas[jsonSchema],
68
+ fragments,
69
+ logger
70
+ };
71
+ page.config = listReport_1.createListReportConfig(importParameters);
72
+ }
73
+ else if (page.pageType === ux_specification_types_1.PageType.AnalyticalListPage) {
74
+ const importParameters = {
75
+ manifest,
76
+ flex,
77
+ jsonSchema: schemas[jsonSchema],
78
+ fragments,
79
+ logger
80
+ };
81
+ page.config = analyticalListPage_1.createAnalyticalListPageConfig(importParameters);
82
+ }
83
+ else {
84
+ const importParameters = {
85
+ manifest,
86
+ flex,
87
+ jsonSchema: schemas[jsonSchema],
88
+ entitySet: page.entitySet,
89
+ fragments,
90
+ logger
91
+ };
92
+ page.config = objectPage_1.createObjectPageConfigV2(importParameters);
93
+ }
94
+ }
95
+ if (v2Page.pages) {
96
+ getPageConfigsAndNavigations(page, v2Page, flex, manifest, schemas, fragments, pages);
97
+ }
98
+ }
99
+ return pages;
100
+ }
101
+ /**
102
+ * The V2AppProvider collects all the app information for a Fiori Elements V2 app
103
+ */
104
+ class V2AppProvider extends appProvider_1.AppProvider {
105
+ constructor(manifest, changes, schemas, fragments, logger) {
106
+ const v2Pages = manifest[ux_specification_types_1.ManifestSection.generic].pages;
107
+ const pageKey = Object.keys(v2Pages)[0];
108
+ // Import settings
109
+ const appSettings = new application_1.AppSettings();
110
+ const schemaFile = common_2.getSchemaFilePath(ux_specification_types_1.SchemaType.Application);
111
+ const appSchema = schemas[schemaFile.filename];
112
+ common_1.transferSettingsOfObject(appSettings, manifest, appSchema['definitions']['AppSettings'], undefined);
113
+ // Call base
114
+ super(manifest, schemas, generateId(v2Pages[pageKey]), getPagesAndConfigs(v2Pages, changes, manifest, schemas, fragments, logger), ux_specification_types_1.FioriElementsVersion.v2, appSettings);
115
+ }
116
+ }
117
+ exports.V2AppProvider = V2AppProvider;
118
+ /**
119
+ * Collects all pages of a V2 app from the manifest, by traversing the V2 page hierarchy.
120
+ * @param v2Pages - entry point = complex page definition in manifest
121
+ * @param componentName - Component name
122
+ * @returns index table of pages
123
+ */
124
+ function getPages(v2Pages, componentName) {
125
+ const pages = {};
126
+ for (const v2PageName in v2Pages) {
127
+ const v2Page = v2Pages[v2PageName];
128
+ if (v2Page.component.name === componentName) {
129
+ const id = generateId(v2Page);
130
+ pages[id] = v2Page;
131
+ }
132
+ if (componentName === ux_specification_types_1.v2.FE_TEMPLATE_V2_OBJECT_PAGE && v2Page.pages) {
133
+ const subPages = getPages(v2Page.pages, componentName);
134
+ for (const subPageId in subPages) {
135
+ pages[subPageId] = subPages[subPageId];
136
+ }
137
+ }
138
+ }
139
+ return pages;
140
+ }
141
+ exports.getPages = getPages;
142
+ //# sourceMappingURL=appProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appProvider.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/import/app/appProvider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Manifest } from '../../../../specification/common';
1
+ import type { Manifest } from '@sap/ux-specification-types';
2
2
  import { AppProvider } from '../../../common/appProvider';
3
3
  import type { Files } from '../../../common';
4
4
  import type { ExtensionLogger } from '../../../..';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ovpProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/import/app/ovpProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAM,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAkC,MAAM,aAAa,CAAC;AAEnF,qBAAa,aAAc,SAAQ,WAAW;gBACvB,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,eAAe;CAyBlF"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.V2OvpProvider = void 0;
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const appProvider_1 = require("../../../common/appProvider");
6
+ const common_1 = require("../common");
7
+ const overviewPage_1 = require("../pages/overviewPage");
8
+ const application_1 = require("../../application");
9
+ const common_2 = require("../../../common");
10
+ class V2OvpProvider extends appProvider_1.AppProvider {
11
+ constructor(manifest, schemas, logger) {
12
+ const pages = {};
13
+ const sapOvp = manifest[ux_specification_types_1.ManifestSection.ovp];
14
+ const appSettings = new application_1.AppSettings();
15
+ const schemaFile = common_2.getSchemaFilePath(ux_specification_types_1.SchemaType.Application);
16
+ common_1.transferSettingsOfObject(appSettings, manifest, schemas[schemaFile.filename]['definitions']['AppSettings'], undefined);
17
+ const jsonSchema = Object.keys(schemas).find((element) => element.includes(ux_specification_types_1.PageType.OverviewPage));
18
+ const parameters = {
19
+ manifest,
20
+ jsonSchema: schemas[jsonSchema]
21
+ };
22
+ const page = {
23
+ pageType: ux_specification_types_1.PageType.OverviewPage,
24
+ config: overviewPage_1.createOverviewPageConfig(parameters),
25
+ entitySet: sapOvp.globalFilterEntitySet
26
+ };
27
+ const id = common_2.generatePageId(page.pageType, page.entitySet);
28
+ pages[id] = page;
29
+ super(manifest, schemas, id, pages, ux_specification_types_1.FioriElementsVersion.v2, appSettings, logger);
30
+ }
31
+ }
32
+ exports.V2OvpProvider = V2OvpProvider;
33
+ //# sourceMappingURL=ovpProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ovpProvider.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/import/app/ovpProvider.ts"],"names":[],"mappings":";;;AACA,wEAA0G;AAC1G,6DAA0D;AAC1D,sCAAqD;AACrD,wDAAiE;AACjE,mDAAgD;AAEhD,4CAAoE;AAGpE,MAAa,aAAc,SAAQ,yBAAW;IAC1C,YAAmB,QAAkB,EAAE,OAAc,EAAE,MAAwB;QAC3E,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,wCAAe,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,0BAAiB,CAAC,mCAAU,CAAC,WAAW,CAAC,CAAC;QAC7D,iCAAwB,CACpB,WAAW,EACX,QAAQ,EACR,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,EAC1D,SAAS,CACZ,CAAC;QACF,MAAM,UAAU,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3G,MAAM,UAAU,GAAmC;YAC/C,QAAQ;YACR,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;SAClC,CAAC;QACF,MAAM,IAAI,GAAY;YAClB,QAAQ,EAAE,iCAAQ,CAAC,YAAY;YAC/B,MAAM,EAAE,uCAAwB,CAAC,UAAU,CAAC;YAC5C,SAAS,EAAE,MAAM,CAAC,qBAAqB;SAC1C,CAAC;QACF,MAAM,EAAE,GAAG,uBAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACjB,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;CACJ;AA1BD,sCA0BC"}
@@ -1,11 +1,8 @@
1
- import { PageType } from '../../../../specification/common/page';
2
- import type { ListReportConfig, AnalyticalListPageConfig, ObjectPageConfig } from '../../../../specification/v2/pages';
1
+ import { v2, PageType } from '@sap/ux-specification-types';
3
2
  import type { FileData, ObjectPageSectionData } from '../../../common';
4
- import type { Manifest } from '../../../../specification/common/webapp/manifest/Manifest';
5
- import type { SapUiAppPageV2 } from '../../../../specification/v2';
6
- import { TableTypeV2 } from '../../../../specification/v2';
3
+ import type { Manifest } from '@sap/ux-specification-types';
7
4
  import type { ExtensionLogger } from '../../../../apiTypes';
8
- export declare type LROPConfigsType = ListReportConfig | AnalyticalListPageConfig | ObjectPageConfig;
5
+ export declare type LROPConfigsType = v2.ListReportConfigV2 | v2.AnalyticalListPageConfigV2 | v2.ObjectPageConfigV2;
9
6
  export declare function convertActionKey(actionProperty: string): string;
10
7
  /**
11
8
  * Unescapes the selector ID of a flex change
@@ -20,7 +17,7 @@ export declare function convertSelector(selectorId: string): string;
20
17
  * @param {object} appSchema - application specific schema
21
18
  * @param {ExtensionLogger} logger - Logger class for logging messages
22
19
  */
23
- export declare function addFlex(config: ListReportConfig | AnalyticalListPageConfig, changeString: string, appSchema: object, logger?: ExtensionLogger): void;
20
+ export declare function addFlex(config: v2.ListReportConfigV2 | v2.AnalyticalListPageConfigV2, changeString: string, appSchema: object, logger?: ExtensionLogger): void;
24
21
  /**
25
22
  * Transfers settings from manifest to object page config
26
23
  * @param configPart - part of the configuration to be filled
@@ -39,7 +36,7 @@ export declare function transferSettingsOfObject(configPart: {
39
36
  * @param manifest - manifest.json file content of the app
40
37
  * @param pageKey - key of the page in the manifest
41
38
  */
42
- export declare function determineTableType(manifest: Manifest, pageKey: string): TableTypeV2;
39
+ export declare function determineTableType(manifest: Manifest, pageKey: string): v2.TableTypeV2;
43
40
  /**
44
41
  * Adds custom column information from manifest and fragments to the configuration
45
42
  * @param config - configuration, to be enhanced
@@ -49,5 +46,5 @@ export declare function determineTableType(manifest: Manifest, pageKey: string):
49
46
  * @param fragments - list of all fragments
50
47
  * @param objectPageSectionData - optional information, for object page
51
48
  */
52
- export declare function addFragments(config: LROPConfigsType, manifest: object, v2Page: SapUiAppPageV2, pageType: PageType, fragments?: FileData[], objectPageSectionData?: ObjectPageSectionData): void;
49
+ export declare function addFragments(config: LROPConfigsType, manifest: object, v2Page: v2.SapUiAppPageV2, pageType: PageType, fragments?: FileData[], objectPageSectionData?: ObjectPageSectionData): void;
53
50
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/import/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,EAAE,EAEF,QAAQ,EAGX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAoB,QAAQ,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAUzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,oBAAY,eAAe,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,0BAA0B,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAE5G,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,UAEtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AA0LD;;;;;;GAMG;AACH,wBAAgB,OAAO,CACnB,MAAM,EAAE,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,0BAA0B,EAC7D,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,eAAe,GACzB,IAAI,CA6CN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,MAAM,GAChB,IAAI,CAkBN;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC,WAAW,CActF;AA4JD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CACxB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,qBAAqB,CAAC,EAAE,qBAAqB,GAC9C,IAAI,CAqBN"}
@@ -0,0 +1,400 @@
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
+ exports.addFragments = exports.determineTableType = exports.transferSettingsOfObject = exports.addFlex = exports.convertSelector = exports.convertActionKey = void 0;
7
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
8
+ const table_1 = require("../controls/table");
9
+ const common_1 = require("../../../common");
10
+ const decorators_1 = require("../../../common/decoration/decorators");
11
+ const manifest_1 = require("../../export/manifest");
12
+ const extensionLogger_1 = require("../../../../extensionLogger");
13
+ const i18next_1 = __importDefault(require("i18next"));
14
+ const xml_js_1 = require("xml-js");
15
+ const controls_1 = require("../../export/controls");
16
+ const types_1 = require("../../types");
17
+ function convertActionKey(actionProperty) {
18
+ return actionProperty.replace('/', '::');
19
+ }
20
+ exports.convertActionKey = convertActionKey;
21
+ /**
22
+ * Unescapes the selector ID of a flex change
23
+ * @param selectorId - escaped selector ID
24
+ * @returns unescaped ID
25
+ */
26
+ function convertSelector(selectorId) {
27
+ return selectorId.replace(/:2f/g, '/').replace(/:23/g, '#').replace(/:40/g, '@');
28
+ }
29
+ exports.convertSelector = convertSelector;
30
+ /**
31
+ * Adds flex changes to Smart Filter Bar in config file
32
+ * @param {ListReportConfig | AnalyticalListPageConfig} config - the configuration to be filled
33
+ * @param {string} changePropertyKey - property key of current change
34
+ * @param {ChangeDefinition} change - change definition
35
+ * @param {object} jsonSchema - application specific schema
36
+ */
37
+ function addSmartFilterBarFlex(config, changePropertyKey, change, jsonSchema) {
38
+ const schemaProperty = jsonSchema['definitions']?.['ListReportFilterBar']?.properties[changePropertyKey] ||
39
+ jsonSchema['definitions']?.['AnalyticalListPageFilterBar']?.properties[changePropertyKey];
40
+ if (schemaProperty) {
41
+ config.filterBar[changePropertyKey] = change.content.newBinding
42
+ ? change.content.newBinding
43
+ : change.content.newValue;
44
+ }
45
+ }
46
+ /**
47
+ * Creates a map to connect action types to the correct schema definition and config part
48
+ * @param definitionType action type that will be filtered for
49
+ * @param jsonSchema application specific schema
50
+ * @returns {Map} actionMap - mapping of actionId, id for schema reference and id for config
51
+ */
52
+ function filterActions(definitionType, jsonSchema) {
53
+ const actions = Object.keys(jsonSchema['definitions']).filter((definition) => definition.startsWith(`${definitionType}`) && definition.includes('<'));
54
+ const actionMap = new Map();
55
+ actions.forEach((definitionActionId) => {
56
+ const fullActionId = common_1.convertActionKeyToStableId(definitionActionId.split('<')[1]?.split('>')[0]);
57
+ const splitPoint = fullActionId.indexOf(':::');
58
+ if (fullActionId.startsWith('DataField') && splitPoint > -1) {
59
+ const actionIdParts = fullActionId.split(':::');
60
+ const sSemanticObject = actionIdParts.find((part) => part.startsWith('sSemanticObject'));
61
+ const sAction = actionIdParts.find((part) => part.startsWith('sAction'));
62
+ const shortAction = sAction.split('sAction::')[1].replace(':2f', '::');
63
+ if (sSemanticObject) {
64
+ const shortActionId = `${sSemanticObject.split('::')[1]}::${shortAction}`;
65
+ const shortDefinitionActionId = `${actionIdParts[0]}:::${sSemanticObject}:::${sAction}`;
66
+ actionMap.set(shortActionId, definitionActionId);
67
+ actionMap.set(definitionActionId, shortDefinitionActionId);
68
+ }
69
+ else {
70
+ actionMap.set(shortAction, definitionActionId);
71
+ actionMap.set(definitionActionId, fullActionId);
72
+ }
73
+ }
74
+ else {
75
+ actionMap.set(fullActionId.replace(':2f', '::'), definitionActionId);
76
+ actionMap.set(definitionActionId, fullActionId);
77
+ }
78
+ });
79
+ return actionMap;
80
+ }
81
+ /**
82
+ * Adds a new action column to config
83
+ * @param action - action part of config to be filled
84
+ * @param config - the config of ALP/LR
85
+ * @param configId - id of action to be used in config
86
+ */
87
+ function addColumnActionConfigPart(action, config, configId) {
88
+ if (!action.configPart) {
89
+ action.configPart = config.table.columns = {};
90
+ }
91
+ if (!action.configPart[`${configId}`]) {
92
+ action.configPart[`${configId}`] = {};
93
+ }
94
+ }
95
+ /**
96
+ * Adds flex changes to Actions in config file
97
+ * @param {ListReportConfig | AnalyticalListPageConfig} config - the configuration to be filled
98
+ * @param {string} changePropertyKey - property key of current change
99
+ * @param {ChangeDefinition} change - change definition
100
+ * @param {object} jsonSchema - application specific schema
101
+ */
102
+ function addActionFlex(config, changePropertyKey, change, jsonSchema) {
103
+ const controlId = change.controlId.split('--action::')[1];
104
+ if (!controlId) {
105
+ return;
106
+ }
107
+ const actionId = convertSelector(controlId);
108
+ const actionTypes = [
109
+ {
110
+ name: types_1.ActionTypeV2.Footer,
111
+ configPart: config.footer.actions,
112
+ id: actionId.includes('Determining') && actionId.split('::Determining')[0]
113
+ },
114
+ { name: types_1.ActionTypeV2.ToolBar, configPart: config.table.toolBar.actions, id: actionId },
115
+ { name: types_1.ActionTypeV2.Column, configPart: config.table.columns, id: actionId }
116
+ ];
117
+ actionTypes.forEach((action) => {
118
+ const schemaActions = filterActions(action.name, jsonSchema);
119
+ if (schemaActions.has(action.id)) {
120
+ const referenceId = schemaActions.get(action.id);
121
+ const configId = referenceId.split('<')[1]?.split('>')[0];
122
+ if (action.name === types_1.ActionTypeV2.Column) {
123
+ addColumnActionConfigPart(action, config, configId);
124
+ }
125
+ const configPart = action.configPart[configId];
126
+ const schemaProperty = jsonSchema.definitions[referenceId]?.properties[changePropertyKey];
127
+ if (schemaProperty && configPart) {
128
+ configPart[changePropertyKey] = change.content.newBinding
129
+ ? change.content.newBinding
130
+ : change.content.newValue;
131
+ }
132
+ }
133
+ });
134
+ }
135
+ /**
136
+ * Adds flex changes to Smart Chart in config file
137
+ * @param {ListReportConfig | AnalyticalListPageConfig} config - the configuration to be filled
138
+ * @param {string} changePropertyKey - property key of current change
139
+ * @param {ChangeDefinition} change - change definition
140
+ * @param {object} jsonSchema - application specific schema
141
+ */
142
+ function addSmartChartFlex(config, changePropertyKey, change, jsonSchema) {
143
+ const schemaProperty = jsonSchema['definitions']['ChartSettings'].properties[changePropertyKey];
144
+ if (schemaProperty) {
145
+ const syncRule = decorators_1.getReflectMetadata(config[common_1.PropertyName.chart], changePropertyKey);
146
+ if (syncRule?.flex?.importFlexValue) {
147
+ syncRule.flex.importFlexValue(change, config[common_1.PropertyName.chart], changePropertyKey);
148
+ }
149
+ else {
150
+ config[common_1.PropertyName.chart][changePropertyKey] = change.content.newBinding
151
+ ? change.content.newBinding
152
+ : change.content.newValue;
153
+ }
154
+ }
155
+ }
156
+ /**
157
+ * Checks and adds further flex changes to in config file
158
+ * @param {ListReportConfig | AnalyticalListPageConfig} config - the configuration to be filled
159
+ * @param {ChangeDefinition} change - change definition
160
+ * @param {object} jsonSchema - application specific schema
161
+ */
162
+ function addAdditionalFlexChanges(config, change, jsonSchema) {
163
+ const flexForTransfer = {
164
+ controlId: change.controlId,
165
+ propertyId: change.content.property,
166
+ newValue: change.content.newBinding ? change.content.newBinding : change.content.newValue,
167
+ controlType: change.controlType,
168
+ creation: change.creation
169
+ };
170
+ let constructorName;
171
+ if ((!config.table.type || config.table.type === ux_specification_types_1.v2.TableTypeV2.ResponsiveTable) &&
172
+ !flexForTransfer.controlId.includes(ux_specification_types_1.PAGETYPE_VIEW_EXTENSION_TEMPLATE_MAP.get(ux_specification_types_1.PageType.AnalyticalListPage))) {
173
+ constructorName = 'ResponsiveTable';
174
+ }
175
+ else {
176
+ constructorName = config.table.constructor.name;
177
+ }
178
+ const schemaProperty = jsonSchema['definitions'][`${constructorName}<LineItems>`].properties[flexForTransfer.propertyId];
179
+ if (schemaProperty || flexForTransfer.controlType === ux_specification_types_1.ControlType.TableColumn) {
180
+ table_1.addFlexForTable(config.table, flexForTransfer, jsonSchema);
181
+ }
182
+ }
183
+ /**
184
+ * Adds flex changes to config file
185
+ * @param {ListReportConfig | AnalyticalListPageConfig} config - the configuration to be filled
186
+ * @param {string} changeString - change file as string
187
+ * @param {object} appSchema - application specific schema
188
+ * @param {ExtensionLogger} logger - Logger class for logging messages
189
+ */
190
+ function addFlex(config, changeString, appSchema, logger) {
191
+ try {
192
+ const change = common_1.parseChangeString(changeString);
193
+ const changePropertyKey = change.content.property;
194
+ if (change.controlId?.includes(ux_specification_types_1.PageType.ListReport) ||
195
+ change.controlId?.includes(ux_specification_types_1.PageType.AnalyticalListPage)) {
196
+ change.controlId = convertSelector(change.controlId);
197
+ switch (change.controlType) {
198
+ case ux_specification_types_1.ControlType.SmartFilterBar: {
199
+ addSmartFilterBarFlex(config, changePropertyKey, change, appSchema);
200
+ break;
201
+ }
202
+ case ux_specification_types_1.ControlType.DynamicPage: {
203
+ const schemaProperty = appSchema['properties'][changePropertyKey];
204
+ if (schemaProperty) {
205
+ config[change.content.property] = change.content.newValue;
206
+ }
207
+ break;
208
+ }
209
+ case ux_specification_types_1.ControlType.Button: {
210
+ addActionFlex(config, changePropertyKey, change, appSchema);
211
+ break;
212
+ }
213
+ case ux_specification_types_1.ControlType.SmartChart: {
214
+ addSmartChartFlex(config, changePropertyKey, change, appSchema);
215
+ break;
216
+ }
217
+ default: {
218
+ addAdditionalFlexChanges(config, change, appSchema);
219
+ break;
220
+ }
221
+ }
222
+ }
223
+ }
224
+ catch (error) {
225
+ extensionLogger_1.log(logger, {
226
+ severity: "error" /* Error */,
227
+ message: i18next_1.default.t('FLEXERROR')
228
+ }, ...error);
229
+ }
230
+ }
231
+ exports.addFlex = addFlex;
232
+ /**
233
+ * Transfers settings from manifest to object page config
234
+ * @param configPart - part of the configuration to be filled
235
+ * @param manifest - manifest.json of the app
236
+ * @param appSchema - app specific schema
237
+ * @param pageID - ID of the given object page
238
+ * @param sectionId (optional) - ID of the given section (optional)
239
+ * @param {ExtensionLogger} logger - Logger class for logging messages
240
+ */
241
+ function transferSettingsOfObject(configPart, manifest, appSchema, pageKey, logger, kpiKey) {
242
+ if (!appSchema) {
243
+ return;
244
+ }
245
+ let manifestSection = {};
246
+ const deprecatedProperties = configPart.getDeprecated ? configPart.getDeprecated() : undefined;
247
+ if (appSchema['properties']) {
248
+ for (const propertyKey in appSchema['properties']) {
249
+ const syncRule = decorators_1.getReflectMetadata(configPart, propertyKey);
250
+ if (syncRule?.manifest) {
251
+ const path = syncRule.manifest.path([pageKey], manifest, kpiKey);
252
+ manifestSection = manifest_1.ensureManifestSectionByPathV2(manifest, path);
253
+ common_1.importProperty(syncRule, manifestSection, propertyKey, configPart);
254
+ common_1.checkDeprecatedProperties(deprecatedProperties, manifestSection, path, logger);
255
+ }
256
+ }
257
+ }
258
+ }
259
+ exports.transferSettingsOfObject = transferSettingsOfObject;
260
+ /**
261
+ * Determines the table type for a given LR or ALP table, based on the component name and its table settings
262
+ * This does not exactly reflect the run time behavior of Fiori elements but a best guess and expectation.
263
+ * @param manifest - manifest.json file content of the app
264
+ * @param pageKey - key of the page in the manifest
265
+ */
266
+ function determineTableType(manifest, pageKey) {
267
+ const page = manifest[ux_specification_types_1.ManifestSection.generic].pages[pageKey];
268
+ let tableType = ux_specification_types_1.v2.TableTypeV2.ResponsiveTable;
269
+ if (manifest[ux_specification_types_1.ManifestSection.generic].pages[pageKey].component.settings &&
270
+ ((manifest[ux_specification_types_1.ManifestSection.generic].pages[pageKey].component.settings.tableSettings &&
271
+ manifest[ux_specification_types_1.ManifestSection.generic].pages[pageKey].component.settings.tableSettings['type']) ||
272
+ manifest[ux_specification_types_1.ManifestSection.generic].pages[pageKey].component.settings['tableType'])) {
273
+ tableType = page.component.settings?.tableSettings?.['type'] || page.component.settings['tableType'];
274
+ }
275
+ else if (page.component.name === 'sap.suite.ui.generic.template.AnalyticalListPage') {
276
+ tableType = ux_specification_types_1.v2.TableTypeV2.AnalyticalTable;
277
+ }
278
+ return tableType;
279
+ }
280
+ exports.determineTableType = determineTableType;
281
+ function evaluateFragmentColumn(column, viewExtensionsOfPage, manifestKey, keyPart3, config, extensionType, cellsFragmentName) {
282
+ if (column['customData'] || column['table:customData']) {
283
+ const p13nData = column['customData']
284
+ ? column['customData']['core:CustomData']._attributes.value
285
+ : column['table:customData']['core:CustomData']._attributes.value;
286
+ const columnParts = JSON.parse(p13nData.substr(1, p13nData.length));
287
+ let columnText = column['Text'] && column['Text']._attributes && column['Text']._attributes['text'];
288
+ if (!columnText) {
289
+ columnText = column['Label'] && column['Label']._attributes && column['Label']._attributes['text'];
290
+ }
291
+ const customElement = {
292
+ id: column._attributes && column._attributes['id'],
293
+ text: columnText,
294
+ ...columnParts,
295
+ columnKey: columnParts['columnKey'],
296
+ columnIndex: columnParts['columnIndex'] !== undefined ? Number(columnParts['columnIndex']) : undefined,
297
+ leadingProperty: columnParts['leadingProperty'],
298
+ className: viewExtensionsOfPage[manifestKey].className,
299
+ fragmentName: viewExtensionsOfPage[manifestKey].fragmentName,
300
+ tabKey: keyPart3,
301
+ extensionType
302
+ };
303
+ if (cellsFragmentName) {
304
+ customElement.cellsFragmentName = cellsFragmentName;
305
+ }
306
+ if (!config.table['columns']['custom']) {
307
+ config.table['columns']['custom'] = [];
308
+ }
309
+ const customColumns = config.table['columns']['custom'];
310
+ customColumns.push(customElement);
311
+ }
312
+ }
313
+ function determineCellsFragmentName(extensionType, viewExtensionsOfPage, keyEntitySet, referenceId) {
314
+ let cellsFragmentName;
315
+ if (extensionType === common_1.ViewTemplateType.ResponsiveTableColumnsExtension) {
316
+ for (const cellsKey of Object.keys(viewExtensionsOfPage)) {
317
+ const [cellsKeyType, cellsKeyEntitySet, cellsKeyTab] = cellsKey.split('|');
318
+ if (cellsKeyType === common_1.ViewTemplateType.ResponsiveTableCellsExtension &&
319
+ cellsKeyEntitySet === keyEntitySet &&
320
+ cellsKeyTab === referenceId) {
321
+ cellsFragmentName = viewExtensionsOfPage[cellsKey].fragmentName;
322
+ }
323
+ }
324
+ }
325
+ return cellsFragmentName;
326
+ }
327
+ function analzyeFilteredFragments(filteredFragments, config, viewExtensionsOfPage, manifestKey, keyTab, extensionType, cellsFragmentName) {
328
+ if (filteredFragments[0]) {
329
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(filteredFragments[0].fileContent, { compact: true }));
330
+ const fragmentDefintion = fragmentJson[controls_1.FRAGMENT_DEFINITION];
331
+ const columnDefinition = controls_1.getRootCustomColumnFromFragmentJSON(fragmentDefintion);
332
+ if (columnDefinition) {
333
+ if (!config[common_1.PropertyName.table]?.['columns']) {
334
+ config[common_1.PropertyName.table]['columns'] = {};
335
+ }
336
+ if (Array.isArray(columnDefinition)) {
337
+ for (const def of columnDefinition) {
338
+ evaluateFragmentColumn(def, viewExtensionsOfPage, manifestKey, keyTab, config, extensionType, cellsFragmentName);
339
+ }
340
+ }
341
+ else {
342
+ evaluateFragmentColumn(columnDefinition, viewExtensionsOfPage, manifestKey, keyTab, config, extensionType, cellsFragmentName);
343
+ }
344
+ }
345
+ }
346
+ }
347
+ function processViewExtensions(viewExtensionsOfPage, targetKeyEntitySet, objectPageSectionData, config, fragments) {
348
+ for (const manifestKey of Object.keys(viewExtensionsOfPage)) {
349
+ const manifestKeyParts = manifestKey.split('|');
350
+ const [keyExtensionType, keyEntitySet] = manifestKeyParts;
351
+ // If Object Page section have key, then Ignore it as it is not from QuickVariantSelectionX
352
+ const referenceId = manifestKeyParts[2];
353
+ const keyTab = objectPageSectionData && referenceId === objectPageSectionData.key ? undefined : referenceId;
354
+ const extensionType = common_1.ViewTemplateType[keyExtensionType];
355
+ if (extensionType && '|' + keyEntitySet === targetKeyEntitySet) {
356
+ const fragmentType = viewExtensionsOfPage[manifestKey].type
357
+ ? viewExtensionsOfPage[manifestKey].type.toLowerCase()
358
+ : 'xml';
359
+ let fragmentName = viewExtensionsOfPage[manifestKey].fragmentName;
360
+ if (!fragmentName) {
361
+ continue;
362
+ }
363
+ // Responsive Table ==> check cells' fragment name
364
+ const cellsFragmentName = determineCellsFragmentName(extensionType, viewExtensionsOfPage, keyEntitySet, referenceId);
365
+ // Retrieve information from fragment
366
+ const fragmentParts = fragmentName.split('.');
367
+ fragmentName = fragmentParts[fragmentParts.length - 1] + common_1.FRAGMENTNAMEPART + fragmentType;
368
+ const filteredFragments = fragments.filter((fragment) => fragment['dataSourceUri'].endsWith(fragmentName));
369
+ analzyeFilteredFragments(filteredFragments, config, viewExtensionsOfPage, manifestKey, keyTab, extensionType, cellsFragmentName);
370
+ }
371
+ }
372
+ }
373
+ /**
374
+ * Adds custom column information from manifest and fragments to the configuration
375
+ * @param config - configuration, to be enhanced
376
+ * @param manifest - actual manifest.json
377
+ * @param v2Page - actual page in the manifest
378
+ * @param pageType - type of the page
379
+ * @param fragments - list of all fragments
380
+ * @param objectPageSectionData - optional information, for object page
381
+ */
382
+ function addFragments(config, manifest, v2Page, pageType, fragments, objectPageSectionData) {
383
+ if (!fragments) {
384
+ return;
385
+ }
386
+ const targetKeyEntitySet = '|' + (objectPageSectionData && objectPageSectionData.target ? objectPageSectionData.target : v2Page.entitySet);
387
+ if (manifest[ux_specification_types_1.ManifestSection.ui5] &&
388
+ manifest[ux_specification_types_1.ManifestSection.ui5]['extends'] &&
389
+ manifest[ux_specification_types_1.ManifestSection.ui5]['extends']['extensions'] &&
390
+ manifest[ux_specification_types_1.ManifestSection.ui5]['extends']['extensions']['sap.ui.viewExtensions']) {
391
+ const viewExtension = ux_specification_types_1.PAGETYPE_VIEW_EXTENSION_TEMPLATE_MAP.get(pageType);
392
+ const viewExtensionsOfPage = manifest[ux_specification_types_1.ManifestSection.ui5]['extends']['extensions']['sap.ui.viewExtensions'][viewExtension];
393
+ if (!viewExtensionsOfPage) {
394
+ return;
395
+ }
396
+ processViewExtensions(viewExtensionsOfPage, targetKeyEntitySet, objectPageSectionData, config, fragments);
397
+ }
398
+ }
399
+ exports.addFragments = addFragments;
400
+ //# sourceMappingURL=index.js.map