@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,487 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("..");
4
+ /**
5
+ * Adds an enum filled with existing UI annotations of the given list (validAnnotations)
6
+ * @param {EntityType} entityType
7
+ * @param {UIAnnotationTerms[]} validAnnotations
8
+ * @param {Definition} annoPath - the annotation path property in the app schema where the enum shall be added
9
+ */
10
+ function addEnumForValidAnnotations(entityType, validAnnotations, annoPath) {
11
+ var _a;
12
+ const UiAnnotations = (_a = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _a === void 0 ? void 0 : _a.UI;
13
+ if (!UiAnnotations) {
14
+ return;
15
+ }
16
+ const enumEntries = annoPath.enum ? annoPath.enum : [];
17
+ for (const key in UiAnnotations) {
18
+ const annotation = UiAnnotations[key];
19
+ if (validAnnotations.indexOf(annotation.term) > -1) {
20
+ const enumEntry = annotation.qualifier
21
+ ? `${annotation.term}#${annotation.qualifier}`
22
+ : `${annotation.term}`;
23
+ if (enumEntries.indexOf(enumEntry) === -1) {
24
+ enumEntries.push(enumEntry);
25
+ }
26
+ }
27
+ }
28
+ if (enumEntries.length > 0) {
29
+ annoPath.enum = enumEntries;
30
+ }
31
+ }
32
+ exports.addEnumForValidAnnotations = addEnumForValidAnnotations;
33
+ /**
34
+ * Adds an enum filled with existing UI annotations for single-tab variants of a table
35
+ * @param {EntityType} entityType
36
+ * @param {Definition} appSchema - app specific JSON schema
37
+ * @param definitionName - name of the definition in the app schema
38
+ */
39
+ function addEnumForSingleTabVariant(entityType, appSchema, definitionName) {
40
+ const annoPath = appSchema.definitions[definitionName].properties[__1.SchemaTag.annotationPath];
41
+ const validAnnotations = ["com.sap.vocabularies.UI.v1.SelectionVariant" /* SelectionVariant */, "com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* SelectionPresentationVariant */];
42
+ addEnumForValidAnnotations(entityType, validAnnotations, annoPath);
43
+ }
44
+ exports.addEnumForSingleTabVariant = addEnumForSingleTabVariant;
45
+ /**
46
+ * Adds an enum filled with existing UI annotations for multi-tab variants of a table
47
+ * @param appSchema - app specific JSOn schema
48
+ * @param definitionName - name of the definition in the app schema
49
+ * @param {EntitySet} entitySet - current entity set of the page or view
50
+ */
51
+ function addEnumForMultiTabVariant(appSchema, definitionName, entitySet) {
52
+ var _a;
53
+ const annoPath = (_a = appSchema.definitions[definitionName]) === null || _a === void 0 ? void 0 : _a.properties.annotationPath;
54
+ const validAnnotations = ["com.sap.vocabularies.UI.v1.SelectionVariant" /* SelectionVariant */, "com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* SelectionPresentationVariant */];
55
+ addEnumForValidAnnotations(entitySet.entityType, validAnnotations, annoPath);
56
+ }
57
+ exports.addEnumForMultiTabVariant = addEnumForMultiTabVariant;
58
+ /**
59
+ * Adds the enum values for entitySet as part of the multiple view scenario
60
+ * @param {ConvertedMetadata} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
61
+ * @param appSchema - app specific JSOn schema
62
+ * @param definitionName - name of the definition in the app schema
63
+ */
64
+ function addEnumForVariantEntitySet(oDataServiceAVT, appSchema, definitionName) {
65
+ const entitySet = appSchema.definitions[definitionName].properties.entitySet;
66
+ const enumEntries = [];
67
+ oDataServiceAVT.entitySets.forEach((es) => {
68
+ enumEntries.push(es.name);
69
+ });
70
+ if (enumEntries.length > 0) {
71
+ entitySet['enum'] = enumEntries;
72
+ }
73
+ }
74
+ exports.addEnumForVariantEntitySet = addEnumForVariantEntitySet;
75
+ /**
76
+ * Adds an enum filled with existing UI annotations for annotationPath property in FilterBar
77
+ * @param {EntityType} entityType
78
+ * @param appSchema - app specific JSOn schema
79
+ * @param definitionName - name of the definition in the app schema
80
+ */
81
+ function addEnumForFilterBarAnnotationPath(entityType, appSchema, definitionName) {
82
+ const annoPath = appSchema.definitions[definitionName].properties.annotationPath;
83
+ const validAnnotations = ["com.sap.vocabularies.UI.v1.SelectionVariant" /* SelectionVariant */];
84
+ addEnumForValidAnnotations(entityType, validAnnotations, annoPath);
85
+ }
86
+ exports.addEnumForFilterBarAnnotationPath = addEnumForFilterBarAnnotationPath;
87
+ /**
88
+ * Method adds definition for 'RelatedFacetKeys' as enum with description and adds references to 'RelatedFacetKeys' for custom section definitions.
89
+ * @param {Definition} appSchema App specific schema that potentially gets enhanced
90
+ * @param {string[]>} sectionDefinitions array of section definitions which should be updated with new reference to 'RelatedFacetKeys' enum.
91
+ * @param {FacetSection[]} facetSections Array of facet section objects which is used to generate enum values.
92
+ * @param {Array<keyof Omit<FacetSection, 'custom'>>} idProperties Array of property names which should be looked up in 'FacetSection' object.
93
+ * Please note that method depends on order and takes first non empty value associated to passed properties.
94
+ */
95
+ function addDefinitionForRelatedFacetKeys(appSchema, sectionDefinitions, facetSections, idProperties) {
96
+ const oneOfSections = facetSections.map((section) => {
97
+ // Loop acceptable properties in received order and find first entry with value
98
+ const propertyName = idProperties.find((property) => !!section[property]);
99
+ const schemaIdForSection = section[propertyName];
100
+ return Object.assign(Object.assign({ const: schemaIdForSection }, (section.label && { description: section.label })), (section.custom && { custom: section.custom }));
101
+ });
102
+ // Change 'relatedFacet' only when we have entries for sections - otherwise use generic.
103
+ if (oneOfSections.length) {
104
+ // Create new definition in schema as 'oneOf'.
105
+ // Simpler way would be to use 'enum', but then there no option to pass description.
106
+ appSchema.definitions[__1.DefinitionName.RelatedFacetKeys] = {
107
+ type: 'string',
108
+ oneOf: oneOfSections
109
+ };
110
+ // Add enum definition
111
+ for (const name of sectionDefinitions) {
112
+ const definition = appSchema.definitions[name];
113
+ const property = definition.properties['relatedFacet'];
114
+ definition.properties['relatedFacet'] = {
115
+ anyOf: [
116
+ {
117
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${__1.DefinitionName.RelatedFacetKeys}`
118
+ },
119
+ property
120
+ ]
121
+ };
122
+ }
123
+ }
124
+ }
125
+ exports.addDefinitionForRelatedFacetKeys = addDefinitionForRelatedFacetKeys;
126
+ /**
127
+ * Receives a facet key and returns the key as used in schema
128
+ * @param facetKey - key of the facet, as used in annotation
129
+ * @returns facetKeyInSchema - key of the facet, as used in schema
130
+ */
131
+ function getFacetKeyInSchema(facetKey) {
132
+ return facetKey.replace('#', '::');
133
+ }
134
+ exports.getFacetKeyInSchema = getFacetKeyInSchema;
135
+ /**
136
+ * Returns the name of a facet and definition, as key in definition
137
+ * @param definition name of definition, as used in schema
138
+ * @param facetKey - key of the facet, as used in annotation
139
+ * @returns definition key of facet, as used in definition
140
+ */
141
+ function getFacetDefinitionKey(definition, facetKey) {
142
+ return `${definition}<${getFacetKeyInSchema(facetKey)}>`;
143
+ }
144
+ /**
145
+ * Adds an existing schema definition to a new definition in the app schema
146
+ * @param definition name of definition, as used in schema
147
+ * @param facetKey - key of the facet, as used in annotation
148
+ * @param {Definition} appSchema App schema in general
149
+ * @param {boolean} useDefinitionAsKey If set to false, facet key will solely be used as key, else encapsulated within definition key `definition<facetKey>`
150
+ * @param subDefinitionName - sub definition, if different from the definition (e.g. subsection vs. section)
151
+ * @returns {Definition} part of app schema that has been added and filled
152
+ */
153
+ function parseSchemaDefinition(definition, facetKey, appSchema, useDefinitionAsKey = true, subDefinitionName) {
154
+ let facetDefinitionKey = facetKey;
155
+ if (useDefinitionAsKey) {
156
+ facetDefinitionKey = getFacetDefinitionKey(subDefinitionName ? subDefinitionName : definition, facetKey);
157
+ }
158
+ if (definition && definition !== facetDefinitionKey) {
159
+ const schemaDefinition = JSON.parse(JSON.stringify(appSchema.definitions[definition]));
160
+ appSchema.definitions[facetDefinitionKey] = schemaDefinition;
161
+ }
162
+ return appSchema.definitions[facetDefinitionKey];
163
+ }
164
+ exports.parseSchemaDefinition = parseSchemaDefinition;
165
+ /**
166
+ * Method receives custom extension base definition name and detect if it should be combined with lineItemId.
167
+ * @param appSchema - the app specific schema that shall get enhanced
168
+ * @param lineItemId - line item ID, as comprise in stable ID
169
+ * @param customColumnDefinitionName - (optional) definition name of custom extension.
170
+ * @returns $ref path for definition.
171
+ */
172
+ function getCustomExtensionDefinitionName(appSchema, lineItemId, customExtensionDefinitionName) {
173
+ let definitionName;
174
+ if (lineItemId === __1.DefinitionName.LineItems ||
175
+ lineItemId === 'LineItemsOfSPV::LineItem' ||
176
+ lineItemId === '@com.sap.vocabularies.UI.v1.LineItem') {
177
+ definitionName = `${__1.DEFINITION_LINK_PREFIX}${customExtensionDefinitionName}`;
178
+ }
179
+ else {
180
+ definitionName = `${__1.DEFINITION_LINK_PREFIX}${customExtensionDefinitionName}<${lineItemId}>`;
181
+ parseSchemaDefinition(customExtensionDefinitionName, lineItemId, appSchema, true);
182
+ }
183
+ return definitionName;
184
+ }
185
+ exports.getCustomExtensionDefinitionName = getCustomExtensionDefinitionName;
186
+ /**
187
+ * Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
188
+ * @param appSchema - the app specific schema that shall get enhanced
189
+ * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
190
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
191
+ * @param lineItemId - line item ID, as comprise in stable ID
192
+ * @param customColumnDefinitionName - (optional) definition name of custom column.
193
+ * Passed in the V4 case, then additional properties of this type will be allowed.
194
+ * @returns the actions definition plus the annotation path to the given line item
195
+ */
196
+ function addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId, customColumnDefinitionName, customActionDefinitionName) {
197
+ let lineItemPath;
198
+ appSchema.definitions[lineItemId] = {
199
+ type: 'object',
200
+ properties: {},
201
+ description: 'Columns'
202
+ };
203
+ appSchema.definitions[lineItemId][__1.SchemaTag.isViewNode] = true;
204
+ const customColumnRef = getCustomExtensionDefinitionName(appSchema, lineItemId, customColumnDefinitionName);
205
+ appSchema.definitions[lineItemId].additionalProperties = customColumnDefinitionName
206
+ ? { $ref: customColumnRef }
207
+ : false;
208
+ // Copy toolbar
209
+ const toolBar = lineItemId.startsWith(__1.DefinitionName.LineItems)
210
+ ? __1.DefinitionName.ToolBar
211
+ : __1.DefinitionName.ObjectPageToolBar;
212
+ const schemaIdForToolBar = `${toolBar}<${lineItemId}>`;
213
+ appSchema.definitions[schemaIdForToolBar] = JSON.parse(JSON.stringify(appSchema.definitions[`${toolBar}`]));
214
+ const schemaIdForActions = `${__1.DefinitionName.Actions}<${__1.prepareRef(lineItemId)}>`;
215
+ appSchema.definitions[schemaIdForToolBar].properties.actions['$ref'] =
216
+ __1.DEFINITION_LINK_PREFIX + schemaIdForActions;
217
+ const actionId = lineItemId.startsWith(__1.DefinitionName.LineItems)
218
+ ? __1.DefinitionName.Actions
219
+ : __1.DefinitionName.ObjectPageToolBarActions;
220
+ const actions = (appSchema.definitions[schemaIdForActions] = JSON.parse(JSON.stringify(appSchema.definitions[actionId])));
221
+ actions.properties = {};
222
+ // Handle actions additional properties - add custom action reference if it is supported
223
+ actions.additionalProperties = false;
224
+ if (customActionDefinitionName) {
225
+ const customActionRef = getCustomExtensionDefinitionName(appSchema, lineItemId, customActionDefinitionName);
226
+ actions.additionalProperties = { $ref: customActionRef };
227
+ }
228
+ // Copy LR footer
229
+ let footerActions, schemaIdForFooter;
230
+ if (lineItemId === __1.DefinitionName.LineItems && appSchema.properties['footer']) {
231
+ schemaIdForFooter = `${__1.DefinitionName.Footer}<${lineItemId}>`;
232
+ appSchema.properties['footer'].$ref = `${__1.DEFINITION_LINK_PREFIX}${schemaIdForFooter}`;
233
+ appSchema.definitions[schemaIdForFooter] = JSON.parse(JSON.stringify(appSchema.definitions[__1.DefinitionName.GenericFooter]));
234
+ const schemaIdForFooterActions = `${__1.DefinitionName.FooterActions}<${__1.prepareRef(lineItemId)}>`;
235
+ appSchema.definitions[schemaIdForFooter].properties.actions['$ref'] =
236
+ __1.DEFINITION_LINK_PREFIX + schemaIdForFooterActions;
237
+ footerActions = appSchema.definitions[schemaIdForFooterActions] = JSON.parse(JSON.stringify(appSchema.definitions[__1.DefinitionName.Actions]));
238
+ footerActions.properties = {};
239
+ footerActions.additionalProperties = false;
240
+ }
241
+ //Determine annotation path
242
+ if (lineItemAnnotation) {
243
+ lineItemPath = __1.createAnnotationPath(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
244
+ appSchema.definitions[schemaIdForToolBar][__1.SchemaTag.annotationPath] = lineItemPath;
245
+ if (footerActions) {
246
+ appSchema.definitions[schemaIdForFooter][__1.SchemaTag.annotationPath] = lineItemPath;
247
+ }
248
+ }
249
+ return { actions, footerActions, lineItemPath };
250
+ }
251
+ exports.addCommonLineItemDefinitions = addCommonLineItemDefinitions;
252
+ /**
253
+ * Add schema definitions for fields of createWithParameterDialog
254
+ * @param {object} appSchema - Application-specific schema, to be enhanced
255
+ * @param {EntityType} entityType - Given entity type for which entries shall get generated
256
+ * @param {string=} floorplanSuffix - floorplan specific suffix (optional)
257
+ */
258
+ function addFieldsType(appSchema, entityType, floorplanSuffix = '') {
259
+ const propertyNameArray = [], propertyObject = {};
260
+ const fieldPathRef = `${__1.DefinitionName.FieldPath}${__1.prepareRef(floorplanSuffix)}`;
261
+ for (const key of entityType.entityProperties) {
262
+ const propertyName = key.name;
263
+ propertyNameArray.push(propertyName);
264
+ propertyObject[propertyName] = {
265
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${fieldPathRef}`
266
+ };
267
+ }
268
+ appSchema.definitions[entityType.name] = {
269
+ enum: propertyNameArray
270
+ };
271
+ appSchema.definitions[fieldPathRef].properties.path = {
272
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${entityType.name}`
273
+ };
274
+ const creationFieldsRef = `CreationFieldKeys${__1.prepareRef(floorplanSuffix)}`;
275
+ appSchema.definitions[creationFieldsRef] = {
276
+ type: 'object',
277
+ properties: propertyObject,
278
+ additionalProperties: false
279
+ };
280
+ const fields4Dialog = appSchema.definitions[`${__1.DefinitionName.Fields4Dialog}${floorplanSuffix}`];
281
+ fields4Dialog.properties.fields.$ref = `${__1.DEFINITION_LINK_PREFIX}${creationFieldsRef}`;
282
+ }
283
+ exports.addFieldsType = addFieldsType;
284
+ var DataType;
285
+ (function (DataType) {
286
+ DataType["String"] = "String";
287
+ DataType["Rating"] = "Rating";
288
+ DataType["Progress"] = "Progress";
289
+ DataType["DataPoint"] = "DataPoint";
290
+ DataType["Contact"] = "Contact";
291
+ DataType["Address"] = "Address";
292
+ DataType["Chart"] = "Chart";
293
+ DataType["FieldGroup"] = "FieldGroup";
294
+ DataType["IntentBasedNavigation"] = "IntentBasedNavigation";
295
+ })(DataType = exports.DataType || (exports.DataType = {}));
296
+ /**
297
+ * Determines the dataType of the target that shall be added to a property in schema
298
+ * @param target - the given target
299
+ * @returns - the dataType as string
300
+ */
301
+ function determineDataTypeOfTarget(target) {
302
+ var _a, _b;
303
+ let dataType;
304
+ if (!target) {
305
+ return dataType;
306
+ }
307
+ if (target.Value) {
308
+ if (target.Visualization === 'UI.VisualizationType/Rating') {
309
+ dataType = DataType.Rating;
310
+ }
311
+ else if (target.Visualization === 'UI.VisualizationType/Progress') {
312
+ dataType = DataType.Progress;
313
+ }
314
+ else if (target.$Type === 'com.sap.vocabularies.UI.v1.DataPointType') {
315
+ dataType = DataType.DataPoint;
316
+ }
317
+ else {
318
+ dataType = (_b = (_a = target.Value) === null || _a === void 0 ? void 0 : _a.$target) === null || _b === void 0 ? void 0 : _b.type.replace('Edm.', '');
319
+ }
320
+ }
321
+ else if (target.$Type === 'com.sap.vocabularies.Communication.v1.ContactType') {
322
+ dataType = DataType.Contact;
323
+ }
324
+ else if (target.$Type === 'com.sap.vocabularies.Communication.v1.AddressType') {
325
+ dataType = DataType.Address;
326
+ }
327
+ else if (target.$Type === 'com.sap.vocabularies.UI.v1.ChartDefinitionType') {
328
+ dataType = DataType.Chart;
329
+ }
330
+ else if (target.$Type === 'com.sap.vocabularies.UI.v1.FieldGroupType') {
331
+ dataType = DataType.FieldGroup;
332
+ }
333
+ return dataType;
334
+ }
335
+ exports.determineDataTypeOfTarget = determineDataTypeOfTarget;
336
+ /**
337
+ * Determines the dataType that shall be added to a property in schema, for any kind of field like
338
+ * - field of a field group
339
+ * - line item record
340
+ * - selection field
341
+ * @param field - the given field
342
+ * @returns - the dataType as string
343
+ */
344
+ function determineDataType(field) {
345
+ var _a;
346
+ let dataType;
347
+ if (field['Value']) {
348
+ if ((_a = field['Value'].$target) === null || _a === void 0 ? void 0 : _a.type) {
349
+ dataType = field['Value'].$target.type.replace('Edm.', '');
350
+ }
351
+ else {
352
+ dataType = DataType.String;
353
+ }
354
+ }
355
+ else if (field['Target']) {
356
+ dataType = determineDataTypeOfTarget(field['Target'].$target);
357
+ }
358
+ else if (field['$target']) {
359
+ dataType = field['$target'].type.replace('Edm.', '');
360
+ }
361
+ else if (field['$Type'] === 'com.sap.vocabularies.UI.v1.DataFieldForAction') {
362
+ dataType = 'Action';
363
+ }
364
+ else if (field['$Type'] === 'com.sap.vocabularies.UI.v1.DataFieldWithUrl') {
365
+ dataType = 'Url';
366
+ }
367
+ else if (field['$Type'] === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation') {
368
+ dataType = DataType.IntentBasedNavigation;
369
+ }
370
+ else if (field['type']) {
371
+ dataType = field['type'];
372
+ }
373
+ return dataType;
374
+ }
375
+ exports.determineDataType = determineDataType;
376
+ /**
377
+ * Adds the dataType to the given schema field definition, if the data type cane be determined
378
+ * @param definition - given schema definition
379
+ * @param field - given field definition = annotation property, at AVT
380
+ */
381
+ function addDataTypeToDefinition(definition, field) {
382
+ const dataType = determineDataType(field);
383
+ if (dataType) {
384
+ definition[__1.SchemaTag.dataType] = dataType;
385
+ }
386
+ }
387
+ exports.addDataTypeToDefinition = addDataTypeToDefinition;
388
+ /**
389
+ * Creates a definition link for a facet and definition name
390
+ * @param {DefinitionName} definition - name of definition, as used in schema
391
+ * @param {string} facetKey - key of the facet, as used in annotation
392
+ * @returns definition link of facet, as used in definition
393
+ */
394
+ function getFacetDefinitionLink(definition, facetKey) {
395
+ return `${__1.DEFINITION_LINK_PREFIX}${getFacetDefinitionKey(definition, facetKey)}`;
396
+ }
397
+ exports.getFacetDefinitionLink = getFacetDefinitionLink;
398
+ /**
399
+ * Creates and adds a reference link to a definition
400
+ * @param {Definition} schemaPart - part of schema to add $ref to
401
+ * @param {string} schemaRef - reference to be added
402
+ * @param {string} schemaKey - key to be encapsulated within reference as `schemaRef<schemaKey>`
403
+ * @returns reference link of facet, as used in definition
404
+ */
405
+ function addDefinitionRef(schemaPart, schemaRef, schemaKey) {
406
+ const schemaLink = schemaKey ? `${schemaRef}<${schemaKey}>` : schemaRef;
407
+ schemaPart.$ref = `${__1.DEFINITION_LINK_PREFIX}${schemaLink}`;
408
+ }
409
+ exports.addDefinitionRef = addDefinitionRef;
410
+ /**
411
+ * Extracts annotationPath from facet or Chart/LineItem fullyQualifiedName
412
+ * @param facet facet or Chart/LineItem
413
+ * @returns {string} annotationPath
414
+ */
415
+ function getFacetAnnotationPath(facet) {
416
+ if (facet.annotationPath) {
417
+ return facet.annotationPath;
418
+ }
419
+ else if (facet.fullyQualifiedName) {
420
+ const [namespace, target] = facet.fullyQualifiedName.split(`@${__1.UIVOCABULARY}`);
421
+ return `/${namespace}/@${__1.UIVOCABULARY}${target}`;
422
+ }
423
+ return undefined;
424
+ }
425
+ exports.getFacetAnnotationPath = getFacetAnnotationPath;
426
+ /**
427
+ * Adds definitions for Address and Contact items in object page sections to the app schema
428
+ * @param {FacetConfig} facet - current facet.
429
+ * @param {string} facetKey - facet key.
430
+ * @param {object} sections - schema of current sections definition.
431
+ * @param {object} appSchema - app specific schema that potentially gets enhanced.
432
+ * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
433
+ */
434
+ function handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix, subSectionPrefix, versionPostfix = '') {
435
+ const definitionName = `ObjectPage${sectionPrefix}${facet.base}${versionPostfix}`;
436
+ const subDefinitionName = `ObjectPage${subSectionPrefix}${facet.base}${versionPostfix}`;
437
+ sections.properties[facetKey] = {
438
+ $ref: getFacetDefinitionLink(subSectionPrefix ? subDefinitionName : definitionName, facetKey)
439
+ };
440
+ const definition = parseSchemaDefinition(subSectionPrefix ? subDefinitionName : definitionName, facetKey, appSchema, true, subSectionPrefix ? subDefinitionName : undefined);
441
+ __1.addSectionTitleAndDescription(facet, definition, facetKey);
442
+ definition[__1.SchemaTag.annotationPath] = facet.annotationPath;
443
+ definition[__1.SchemaTag.isViewNode] = true;
444
+ }
445
+ exports.handleAddressContact = handleAddressContact;
446
+ /**
447
+ * Method updates schema definition's property.
448
+ * @param {DefinitionOrBoolean} definition Definition object.
449
+ * @param {string} key Property name.
450
+ * @param {unknown} value New value.
451
+ */
452
+ function updateSchemaProperty(definition, key, value) {
453
+ if (typeof definition === 'object') {
454
+ definition[key] = value;
455
+ }
456
+ }
457
+ /**
458
+ * Method adds enum with key and description to schema definition.
459
+ * Description can be easily used by UI to describe enum value/key.
460
+ * @param {Definition} appSchema App specific JSON schema
461
+ * @param {DefinitionOrBoolean} origin Origin schema object containing key and description.
462
+ * @param {PropertyInDefinition} target Target to update with enum.
463
+ */
464
+ function addDescriptiveEnumDefinition(appSchema, origin, target) {
465
+ var _a;
466
+ if (typeof origin !== 'object') {
467
+ // Safe checks
468
+ return;
469
+ }
470
+ const oneOfEnum = [];
471
+ for (const key in origin.properties) {
472
+ const property = origin.properties[key];
473
+ oneOfEnum.push(Object.assign({ const: key }, (property.description && { description: property.description })));
474
+ }
475
+ const definition = appSchema.definitions[target.definition];
476
+ if (typeof definition === 'object') {
477
+ if (target.property) {
478
+ const property = (_a = definition.properties) === null || _a === void 0 ? void 0 : _a[target.property];
479
+ updateSchemaProperty(property, 'oneOf', oneOfEnum);
480
+ }
481
+ else {
482
+ updateSchemaProperty(definition, 'oneOf', oneOfEnum);
483
+ }
484
+ }
485
+ }
486
+ exports.addDescriptiveEnumDefinition = addDescriptiveEnumDefinition;
487
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ {
2
+ "NOBASEPATH": "No base path was passed in the API call for creating a custom call, app id = '{{- appId}}'",
3
+ "NOPAGES": "No pages found in manifest for app with id '{{- appId}}'",
4
+ "NOFE": "The manifest passed is not correct for Fiori Elements V2: section sap.ui.generic.app is missing",
5
+ "NOENTITYSET": "No page found in manifest for entitySet '{{- entitySet}}'",
6
+ "NOENTITYSET4NAME": "No entitySet could be found for the given entity type '{{- entityType}}'",
7
+ "ENTITYSETNOTFOUND": "Entity set '{{- entitySetName}}' was specified in manifest, but this entity set could not be found in metadata",
8
+ "NOLR": "No page found in manifest for list report",
9
+ "NOALP": "No page found in manifest for analytical list page",
10
+ "NOTEMPLATE": "No Fiori Elements template could be determined, as section '{{- section}}' is not defined in manifest",
11
+ "ANNOERR": "Error while parsing annotation files",
12
+ "NOROUTING": "Incomplete manifest definition: no routing defined",
13
+ "NOLINEITEMS": "UI.LineItem annotation has not been defined",
14
+ "NOTARGETS": "Incomplete manifest definition: no targets defined",
15
+ "NOTARGET": "Invalid reference: annotation target '{{- target}}' not found",
16
+ "NOROUTINGID": "No page found in manifest for routingId '{{- routingId}}'",
17
+ "FLEXERROR": "Error while parsing flex change",
18
+ "INVALIDANCHOR": "Custom column with ID '{{- id}}' has an invalid anchor '{{- anchor}}'",
19
+ "NOFRAGMENT": "fragmentName is undefined for columnKey '{{- columnKey}}'",
20
+ "NOENTITYTYPE": "Entity type '{{- entityType}}' is specified in manifest, but not present in metadata",
21
+ "INVALIDTARGETDEFINITION": "Invalid routing target definition in manifest: '{{- target}}'",
22
+ "NOID4SECTION": "No ID has been defined for a facet or header facet. As a consequence, manifest settings cannot be written correctly for this element in an OData V4 scenario: '{{- facet}}'"
23
+ }
@@ -41,3 +41,4 @@ export declare function getTargetFromCustomColumnRef(ref: string): string | unde
41
41
  * @param {string} structure - part of config to be removed
42
42
  */
43
43
  export declare function removeEmptyStructure(config: object, structure: string): void;
44
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EAAE,GACvB,IAAI,CAWN;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,EACtD,eAAe,EAAE,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,eAAe,GACzB,IAAI,CAiBN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAarG;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO5E"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("../");
4
+ const extensionLogger_1 = require("../../../extensionLogger");
5
+ /**
6
+ * Transfers the value of a single manifest setting to the config
7
+ * @param syncRule - Metadata rule
8
+ * @param manifestSection - Section in manifest.json
9
+ * @param propertyKey - Key of the property or setting
10
+ * @param configPart - Part of the config JSON
11
+ * @param sectionId - Section or facet ID
12
+ * @param breadcrumbs - list of breadcrumbs or id's describing the keys of all hierarchy levels
13
+ */
14
+ function importProperty(syncRule, manifestSection, propertyKey, configPart, sectionId, breadcrumbs) {
15
+ const manifestKey = syncRule.manifest.key || propertyKey;
16
+ const importHandler = syncRule.manifest.import;
17
+ if (importHandler && typeof importHandler === 'function') {
18
+ const value = importHandler(manifestSection, sectionId, propertyKey, breadcrumbs);
19
+ if (value !== undefined) {
20
+ configPart[propertyKey] = value;
21
+ }
22
+ }
23
+ else if (manifestSection[manifestKey] !== undefined) {
24
+ configPart[propertyKey] = manifestSection[manifestKey];
25
+ }
26
+ }
27
+ exports.importProperty = importProperty;
28
+ /**
29
+ * Validation during import: check if properties are marked as deprecated.
30
+ * If so, log them.
31
+ * @param deprecatedProperties - existing list, to be actualized
32
+ * @param manifestSection - Section in manifest.json
33
+ * @param path - path to the section in manifest
34
+ * @param {ExtensionLogger} logger - Logger class for logging messages
35
+ */
36
+ function checkDeprecatedProperties(deprecatedProperties, manifestSection, path, logger) {
37
+ if (manifestSection && deprecatedProperties) {
38
+ for (const key in manifestSection) {
39
+ const deprecated = deprecatedProperties[key];
40
+ if (deprecated) {
41
+ extensionLogger_1.log(logger, {
42
+ severity: "warning" /* Warning */,
43
+ message: __1.getTextForDeprecated(key, deprecated),
44
+ location: {
45
+ path: 'webapp/manifest.json/',
46
+ range: path.split('/')
47
+ }
48
+ });
49
+ delete deprecatedProperties[key];
50
+ }
51
+ }
52
+ }
53
+ }
54
+ exports.checkDeprecatedProperties = checkDeprecatedProperties;
55
+ /**
56
+ * Determines the title of a section representation in the app schema, main aspect is checking the facet ID
57
+ * @param schemaSection - Section in manifest.json
58
+ * @param jsonSchema - app specific schema
59
+ */
60
+ function getSectionTitle(schemaSection, jsonSchema) {
61
+ if (schemaSection.$ref && !schemaSection.title) {
62
+ const refTitle = jsonSchema.definitions[schemaSection.$ref.split(__1.DEFINITION_LINK_PREFIX)[1]];
63
+ return getSectionTitle(refTitle, jsonSchema);
64
+ }
65
+ else if (schemaSection.title) {
66
+ if (schemaSection.title.startsWith(__1.FacetTitlePrefix)) {
67
+ return schemaSection.title.split(__1.FacetTitlePrefix)[1].replace(/com.sap/g, '@com.sap');
68
+ }
69
+ else {
70
+ return schemaSection.title.replace(/com.sap/g, '@com.sap');
71
+ }
72
+ }
73
+ else {
74
+ return undefined;
75
+ }
76
+ }
77
+ exports.getSectionTitle = getSectionTitle;
78
+ /**
79
+ * Method returns target by resolving custom column reference name.
80
+ * For example - 'TableCustomColumns<dummyTarget>' is resolved as 'dummyTarget'.
81
+ * @param {string} ref Reference key.
82
+ * @returns {string | undefined} Resolved target.
83
+ */
84
+ function getTargetFromCustomColumnRef(ref) {
85
+ const refParts = ref.split(`${__1.DefinitionName.CustomColumns}<`);
86
+ if (refParts[1]) {
87
+ return refParts[1].split('>')[0];
88
+ }
89
+ return undefined;
90
+ }
91
+ exports.getTargetFromCustomColumnRef = getTargetFromCustomColumnRef;
92
+ /**
93
+ * Removes part of a given config, if empty
94
+ * @param {object} config - config part
95
+ * @param {string} structure - part of config to be removed
96
+ */
97
+ function removeEmptyStructure(config, structure) {
98
+ if (!config[structure]) {
99
+ return;
100
+ }
101
+ if (Object.keys(config[structure]).length < 1) {
102
+ delete config[structure];
103
+ }
104
+ }
105
+ exports.removeEmptyStructure = removeEmptyStructure;
106
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":"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"}