@sap/ux-specification 1.71.66 → 1.71.67

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 (474) hide show
  1. package/dist/documentation/runDocu-min.js +5 -9623
  2. package/dist/documentation/runDocu-min.js.map +1 -1
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/index-min.js +83 -24668
  9. package/dist/index-min.js.map +3 -3
  10. package/dist/schemas/v2/ListReportConfig.json +83 -83
  11. package/dist/scripts/extractDocu.d.ts +2 -0
  12. package/dist/scripts/extractDocu.d.ts.map +1 -0
  13. package/dist/scripts/extractDocu.js +494 -0
  14. package/dist/scripts/extractDocu.js.map +1 -0
  15. package/dist/scripts/runDocu.d.ts +2 -0
  16. package/dist/scripts/runDocu.d.ts.map +1 -0
  17. package/dist/scripts/runDocu.js +579 -0
  18. package/dist/scripts/runDocu.js.map +1 -0
  19. package/dist/scripts/spec.d.ts +2 -0
  20. package/dist/scripts/spec.d.ts.map +1 -0
  21. package/dist/scripts/spec.js +114 -0
  22. package/dist/scripts/spec.js.map +1 -0
  23. package/dist/scripts/to-json-schema.d.ts +11 -0
  24. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  25. package/dist/scripts/to-json-schema.js +120 -0
  26. package/dist/scripts/to-json-schema.js.map +1 -0
  27. package/dist/{types → src}/api.d.ts +1 -1
  28. package/dist/{types → src}/api.d.ts.map +1 -1
  29. package/dist/src/api.js +122 -0
  30. package/dist/src/api.js.map +1 -0
  31. package/dist/{types → src}/apiTypes.d.ts +9 -12
  32. package/dist/src/apiTypes.d.ts.map +1 -0
  33. package/dist/src/apiTypes.js +3 -0
  34. package/dist/src/apiTypes.js.map +1 -0
  35. package/dist/{types → src}/extensionLogger.d.ts +0 -0
  36. package/dist/{types → src}/extensionLogger.d.ts.map +0 -0
  37. package/dist/src/extensionLogger.js +34 -0
  38. package/dist/src/extensionLogger.js.map +1 -0
  39. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  40. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  41. package/dist/src/i18n/i18n.js +25 -0
  42. package/dist/src/i18n/i18n.js.map +1 -0
  43. package/dist/{types → src}/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +12 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/{types → src}/project.d.ts +2 -1
  48. package/dist/src/project.d.ts.map +1 -0
  49. package/dist/src/project.js +149 -0
  50. package/dist/src/project.js.map +1 -0
  51. package/dist/{types → src}/specification/schemaAccess.d.ts +2 -11
  52. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  53. package/dist/src/specification/schemaAccess.js +60 -0
  54. package/dist/src/specification/schemaAccess.js.map +1 -0
  55. package/dist/{types → src}/sync/common/appProvider.d.ts +4 -5
  56. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  57. package/dist/src/sync/common/appProvider.js +59 -0
  58. package/dist/src/sync/common/appProvider.js.map +1 -0
  59. package/dist/{types → src}/sync/common/decoration/control.d.ts +0 -0
  60. package/dist/{types → src}/sync/common/decoration/control.d.ts.map +0 -0
  61. package/dist/src/sync/common/decoration/control.js +211 -0
  62. package/dist/src/sync/common/decoration/control.js.map +1 -0
  63. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  64. package/dist/{types → src}/sync/common/decoration/decorators.d.ts.map +0 -0
  65. package/dist/src/sync/common/decoration/decorators.js +45 -0
  66. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  68. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  69. package/dist/src/sync/common/decoration/factory.js +48 -0
  70. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/flex.d.ts +1 -3
  72. package/dist/{types → src}/sync/common/decoration/flex.d.ts.map +1 -1
  73. package/dist/src/sync/common/decoration/flex.js +8 -0
  74. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  76. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  77. package/dist/src/sync/common/decoration/index.js +9 -0
  78. package/dist/src/sync/common/decoration/index.js.map +1 -0
  79. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -3
  80. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  81. package/dist/src/sync/common/flexUtils.js +94 -0
  82. package/dist/src/sync/common/flexUtils.js.map +1 -0
  83. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/generate/index.js +8 -0
  86. package/dist/src/sync/common/generate/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  88. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  89. package/dist/src/sync/common/generate/objectPage.js +355 -0
  90. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  92. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  93. package/dist/src/sync/common/generate/utils.js +382 -0
  94. package/dist/src/sync/common/generate/utils.js.map +1 -0
  95. package/dist/src/sync/common/i18n.json +21 -0
  96. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  97. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  98. package/dist/src/sync/common/import/utils.js +92 -0
  99. package/dist/src/sync/common/import/utils.js.map +1 -0
  100. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  101. package/dist/{types → src}/sync/common/importProject.d.ts.map +1 -1
  102. package/dist/src/sync/common/importProject.js +254 -0
  103. package/dist/src/sync/common/importProject.js.map +1 -0
  104. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  106. package/dist/src/sync/common/index.js +15 -0
  107. package/dist/src/sync/common/index.js.map +1 -0
  108. package/dist/{types → src}/sync/common/types.d.ts +5 -55
  109. package/dist/src/sync/common/types.d.ts.map +1 -0
  110. package/dist/src/sync/common/types.js +165 -0
  111. package/dist/src/sync/common/types.js.map +1 -0
  112. package/dist/{types → src}/sync/common/utils.d.ts +7 -8
  113. package/dist/src/sync/common/utils.d.ts.map +1 -0
  114. package/dist/src/sync/common/utils.js +1066 -0
  115. package/dist/src/sync/common/utils.js.map +1 -0
  116. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  117. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  118. package/dist/src/sync/i18n.js +15 -0
  119. package/dist/src/sync/i18n.js.map +1 -0
  120. package/dist/{types → src}/sync/v2/application.d.ts +6 -6
  121. package/dist/src/sync/v2/application.d.ts.map +1 -0
  122. package/dist/src/sync/v2/application.js +154 -0
  123. package/dist/src/sync/v2/application.js.map +1 -0
  124. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  125. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  126. package/dist/src/sync/v2/export/controls/Action.js +127 -0
  127. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  128. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +9 -0
  129. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  130. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +62 -0
  131. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  132. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  133. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  134. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +56 -0
  135. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  136. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  137. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/Card.js +655 -0
  139. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  141. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/src/sync/v2/export/controls/Field.js +41 -0
  143. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/FilterBar.d.ts +3 -3
  145. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/FilterBar.js +107 -0
  147. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  149. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/FormAction.js +128 -0
  151. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  152. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  153. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  155. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  156. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  157. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +110 -0
  159. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  160. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  161. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +62 -0
  163. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +9 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +61 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +9 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +62 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  172. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  173. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +59 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +194 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  180. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +41 -0
  181. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +278 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +61 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  188. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +22 -23
  189. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/Table.js +593 -0
  191. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +38 -0
  193. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/TableColumn.js +166 -0
  195. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  196. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  197. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ToolBar.js +6 -0
  199. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  201. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  202. package/dist/src/sync/v2/export/controls/index.js +25 -0
  203. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  205. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  206. package/dist/src/sync/v2/export/export.js +681 -0
  207. package/dist/src/sync/v2/export/export.js.map +1 -0
  208. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  209. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/exportPage.js +304 -0
  211. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  214. package/dist/src/sync/v2/export/factory.js +55 -0
  215. package/dist/src/sync/v2/export/factory.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/manifest.d.ts +2 -2
  217. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  218. package/dist/src/sync/v2/export/manifest.js +168 -0
  219. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  220. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  221. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +42 -0
  223. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  224. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  225. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  226. package/dist/src/sync/v2/export/pages/ListReport.js +39 -0
  227. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  228. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +15 -0
  229. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/pages/ObjectPage.js +74 -0
  231. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  232. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +3 -3
  233. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/OverviewPage.js +118 -0
  235. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  236. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  237. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  238. package/dist/src/sync/v2/export/pages/index.js +10 -0
  239. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  240. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  241. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/view-controller-generator.js +141 -0
  243. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  245. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  246. package/dist/src/sync/v2/generate/analyticalListReport.js +84 -0
  247. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  249. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  250. package/dist/src/sync/v2/generate/generate.js +99 -0
  251. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  253. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  254. package/dist/src/sync/v2/generate/index.js +14 -0
  255. package/dist/src/sync/v2/generate/index.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +1 -1
  257. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/listReport.js +116 -0
  259. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/objectPage.js +537 -0
  263. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  265. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  266. package/dist/src/sync/v2/generate/overviewPage.js +70 -0
  267. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  269. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/utils.js +527 -0
  271. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  273. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  274. package/dist/src/sync/v2/import/app/appProvider.js +136 -0
  275. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  277. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  278. package/dist/src/sync/v2/import/app/ovpProvider.js +32 -0
  279. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  281. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  282. package/dist/src/sync/v2/import/common/index.js +393 -0
  283. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  285. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/controls/table.js +33 -0
  287. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  289. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  290. package/dist/src/sync/v2/import/getPageType.js +1 -0
  291. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  293. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  294. package/dist/src/sync/v2/import/index.js +11 -0
  295. package/dist/src/sync/v2/import/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  297. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/pages/analyticalListPage.js +119 -0
  299. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  301. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  302. package/dist/src/sync/v2/import/pages/listReport.js +143 -0
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  305. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  306. package/dist/src/sync/v2/import/pages/objectPage.js +744 -0
  307. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  309. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/overviewPage.js +104 -0
  311. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  313. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/utils.js +171 -0
  315. package/dist/src/sync/v2/import/utils.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  317. package/dist/src/sync/v2/types.d.ts.map +1 -0
  318. package/dist/src/sync/v2/types.js +36 -0
  319. package/dist/src/sync/v2/types.js.map +1 -0
  320. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +0 -0
  321. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +0 -0
  322. package/dist/src/sync/v4/utils/StableIdHelper.js +156 -0
  323. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  324. package/package.json +9 -9
  325. package/CHANGELOG.md +0 -1079
  326. package/dist/types/apiTypes.d.ts.map +0 -1
  327. package/dist/types/index.d.ts.map +0 -1
  328. package/dist/types/project.d.ts.map +0 -1
  329. package/dist/types/specification/common/Application.d.ts +0 -16
  330. package/dist/types/specification/common/Application.d.ts.map +0 -1
  331. package/dist/types/specification/common/index.d.ts +0 -6
  332. package/dist/types/specification/common/index.d.ts.map +0 -1
  333. package/dist/types/specification/common/page.d.ts +0 -42
  334. package/dist/types/specification/common/page.d.ts.map +0 -1
  335. package/dist/types/specification/common/types.d.ts +0 -21
  336. package/dist/types/specification/common/types.d.ts.map +0 -1
  337. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -49
  338. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  339. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  340. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  341. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  342. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  343. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -34
  344. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  345. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  346. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -31
  347. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  348. package/dist/types/specification/v2/controls/Action.d.ts +0 -83
  349. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  350. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -55
  351. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  352. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  353. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  354. package/dist/types/specification/v2/controls/Card.d.ts +0 -626
  355. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  356. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  357. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  358. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  359. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  360. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -81
  361. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  362. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  363. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  364. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  365. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  366. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  367. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  368. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -35
  369. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  370. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  371. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  372. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  373. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  374. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -131
  375. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  376. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  377. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  378. package/dist/types/specification/v2/controls/Table.d.ts +0 -402
  379. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  380. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  381. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  382. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  383. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  384. package/dist/types/specification/v2/index.d.ts +0 -6
  385. package/dist/types/specification/v2/index.d.ts.map +0 -1
  386. package/dist/types/specification/v2/page.d.ts +0 -8
  387. package/dist/types/specification/v2/page.d.ts.map +0 -1
  388. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  389. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  390. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  391. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  392. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -25
  393. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  394. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -83
  395. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  396. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  397. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  398. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  399. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  400. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  401. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  402. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  403. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  404. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  405. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  406. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  407. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  408. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  409. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  410. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  411. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  412. package/dist/types/sync/common/types.d.ts.map +0 -1
  413. package/dist/types/sync/common/utils.d.ts.map +0 -1
  414. package/dist/types/sync/v2/application.d.ts.map +0 -1
  415. package/dist/types/sync/v2/export/controls/Action.d.ts +0 -29
  416. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  417. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -9
  418. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  419. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  420. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  421. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  422. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  423. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  424. package/dist/types/sync/v2/export/controls/FormAction.d.ts +0 -16
  425. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  426. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  427. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  428. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  429. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -9
  430. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  431. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -9
  432. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  433. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -9
  434. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  435. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  436. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  437. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  438. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  439. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -43
  440. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  441. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -9
  442. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  443. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  444. package/dist/types/sync/v2/export/controls/TableColumn.d.ts +0 -39
  445. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  446. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  447. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  448. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  449. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  450. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  451. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  452. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  453. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  454. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -16
  455. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  456. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  457. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  458. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  459. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  460. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  461. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  462. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  463. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  464. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  465. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  466. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  467. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  468. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  469. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  470. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  471. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  472. package/dist/types/sync/v2/types.d.ts.map +0 -1
  473. package/dist/types/v2.d.ts +0 -3
  474. package/dist/types/v2.d.ts.map +0 -1
