@sap/ux-specification 1.71.66 → 1.71.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/dist/documentation/runDocu-min.js +5 -9623
  2. package/dist/documentation/runDocu-min.js.map +1 -1
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/index-min.js +83 -24668
  9. package/dist/index-min.js.map +3 -3
  10. package/dist/schemas/v2/ListReportConfig.json +83 -83
  11. package/dist/scripts/extractDocu.d.ts +2 -0
  12. package/dist/scripts/extractDocu.d.ts.map +1 -0
  13. package/dist/scripts/extractDocu.js +506 -0
  14. package/dist/scripts/extractDocu.js.map +1 -0
  15. package/dist/scripts/runDocu.d.ts +2 -0
  16. package/dist/scripts/runDocu.d.ts.map +1 -0
  17. package/dist/scripts/runDocu.js +579 -0
  18. package/dist/scripts/runDocu.js.map +1 -0
  19. package/dist/scripts/spec.d.ts +2 -0
  20. package/dist/scripts/spec.d.ts.map +1 -0
  21. package/dist/scripts/spec.js +113 -0
  22. package/dist/scripts/spec.js.map +1 -0
  23. package/dist/scripts/to-json-schema.d.ts +11 -0
  24. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  25. package/dist/scripts/to-json-schema.js +134 -0
  26. package/dist/scripts/to-json-schema.js.map +1 -0
  27. package/dist/{types → src}/api.d.ts +1 -1
  28. package/dist/{types → src}/api.d.ts.map +1 -1
  29. package/dist/src/api.js +123 -0
  30. package/dist/src/api.js.map +1 -0
  31. package/dist/{types → src}/apiTypes.d.ts +9 -12
  32. package/dist/src/apiTypes.d.ts.map +1 -0
  33. package/dist/src/apiTypes.js +3 -0
  34. package/dist/src/apiTypes.js.map +1 -0
  35. package/dist/{types → src}/extensionLogger.d.ts +1 -1
  36. package/dist/{types → src}/extensionLogger.d.ts.map +1 -1
  37. package/dist/src/extensionLogger.js +36 -0
  38. package/dist/src/extensionLogger.js.map +1 -0
  39. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  40. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  41. package/dist/src/i18n/i18n.js +26 -0
  42. package/dist/src/i18n/i18n.js.map +1 -0
  43. package/dist/{types → src}/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +20 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/{types → src}/project.d.ts +2 -1
  48. package/dist/src/project.d.ts.map +1 -0
  49. package/dist/src/project.js +153 -0
  50. package/dist/src/project.js.map +1 -0
  51. package/dist/{types → src}/specification/schemaAccess.d.ts +3 -12
  52. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  53. package/dist/src/specification/schemaAccess.js +63 -0
  54. package/dist/src/specification/schemaAccess.js.map +1 -0
  55. package/dist/{types → src}/sync/common/appProvider.d.ts +4 -5
  56. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  57. package/dist/src/sync/common/appProvider.js +66 -0
  58. package/dist/src/sync/common/appProvider.js.map +1 -0
  59. package/dist/{types → src}/sync/common/decoration/control.d.ts +2 -2
  60. package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
  61. package/dist/src/sync/common/decoration/control.js +219 -0
  62. package/dist/src/sync/common/decoration/control.js.map +1 -0
  63. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  64. package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
  65. package/dist/src/sync/common/decoration/decorators.js +52 -0
  66. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  68. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  69. package/dist/src/sync/common/decoration/factory.js +49 -0
  70. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/flex.d.ts +1 -3
  72. package/dist/{types → src}/sync/common/decoration/flex.d.ts.map +1 -1
  73. package/dist/src/sync/common/decoration/flex.js +9 -0
  74. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  76. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  77. package/dist/src/sync/common/decoration/index.js +16 -0
  78. package/dist/src/sync/common/decoration/index.js.map +1 -0
  79. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -3
  80. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  81. package/dist/src/sync/common/flexUtils.js +107 -0
  82. package/dist/src/sync/common/flexUtils.js.map +1 -0
  83. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/generate/index.js +15 -0
  86. package/dist/src/sync/common/generate/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  88. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  89. package/dist/src/sync/common/generate/objectPage.js +357 -0
  90. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  92. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  93. package/dist/src/sync/common/generate/utils.js +383 -0
  94. package/dist/src/sync/common/generate/utils.js.map +1 -0
  95. package/dist/src/sync/common/i18n.json +21 -0
  96. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  97. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  98. package/dist/src/sync/common/import/utils.js +93 -0
  99. package/dist/src/sync/common/import/utils.js.map +1 -0
  100. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  101. package/dist/{types → src}/sync/common/importProject.d.ts.map +1 -1
  102. package/dist/src/sync/common/importProject.js +252 -0
  103. package/dist/src/sync/common/importProject.js.map +1 -0
  104. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  106. package/dist/src/sync/common/index.js +23 -0
  107. package/dist/src/sync/common/index.js.map +1 -0
  108. package/dist/{types → src}/sync/common/types.d.ts +6 -56
  109. package/dist/src/sync/common/types.d.ts.map +1 -0
  110. package/dist/src/sync/common/types.js +166 -0
  111. package/dist/src/sync/common/types.js.map +1 -0
  112. package/dist/{types → src}/sync/common/utils.d.ts +10 -11
  113. package/dist/src/sync/common/utils.d.ts.map +1 -0
  114. package/dist/src/sync/common/utils.js +1067 -0
  115. package/dist/src/sync/common/utils.js.map +1 -0
  116. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  117. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  118. package/dist/src/sync/i18n.js +28 -0
  119. package/dist/src/sync/i18n.js.map +1 -0
  120. package/dist/{types → src}/sync/v2/application.d.ts +6 -6
  121. package/dist/src/sync/v2/application.d.ts.map +1 -0
  122. package/dist/src/sync/v2/application.js +169 -0
  123. package/dist/src/sync/v2/application.js.map +1 -0
  124. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  125. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  126. package/dist/src/sync/v2/export/controls/Action.js +129 -0
  127. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  128. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +9 -0
  129. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  130. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +64 -0
  131. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  132. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  133. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  134. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +57 -0
  135. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  136. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  137. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/Card.js +656 -0
  139. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  141. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/src/sync/v2/export/controls/Field.js +42 -0
  143. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/FilterBar.d.ts +3 -3
  145. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/FilterBar.js +108 -0
  147. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  149. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/FormAction.js +129 -0
  151. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  152. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  153. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  155. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  156. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  157. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +111 -0
  159. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  160. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  161. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +63 -0
  163. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +9 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +62 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +9 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +63 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  172. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  173. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +60 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +200 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  180. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +41 -0
  181. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +279 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +62 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  188. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +22 -23
  189. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/Table.js +593 -0
  191. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +38 -0
  193. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/TableColumn.js +173 -0
  195. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  196. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  197. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ToolBar.js +7 -0
  199. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  201. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  202. package/dist/src/sync/v2/export/controls/index.js +32 -0
  203. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  205. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  206. package/dist/src/sync/v2/export/export.js +678 -0
  207. package/dist/src/sync/v2/export/export.js.map +1 -0
  208. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  209. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/exportPage.js +304 -0
  211. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  214. package/dist/src/sync/v2/export/factory.js +68 -0
  215. package/dist/src/sync/v2/export/factory.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/manifest.d.ts +3 -3
  217. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  218. package/dist/src/sync/v2/export/manifest.js +173 -0
  219. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  220. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  221. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +43 -0
  223. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  224. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  225. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  226. package/dist/src/sync/v2/export/pages/ListReport.js +40 -0
  227. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  228. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +15 -0
  229. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/pages/ObjectPage.js +75 -0
  231. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  232. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +3 -3
  233. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/OverviewPage.js +119 -0
  235. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  236. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  237. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  238. package/dist/src/sync/v2/export/pages/index.js +17 -0
  239. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  240. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  241. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/view-controller-generator.js +150 -0
  243. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  245. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  246. package/dist/src/sync/v2/generate/analyticalListReport.js +84 -0
  247. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  249. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  250. package/dist/src/sync/v2/generate/generate.js +100 -0
  251. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  253. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  254. package/dist/src/sync/v2/generate/index.js +15 -0
  255. package/dist/src/sync/v2/generate/index.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +2 -2
  257. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/listReport.js +113 -0
  259. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/objectPage.js +539 -0
  263. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  265. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  266. package/dist/src/sync/v2/generate/overviewPage.js +71 -0
  267. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  269. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/utils.js +536 -0
  271. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  273. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  274. package/dist/src/sync/v2/import/app/appProvider.js +142 -0
  275. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  277. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  278. package/dist/src/sync/v2/import/app/ovpProvider.js +33 -0
  279. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  281. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  282. package/dist/src/sync/v2/import/common/index.js +400 -0
  283. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  285. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/controls/table.js +34 -0
  287. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  289. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  290. package/dist/src/sync/v2/import/getPageType.js +1 -0
  291. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  293. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  294. package/dist/src/sync/v2/import/index.js +18 -0
  295. package/dist/src/sync/v2/import/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  297. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/pages/analyticalListPage.js +120 -0
  299. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  301. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  302. package/dist/src/sync/v2/import/pages/listReport.js +144 -0
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  305. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  306. package/dist/src/sync/v2/import/pages/objectPage.js +741 -0
  307. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  309. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/overviewPage.js +105 -0
  311. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  313. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/utils.js +169 -0
  315. package/dist/src/sync/v2/import/utils.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  317. package/dist/src/sync/v2/types.d.ts.map +1 -0
  318. package/dist/src/sync/v2/types.js +37 -0
  319. package/dist/src/sync/v2/types.js.map +1 -0
  320. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +1 -1
  321. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  322. package/dist/src/sync/v4/utils/StableIdHelper.js +145 -0
  323. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  324. package/package.json +14 -14
  325. package/CHANGELOG.md +0 -1079
  326. package/dist/types/apiTypes.d.ts.map +0 -1
  327. package/dist/types/index.d.ts.map +0 -1
  328. package/dist/types/project.d.ts.map +0 -1
  329. package/dist/types/specification/common/Application.d.ts +0 -16
  330. package/dist/types/specification/common/Application.d.ts.map +0 -1
  331. package/dist/types/specification/common/index.d.ts +0 -6
  332. package/dist/types/specification/common/index.d.ts.map +0 -1
  333. package/dist/types/specification/common/page.d.ts +0 -42
  334. package/dist/types/specification/common/page.d.ts.map +0 -1
  335. package/dist/types/specification/common/types.d.ts +0 -21
  336. package/dist/types/specification/common/types.d.ts.map +0 -1
  337. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -49
  338. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  339. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  340. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  341. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  342. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  343. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -34
  344. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  345. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  346. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -31
  347. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  348. package/dist/types/specification/v2/controls/Action.d.ts +0 -83
  349. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  350. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -55
  351. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  352. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  353. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  354. package/dist/types/specification/v2/controls/Card.d.ts +0 -626
  355. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  356. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  357. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  358. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  359. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  360. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -81
  361. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  362. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  363. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  364. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  365. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  366. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  367. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  368. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -35
  369. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  370. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  371. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  372. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  373. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  374. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -131
  375. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  376. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  377. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  378. package/dist/types/specification/v2/controls/Table.d.ts +0 -402
  379. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  380. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  381. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  382. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  383. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  384. package/dist/types/specification/v2/index.d.ts +0 -6
  385. package/dist/types/specification/v2/index.d.ts.map +0 -1
  386. package/dist/types/specification/v2/page.d.ts +0 -8
  387. package/dist/types/specification/v2/page.d.ts.map +0 -1
  388. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  389. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  390. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  391. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  392. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -25
  393. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  394. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -83
  395. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  396. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  397. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  398. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  399. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  400. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  401. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  402. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  403. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  404. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  405. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  406. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  407. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  408. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  409. package/dist/types/sync/common/decoration/control.d.ts.map +0 -1
  410. package/dist/types/sync/common/decoration/decorators.d.ts.map +0 -1
  411. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  412. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  413. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  414. package/dist/types/sync/common/types.d.ts.map +0 -1
  415. package/dist/types/sync/common/utils.d.ts.map +0 -1
  416. package/dist/types/sync/v2/application.d.ts.map +0 -1
  417. package/dist/types/sync/v2/export/controls/Action.d.ts +0 -29
  418. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  419. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -9
  420. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  421. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  422. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  423. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  424. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  425. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  426. package/dist/types/sync/v2/export/controls/FormAction.d.ts +0 -16
  427. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  428. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  429. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  430. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  431. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -9
  432. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  433. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -9
  434. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  435. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -9
  436. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  437. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  438. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  439. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  440. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  441. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -43
  442. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  443. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -9
  444. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  445. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  446. package/dist/types/sync/v2/export/controls/TableColumn.d.ts +0 -39
  447. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  448. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  449. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  450. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  451. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  452. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  453. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  454. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  455. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  456. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -16
  457. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  458. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  459. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  460. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  461. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  462. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  463. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  464. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  465. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  466. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  467. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  468. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  469. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  470. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  471. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  472. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  473. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  474. package/dist/types/sync/v2/types.d.ts.map +0 -1
  475. package/dist/types/v2.d.ts +0 -3
  476. package/dist/types/v2.d.ts.map +0 -1
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./sync/common/types"), exports);
14
+ __exportStar(require("./api"), exports);
15
+ __exportStar(require("./apiTypes"), exports);
16
+ __exportStar(require("./extensionLogger"), exports);
17
+ __exportStar(require("./project"), exports);
18
+ __exportStar(require("./specification/schemaAccess"), exports);
19
+ __exportStar(require("@sap/ux-specification-types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,+DAA6C;AAE7C,8DAA4C"}
@@ -1,4 +1,5 @@
1
- import type { FileData, Manifest } from './index';
1
+ import type { Manifest } from '@sap/ux-specification-types';
2
+ import type { FileData } from './sync/common/types';
2
3
  export interface Project {
3
4
  root: string;
4
5
  name: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACzB;AAkBD,eAAO,MAAM,aAAa,SAAgB,MAAM,KAAG,QAAQ,MAAM,EAAE,CAUlE,CAAC;AAEF,eAAO,MAAM,WAAW,SAAgB,MAAM,KAAG,QAAQ,OAAO,CAU/D,CAAC;AAcF,eAAO,MAAM,UAAU,WAAkB,MAAM,KAAG,QAAQ,MAAM,EAAE,CAoBjE,CAAC;AA2DF;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAgB,MAAM,KAAG,QAAQ,OAAO,CAe9D,CAAC"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProject = exports.getChanges = exports.isDirectory = exports.readDirectory = void 0;
4
+ const path_1 = require("path");
5
+ const fs_1 = require("fs");
6
+ const readFile = async (path) => {
7
+ return new Promise((resolve, reject) => {
8
+ fs_1.readFile(path, { encoding: 'utf8' }, (err, data) => {
9
+ if (err) {
10
+ reject(err);
11
+ }
12
+ else {
13
+ resolve(data);
14
+ }
15
+ });
16
+ });
17
+ };
18
+ const readJSON = async (path) => {
19
+ return JSON.parse(await readFile(path));
20
+ };
21
+ const readDirectory = async (path) => {
22
+ return new Promise((resolve, reject) => {
23
+ fs_1.readdir(path, { encoding: 'utf8' }, (err, data) => {
24
+ if (err) {
25
+ reject(err);
26
+ }
27
+ else {
28
+ resolve(data);
29
+ }
30
+ });
31
+ });
32
+ };
33
+ exports.readDirectory = readDirectory;
34
+ const isDirectory = async (path) => {
35
+ return new Promise((resolve) => {
36
+ fs_1.stat(path, (err, stats) => {
37
+ if (err) {
38
+ resolve(false);
39
+ }
40
+ else {
41
+ resolve(stats.isDirectory());
42
+ }
43
+ });
44
+ });
45
+ };
46
+ exports.isDirectory = isDirectory;
47
+ const resourceExists = async (path) => {
48
+ return new Promise((resolve) => {
49
+ fs_1.exists(path, (doesExist) => {
50
+ resolve(doesExist);
51
+ });
52
+ });
53
+ };
54
+ const getManifest = async (path) => {
55
+ return readJSON(path_1.join(path, 'manifest.json'));
56
+ };
57
+ const getChanges = async (webapp) => {
58
+ const changes = [];
59
+ const changesDirectory = path_1.join(webapp, 'changes');
60
+ if (!(await resourceExists(changesDirectory))) {
61
+ return changes;
62
+ }
63
+ const extensions = [
64
+ '.change',
65
+ '.variant',
66
+ '.ctrl_variant',
67
+ '.ctrl_variant_change',
68
+ '.ctrl_variant_management_change'
69
+ ];
70
+ const files = await exports.readDirectory(changesDirectory);
71
+ for (const file of files) {
72
+ if (extensions.some((ext) => file.endsWith(ext))) {
73
+ changes.push(await readFile(path_1.join(changesDirectory, file)));
74
+ }
75
+ }
76
+ return changes;
77
+ };
78
+ exports.getChanges = getChanges;
79
+ const getFragments = async (webAppPath) => {
80
+ const fragments = [];
81
+ const directoryPath = path_1.join(webAppPath, 'ext', 'fragments');
82
+ if (!(await resourceExists(directoryPath))) {
83
+ return fragments;
84
+ }
85
+ const files = await exports.readDirectory(directoryPath);
86
+ for (const file of files) {
87
+ const filePath = path_1.join(directoryPath, file);
88
+ const data = await readFile(filePath);
89
+ fragments.push({
90
+ dataSourceUri: filePath,
91
+ fileContent: data
92
+ });
93
+ }
94
+ return fragments;
95
+ };
96
+ const getAnnotations = async (manifest, webAppPath) => {
97
+ const annotationData = [];
98
+ const serviceDataSources = manifest?.['sap.app']?.dataSources;
99
+ if (serviceDataSources?.mainService?.settings?.localUri) {
100
+ const metadataPath = path_1.join(webAppPath, serviceDataSources.mainService.settings.localUri);
101
+ annotationData.push({
102
+ dataSourceUri: metadataPath,
103
+ fileContent: await readFile(metadataPath)
104
+ });
105
+ }
106
+ if (serviceDataSources?.mainService?.settings?.annotations) {
107
+ for (const annotationRef of serviceDataSources.mainService.settings.annotations) {
108
+ if (serviceDataSources[annotationRef]?.settings?.localUri) {
109
+ const annotationFilePath = path_1.join(webAppPath, serviceDataSources[annotationRef].settings.localUri);
110
+ annotationData.push({
111
+ dataSourceUri: annotationFilePath,
112
+ fileContent: await readFile(annotationFilePath)
113
+ });
114
+ }
115
+ }
116
+ }
117
+ //Consider CAP/multiple services
118
+ if (annotationData.length === 0) {
119
+ for (const key in serviceDataSources) {
120
+ const dataSource = serviceDataSources[key];
121
+ if (dataSource?.type === 'ODataAnnotation' && dataSource?.settings?.localUri) {
122
+ const annotationFilePath = path_1.join(webAppPath, dataSource.settings.localUri);
123
+ annotationData.push({
124
+ dataSourceUri: annotationFilePath,
125
+ fileContent: await readFile(annotationFilePath)
126
+ });
127
+ }
128
+ }
129
+ }
130
+ return annotationData;
131
+ };
132
+ /**
133
+ * Get the project artefacts, like manifest, service metadata, annotations
134
+ * @param root - project root where package.json is
135
+ */
136
+ const getProject = async (root) => {
137
+ const name = path_1.basename(root);
138
+ const webappPath = path_1.join(root, 'webapp');
139
+ const manifest = await getManifest(webappPath);
140
+ const annotations = await getAnnotations(manifest, webappPath);
141
+ const changes = await exports.getChanges(webappPath);
142
+ const fragments = await getFragments(webappPath);
143
+ return {
144
+ root,
145
+ name,
146
+ manifest,
147
+ annotations,
148
+ changes,
149
+ fragments
150
+ };
151
+ };
152
+ exports.getProject = getProject;
153
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,11 @@
1
- import type { FioriElementsVersion } from './common';
2
- /**
3
- * Type for all available schema types, e.g. Application, ListReport, ObjectPage, ...
4
- */
5
- export declare enum SchemaType {
6
- Application = "Application",
7
- ObjectPage = "ObjectPage",
8
- ListReport = "ListReport",
9
- OverviewPage = "OverviewPage",
10
- AnalyticalListPage = "AnalyticalListPage"
11
- }
1
+ import type { FioriElementsVersion } from '@sap/ux-specification-types';
2
+ import { SchemaType } from '@sap/ux-specification-types';
12
3
  /**
13
4
  * Return the path to the generic JSON schema
14
5
  * @param version - Fiori elements version
15
6
  * @param schemaType - Type of the schema, e.g Application, ListReport, ObjectPage, ...
16
7
  */
17
- export declare const getPathToGenericSchema: (version: FioriElementsVersion, schemaType: SchemaType, directory?: string) => string;
8
+ export declare const getPathToGenericSchema: (version: FioriElementsVersion, schemaType: SchemaType, directory?: string) => string | undefined;
18
9
  /**
19
10
  * Return the generic schema for a given version and type
20
11
  * @param version - Fiori elements version, e.g. v2 or v4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAccess.d.ts","sourceRoot":"","sources":["../../../src/specification/schemaAccess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YACtB,oBAAoB,cACjB,UAAU,cACX,MAAM,KAClB,MAAM,GAAG,SAgBX,CAAC;AAkBF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAAmB,oBAAoB,cAAc,UAAU,KAAG,QAAQ,IAAI,CAO1G,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGenericSchema = exports.getPathToGenericSchema = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
7
+ /**
8
+ * Return the path to the generic JSON schema
9
+ * @param version - Fiori elements version
10
+ * @param schemaType - Type of the schema, e.g Application, ListReport, ObjectPage, ...
11
+ */
12
+ const getPathToGenericSchema = (version, schemaType, directory = __dirname) => {
13
+ const fileName = schemaType === ux_specification_types_1.SchemaType.Application
14
+ ? `${ux_specification_types_1.SchemaType.Application}${version.toUpperCase()}.json`
15
+ : `${schemaType}Config.json`;
16
+ if (directory.endsWith('dist')) {
17
+ return path_1.join(directory, 'schemas', version, fileName);
18
+ }
19
+ else if (directory.endsWith(path_1.join('specification', 'packages', 'specification'))) {
20
+ return path_1.join(directory, 'dist', 'schemas', version, fileName);
21
+ }
22
+ else if (directory.endsWith(path_1.join('src', 'specification'))) {
23
+ return path_1.join(directory, '..', '..', 'dist', 'schemas', version, fileName);
24
+ }
25
+ else if (directory.indexOf('node_modules') > -1) {
26
+ const moduleRoot = directory.substring(0, directory.indexOf('node_modules') + 12);
27
+ return path_1.join(moduleRoot, '@sap', 'ux-specification', 'dist', 'schemas', version, fileName);
28
+ }
29
+ return undefined;
30
+ };
31
+ exports.getPathToGenericSchema = getPathToGenericSchema;
32
+ /**
33
+ * Read JSON schema from given path
34
+ * @param path - path to schema file
35
+ */
36
+ const readJsonSchema = async (path) => {
37
+ return new Promise((resolve, reject) => {
38
+ fs_1.readFile(path, { encoding: 'utf8' }, (err, data) => {
39
+ if (err) {
40
+ reject(err);
41
+ }
42
+ else {
43
+ resolve(JSON.parse(data));
44
+ }
45
+ });
46
+ });
47
+ };
48
+ /**
49
+ * Return the generic schema for a given version and type
50
+ * @param version - Fiori elements version, e.g. v2 or v4
51
+ * @param schemaType - Type of the schema, e.g Application, ListReport, ObjectPage, ...
52
+ */
53
+ const getGenericSchema = async (version, schemaType) => {
54
+ try {
55
+ const path = exports.getPathToGenericSchema(version, schemaType, __dirname);
56
+ return await readJsonSchema(path);
57
+ }
58
+ catch (error) {
59
+ throw new Error(`No schema available for type: ${schemaType}, version: ${version}. Error was ${error.message}`);
60
+ }
61
+ };
62
+ exports.getGenericSchema = getGenericSchema;
63
+ //# sourceMappingURL=schemaAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAccess.js","sourceRoot":"","sources":["../../../src/specification/schemaAccess.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+BAA4B;AAE5B,wEAAyD;AAEzD;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,CAClC,OAA6B,EAC7B,UAAsB,EACtB,YAAoB,SAAS,EACX,EAAE;IACpB,MAAM,QAAQ,GACV,UAAU,KAAK,mCAAU,CAAC,WAAW;QACjC,CAAC,CAAC,GAAG,mCAAU,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO;QAC1D,CAAC,CAAC,GAAG,UAAU,aAAa,CAAC;IACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC5B,OAAO,WAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KACxD;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAI,CAAC,eAAe,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE;QAC/E,OAAO,WAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAChE;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE;QACzD,OAAO,WAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC5E;SAAM,IAAI,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,OAAO,WAAI,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC7F;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AApBW,QAAA,sBAAsB,0BAoBjC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;QACzC,aAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAQ,EAAE;YACrD,IAAI,GAAG,EAAE;gBACL,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAA6B,EAAE,UAAsB,EAAiB,EAAE;IAC3G,IAAI;QACA,MAAM,IAAI,GAAG,8BAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;KACrC;IAAC,OAAO,KAAK,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,cAAc,OAAO,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACnH;AACL,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
@@ -1,8 +1,7 @@
1
- import type { Application, Manifest as ManifestV2, PagesBase } from '../../specification/common';
2
- import { FioriElementsVersion } from '../../specification/common';
3
- import type { AppSettings as AppSettingsV2 } from '../../specification/v2';
4
- import type { Files } from './types';
1
+ import type { Application, Manifest, PagesBase, v2 } from '@sap/ux-specification-types';
2
+ import { FioriElementsVersion } from '@sap/ux-specification-types';
5
3
  import type { ExtensionLogger } from '../..';
4
+ import type { Files } from './types';
6
5
  export interface Controllers {
7
6
  [key: string]: string;
8
7
  }
@@ -11,7 +10,7 @@ export declare abstract class AppProvider {
11
10
  readonly logger: ExtensionLogger;
12
11
  readonly schemas: Files;
13
12
  unhandledControllers: Array<string>;
14
- protected constructor(manifest: ManifestV2, schemas: Files, home: string, pages: PagesBase, version: FioriElementsVersion, settings?: AppSettingsV2, logger?: ExtensionLogger);
13
+ protected constructor(manifest: Manifest, schemas: Files, home: string, pages: PagesBase, version: FioriElementsVersion, settings?: v2.AppSettings, logger?: ExtensionLogger);
15
14
  /**
16
15
  * Create config files for app (app.json) and pages (pages/{name}.json).
17
16
  * This is basically a copy of createFiles optimized to be used in FTFS:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appProvider.d.ts","sourceRoot":"","sources":["../../../../src/sync/common/appProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,8BAAsB,WAAW;IAC7B,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,OAAO,EAAE,KAAK,CAAC;IAExB,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAEhD,SAAS,aACL,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,KAAK,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EACzB,MAAM,CAAC,EAAE,eAAe;IAkB5B;;;;;;OAMG;IACI,iBAAiB,IAAI;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,KAAK,CAAA;KAAE;CA8BvE"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppProvider = void 0;
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const ux_specification_types_2 = require("@sap/ux-specification-types");
6
+ const types_1 = require("./types");
7
+ const utils_1 = require("./utils");
8
+ class AppProvider {
9
+ constructor(manifest, schemas, home, pages, version, settings, logger) {
10
+ // Store controller names which should be handled latelly
11
+ this.unhandledControllers = [];
12
+ const schemaFile = utils_1.getSchemaFilePath(ux_specification_types_2.SchemaType.Application);
13
+ this.app = {
14
+ $schema: schemaFile.path,
15
+ id: manifest['sap.app'].id,
16
+ pages,
17
+ home,
18
+ target: {
19
+ fioriElements: version,
20
+ odata: version === ux_specification_types_2.FioriElementsVersion.v2 ? ux_specification_types_2.OdataVersion.v2 : ux_specification_types_2.OdataVersion.v4
21
+ },
22
+ ...(settings && { settings })
23
+ };
24
+ this.schemas = schemas;
25
+ this.logger = logger;
26
+ }
27
+ /**
28
+ * Create config files for app (app.json) and pages (pages/{name}.json).
29
+ * This is basically a copy of createFiles optimized to be used in FTFS:
30
+ * it always uses posix path notation with forward slash (/)
31
+ * @param {ConvertedMetadata} oDataServiceAVT - Complete service information, as returned by annotation vocabularies tool
32
+ * @returns app and page files as separate objects
33
+ */
34
+ createConfigFiles() {
35
+ const pageConfigs = {};
36
+ const appConfig = {};
37
+ let page;
38
+ // add schema reference to all pages
39
+ for (const pageId in this.app.pages) {
40
+ page = this.app.pages[pageId];
41
+ if (page.config) {
42
+ const config = page.config;
43
+ if (page.pageType !== ux_specification_types_1.PageType.CustomPage) {
44
+ const schemaFile = utils_1.getSchemaFilePath(page.pageType, page.entitySet);
45
+ if (this.schemas[schemaFile.filename]) {
46
+ config.$schema = schemaFile.path;
47
+ }
48
+ else {
49
+ const genericSchemaFile = utils_1.getSchemaFilePath(page.pageType);
50
+ config.$schema = genericSchemaFile.path;
51
+ }
52
+ pageConfigs[`${types_1.DirName.Pages}/${pageId}.json`] = config;
53
+ }
54
+ }
55
+ }
56
+ // remove config before converting to JSON
57
+ const app = JSON.parse(JSON.stringify(this.app));
58
+ for (const pageId in app.pages) {
59
+ delete app.pages[pageId].config;
60
+ }
61
+ appConfig[types_1.FileName.App] = app;
62
+ return { appConfig, pageConfigs };
63
+ }
64
+ }
65
+ exports.AppProvider = AppProvider;
66
+ //# sourceMappingURL=appProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appProvider.js","sourceRoot":"","sources":["../../../../src/sync/common/appProvider.ts"],"names":[],"mappings":";;;AACA,wEAAuD;AACvD,wEAA6F;AAG7F,mCAA4C;AAC5C,mCAA4C;AAM5C,MAAsB,WAAW;IAO7B,YACI,QAAkB,EAClB,OAAc,EACd,IAAY,EACZ,KAAgB,EAChB,OAA6B,EAC7B,QAAyB,EACzB,MAAwB;QAV5B,yDAAyD;QAClD,yBAAoB,GAAkB,EAAE,CAAC;QAW5C,MAAM,UAAU,GAAG,yBAAiB,CAAC,mCAAU,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,GAAG;YACP,OAAO,EAAE,UAAU,CAAC,IAAI;YACxB,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;YAC1B,KAAK;YACL,IAAI;YACJ,MAAM,EAAE;gBACJ,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,OAAO,KAAK,6CAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,qCAAY,CAAC,EAAE,CAAC,CAAC,CAAC,qCAAY,CAAC,EAAE;aACjF;YACD,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;SAChC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB;QACpB,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,IAAa,CAAC;QAClB,oCAAoC;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,iCAAQ,CAAC,UAAU,EAAE;oBACvC,MAAM,UAAU,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;wBACnC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;qBACpC;yBAAM;wBACH,MAAM,iBAAiB,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC3D,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC;qBAC3C;oBACD,WAAW,CAAC,GAAG,eAAO,CAAC,KAAK,IAAI,MAAM,OAAO,CAAC,GAAG,MAAM,CAAC;iBAC3D;aACJ;SACJ;QACD,0CAA0C;QAC1C,MAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;SACnC;QACD,SAAS,CAAC,gBAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAE9B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;CACJ;AArED,kCAqEC"}
@@ -42,8 +42,8 @@ export declare const buildColumnControlId: (baseId: string, idBreadcrumbs: strin
42
42
  * @returns {object} - actionType, semanticObjectId, actionId of action
43
43
  */
44
44
  export declare const getActionBreadcrumbParts: (breadcrumbs: string[]) => {
45
- actionType: string;
46
- semanticObjectId: string;
45
+ actionType: string | undefined;
46
+ semanticObjectId: string | undefined;
47
47
  actionId: string;
48
48
  };
49
49
  export declare const addPatternForBindingChangeOfEnumLR: (schema: object, definition: object, propertyName: string) => void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,WAAY,MAAM,iBAAiB,MAAM,EAAE,KAAG,MAElF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAY,MAAM,iBAAiB,MAAM,EAAE,eAAe,MAAM,EAAE,KAAG,MAEtG,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,cAAe,MAAM,SAAS,MAAM,KAAG,MASnE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED;2DAC2D;AAC3D,oBAAY,YAAY;IACpB,QAAQ,mBAAmB;IAC3B,WAAW,yBAAyB;CACvC;AA6BD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,WACrB,MAAM,iBACC,MAAM,EAAE,eACV,MAAM,EAAE,gBACP,mBAAmB,SAC1B,MAAM,KACd,MA4BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,gBACpB,MAAM,EAAE;gBACR,MAAM,GAAG,SAAS;sBAAoB,MAAM,GAAG,SAAS;cAAY,MAAM;CAc1F,CAAC;AAyEF,eAAO,MAAM,kCAAkC,WAAY,MAAM,cAAc,MAAM,gBAAgB,MAAM,KAAG,IAE7G,CAAC;AAEF,eAAO,MAAM,kCAAkC,WAAY,MAAM,cAAc,MAAM,gBAAgB,MAAM,KAAG,IAG7G,CAAC"}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addPatternForBindingChangeOfEnumOP = exports.addPatternForBindingChangeOfEnumLR = exports.getActionBreadcrumbParts = exports.buildColumnControlId = exports.BindingValue = exports.escapeId = exports.convertSectionId = exports.buildControlIdForPage = exports.buildControlIdFromParent = void 0;
4
+ const types_1 = require("../types");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * General export rule, joining all given breadcrumbs to the base ID
8
+ * @param baseId - base ID, first part of the stable ID
9
+ * @param idBreadcrumbs - array of ID parts
10
+ */
11
+ const buildControlIdFromParent = (baseId, idBreadcrumbs) => {
12
+ return baseId + idBreadcrumbs.join('::');
13
+ };
14
+ exports.buildControlIdFromParent = buildControlIdFromParent;
15
+ /**
16
+ * Export rule for pages
17
+ * @param baseId - base ID, first part of the stable ID
18
+ * @param idBreadcrumbs - array of ID parts
19
+ * @param breadcrumbs - array of breadcrumbs
20
+ */
21
+ const buildControlIdForPage = (baseId, idBreadcrumbs, breadcrumbs) => {
22
+ return baseId + idBreadcrumbs.join('::') + breadcrumbs[0];
23
+ };
24
+ exports.buildControlIdForPage = buildControlIdForPage;
25
+ /**
26
+ * Converts the section id to the right string for the stable id:
27
+ * If the corresponsing facet has ID maintained, we must take this ID. If ID is not present, take the navigation path.
28
+ * @param sectionId - old ID that shall get converted
29
+ * @param breadcrumbs - array of breadcrumbs
30
+ * @param title - title from JSON schema, comprising the facet ID
31
+ */
32
+ const convertSectionId = (sectionId, title) => {
33
+ let convertedSectionId;
34
+ const prefix = types_1.FacetTitlePrefix;
35
+ if (title !== undefined && title.includes(prefix)) {
36
+ convertedSectionId = title.split(prefix)[1];
37
+ }
38
+ else {
39
+ convertedSectionId = sectionId.replace(new RegExp('/@', 'g'), '::').replace(/@com.sap/g, 'com.sap');
40
+ }
41
+ return convertedSectionId;
42
+ };
43
+ exports.convertSectionId = convertSectionId;
44
+ function escapeId(sParam) {
45
+ /* escape all characters not allowed in stable ids with :<hexcode>
46
+ * as we use : as escape character, also escape :
47
+ */
48
+ return sParam.replace(/[^-A-Za-z0-9_.:]/g, function (c) {
49
+ const sCode = c.charCodeAt(0).toString(16);
50
+ return `:${sCode.length === 1 ? '0' : ''}${sCode}`;
51
+ });
52
+ }
53
+ exports.escapeId = escapeId;
54
+ /**
55
+ * Binding Change values, will be added on object pages */
56
+ var BindingValue;
57
+ (function (BindingValue) {
58
+ BindingValue["Editable"] = "{ui>/editable}";
59
+ BindingValue["NotEditable"] = "{= !${ui>/editable}}";
60
+ })(BindingValue = exports.BindingValue || (exports.BindingValue = {}));
61
+ /**
62
+ * Consolidates the list of id's and other breadcrumbs into one list, for finding the right stable ID for a column
63
+ * @param idBreadcrumbs - array of ID parts
64
+ * @param localBreadcrumbs - array of breadcrumbs
65
+ * @param title - (section) title = facet ID
66
+ * @returns the consolidated breadcrumbs' list
67
+ */
68
+ function mapBreadcrumbs(idBreadcrumbs, localBreadcrumbs, title) {
69
+ let sectionId;
70
+ idBreadcrumbs = idBreadcrumbs.map(function (item) {
71
+ if (item === types_1.PropertyName.sections) {
72
+ for (let index = 0; index < localBreadcrumbs.length; index++) {
73
+ const breadcrumb = localBreadcrumbs[index];
74
+ if (breadcrumb === types_1.PropertyName.sections) {
75
+ sectionId = localBreadcrumbs[index + 1];
76
+ if (sectionId.indexOf(types_1.FacetBase.LineItem) !== -1) {
77
+ localBreadcrumbs[index + 1] = exports.convertSectionId(sectionId, title) + '::Table';
78
+ return localBreadcrumbs[index + 1];
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return item;
84
+ });
85
+ return { idBreadcrumbs };
86
+ }
87
+ /**
88
+ * Export rule for table columns
89
+ * @param baseId - base ID, first part of the stable ID
90
+ * @param idBreadcrumbs - array of ID parts
91
+ * @param breadcrumbs - array of breadcrumbs
92
+ * @param controlType - controlType function of ecorators, not used here
93
+ * @param title - title from JSON schema, comprising the facet ID
94
+ */
95
+ const buildColumnControlId = (baseId, idBreadcrumbs, breadcrumbs, _controlType, title) => {
96
+ let tableId = 'listReport'; //default
97
+ const localBreadcrumbs = [...breadcrumbs];
98
+ ({ idBreadcrumbs } = mapBreadcrumbs(idBreadcrumbs, localBreadcrumbs, title));
99
+ if (localBreadcrumbs[0] === types_1.PropertyName.sections) {
100
+ tableId = localBreadcrumbs[1]
101
+ .replace(/::com.sap.vocabularies/g, types_1.VOCWITHSLASH)
102
+ .replace(/::@com.sap.vocabularies/g, types_1.VOCWITHSLASH);
103
+ }
104
+ else if (idBreadcrumbs[0] === types_1.PropertyName.table) {
105
+ tableId = idBreadcrumbs[0];
106
+ }
107
+ const lastIdPart = localBreadcrumbs[localBreadcrumbs.length - 1]
108
+ .replace(/::com.sap.vocabularies/g, types_1.VOCWITHSLASH)
109
+ .replace(/::@com.sap.vocabularies/g, types_1.VOCWITHSLASH)
110
+ .replace('sTarget/@', 'sTarget::@')
111
+ .replace('/', ':2f');
112
+ let fullId;
113
+ const splitPoint = lastIdPart.indexOf(':::');
114
+ if (lastIdPart.startsWith('DataField') && splitPoint > -1) {
115
+ fullId = `${baseId}template:::TableColumn:::${lastIdPart.substring(0, splitPoint)}:::sSmartTableId::${tableId.replace('::Table', ':3a:3aTable')}:::${lastIdPart.substring(splitPoint + 3)}`;
116
+ }
117
+ else {
118
+ fullId = `${baseId}${idBreadcrumbs.join('::')}-${lastIdPart}`;
119
+ }
120
+ return escapeId(fullId);
121
+ };
122
+ exports.buildColumnControlId = buildColumnControlId;
123
+ /**
124
+ * Split up action breadcrumb and return different parts from it
125
+ * @param breadcrumbs - array of breadcrumbs
126
+ * @returns {object} - actionType, semanticObjectId, actionId of action
127
+ */
128
+ const getActionBreadcrumbParts = (breadcrumbs) => {
129
+ const actionIdParts = breadcrumbs[breadcrumbs.length - 1].split(':::');
130
+ let actionType, semanticObjectId, actionId;
131
+ if (actionIdParts.length > 2) {
132
+ actionType = actionIdParts[0];
133
+ semanticObjectId = actionIdParts[1].split('::')[1];
134
+ actionId = actionIdParts[2].split('::')[1];
135
+ }
136
+ else if (actionIdParts.length === 2) {
137
+ actionType = actionIdParts[0];
138
+ actionId = actionIdParts[1].split('sAction::')[1];
139
+ }
140
+ else {
141
+ actionId = actionIdParts[0];
142
+ }
143
+ return { actionType, semanticObjectId, actionId };
144
+ };
145
+ exports.getActionBreadcrumbParts = getActionBreadcrumbParts;
146
+ /**
147
+ * Determines the valid pattern for a binding change
148
+ * @param schemaDefinition - definition in the JSON schema
149
+ * @returns the pattern as string
150
+ */
151
+ function determinePattern(schemaDefinition) {
152
+ let pattern = types_1.BindingPropertyRegexAsString;
153
+ if (schemaDefinition.enum) {
154
+ let enumPattern;
155
+ schemaDefinition.enum.forEach((enumValue) => {
156
+ if (!enumValue.toString().startsWith('{')) {
157
+ enumPattern = enumPattern ? `${enumPattern}|${enumValue.toString()}` : enumValue.toString();
158
+ }
159
+ });
160
+ pattern = `^(${enumPattern})$|${pattern}`;
161
+ }
162
+ if (schemaDefinition['type'] && schemaDefinition['type'] === 'boolean') {
163
+ pattern = `^(false|true)$|${pattern}`;
164
+ }
165
+ return pattern;
166
+ }
167
+ /**
168
+ * Reuseable function for strings that allow binding changes
169
+ * @param schema - the complete JSON schema
170
+ * @param definition - definition in the JSON schema, to be updated
171
+ * @param propertyName - property in the properties' list of the given definition
172
+ * @param bindingValues - values that shall be added to the resulting enum
173
+ */
174
+ const addPatternForBindingChangeOfEnum = (schema, definition, propertyName, bindingValues) => {
175
+ const propertyList = definition && definition['properties'];
176
+ if (propertyList[propertyName].pattern) {
177
+ return; //as already processed
178
+ }
179
+ const originalDefinition = propertyList[propertyName];
180
+ let resultDefinition = originalDefinition;
181
+ const targetDefinition = originalDefinition.$ref
182
+ ? schema['definitions'][originalDefinition.$ref.split(utils_1.DEFINITION_LINK_PREFIX)[1]]
183
+ : originalDefinition;
184
+ const description = originalDefinition.description ? originalDefinition.description : targetDefinition.description;
185
+ const pattern = determinePattern(targetDefinition);
186
+ if (targetDefinition['type'] && targetDefinition['type'] === 'boolean') {
187
+ resultDefinition = { enum: [false, true] };
188
+ }
189
+ if (bindingValues && resultDefinition['enum']) {
190
+ bindingValues.forEach((value) => {
191
+ if (resultDefinition['enum'].indexOf(value) === -1) {
192
+ resultDefinition['enum'].push(value);
193
+ }
194
+ });
195
+ }
196
+ propertyList[propertyName] = {
197
+ pattern: pattern,
198
+ anyOf: [
199
+ resultDefinition,
200
+ {
201
+ type: 'string'
202
+ }
203
+ ]
204
+ };
205
+ if (description) {
206
+ propertyList[propertyName].description = description;
207
+ delete originalDefinition.description;
208
+ }
209
+ };
210
+ const addPatternForBindingChangeOfEnumLR = (schema, definition, propertyName) => {
211
+ addPatternForBindingChangeOfEnum(schema, definition, propertyName);
212
+ };
213
+ exports.addPatternForBindingChangeOfEnumLR = addPatternForBindingChangeOfEnumLR;
214
+ const addPatternForBindingChangeOfEnumOP = (schema, definition, propertyName) => {
215
+ const bindingValues = Object.values(BindingValue);
216
+ addPatternForBindingChangeOfEnum(schema, definition, propertyName, bindingValues);
217
+ };
218
+ exports.addPatternForBindingChangeOfEnumOP = addPatternForBindingChangeOfEnumOP;
219
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"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"}