@sap/ux-specification 1.96.19 → 1.96.21

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