@@ -0,0 +1,537 @@
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
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
7
+ const common_1 = require("../../common");
8
+ const utils_1 = require("./utils");
9
+ const import_1 = require("../import");
10
+ const extensionLogger_1 = require("../../../extensionLogger");
11
+ const i18next_1 = __importDefault(require("i18next"));
12
+ const i18n_1 = require("../../../i18n/i18n");
13
+ const types_1 = require("../types");
14
+ /**
15
+ * Adds flexChange properties for sub(sections)
16
+ * @param appSchema - app schema in general
17
+ * @param schemaSection - current section
18
+ * @param property - property that will be enhanced
19
+ * @param sectionType - type of section
20
+ */
21
+ function addFlexChangeForSection(appSchema, schemaSection, property, sectionType) {
22
+ schemaSection.properties[property][common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.FlexChange;
23
+ let controlType;
24
+ switch (sectionType) {
25
+ case types_1.SectionTypeV2.Section:
26
+ case types_1.SectionTypeV2.SectionForm:
27
+ case types_1.SectionTypeV2.SectionChart:
28
+ case types_1.SectionTypeV2.SectionTable:
29
+ controlType = ux_specification_types_1.ControlType.Section;
30
+ break;
31
+ case types_1.SectionTypeV2.SubSection:
32
+ controlType = ux_specification_types_1.ControlType.SubSection;
33
+ break;
34
+ case types_1.SectionTypeV2.SubSectionForm:
35
+ controlType = ux_specification_types_1.ControlType.Group;
36
+ break;
37
+ case types_1.SectionTypeV2.SubSectionChart:
38
+ controlType = ux_specification_types_1.ControlType.SmartChart;
39
+ break;
40
+ case types_1.SectionTypeV2.SubSectionTable:
41
+ controlType = ux_specification_types_1.ControlType.SmartTable;
42
+ break;
43
+ }
44
+ if (!controlType) {
45
+ return;
46
+ }
47
+ common_1.addPatternForBindingChangeOfEnumOP(appSchema, schemaSection, property);
48
+ schemaSection.properties[property][common_1.SchemaTag.controlType] = controlType;
49
+ }
50
+ /**
51
+ * Callback for adding a single action to headerActions of V2
52
+ * @param {EntityType} entityType - current entity type
53
+ * @param {object} appSchema Schema of the app
54
+ * @param actionAnnotation - annotation as present in AVT ConvertedMetadata
55
+ * @param headerActions - list of header actions, to be enhanced
56
+ */
57
+ function addHeaderActionCallBackV2(entityType, appSchema, actionAnnotation, headerActions, oDataServiceAVT) {
58
+ return (item, index) => {
59
+ if (!item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
60
+ const action = common_1.replaceAlias(item.Action, oDataServiceAVT);
61
+ const { actionName, actionId } = common_1.getActionNameAndId(action, entityType);
62
+ const description = item.Label || actionName;
63
+ const actionDefinitionKey = `HeaderAction<${common_1.prepareRef(actionId)}>`;
64
+ appSchema.definitions[actionDefinitionKey] = JSON.parse(JSON.stringify(appSchema.definitions['HeaderAction']));
65
+ const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
66
+ appSchema.definitions[actionDefinitionKey][common_1.SchemaTag.annotationPath] = `/${convertedIdentification}/${index}`;
67
+ appSchema.definitions[actionDefinitionKey]['description'] = description;
68
+ headerActions.properties[actionId] = {
69
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
70
+ };
71
+ }
72
+ };
73
+ }
74
+ /**
75
+ * Method ensures that definitions for custom columns are created for passed entitySet.
76
+ * @param {object} appSchema App schema in general
77
+ * @param {object} manifest manifest.json of the app
78
+ * @param {string} entitySetName Entity set name.
79
+ * @param {string} entityTypeName Entity type name.
80
+ * @param {ConvertedMetadata} oDataServiceAVT Complete service information, as returned by annotation vocabularies tool
81
+ * @param {FacetConfig} facet information
82
+ * @param {string} facetKey - key of the facet, as listed in FacetConfigs
83
+ * @param {FileData[]} [fragments] Array with XML fragments.
84
+ * @return {string} Name of custom columns definition.
85
+ */
86
+ function ensureCustomColumnDefinitionExists(appSchema, manifest, entitySetName, entityTypeName, oDataServiceAVT, facet, facetKey, fragments) {
87
+ let suffix, customColumnsDefinitionName;
88
+ if (facet.ID && facet.Label) {
89
+ suffix = facet.ID + facet.Label.replace(/\s+/g, '');
90
+ }
91
+ else if (facet.ID) {
92
+ suffix = facet.ID;
93
+ }
94
+ else if (facet.Label) {
95
+ suffix = facet.Label.replace(/\s+/g, '');
96
+ }
97
+ if (suffix) {
98
+ customColumnsDefinitionName = `${common_1.DefinitionName.CustomColumns}<${entitySetName}><${facetKey}><${suffix}>`;
99
+ }
100
+ else {
101
+ customColumnsDefinitionName = `${common_1.DefinitionName.CustomColumns}<${entitySetName}><${facetKey}>`;
102
+ }
103
+ if (appSchema.definitions[customColumnsDefinitionName]) {
104
+ // Definition is already created - we do not need to create it again
105
+ return customColumnsDefinitionName;
106
+ }
107
+ // Create type specific 'TableCustomColumn' definition - use entity set as type.
108
+ const customColumnDefinitionName = `${common_1.DefinitionName.CustomColumn}<${entitySetName}>`;
109
+ const customColumnDefinition = JSON.parse(JSON.stringify(appSchema.definitions['TableCustomColumn']));
110
+ appSchema.definitions[customColumnDefinitionName] = customColumnDefinition;
111
+ // Update definitions for type specific custom columns
112
+ const pageKeys = [];
113
+ const entityType = oDataServiceAVT.entityTypes.find((et) => et.name === entityTypeName);
114
+ const v2Page = import_1.findObjectPageV2(manifest[ux_specification_types_1.ManifestSection.generic].pages, entitySetName, pageKeys);
115
+ utils_1.addTableColumnExtensions(appSchema, entityType, v2Page, manifest, fragments, customColumnsDefinitionName, customColumnDefinitionName);
116
+ return customColumnsDefinitionName;
117
+ }
118
+ /**
119
+ * Method fills new app schema section with properties.
120
+ * @param {Definition} appSchema App schema in general
121
+ * @param {object} appSchemaSection app schema section to be filled
122
+ * @param {SectionTypeV2} sectionType (sub)section type
123
+ * @param {SectionTypeV2} mainSectionType main section type, used to fill app schema section
124
+ */
125
+ function addAppSchemaDefinition(appSchema, appSchemaSection, sectionType, mainSectionType) {
126
+ appSchemaSection.properties = JSON.parse(JSON.stringify(appSchema.definitions[mainSectionType].properties));
127
+ if (appSchemaSection.properties.visible) {
128
+ addFlexChangeForSection(appSchema, appSchemaSection, 'visible', sectionType);
129
+ }
130
+ }
131
+ /**
132
+ * Method adds reference to section property key.
133
+ * @param {object} sections - schema of current sections definition
134
+ * @param {string} key section key which will contain the reference
135
+ * @param {string} definitionKey key which the section should point to
136
+ */
137
+ function addSectionReference(sections, key, definitionKey) {
138
+ sections.properties[key] = { $ref: `${common_1.DEFINITION_LINK_PREFIX}${definitionKey}` };
139
+ }
140
+ /**
141
+ * Reuse function for all table types, copies and adapts the generic definition
142
+ * @param tableType - Table type
143
+ * @param facetId - facet ID, as derived for the given section
144
+ * @param facet - facet or section information
145
+ * @param appSchema - app-specific schema, to be updated
146
+ */
147
+ function addTableDefinition(tableType, facetId, facet, appSchema) {
148
+ const schemaId = common_1.prepareRef(`${tableType}<${facetId}>`);
149
+ appSchema.definitions[schemaId] = JSON.parse(JSON.stringify(appSchema.definitions[tableType]));
150
+ appSchema.definitions[schemaId]['properties']['columns']['$ref'] = common_1.DEFINITION_LINK_PREFIX + facetId;
151
+ appSchema.definitions[schemaId].properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}ObjectPageToolBar<${facetId}>`;
152
+ appSchema.definitions[schemaId][common_1.SchemaTag.annotationPath] = facet.annotationPath;
153
+ if (facet.ID !== undefined) {
154
+ appSchema.definitions[schemaId].title = common_1.FacetTitlePrefix + facet.ID;
155
+ }
156
+ appSchema.definitions[schemaId].description = common_1.DefinitionName.Table;
157
+ //adjust quickVariantSelection
158
+ appSchema.definitions[schemaId].properties['quickVariantSelection']['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}QuickVariantSelectionOP<${facetId}>`;
159
+ appSchema.definitions[`QuickVariantSelectionOP<${facetId}>`] = JSON.parse(JSON.stringify(appSchema.definitions['QuickVariantSelectionOP']));
160
+ appSchema.definitions[`QuickVariant<${facetId}>`] = JSON.parse(JSON.stringify(appSchema.definitions['QuickVariant']));
161
+ appSchema.definitions[`QuickVariantSelectionOP<${facetId}>`].properties.variants.patternProperties['^[0-9]+$']['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}QuickVariant<${facetId}>`;
162
+ common_1.addEnumForSingleTabVariant(facet.entityType, appSchema, `QuickVariant<${facetId}>`);
163
+ }
164
+ /**
165
+ * Adds definitions for line items in object page sections to the app schema
166
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
167
+ * @param {string} facetKey - key of the facet, as listed in FacetConfigs
168
+ * @param {Definition} appSchema - app schema in general
169
+ * @param {FacetConfig} facet - the given facet from the UI annotations
170
+ * @param {FacetConfigs} facets - list of all facets
171
+ * @param {SectionTypeV2} sectionType (sub)section type
172
+ */
173
+ function handleLineItem(generateParameters, facetKey, appSchema, facet, facets, sectionType) {
174
+ if (facet.base !== common_1.FacetBase.LineItem || !facetKey) {
175
+ //no properties
176
+ return;
177
+ }
178
+ const navigationProperty = facetKey.split('::')[0];
179
+ const schemaIdForOpSection = `${sectionType}<${facetKey}>`;
180
+ appSchema.definitions[schemaIdForOpSection] = common_1.createDefaultSection(appSchema, facet, facetKey);
181
+ const appSchemaSection = appSchema.definitions[schemaIdForOpSection];
182
+ addAppSchemaDefinition(appSchema, appSchemaSection, sectionType, types_1.SectionTypeV2.SectionTable);
183
+ appSchemaSection.properties.table = JSON.parse(JSON.stringify(appSchema.definitions[types_1.SectionTypeV2.SectionTable]['properties'][common_1.PropertyName.table]));
184
+ appSchemaSection.properties.table.anyOf = [
185
+ {
186
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageResponsiveTable<${facetKey}>`
187
+ },
188
+ {
189
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageAnalyticalTable<${facetKey}>`
190
+ },
191
+ {
192
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageGridTable<${facetKey}>`
193
+ },
194
+ {
195
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}ObjectPageTreeTable<${facetKey}>`
196
+ }
197
+ ];
198
+ appSchemaSection[common_1.SchemaTag.annotationPath] = facet.annotationPath;
199
+ common_1.addSectionTitleAndDescription(facet, appSchemaSection, facetKey);
200
+ addTableDefinition('ObjectPageResponsiveTable', facetKey, facet, appSchema);
201
+ addTableDefinition('ObjectPageGridTable', facetKey, facet, appSchema);
202
+ addTableDefinition('ObjectPageTreeTable', facetKey, facet, appSchema);
203
+ addTableDefinition('ObjectPageAnalyticalTable', facetKey, facet, appSchema);
204
+ let customColumnDefinitionKey;
205
+ // Find target entity
206
+ const targetEntitySet = common_1.determineEntitySetOfFacet(facet, generateParameters.serviceAVT);
207
+ if (targetEntitySet) {
208
+ // Make sure that custom columns definitions are created for passed entity
209
+ customColumnDefinitionKey = ensureCustomColumnDefinitionExists(appSchema, generateParameters.manifest, targetEntitySet.name, facet.entityType.name, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, facet, facetKey, generateParameters.fragments);
210
+ }
211
+ for (const facetItem in facets) {
212
+ if (facets[facetItem].base === common_1.FacetBase.LineItem && facetItem.includes(navigationProperty)) {
213
+ utils_1.addLineItemsType(appSchema, facets[facetItem].target, facets[facetItem].entityType, facetItem, customColumnDefinitionKey);
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Adds definitions for subsections in object page sections to the app schema
219
+ * @param {Definition} appSchema - app schema in general
220
+ * @param {string} definitionKey - key of app schema definition to be filled
221
+ * @param {FacetConfig} facet facet or section information
222
+ * @param {string} facetId - key of the facet, as listed in FacetConfigs
223
+ * @param {SectionTypeV2} sectionType (sub)section type
224
+ */
225
+ function handleSubSection(appSchema, definitionKey, facet, facetId, sectionType) {
226
+ appSchema.definitions[definitionKey] = common_1.createDefaultSection(appSchema, facet, facetId);
227
+ const appSchemaSection = appSchema.definitions[definitionKey];
228
+ addAppSchemaDefinition(appSchema, appSchemaSection, sectionType, types_1.SectionTypeV2.SubSection);
229
+ appSchemaSection.properties.subsections = {
230
+ type: 'object',
231
+ description: 'Subsections',
232
+ properties: {},
233
+ additionalProperties: false
234
+ };
235
+ appSchemaSection.properties.subsections[common_1.SchemaTag.isViewNode] = true;
236
+ }
237
+ /**
238
+ * Method fills new chart section with properties.
239
+ * @param {Definition} appSchema App schema in general
240
+ * @param {string} definitionKey - key of app schema definition to be filled
241
+ * @param {FacetConfig} facet facet or section information
242
+ * @param {string} facetKey - facet key.
243
+ * @param {SectionTypeV2} sectionType (sub)section type
244
+ */
245
+ function handleSectionChart(appSchema, definitionKey, facet, facetKey, sectionType) {
246
+ appSchema.definitions[definitionKey] = common_1.createDefaultSection(appSchema, facet, facetKey);
247
+ const appSchemaSection = appSchema.definitions[definitionKey];
248
+ addAppSchemaDefinition(appSchema, appSchemaSection, sectionType, types_1.SectionTypeV2.SectionChart);
249
+ }
250
+ /**
251
+ * Method fills new form section in app schema with properties.
252
+ * @param {Definition} appSchema App schema in general
253
+ * @param {string} definitionKey - key of app schema definition to be filled
254
+ * @param {FacetConfig} facet facet or section information
255
+ * @param {string} facetKey - facet key.
256
+ * @param {SectionTypeV2} sectionType (sub)section type
257
+ * @return {object} returns filled form section in app schema.
258
+ */
259
+ function handleAppSchemaFormSection(appSchema, definitionKey, facet, facetKey, sectionType) {
260
+ appSchema.definitions[definitionKey] = common_1.createDefaultSection(appSchema, facet, facetKey);
261
+ const appSchemaSection = appSchema.definitions[definitionKey];
262
+ addAppSchemaDefinition(appSchema, appSchemaSection, sectionType, types_1.SectionTypeV2.SectionForm);
263
+ appSchemaSection[common_1.SchemaTag.annotationPath] = facet.annotationPath;
264
+ appSchemaSection[common_1.SchemaTag.isViewNode] = true;
265
+ return appSchemaSection;
266
+ }
267
+ /**
268
+ * Mapping of facet type to (sub)section type to enable correct further handling
269
+ * @param {FacetBase} facetType - facet type to be mapped
270
+ * @param {boolean} isSubSection - if section is subsection of section
271
+ * @return {SectionTypeV2} sectionType (sub)section type
272
+ */
273
+ function getSectionType(facetType, isSubSection) {
274
+ const sectionTypeMapping = new Map([
275
+ [common_1.FacetBase.CollectionFacet, types_1.SectionTypeV2.Section],
276
+ [common_1.FacetBase.LineItem, types_1.SectionTypeV2.SectionTable],
277
+ [common_1.FacetBase.Chart, types_1.SectionTypeV2.SectionChart],
278
+ [common_1.FacetBase.Address, types_1.SectionTypeV2.SectionAddress],
279
+ [common_1.FacetBase.Contact, types_1.SectionTypeV2.SectionContact],
280
+ [common_1.FacetBase.Form, types_1.SectionTypeV2.SectionForm],
281
+ [common_1.FacetBase.Identification, types_1.SectionTypeV2.SectionForm]
282
+ ]);
283
+ const subSectionTypeMapping = new Map([
284
+ [common_1.FacetBase.CollectionFacet, types_1.SectionTypeV2.SubSection],
285
+ [common_1.FacetBase.LineItem, types_1.SectionTypeV2.SubSectionTable],
286
+ [common_1.FacetBase.Chart, types_1.SectionTypeV2.SubSectionChart],
287
+ [common_1.FacetBase.Address, types_1.SectionTypeV2.SubSectionAddress],
288
+ [common_1.FacetBase.Contact, types_1.SectionTypeV2.SubSectionContact],
289
+ [common_1.FacetBase.Form, types_1.SectionTypeV2.SubSectionForm],
290
+ [common_1.FacetBase.Identification, types_1.SectionTypeV2.SubSectionForm]
291
+ ]);
292
+ if (isSubSection) {
293
+ return subSectionTypeMapping.get(facetType);
294
+ }
295
+ else {
296
+ return sectionTypeMapping.get(facetType);
297
+ }
298
+ }
299
+ /**
300
+ * Method returns reference key, special handling of (sub)sections
301
+ * @param {FacetConfig} facet facet or section information
302
+ * @param {string} facetKey - facet key.
303
+ * @param {SectionTypeV2} sectionType (sub)section type
304
+ * @return {string} reference key
305
+ */
306
+ function getReferenceKey(facet, facetKey, sectionType) {
307
+ let referenceKey = facetKey;
308
+ if (sectionType === (types_1.SectionTypeV2.Section || types_1.SectionTypeV2.SubSection)) {
309
+ referenceKey = referenceKey.replace(`@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`, facet.base);
310
+ }
311
+ return `${referenceKey}`;
312
+ }
313
+ /**
314
+ * Creates a section definition in app schema.
315
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
316
+ * @param {FacetConfigs} facets - list of all facets.
317
+ * @param {string} facetKey - facet key.
318
+ * @param {object} sections - schema of current sections definition.
319
+ * @param {Definition} appSchema - app specific schema that potentially gets enhanced.
320
+ * @param {boolean} isSubSection - if section is subsection of section
321
+ */
322
+ function addSection(generateParameters, facets, facetKey, sections, appSchema, isSubSection = false) {
323
+ const facet = facets[facetKey];
324
+ const sectionType = getSectionType(facet.base, isSubSection);
325
+ const referenceKey = getReferenceKey(facet, facetKey, sectionType);
326
+ const definitionKey = `${sectionType}<${referenceKey}>`;
327
+ addSectionReference(sections, referenceKey, definitionKey);
328
+ switch (sectionType) {
329
+ case types_1.SectionTypeV2.Section:
330
+ case types_1.SectionTypeV2.SubSection: {
331
+ //handle collection facets
332
+ isSubSection = true;
333
+ handleSubSection(appSchema, definitionKey, facet, facetKey, sectionType);
334
+ const subSections = appSchema.definitions[definitionKey].properties
335
+ .subsections;
336
+ for (const key in facet.facets) {
337
+ addSection(generateParameters, facet.facets, key, subSections, appSchema, isSubSection);
338
+ }
339
+ break;
340
+ }
341
+ case types_1.SectionTypeV2.SectionTable:
342
+ case types_1.SectionTypeV2.SubSectionTable: {
343
+ handleLineItem(generateParameters, facetKey, appSchema, facet, facets, sectionType);
344
+ break;
345
+ }
346
+ case types_1.SectionTypeV2.SectionChart:
347
+ case types_1.SectionTypeV2.SubSectionChart: {
348
+ //handle reference facet (if comprising chart)
349
+ handleSectionChart(appSchema, definitionKey, facet, facetKey, sectionType);
350
+ break;
351
+ }
352
+ case types_1.SectionTypeV2.SectionForm:
353
+ case types_1.SectionTypeV2.SubSectionForm: {
354
+ const withActions = facet.base !== common_1.FacetBase.Identification;
355
+ const appSchemaSection = handleAppSchemaFormSection(appSchema, definitionKey, facet, facetKey, sectionType);
356
+ common_1.handleForm(ux_specification_types_1.SectionType.Section, facet, appSchemaSection, appSchema, ux_specification_types_1.FioriElementsVersion.v2, withActions);
357
+ break;
358
+ }
359
+ case types_1.SectionTypeV2.SectionAddress:
360
+ case types_1.SectionTypeV2.SectionContact: {
361
+ common_1.handleAddressContact(facet, facetKey, sections, appSchema, ux_specification_types_1.SectionType.Section, undefined, 'V2');
362
+ break;
363
+ }
364
+ case types_1.SectionTypeV2.SubSectionAddress:
365
+ case types_1.SectionTypeV2.SubSectionContact: {
366
+ common_1.handleAddressContact(facet, facetKey, sections, appSchema, ux_specification_types_1.SectionType.Section, ux_specification_types_1.SectionType.SubSection, 'V2');
367
+ break;
368
+ }
369
+ default: {
370
+ // Other facets -> only default properties of ObjectPageSection
371
+ sections.properties[facetKey] = common_1.createDefaultSection(appSchema, facet, facetKey);
372
+ }
373
+ }
374
+ }
375
+ /**
376
+ * Adds the sections to the app schema
377
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
378
+ * @param {Definition} appSchema - app specific schema that potentially gets enhanced
379
+ * @param {EntityType} entityType - current entity type
380
+ * @param {string} entitySetName Entity set name
381
+ * @param {SapUiAppPagesV2} pages - list of (manifest) pages
382
+ */
383
+ function addSections(generateParameters, appSchema, entityType, entitySetName, pages) {
384
+ const sections = appSchema.definitions[common_1.DefinitionName.Sections];
385
+ sections[common_1.SchemaTag.isViewNode] = true;
386
+ if (entityType) {
387
+ sections[common_1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
388
+ }
389
+ if (!pages) {
390
+ return;
391
+ }
392
+ // Get facet annotations
393
+ const facets = common_1.getObjectPageFacets(entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, ux_specification_types_1.FioriElementsVersion.v2, generateParameters.logger);
394
+ if (!facets || Object.keys(facets).length === 0) {
395
+ return;
396
+ }
397
+ // Loop on all pages, look for the right entity set
398
+ for (const key in pages) {
399
+ const element = pages[key];
400
+ if (entitySetName.includes(element.entitySet)) {
401
+ // Loop on all facets (of the given entitySet)
402
+ for (const facetKey in facets) {
403
+ addSection(generateParameters, facets, facetKey, sections, appSchema);
404
+ }
405
+ }
406
+ else {
407
+ addSections(generateParameters, appSchema, entityType, entitySetName, element.pages);
408
+ }
409
+ }
410
+ // Add custom sections
411
+ const customSections = appSchema.definitions['CustomSections'];
412
+ for (const name in customSections.properties) {
413
+ sections.properties[name] = customSections.properties[name];
414
+ }
415
+ }
416
+ /**
417
+ * Add Object Page Header to app-specific schema
418
+ *
419
+ * @param {object} appSchema Schema of the app
420
+ * @param {EntityType} entityType - current entity type
421
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
422
+ */
423
+ function addHeader(appSchema, entityType, oDataServiceAVT) {
424
+ common_1.addCommonHeaderSchema(appSchema, entityType);
425
+ //Add header actions
426
+ common_1.addHeaderActions(appSchema, entityType, oDataServiceAVT, addHeaderActionCallBackV2);
427
+ }
428
+ /**
429
+ * Adds the related facets keys 'enum' to the app schema
430
+ * @param schema - app specific schema that potentially gets enhanced
431
+ * @param {EntityType} entityType - current entity type
432
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
433
+ * @param {ExtensionLogger} logger - Logger class for logging messages
434
+ */
435
+ function addRelatedFacetKeysType(schema, entityType, oDataServiceAVT, logger) {
436
+ // Find sections from annotation
437
+ // And create new definition in schema as enum with description
438
+ const facetSections = common_1.getObjectPageFacetSection(entityType, oDataServiceAVT, logger, undefined, true);
439
+ if (facetSections) {
440
+ common_1.addDefinitionForRelatedFacetKeys(schema, ['ObjectPageCustomSectionFragment', 'ObjectPageCustomSectionView'], facetSections, ['ID', 'key']);
441
+ }
442
+ }
443
+ /**
444
+ * Generates an app specific schema out of the generic schema.
445
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
446
+ * @param genericSchema - generic JSON schema of an object page
447
+ * @param entityTypeName - the base entity type of the given page
448
+ *
449
+ * @returns the app specific JSON schema
450
+ */
451
+ function generateObjectPageSchemaV2(generateParameters, genericSchema, entityTypeName) {
452
+ // Initialize i18next
453
+ i18n_1.initI18n();
454
+ const appSchema = JSON.parse(JSON.stringify(genericSchema));
455
+ // Custom sections as part of sections
456
+ const additionalSections = {};
457
+ for (const name in appSchema.definitions['CustomSections']['properties']) {
458
+ additionalSections[name] = appSchema.definitions['CustomSections'].properties[name];
459
+ }
460
+ // Change reference to generated sections
461
+ appSchema.properties[common_1.PropertyName.sections] = {
462
+ $ref: common_1.DEFINITION_LINK_PREFIX + 'Sections'
463
+ };
464
+ const entitySet = (generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT.entitySets) && (generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT.entitySets.find((es) => es.entityType.name === entityTypeName || es.name === entityTypeName));
465
+ if (!entitySet) {
466
+ extensionLogger_1.log(generateParameters.logger, {
467
+ severity: "error" /* Error */,
468
+ message: i18next_1.default.t('NOENTITYSET4NAME', { entityType: entityTypeName }),
469
+ location: {
470
+ path: common_1.METADATAPATH
471
+ }
472
+ });
473
+ return appSchema;
474
+ }
475
+ const entityType = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType;
476
+ generateParameters.entitySet = entitySet;
477
+ const pages = generateParameters.manifest[ux_specification_types_1.ManifestSection.generic].pages;
478
+ if (!pages) {
479
+ extensionLogger_1.log(generateParameters.logger, {
480
+ severity: "error" /* Error */,
481
+ message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
482
+ location: {
483
+ path: common_1.MANIFESTPATH,
484
+ range: [ux_specification_types_1.ManifestSection.generic]
485
+ }
486
+ });
487
+ return appSchema;
488
+ }
489
+ // Add header
490
+ addHeader(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT);
491
+ // Add sections
492
+ appSchema.definitions[common_1.DefinitionName.Sections] = {
493
+ type: 'object',
494
+ properties: {},
495
+ description: 'Sections',
496
+ additionalProperties: false
497
+ };
498
+ addSections(generateParameters, appSchema, entityType, entitySet.name, pages);
499
+ // Custom section facets
500
+ addRelatedFacetKeysType(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, generateParameters.logger);
501
+ if (!appSchema.definitions.Sections) {
502
+ if (appSchema.definitions.RelatedFacetKeys && appSchema.definitions.RelatedFacetKeys['oneOf'].length) {
503
+ // If related facets exists - then we need sections definition
504
+ appSchema.definitions.Sections = {
505
+ type: 'object',
506
+ properties: additionalSections,
507
+ additionalProperties: false
508
+ };
509
+ appSchema.definitions.Sections[common_1.SchemaTag.isViewNode] = true;
510
+ }
511
+ else {
512
+ delete appSchema.properties[common_1.PropertyName.sections];
513
+ }
514
+ }
515
+ common_1.addFooterActions(appSchema, generateParameters);
516
+ // Eliminate generic definitions
517
+ delete appSchema.definitions['GenericSections'];
518
+ delete appSchema.definitions['GenericSubSections'];
519
+ delete appSchema.definitions['ObjectPageSectionTableV2'];
520
+ delete appSchema.definitions['GenericColumns'];
521
+ delete appSchema.definitions['TableColumnAction'];
522
+ delete appSchema.definitions['ObjectPageSectionFormV2'];
523
+ delete appSchema.definitions['ObjectPageSectionTableV2'];
524
+ delete appSchema.definitions['ObjectPageSubSectionV2'];
525
+ delete appSchema.definitions['ObjectPageResponsiveTable'];
526
+ delete appSchema.definitions['ObjectPageAnalyticalTable'];
527
+ delete appSchema.definitions['ObjectPageTreeTable'];
528
+ delete appSchema.definitions['ObjectPageGridTable'];
529
+ delete appSchema.definitions['ObjectPageToolBar'];
530
+ delete appSchema.definitions['ObjectPageToolBarActions'];
531
+ delete appSchema.definitions['ObjectPageForm'];
532
+ delete appSchema.definitions['ObjectPageFormFields'];
533
+ delete appSchema.definitions['ObjectPageFormActions'];
534
+ return appSchema;
535
+ }
536
+ exports.generateObjectPageSchemaV2 = generateObjectPageSchemaV2;
537
+ //# sourceMappingURL=objectPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/objectPage.ts"],"names":[],"mappings":";;;;;AAIA,wEAMqC;AAErC,yCAyBsB;AACtB,mCAAqE;AACrE,sCAA6C;AAC7C,8DAA4D;AAC5D,sDAA8B;AAC9B,6CAA8C;AAC9C,oCAAyC;AAIzC;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC5B,SAAqB,EACrB,aAAyB,EACzB,QAAgB,EAChB,WAA0B;IAE1B,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,kBAAS,CAAC,YAAY,CAAC,GAAG,qCAAY,CAAC,UAAU,CAAC;IACrF,IAAI,WAAwB,CAAC;IAC7B,QAAQ,WAAW,EAAE;QACjB,KAAK,qBAAa,CAAC,OAAO,CAAC;QAC3B,KAAK,qBAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,qBAAa,CAAC,YAAY,CAAC;QAChC,KAAK,qBAAa,CAAC,YAAY;YAC3B,WAAW,GAAG,oCAAW,CAAC,OAAO,CAAC;YAClC,MAAM;QACV,KAAK,qBAAa,CAAC,UAAU;YACzB,WAAW,GAAG,oCAAW,CAAC,UAAU,CAAC;YACrC,MAAM;QACV,KAAK,qBAAa,CAAC,cAAc;YAC7B,WAAW,GAAG,oCAAW,CAAC,KAAK,CAAC;YAChC,MAAM;QACV,KAAK,qBAAa,CAAC,eAAe;YAC9B,WAAW,GAAG,oCAAW,CAAC,UAAU,CAAC;YACrC,MAAM;QACV,KAAK,qBAAa,CAAC,eAAe;YAC9B,WAAW,GAAG,oCAAW,CAAC,UAAU,CAAC;YACrC,MAAM;KACb;IACD,IAAI,CAAC,WAAW,EAAE;QACd,OAAO;KACV;IACD,2CAAkC,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,kBAAS,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAC9B,UAAU,EACV,SAAqB,EACrB,gBAAqB,EACrB,aAMC,EACD,eAAkC;IAElC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,6EAAyC,EAAE;YAC7E,MAAM,MAAM,GAAG,qBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC1D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,2BAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;YAC7C,MAAM,mBAAmB,GAAG,gBAAgB,mBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpE,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,KAAK,CACnD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CACxD,CAAC;YACF,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CACvE,IAAI,gEAAgC,EAAE,EACtC,KAAK,gEAAgC,EAAE,CAC1C,CAAC;YACF,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CACtC,kBAAS,CAAC,cAAc,CAC3B,GAAG,IAAI,uBAAuB,IAAI,KAAK,EAAE,CAAC;YAC3C,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YAExE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;gBACjC,IAAI,EAAE,GAAG,+BAAsB,GAAG,mBAAmB,EAAE;aAC1D,CAAC;SACL;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kCAAkC,CACvC,SAAqB,EACrB,QAAgB,EAChB,aAAqB,EACrB,cAAsB,EACtB,eAAkC,EAClC,KAAkB,EAClB,QAAgB,EAChB,SAAsB;IAEtB,IAAI,MAAM,EAAE,2BAA2B,CAAC;IACxC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE;QACzB,MAAM,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACvD;SAAM,IAAI,KAAK,CAAC,EAAE,EAAE;QACjB,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;KACrB;SAAM,IAAI,KAAK,CAAC,KAAK,EAAE;QACpB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KAC5C;IACD,IAAI,MAAM,EAAE;QACR,2BAA2B,GAAG,GAAG,uBAAc,CAAC,aAAa,IAAI,aAAa,KAAK,QAAQ,KAAK,MAAM,GAAG,CAAC;KAC7G;SAAM;QACH,2BAA2B,GAAG,GAAG,uBAAc,CAAC,aAAa,IAAI,aAAa,KAAK,QAAQ,GAAG,CAAC;KAClG;IAED,IAAI,SAAS,CAAC,WAAW,CAAC,2BAA2B,CAAC,EAAE;QACpD,oEAAoE;QACpE,OAAO,2BAA2B,CAAC;KACtC;IACD,gFAAgF;IAChF,MAAM,0BAA0B,GAAG,GAAG,uBAAc,CAAC,YAAY,IAAI,aAAa,GAAG,CAAC;IACtF,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACtG,SAAS,CAAC,WAAW,CAAC,0BAA0B,CAAC,GAAG,sBAAsB,CAAC;IAC3E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,yBAAgB,CAAC,QAAQ,CAAC,wCAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClG,gCAAwB,CACpB,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,EACT,2BAA2B,EAC3B,0BAA0B,CAC7B,CAAC;IACF,OAAO,2BAA2B,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC3B,SAAqB,EACrB,gBAA4B,EAC5B,WAA0B,EAC1B,eAA8B;IAE9B,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CACpC,IAAI,CAAC,SAAS,CAAE,SAAS,CAAC,WAAW,CAAC,eAAe,CAAgB,CAAC,UAAU,CAAC,CACpF,CAAC;IACF,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE;QACrC,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;KAChF;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,QAAoB,EAAE,GAAW,EAAE,aAAqB;IACjF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,+BAAsB,GAAG,aAAa,EAAE,EAAE,CAAC;AACrF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAkB,EAAE,SAAqB;IACrG,MAAM,QAAQ,GAAG,mBAAU,CAAC,GAAG,SAAS,IAAI,OAAO,GAAG,CAAC,CAAC;IACxD,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/F,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,+BAAsB,GAAG,OAAO,CAAC;IACnG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAgB,CAAC,UAAU,CAAC,OAAO,CAC9D,MAAM,CACT,GAAG,GAAG,+BAAsB,qBAAqB,OAAO,GAAG,CAAC;IAC7D,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IACjF,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE;QACvB,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAgB,CAAC,KAAK,GAAG,yBAAgB,GAAG,KAAK,CAAC,EAAE,CAAC;KACvF;IACA,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAgB,CAAC,WAAW,GAAG,uBAAc,CAAC,KAAK,CAAC;IAEnF,8BAA8B;IAC7B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAgB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC/E,MAAM,CACT,GAAG,GAAG,+BAAsB,2BAA2B,OAAO,GAAG,CAAC;IACnE,SAAS,CAAC,WAAW,CAAC,2BAA2B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CACrE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CACnE,CAAC;IACF,SAAS,CAAC,WAAW,CAAC,gBAAgB,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAC1D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CACxD,CAAC;IAEG,SAAS,CAAC,WAAW,CAAC,2BAA2B,OAAO,GAAG,CAAgB,CAAC,UAAU,CAAC,QAC3F,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,+BAAsB,gBAAgB,OAAO,GAAG,CAAC;IAE9F,mCAA0B,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,OAAO,GAAG,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACnB,kBAA+C,EAC/C,QAAgB,EAChB,SAAqB,EACrB,KAAkB,EAClB,MAAoB,EACpB,WAA2B;IAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;QAChD,eAAe;QACf,OAAO;KACV;IACD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,GAAG,WAAW,IAAI,QAAQ,GAAG,CAAC;IAE3D,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,6BAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/F,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAe,CAAC;IACnF,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAa,CAAC,YAAY,CAAC,CAAC;IAC7F,gBAAgB,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,qBAAa,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,qBAAY,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;IACD,gBAAgB,CAAC,UAAU,CAAC,KAAoB,CAAC,KAAK,GAAG;QACtD;YACI,IAAI,EAAE,GAAG,+BAAsB,6BAA6B,QAAQ,GAAG;SAC1E;QACD;YACI,IAAI,EAAE,GAAG,+BAAsB,6BAA6B,QAAQ,GAAG;SAC1E;QACD;YACI,IAAI,EAAE,GAAG,+BAAsB,uBAAuB,QAAQ,GAAG;SACpE;QACD;YACI,IAAI,EAAE,GAAG,+BAAsB,uBAAuB,QAAQ,GAAG;SACpE;KACJ,CAAC;IACF,gBAAgB,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IAClE,sCAA6B,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAEjE,kBAAkB,CAAC,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5E,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtE,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtE,kBAAkB,CAAC,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAE5E,IAAI,yBAAyB,CAAC;IAC9B,qBAAqB;IACrB,MAAM,eAAe,GAAG,kCAAyB,CAAC,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxF,IAAI,eAAe,EAAE;QACjB,0EAA0E;QAC1E,yBAAyB,GAAG,kCAAkC,CAC1D,SAAS,EACT,kBAAkB,CAAC,QAAQ,EAC3B,eAAe,CAAC,IAAI,EACpB,KAAK,CAAC,UAAU,CAAC,IAAI,EACrB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,EAC9B,KAAK,EACL,QAAQ,EACR,kBAAkB,CAAC,SAAS,CAC/B,CAAC;KACL;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;QAC5B,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,kBAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACzF,wBAAgB,CACZ,SAAS,EACT,MAAM,CAAC,SAAS,CAAC,CAAC,MAAkC,EACpD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAC5B,SAAS,EACT,yBAAyB,CAC5B,CAAC;SACL;KACJ;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACrB,SAAqB,EACrB,aAAqB,EACrB,KAAkB,EAClB,OAAe,EACf,WAA0B;IAE1B,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,6BAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAAe,CAAC;IAC5E,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAa,CAAC,UAAU,CAAC,CAAC;IAC3F,gBAAgB,CAAC,UAAU,CAAC,WAAW,GAAG;QACtC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC9B,CAAC;IACF,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACvB,SAAqB,EACrB,aAAqB,EACrB,KAAkB,EAClB,QAAgB,EAChB,WAA0B;IAE1B,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,6BAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAAe,CAAC;IAC5E,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAa,CAAC,YAAY,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CAC/B,SAAqB,EACrB,aAAqB,EACrB,KAAkB,EAClB,QAAgB,EAChB,WAA0B;IAE1B,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,6BAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAAe,CAAC;IAC5E,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAa,CAAC,WAAW,CAAC,CAAC;IAC5F,gBAAgB,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IAClE,gBAAgB,CAAC,kBAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC9C,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,SAAoB,EAAE,YAAqB;IAC/D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA2B;QACzD,CAAC,kBAAS,CAAC,eAAe,EAAE,qBAAa,CAAC,OAAO,CAAC;QAClD,CAAC,kBAAS,CAAC,QAAQ,EAAE,qBAAa,CAAC,YAAY,CAAC;QAChD,CAAC,kBAAS,CAAC,KAAK,EAAE,qBAAa,CAAC,YAAY,CAAC;QAC7C,CAAC,kBAAS,CAAC,OAAO,EAAE,qBAAa,CAAC,cAAc,CAAC;QACjD,CAAC,kBAAS,CAAC,OAAO,EAAE,qBAAa,CAAC,cAAc,CAAC;QACjD,CAAC,kBAAS,CAAC,IAAI,EAAE,qBAAa,CAAC,WAAW,CAAC;QAC3C,CAAC,kBAAS,CAAC,cAAc,EAAE,qBAAa,CAAC,WAAW,CAAC;KACxD,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAA2B;QAC5D,CAAC,kBAAS,CAAC,eAAe,EAAE,qBAAa,CAAC,UAAU,CAAC;QACrD,CAAC,kBAAS,CAAC,QAAQ,EAAE,qBAAa,CAAC,eAAe,CAAC;QACnD,CAAC,kBAAS,CAAC,KAAK,EAAE,qBAAa,CAAC,eAAe,CAAC;QAChD,CAAC,kBAAS,CAAC,OAAO,EAAE,qBAAa,CAAC,iBAAiB,CAAC;QACpD,CAAC,kBAAS,CAAC,OAAO,EAAE,qBAAa,CAAC,iBAAiB,CAAC;QACpD,CAAC,kBAAS,CAAC,IAAI,EAAE,qBAAa,CAAC,cAAc,CAAC;QAC9C,CAAC,kBAAS,CAAC,cAAc,EAAE,qBAAa,CAAC,cAAc,CAAC;KAC3D,CAAC,CAAC;IACH,IAAI,YAAY,EAAE;QACd,OAAO,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC/C;SAAM;QACH,OAAO,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC5C;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW;IACjD,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,IAAI,WAAW,KAAK,CAAC,qBAAa,CAAC,OAAO,IAAI,qBAAa,CAAC,UAAU,CAAC,EAAE;QACrE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,gDAAwB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KACnF;IACD,OAAO,GAAG,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CACf,kBAA+C,EAC/C,MAAoB,EACpB,QAAgB,EAChB,QAAoB,EACpB,SAAqB,EACrB,YAAY,GAAG,KAAK;IAEpB,MAAM,KAAK,GAAgB,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,GAAG,WAAW,IAAI,YAAY,GAAG,CAAC;IACxD,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAC3D,QAAQ,WAAW,EAAE;QACjB,KAAK,qBAAa,CAAC,OAAO,CAAC;QAC3B,KAAK,qBAAa,CAAC,UAAU,CAAC,CAAC;YAC3B,0BAA0B;YAC1B,YAAY,GAAG,IAAI,CAAC;YACpB,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzE,MAAM,WAAW,GAAI,SAAS,CAAC,WAAW,CAAC,aAAa,CAAgB,CAAC,UAAU;iBAC9E,WAAyB,CAAC;YAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC5B,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;aAC3F;YACD,MAAM;SACT;QACD,KAAK,qBAAa,CAAC,YAAY,CAAC;QAChC,KAAK,qBAAa,CAAC,eAAe,CAAC,CAAC;YAChC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACpF,MAAM;SACT;QACD,KAAK,qBAAa,CAAC,YAAY,CAAC;QAChC,KAAK,qBAAa,CAAC,eAAe,CAAC,CAAC;YAChC,8CAA8C;YAC9C,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE3E,MAAM;SACT;QACD,KAAK,qBAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,qBAAa,CAAC,cAAc,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,kBAAS,CAAC,cAAc,CAAC;YAC5D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC5G,mBAAU,CAAC,oCAAW,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,6CAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAC1G,MAAM;SACT;QACD,KAAK,qBAAa,CAAC,cAAc,CAAC;QAClC,KAAK,qBAAa,CAAC,cAAc,CAAC,CAAC;YAC/B,6BAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,oCAAW,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACjG,MAAM;SACT;QACD,KAAK,qBAAa,CAAC,iBAAiB,CAAC;QACrC,KAAK,qBAAa,CAAC,iBAAiB,CAAC,CAAC;YAClC,6BAAoB,CAChB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,oCAAW,CAAC,OAAO,EACnB,oCAAW,CAAC,UAAU,EACtB,IAAI,CACP,CAAC;YACF,MAAM;SACT;QACD,OAAO,CAAC,CAAC;YACL,+DAA+D;YAC/D,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,6BAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACpF;KACJ;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAChB,kBAA+C,EAC/C,SAAqB,EACrB,UAAsB,EACtB,aAAqB,EACrB,KAAyB;IAEzB,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,uBAAc,CAAC,QAAQ,CAAe,CAAC;IAC9E,QAAQ,CAAC,kBAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACtC,IAAI,UAAU,EAAE;QACZ,QAAQ,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,IAAI,UAAU,CAAC,kBAAkB,KAAK,gDAAwB,EAAE,CAAC;KACzG;IAED,IAAI,CAAC,KAAK,EAAE;QACR,OAAO;KACV;IACD,wBAAwB;IACxB,MAAM,MAAM,GAAiB,4BAAmB,CAC5C,UAAU,EACV,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,EAC9B,6CAAoB,CAAC,EAAE,EACvB,kBAAkB,CAAC,MAAM,CAC5B,CAAC;IACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,OAAO;KACV;IAED,mDAAmD;IACnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC3C,8CAA8C;YAC9C,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE;gBAC3B,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACzE;SACJ;aAAM;YACH,WAAW,CAAC,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;SACxF;KACJ;IAED,sBAAsB;IACtB,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAe,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,UAAU,EAAE;QAC1C,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC/D;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,SAAiB,EAAE,UAAsB,EAAE,eAAkC;IAC5F,8BAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE7C,oBAAoB;IACpB,yBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC5B,MAAc,EACd,UAAsB,EACtB,eAAkC,EAClC,MAAwB;IAExB,gCAAgC;IAChC,+DAA+D;IAC/D,MAAM,aAAa,GAAG,kCAAyB,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtG,IAAI,aAAa,EAAE;QACf,yCAAgC,CAC5B,MAAM,EACN,CAAC,iCAAiC,EAAE,6BAA6B,CAAC,EAClE,aAAa,EACb,CAAC,IAAI,EAAE,KAAK,CAAC,CAChB,CAAC;KACL;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CACtC,kBAA+C,EAC/C,aAAqB,EACrB,cAAsB;IAEtB,qBAAqB;IACrB,eAAQ,EAAE,CAAC;IAEX,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAe,CAAC;IAE1E,sCAAsC;IACtC,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAAE;QACtE,kBAAkB,CAAC,IAAI,CAAC,GAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACvG;IAED,yCAAyC;IACzC,SAAS,CAAC,UAAU,CAAC,qBAAY,CAAC,QAAQ,CAAC,GAAG;QAC1C,IAAI,EAAE,+BAAsB,GAAG,UAAU;KAC5C,CAAC;IAEF,MAAM,SAAS,GACX,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,UAAU,MACzC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAC1C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAC9E,CAAC;IACN,IAAI,CAAC,SAAS,EAAE;QACZ,qBAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC3B,QAAQ,qBAAmB;YAC3B,OAAO,EAAE,iBAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACtE,QAAQ,EAAE;gBACN,IAAI,EAAE,qBAAY;aACrB;SACJ,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC;IACzC,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,wCAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE;QACR,qBAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC3B,QAAQ,qBAAmB;YAC3B,OAAO,EAAE,iBAAO,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtF,QAAQ,EAAE;gBACN,IAAI,EAAE,qBAAY;gBAClB,KAAK,EAAE,CAAC,wCAAe,CAAC,OAAO,CAAC;aACnC;SACJ,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;KACpB;IAED,aAAa;IACb,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC;IAEjE,eAAe;IACf,SAAS,CAAC,WAAW,CAAC,uBAAc,CAAC,QAAQ,CAAC,GAAG;QAC7C,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,UAAU;QACvB,oBAAoB,EAAE,KAAK;KAC9B,CAAC;IACF,WAAW,CAAC,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9E,wBAAwB;IACxB,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE1G,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE;QACjC,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAClG,8DAA8D;YAC9D,SAAS,CAAC,WAAW,CAAC,QAAQ,GAAG;gBAC7B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,kBAAkB;gBAC9B,oBAAoB,EAAE,KAAK;aAC9B,CAAC;YACF,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;SAC/D;aAAM;YACH,OAAO,SAAS,CAAC,UAAU,CAAC,qBAAY,CAAC,QAAQ,CAAC,CAAC;SACtD;KACJ;IACD,yBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAEhD,gCAAgC;IAChC,OAAO,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAChD,OAAO,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAEtD,OAAO,SAAS,CAAC;AACrB,CAAC;AArGD,gEAqGC"}
@@ -1,4 +1,4 @@
1
- import type { Manifest } from '../../../specification/common';
1
+ import type { Manifest } from '@sap/ux-specification-types';
2
2
  /**
3
3
  * Method returns array of card definition names.
4
4
  * @param genericSchema - Generic schema of Overview Page.
@@ -1 +1 @@
1
- {"version":3,"file":"overviewPage.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/overviewPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,+BAA+B,CAAC;AAGhF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAa3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAsBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS9F"}
1
+ {"version":3,"file":"overviewPage.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/overviewPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAG9E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAa3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAsBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS9F"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const common_1 = require("../../common");
4
+ /**
5
+ * Method returns array of card definition names.
6
+ * @param genericSchema - Generic schema of Overview Page.
7
+ *
8
+ * @returns Array of definition names
9
+ */
10
+ function getCardDefinitionNames(genericSchema) {
11
+ // Apply enum to all card properties
12
+ const properties = genericSchema['properties'];
13
+ const cardProperties = (properties['cards'] &&
14
+ properties['cards']['additionalProperties'] &&
15
+ properties['cards']['additionalProperties']['anyOf']) ||
16
+ [];
17
+ return cardProperties.map((cardProperty) => {
18
+ // Resolve ref
19
+ const refParts = cardProperty['$ref'].split('/');
20
+ return refParts[refParts.length - 1];
21
+ });
22
+ }
23
+ exports.getCardDefinitionNames = getCardDefinitionNames;
24
+ /**
25
+ * Defines and adds enum entries for 'model' property of Cards.
26
+ * @param appSchema - the app specific schema that shall get enhanced
27
+ * @param manifest - manifest.json of the app
28
+ */
29
+ function addModelsEnum(appSchema, manifest) {
30
+ const dataSources = (manifest && manifest['sap.app'] && manifest['sap.app'].dataSources) || {};
31
+ const serviceKeys = Object.keys(dataSources);
32
+ const models = (manifest && manifest['sap.ui5'] && manifest['sap.ui5'].models) || {};
33
+ let enumValues = [];
34
+ enumValues = enumValues.concat(Object.keys(models).filter((model) => serviceKeys.includes(models[model].dataSource)));
35
+ // Define enum
36
+ const definition = appSchema['definitions'];
37
+ definition['CardModel'] = {
38
+ enum: enumValues,
39
+ type: 'string'
40
+ };
41
+ // Apply enum to all card properties
42
+ const cards = getCardDefinitionNames(appSchema);
43
+ for (const card of cards) {
44
+ const property = definition[card]['properties']['model'];
45
+ delete property.type;
46
+ property['$ref'] = common_1.DEFINITION_LINK_PREFIX + 'CardModel';
47
+ }
48
+ }
49
+ exports.addModelsEnum = addModelsEnum;
50
+ /**
51
+ * Generates an app specific schema out of the generic schema.
52
+ * Generic types are replaced by information from the app manifest.
53
+ *
54
+ * @param genericSchema - generic JSON schema of an object page
55
+ * @param manifest - manifest.json of the app
56
+ *
57
+ * @returns the app specific JSON schema
58
+ */
59
+ function generateOverviewPageSchemaV2(genericSchema, manifest) {
60
+ const appSchema = JSON.parse(JSON.stringify(genericSchema));
61
+ // schema validation for card name
62
+ appSchema['properties']['cards']['propertyNames'] = {
63
+ pattern: '^[a-zA-Z0-9_\\.\\-]+$'
64
+ };
65
+ // Enhance 'model' property with enum entries
66
+ addModelsEnum(appSchema, manifest);
67
+ return appSchema;
68
+ }
69
+ exports.generateOverviewPageSchemaV2 = generateOverviewPageSchemaV2;
70
+ //# sourceMappingURL=overviewPage.js.map