@sap/ux-specification 1.96.21 → 1.96.24

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 (295) hide show
  1. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  2. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  3. package/dist/documentation/v2/v2-ListReport.html +1 -1
  4. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  5. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  6. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  7. package/dist/documentation/v4/v4-FreestylePage.html +1 -1
  8. package/dist/documentation/v4/v4-ListReport.html +1 -1
  9. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  10. package/dist/index-min.js +35 -35
  11. package/dist/index-min.js.map +3 -3
  12. package/dist/schemas/v4/ApplicationV4.json +26 -0
  13. package/dist/schemas/v4/ListReportConfig.json +20 -20
  14. package/dist/scripts/extractDocu.js +15 -3
  15. package/dist/scripts/extractDocu.js.map +1 -1
  16. package/dist/scripts/spec.js +1 -2
  17. package/dist/scripts/spec.js.map +1 -1
  18. package/dist/scripts/to-json-schema.js +17 -3
  19. package/dist/scripts/to-json-schema.js.map +1 -1
  20. package/dist/src/api.js +4 -3
  21. package/dist/src/api.js.map +1 -1
  22. package/dist/src/apiTypes.d.ts +4 -3
  23. package/dist/src/apiTypes.d.ts.map +1 -1
  24. package/dist/src/apiTypes.js +5 -2
  25. package/dist/src/apiTypes.js.map +1 -1
  26. package/dist/src/extensionLogger.d.ts +1 -1
  27. package/dist/src/extensionLogger.d.ts.map +1 -1
  28. package/dist/src/extensionLogger.js +3 -1
  29. package/dist/src/extensionLogger.js.map +1 -1
  30. package/dist/src/i18n/i18n.js +1 -0
  31. package/dist/src/i18n/i18n.js.map +1 -1
  32. package/dist/src/index.js +17 -10
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/project.d.ts.map +1 -1
  35. package/dist/src/project.js +14 -10
  36. package/dist/src/project.js.map +1 -1
  37. package/dist/src/specification/schemaAccess.d.ts +1 -1
  38. package/dist/src/specification/schemaAccess.d.ts.map +1 -1
  39. package/dist/src/specification/schemaAccess.js +5 -2
  40. package/dist/src/specification/schemaAccess.js.map +1 -1
  41. package/dist/src/sync/common/appProvider.d.ts +2 -2
  42. package/dist/src/sync/common/appProvider.d.ts.map +1 -1
  43. package/dist/src/sync/common/appProvider.js +18 -27
  44. package/dist/src/sync/common/appProvider.js.map +1 -1
  45. package/dist/src/sync/common/decoration/control.d.ts +2 -2
  46. package/dist/src/sync/common/decoration/control.d.ts.map +1 -1
  47. package/dist/src/sync/common/decoration/control.js +15 -7
  48. package/dist/src/sync/common/decoration/control.js.map +1 -1
  49. package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -1
  50. package/dist/src/sync/common/decoration/decorators.js +13 -6
  51. package/dist/src/sync/common/decoration/decorators.js.map +1 -1
  52. package/dist/src/sync/common/decoration/factory.js +1 -0
  53. package/dist/src/sync/common/decoration/factory.js.map +1 -1
  54. package/dist/src/sync/common/decoration/flex.js +1 -0
  55. package/dist/src/sync/common/decoration/flex.js.map +1 -1
  56. package/dist/src/sync/common/decoration/index.js +13 -6
  57. package/dist/src/sync/common/decoration/index.js.map +1 -1
  58. package/dist/src/sync/common/flexUtils.js +15 -2
  59. package/dist/src/sync/common/flexUtils.js.map +1 -1
  60. package/dist/src/sync/common/generate/index.js +12 -5
  61. package/dist/src/sync/common/generate/index.js.map +1 -1
  62. package/dist/src/sync/common/generate/objectPage.js +9 -7
  63. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  64. package/dist/src/sync/common/generate/utils.js +15 -12
  65. package/dist/src/sync/common/generate/utils.js.map +1 -1
  66. package/dist/src/sync/common/import/utils.js +1 -0
  67. package/dist/src/sync/common/import/utils.js.map +1 -1
  68. package/dist/src/sync/common/importProject.d.ts.map +1 -1
  69. package/dist/src/sync/common/importProject.js +21 -24
  70. package/dist/src/sync/common/importProject.js.map +1 -1
  71. package/dist/src/sync/common/index.js +19 -11
  72. package/dist/src/sync/common/index.js.map +1 -1
  73. package/dist/src/sync/common/types.d.ts +1 -1
  74. package/dist/src/sync/common/types.d.ts.map +1 -1
  75. package/dist/src/sync/common/types.js +1 -0
  76. package/dist/src/sync/common/types.js.map +1 -1
  77. package/dist/src/sync/common/utils.d.ts +3 -3
  78. package/dist/src/sync/common/utils.d.ts.map +1 -1
  79. package/dist/src/sync/common/utils.js +97 -78
  80. package/dist/src/sync/common/utils.js.map +1 -1
  81. package/dist/src/sync/i18n.js +15 -2
  82. package/dist/src/sync/i18n.js.map +1 -1
  83. package/dist/src/sync/v2/application.d.ts.map +1 -1
  84. package/dist/src/sync/v2/application.js +33 -16
  85. package/dist/src/sync/v2/application.js.map +1 -1
  86. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -1
  87. package/dist/src/sync/v2/export/controls/Action.js +3 -1
  88. package/dist/src/sync/v2/export/controls/Action.js.map +1 -1
  89. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -1
  90. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +3 -1
  91. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -1
  92. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +1 -0
  93. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -1
  94. package/dist/src/sync/v2/export/controls/Card.js +1 -0
  95. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  96. package/dist/src/sync/v2/export/controls/Field.js +1 -0
  97. package/dist/src/sync/v2/export/controls/Field.js.map +1 -1
  98. package/dist/src/sync/v2/export/controls/FilterBar.js +8 -2
  99. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  100. package/dist/src/sync/v2/export/controls/FormAction.js +1 -0
  101. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -1
  102. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
  103. package/dist/src/sync/v2/export/controls/Fragment.js +8 -8
  104. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  105. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +1 -0
  106. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -1
  107. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +1 -0
  108. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -1
  109. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +1 -0
  110. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -1
  111. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +1 -0
  112. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -1
  113. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +1 -0
  114. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  115. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +1 -0
  116. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -1
  117. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -1
  118. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +11 -5
  119. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  120. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
  121. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +1 -0
  122. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  123. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +1 -0
  124. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -1
  125. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -1
  126. package/dist/src/sync/v2/export/controls/Table.js +9 -9
  127. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  128. package/dist/src/sync/v2/export/controls/TableColumn.js +9 -2
  129. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  130. package/dist/src/sync/v2/export/controls/ToolBar.js +1 -0
  131. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -1
  132. package/dist/src/sync/v2/export/controls/index.js +30 -23
  133. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  134. package/dist/src/sync/v2/export/export.js +13 -16
  135. package/dist/src/sync/v2/export/export.js.map +1 -1
  136. package/dist/src/sync/v2/export/exportPage.js +3 -3
  137. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  138. package/dist/src/sync/v2/export/factory.js +15 -2
  139. package/dist/src/sync/v2/export/factory.js.map +1 -1
  140. package/dist/src/sync/v2/export/manifest.d.ts +1 -1
  141. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -1
  142. package/dist/src/sync/v2/export/manifest.js +7 -3
  143. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  144. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +1 -0
  145. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -1
  146. package/dist/src/sync/v2/export/pages/ListReport.js +1 -0
  147. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -1
  148. package/dist/src/sync/v2/export/pages/ObjectPage.js +1 -0
  149. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
  150. package/dist/src/sync/v2/export/pages/OverviewPage.js +1 -0
  151. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  152. package/dist/src/sync/v2/export/pages/index.js +14 -7
  153. package/dist/src/sync/v2/export/pages/index.js.map +1 -1
  154. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -1
  155. package/dist/src/sync/v2/export/view-controller-generator.js +17 -8
  156. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -1
  157. package/dist/src/sync/v2/generate/analyticalListReport.js +5 -5
  158. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  159. package/dist/src/sync/v2/generate/generate.js +1 -0
  160. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  161. package/dist/src/sync/v2/generate/index.js +8 -7
  162. package/dist/src/sync/v2/generate/index.js.map +1 -1
  163. package/dist/src/sync/v2/generate/listReport.d.ts +1 -1
  164. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -1
  165. package/dist/src/sync/v2/generate/listReport.js +29 -32
  166. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  167. package/dist/src/sync/v2/generate/objectPage.js +8 -6
  168. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  169. package/dist/src/sync/v2/generate/overviewPage.js +1 -0
  170. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -1
  171. package/dist/src/sync/v2/generate/utils.js +17 -8
  172. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  173. package/dist/src/sync/v2/import/app/appProvider.js +7 -1
  174. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -1
  175. package/dist/src/sync/v2/import/app/ovpProvider.js +1 -0
  176. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -1
  177. package/dist/src/sync/v2/import/common/index.js +24 -17
  178. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  179. package/dist/src/sync/v2/import/controls/table.js +2 -1
  180. package/dist/src/sync/v2/import/controls/table.js.map +1 -1
  181. package/dist/src/sync/v2/import/index.js +15 -8
  182. package/dist/src/sync/v2/import/index.js.map +1 -1
  183. package/dist/src/sync/v2/import/pages/analyticalListPage.js +1 -0
  184. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  185. package/dist/src/sync/v2/import/pages/listReport.js +5 -1
  186. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  187. package/dist/src/sync/v2/import/pages/objectPage.js +36 -36
  188. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  189. package/dist/src/sync/v2/import/pages/overviewPage.js +2 -1
  190. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  191. package/dist/src/sync/v2/import/utils.js +5 -7
  192. package/dist/src/sync/v2/import/utils.js.map +1 -1
  193. package/dist/src/sync/v2/types.js +1 -0
  194. package/dist/src/sync/v2/types.js.map +1 -1
  195. package/dist/src/sync/v4/application.d.ts +2 -2
  196. package/dist/src/sync/v4/application.d.ts.map +1 -1
  197. package/dist/src/sync/v4/application.js +44 -37
  198. package/dist/src/sync/v4/application.js.map +1 -1
  199. package/dist/src/sync/v4/export/controls/FilterBar.js +1 -0
  200. package/dist/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  201. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +1 -0
  202. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  203. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +1 -0
  204. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
  205. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +1 -0
  206. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -1
  207. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +1 -0
  208. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -1
  209. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +1 -0
  210. package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
  211. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +1 -0
  212. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  213. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +1 -0
  214. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  215. package/dist/src/sync/v4/export/controls/Table.d.ts +25 -10
  216. package/dist/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  217. package/dist/src/sync/v4/export/controls/Table.js +132 -69
  218. package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
  219. package/dist/src/sync/v4/export/controls/TableColumn.js +1 -0
  220. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  221. package/dist/src/sync/v4/export/controls/ToolBar.js +1 -0
  222. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  223. package/dist/src/sync/v4/export/controls/ToolBarAction.js +1 -0
  224. package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  225. package/dist/src/sync/v4/export/controls/index.js +22 -15
  226. package/dist/src/sync/v4/export/controls/index.js.map +1 -1
  227. package/dist/src/sync/v4/export/export.d.ts +3 -2
  228. package/dist/src/sync/v4/export/export.d.ts.map +1 -1
  229. package/dist/src/sync/v4/export/export.js +45 -37
  230. package/dist/src/sync/v4/export/export.js.map +1 -1
  231. package/dist/src/sync/v4/export/exportCustomColumn.js +11 -1
  232. package/dist/src/sync/v4/export/exportCustomColumn.js.map +1 -1
  233. package/dist/src/sync/v4/export/factory.js +15 -2
  234. package/dist/src/sync/v4/export/factory.js.map +1 -1
  235. package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -1
  236. package/dist/src/sync/v4/export/flexibleColumnLayout.js +8 -7
  237. package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +1 -1
  238. package/dist/src/sync/v4/export/manifest.d.ts.map +1 -1
  239. package/dist/src/sync/v4/export/manifest.js +89 -44
  240. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  241. package/dist/src/sync/v4/export/pages/FreestylePage.js +1 -0
  242. package/dist/src/sync/v4/export/pages/FreestylePage.js.map +1 -1
  243. package/dist/src/sync/v4/export/pages/ListReport.js +2 -2
  244. package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -1
  245. package/dist/src/sync/v4/export/pages/ObjectPage.js +1 -0
  246. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -1
  247. package/dist/src/sync/v4/export/pages/index.js +13 -6
  248. package/dist/src/sync/v4/export/pages/index.js.map +1 -1
  249. package/dist/src/sync/v4/export/utils.js +1 -0
  250. package/dist/src/sync/v4/export/utils.js.map +1 -1
  251. package/dist/src/sync/v4/generate/freestylePage.js +1 -0
  252. package/dist/src/sync/v4/generate/freestylePage.js.map +1 -1
  253. package/dist/src/sync/v4/generate/generate.js +1 -0
  254. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  255. package/dist/src/sync/v4/generate/index.js +7 -6
  256. package/dist/src/sync/v4/generate/index.js.map +1 -1
  257. package/dist/src/sync/v4/generate/listReport.d.ts.map +1 -1
  258. package/dist/src/sync/v4/generate/listReport.js +65 -33
  259. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  260. package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  261. package/dist/src/sync/v4/generate/objectPage.js +20 -10
  262. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  263. package/dist/src/sync/v4/import/app/appProvider.js +1 -0
  264. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  265. package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +1 -1
  266. package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -1
  267. package/dist/src/sync/v4/import/app/baseAppProvider.js +51 -23
  268. package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -1
  269. package/dist/src/sync/v4/import/app/freestyleProvider.js +1 -0
  270. package/dist/src/sync/v4/import/app/freestyleProvider.js.map +1 -1
  271. package/dist/src/sync/v4/import/app/index.js +7 -6
  272. package/dist/src/sync/v4/import/app/index.js.map +1 -1
  273. package/dist/src/sync/v4/import/fragment.js +8 -10
  274. package/dist/src/sync/v4/import/fragment.js.map +1 -1
  275. package/dist/src/sync/v4/import/index.js +12 -5
  276. package/dist/src/sync/v4/import/index.js.map +1 -1
  277. package/dist/src/sync/v4/import/pages/listReport.js +5 -5
  278. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  279. package/dist/src/sync/v4/import/pages/objectPage.js +9 -11
  280. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  281. package/dist/src/sync/v4/import/utils.js +3 -2
  282. package/dist/src/sync/v4/import/utils.js.map +1 -1
  283. package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts +9 -0
  284. package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -0
  285. package/dist/src/sync/v4/sync-rules/controllerExtensions.js +104 -0
  286. package/dist/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -0
  287. package/dist/src/sync/v4/utils/StableIdHelper.d.ts +1 -1
  288. package/dist/src/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  289. package/dist/src/sync/v4/utils/StableIdHelper.js +13 -24
  290. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  291. package/dist/src/sync/v4/utils/utils.d.ts +16 -18
  292. package/dist/src/sync/v4/utils/utils.d.ts.map +1 -1
  293. package/dist/src/sync/v4/utils/utils.js +41 -51
  294. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  295. package/package.json +8 -8
@@ -0,0 +1,9 @@
1
+ import { v4 } from '@sap/ux-specification-types';
2
+ export declare const controllerExtensions: {
3
+ manifest: {
4
+ path: () => string;
5
+ import: (extensions: v4.SapUi5ControllerExtensionsV4) => v4.ControllerExtensions | undefined;
6
+ export: (manifestSection: v4.SapUi5ControllerExtensionsV4, configObject: v4.ApplicationV4, key: string) => void;
7
+ };
8
+ };
9
+ //# sourceMappingURL=controllerExtensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllerExtensions.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v4/sync-rules/controllerExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAsE3D,eAAO,MAAM,oBAAoB;;oBAEf,MAAM;6BACK,GAAG,4BAA4B,KAAG,GAAG,oBAAoB,GAAG,SAAS;kCAcrE,GAAG,4BAA4B,gBAClC,GAAG,aAAa,OACzB,MAAM,KACZ,IAAI;;CAoBd,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.controllerExtensions = void 0;
4
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
5
+ const PAGE_TYPE_TO_CONTROLLER_EXTENSION_MAP = new Map([
6
+ [ux_specification_types_1.PageType.ListReport, ux_specification_types_1.v4.SAPUI5_VIEW_EXTENSION_LIST_REPORT],
7
+ [ux_specification_types_1.PageType.ObjectPage, ux_specification_types_1.v4.SAPUI5_VIEW_EXTENSION_OBJECT_PAGE]
8
+ ]);
9
+ /**
10
+ * Method transfers values of 'controllerNames' and 'controllerName' from source to target.
11
+ * Method can be uses in both ways - import or export.
12
+ * @param {SapUi5ControllerExtensionV4} source - source object
13
+ * @param {SapUi5ControllerExtensionV4} target - target object
14
+ */
15
+ const applyControllerNameProperties = (source, target) => {
16
+ const properties = ['controllerNames', 'controllerName'];
17
+ for (const property of properties) {
18
+ if (property in source) {
19
+ target[property] = source[property];
20
+ }
21
+ else if (property in target) {
22
+ // Deletion of property happens
23
+ delete target[property];
24
+ }
25
+ }
26
+ };
27
+ /**
28
+ * Method returns extension key for import(page.json).
29
+ * @param {string} manifestKey - extension name in manifest.
30
+ * @returns - extension key for import.
31
+ */
32
+ const getExtensionKeyForImport = (manifestKey) => {
33
+ for (const [pageType, key] of PAGE_TYPE_TO_CONTROLLER_EXTENSION_MAP) {
34
+ if (manifestKey.startsWith(key)) {
35
+ // Replace SAPUI5 specific key like 'sap.fe.templates.ObjectPage.ObjectPageController' with more readable PageType
36
+ let configKey = pageType;
37
+ if (manifestKey.includes('#')) {
38
+ // Append with page id
39
+ const id = manifestKey.split('#')[1]?.split('::')[1];
40
+ configKey += `#${id}`;
41
+ }
42
+ return configKey;
43
+ }
44
+ }
45
+ return undefined;
46
+ };
47
+ /**
48
+ * Method returns extension key for export(manifest.json).
49
+ * @param {string} configKey - extension name in config.
50
+ * @param {string} appId - application id.
51
+ * @returns - extension key for export.
52
+ */
53
+ const getExtensionKeyForExport = (configKey, appId) => {
54
+ let manifestKey = '';
55
+ for (const [pageType, key] of PAGE_TYPE_TO_CONTROLLER_EXTENSION_MAP) {
56
+ if (configKey.startsWith(pageType)) {
57
+ manifestKey = key;
58
+ }
59
+ }
60
+ const idParts = configKey.split('#');
61
+ if (idParts.length > 1) {
62
+ const pageId = idParts[1];
63
+ manifestKey = `${manifestKey}#${appId}::${pageId}`;
64
+ }
65
+ return manifestKey;
66
+ };
67
+ exports.controllerExtensions = {
68
+ manifest: {
69
+ path: () => `sap.ui5/extends/extensions/${ux_specification_types_1.v4.SAPUI5_CONTROLLER_EXTENSION}`,
70
+ import: (extensions) => {
71
+ const result = {};
72
+ if (extensions && typeof extensions === 'object') {
73
+ for (const manifestKey in extensions) {
74
+ const configKey = getExtensionKeyForImport(manifestKey);
75
+ if (configKey) {
76
+ result[configKey] = {};
77
+ applyControllerNameProperties(extensions[manifestKey], result[configKey]);
78
+ }
79
+ }
80
+ }
81
+ return Object.keys(result).length ? result : undefined;
82
+ },
83
+ export: (manifestSection, configObject, key) => {
84
+ const appId = configObject?.id || '';
85
+ const configExtensions = configObject?.settings?.[key] || {};
86
+ // Go through all config extensions
87
+ for (const configKey in configExtensions) {
88
+ const manifestKey = getExtensionKeyForExport(configKey, appId);
89
+ if (!manifestSection[manifestKey]) {
90
+ manifestSection[manifestKey] = {};
91
+ }
92
+ applyControllerNameProperties(configExtensions[configKey], manifestSection[manifestKey]);
93
+ }
94
+ // Handle removed extensions
95
+ for (const manifestKey in manifestSection) {
96
+ const configKey = getExtensionKeyForImport(manifestKey);
97
+ if (configKey && !configExtensions[configKey]) {
98
+ delete manifestSection[manifestKey];
99
+ }
100
+ }
101
+ }
102
+ }
103
+ };
104
+ //# sourceMappingURL=controllerExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllerExtensions.js","sourceRoot":"","sources":["../../../../../src/sync/v4/sync-rules/controllerExtensions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare function replaceSpecialChars(sId: string): string;
2
2
  export declare const prepareId: (sId: string) => string;
3
3
  export declare const getStableIdPartFromSemanticObjectAndAction: (oDataField: any) => string;
4
- export declare const getStableIdPartFromDataField: (oDataField: any) => string;
4
+ export declare const getStableIdPartFromDataField: (oDataField: any) => string | undefined;
5
5
  //# sourceMappingURL=StableIdHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StableIdHelper.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/StableIdHelper.ts"],"names":[],"mappings":"AAgBA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuBvD;AAQD,eAAO,MAAM,SAAS,yBAOrB,CAAC;AAmCF,eAAO,MAAM,0CAA0C,6BAgBtD,CAAC;AAEF,eAAO,MAAM,4BAA4B,6BA+CxC,CAAC"}
1
+ {"version":3,"file":"StableIdHelper.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/StableIdHelper.ts"],"names":[],"mappings":"AAgBA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBvD;AAQD,eAAO,MAAM,SAAS,QAAkB,MAAM,KAAG,MAEhD,CAAC;AA+BF,eAAO,MAAM,0CAA0C,eAAyB,GAAG,KAAG,MAgBrF,CAAC;AAEF,eAAO,MAAM,4BAA4B,eAAyB,GAAG,KAAG,MAAM,GAAG,SA+ChF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStableIdPartFromDataField = exports.getStableIdPartFromSemanticObjectAndAction = exports.prepareId = exports.replaceSpecialChars = void 0;
3
4
  /**
4
5
  * Stable Id helper (parts copied from sap.fe.core/helpers/StableIdHelper.ts)
5
6
  */
@@ -16,9 +17,6 @@ function replaceSpecialChars(sId) {
16
17
  if (typeof sId !== 'string') {
17
18
  return;
18
19
  }
19
- if (sId.indexOf(' ') >= 0) {
20
- throw sId + ' - Spaces are not allowed in ID parts.';
21
- }
22
20
  sId = sId
23
21
  .replace(/^\/|^@|^#|^\*/, '') // remove special characters from the beginning of the string
24
22
  .replace(/\/$|@$|#$|\*$/, '') // remove special characters from the end of the string
@@ -39,47 +37,36 @@ function removeNamespaces(sId) {
39
37
  sId = sId.replace('com.sap.vocabularies.Communication.v1.', '');
40
38
  return sId;
41
39
  }
42
- exports.prepareId = function (sId) {
43
- sId = replaceSpecialChars(removeNamespaces(sId));
44
- if (isValid(sId)) {
45
- return sId;
46
- }
47
- else {
48
- throw sId + ' - Stable Id could not be generated due to insufficient information.';
49
- }
40
+ const prepareId = function (sId) {
41
+ return replaceSpecialChars(removeNamespaces(sId));
50
42
  };
43
+ exports.prepareId = prepareId;
51
44
  function evaluateConcat(oValue) {
52
45
  let sPathConcat = '';
53
- for (const applyValue of oValue.$Apply) {
54
- if (applyValue.$Path) {
46
+ for (const applyValue of oValue.Apply.Path) {
47
+ if (applyValue._text) {
55
48
  if (sPathConcat) {
56
49
  sPathConcat += '::';
57
50
  }
58
- sPathConcat += applyValue.$Path;
51
+ sPathConcat += applyValue._text;
59
52
  }
60
53
  }
61
54
  return sPathConcat;
62
55
  }
63
56
  function getStableIdPartFromValue(oValue) {
64
- var _a, _b;
65
- if ((oValue === null || oValue === void 0 ? void 0 : oValue.$Path) || (oValue === null || oValue === void 0 ? void 0 : oValue.path)) {
57
+ if (oValue?.$Path || oValue?.path) {
66
58
  return oValue.$Path || oValue.path;
67
59
  }
68
- if ((oValue === null || oValue === void 0 ? void 0 : oValue.$Apply) && oValue.$Function === 'odata.concat') {
60
+ if (oValue?.Apply?._attributes.Function === 'odata.concat') {
69
61
  return evaluateConcat(oValue);
70
62
  }
71
63
  if (oValue) {
72
64
  if (typeof oValue === 'string') {
73
- //old AVT format
74
65
  return replaceSpecialChars(oValue.replace(/ /g, '_'));
75
66
  }
76
- else {
77
- //new AVT format
78
- return replaceSpecialChars((_b = (_a = oValue === null || oValue === void 0 ? void 0 : oValue.value) === null || _a === void 0 ? void 0 : _a.String) === null || _b === void 0 ? void 0 : _b.replace(/ /g, '_'));
79
- }
80
67
  }
81
68
  }
82
- exports.getStableIdPartFromSemanticObjectAndAction = function (oDataField) {
69
+ const getStableIdPartFromSemanticObjectAndAction = function (oDataField) {
83
70
  let sIdPart = '';
84
71
  if (typeof oDataField.SemanticObject === 'string') {
85
72
  sIdPart += oDataField.SemanticObject;
@@ -98,7 +85,8 @@ exports.getStableIdPartFromSemanticObjectAndAction = function (oDataField) {
98
85
  }
99
86
  return sIdPart;
100
87
  };
101
- exports.getStableIdPartFromDataField = function (oDataField) {
88
+ exports.getStableIdPartFromSemanticObjectAndAction = getStableIdPartFromSemanticObjectAndAction;
89
+ const getStableIdPartFromDataField = function (oDataField) {
102
90
  let sIdPart = '';
103
91
  if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
104
92
  sIdPart = 'DataFieldForAction::';
@@ -153,4 +141,5 @@ exports.getStableIdPartFromDataField = function (oDataField) {
153
141
  }
154
142
  return undefined;
155
143
  };
144
+ exports.getStableIdPartFromDataField = getStableIdPartFromDataField;
156
145
  //# sourceMappingURL=StableIdHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StableIdHelper.js","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/StableIdHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StableIdHelper.js","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/StableIdHelper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ExtensionLogger, GenerateAppSchemaParameters } from '../../..';
2
- import type { LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types/vocabularies/UI';
2
+ import type { LineItem } from '@sap-ux/vocabularies-types/vocabularies/UI';
3
3
  import type { AnnotationTerm, ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
4
4
  import { DefinitionName } from '../../common';
5
5
  import { v4 } from '@sap/ux-specification-types';
@@ -14,28 +14,26 @@ import type { Definition } from 'typescript-json-schema';
14
14
  * @param sectionIdInManifest - identifier of the current object page section in manifest
15
15
  */
16
16
  export declare function addCustomColumnDefinition(appSchema: Definition, v4Page: v4.SapUiAppPageV4, logger: ExtensionLogger, customColumnDefinitionName?: string, sectionId?: string, sectionIdInManifest?: string): void;
17
- /**
18
- * Processes a LineItem record of type DataFieldForAction during app schema generation
19
- * @param appSchema - the app specific schema that shall get enhanced
20
- * @param entityType - the entity type as part of the AVT ConvertedMetadata
21
- * @param actions - actions definition in schema, parent object
22
- * @param lineItemPath - annotation path to the line item
23
- * @param lineItemRecord - actual record of the line item collection
24
- * @param recordIndex - record index in the collection
25
- */
26
- export declare function handleActionRecord(appSchema: Definition, entityType: EntityType, actionsDefinition: Definition, lineItemPath: string, lineItemRecord: DataFieldForActionAbstractTypes, lineItemId: string, recordIndex: number): void;
17
+ export declare type LineItemDataForSchema = {
18
+ appSchema: Definition;
19
+ lineItemAnnotation: AnnotationTerm<LineItem>;
20
+ entityType: EntityType;
21
+ oDataServiceAVT: ConvertedMetadata;
22
+ lineItemId: string;
23
+ };
27
24
  /**
28
25
  * Adds the line item definition, columns and actions to the app schema (for the list report or an object page section comprising a table)
29
- * @param appSchema - the app specific schema that shall get enhanced
30
- * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
31
- * @param entityType - the entity type as part of the AVT ConvertedMetadata
32
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
33
- * @param lineItemId - in case of OP the parameter must be passed to distinguish the OP tables;
34
- * in case of LR or ALP 'LineItems' is passed.
26
+ * @param {LineItemDataForSchema} data: structure comprising
27
+ * - appSchema - the app specific schema that shall get enhanced
28
+ * - lineItemAnnotation - the UI.LineItem annotation, comprising all records
29
+ * - entityType - the entity type as part of the AVT ConvertedMetadata
30
+ * - oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
31
+ * - lineItemId - in case of OP the parameter must be passed to distinguish the OP tables;
32
+ * in case of LR or ALP 'LineItems' is passed.
35
33
  * @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
36
34
  * @param customColumnDefinitionName - name of the custom column definition
37
35
  */
38
- export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConvertedMetadata, lineItemId: string, columnDefinitionName?: string, customColumnDefinitionName?: string, customActionDefinitionName?: string): void;
36
+ export declare function addLineItemsTypeToSchema(data: LineItemDataForSchema, columnDefinitionName?: string, customColumnDefinitionName?: string, customActionDefinitionName?: string): void;
39
37
  /**
40
38
  * Adds an enum or value help to position > anchor of custom column
41
39
  * @param appSchema - app specific JSON schema
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EACR,QAAQ,EACR,+BAA+B,EAElC,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3G,OAAO,EASH,cAAc,EAEjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,EAAE,EAAiC,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,wBAAwB,CAAC;AAwL9E;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,MAAM,EAAE,eAAe,EACvB,0BAA0B,GAAE,MAAoC,EAChE,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,MAAM,GAC7B,IAAI,CA8BN;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,UAAU,EAC7B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,+BAA+B,EAC/C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GACpB,IAAI,CAwBN;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC5C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,MAAM,EAClB,oBAAoB,GAAE,MAAmC,EACzD,0BAA0B,GAAE,MAAoC,EAChE,0BAA0B,GAAE,MAAoC,GACjE,IAAI,CA+BN;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,YAAY,GAAE,MAAgC,EAC9C,mBAAmB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAsBN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAA4C,GAC3D,IAAI,CAKN;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,eAAe,GACxB,EAAE,CAAC,cAAc,GAAG,SAAS,CAyB/B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,2BAA2B,GAChD,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,CAwBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,MAAM,EAAE,eAAe,EACvB,0BAA0B,GAAE,MAAoC,EAChE,SAAS,SAAK,EACd,mBAAmB,SAAK,GACzB,IAAI,CA6BN"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/v4/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EACR,QAAQ,EAGX,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3G,OAAO,EASH,cAAc,EAEjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,EAAE,EAAiC,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,wBAAwB,CAAC;AAwL9E;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,MAAM,EAAE,eAAe,EACvB,0BAA0B,GAAE,MAAoC,EAChE,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,MAAM,GAC7B,IAAI,CA8BN;AA8ED,oBAAY,qBAAqB,GAAG;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,iBAAiB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,qBAAqB,EAC3B,oBAAoB,GAAE,MAAmC,EACzD,0BAA0B,GAAE,MAAoC,EAChE,0BAA0B,GAAE,MAAoC,GACjE,IAAI,CA+BN;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,YAAY,GAAE,MAAgC,EAC9C,mBAAmB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAsBN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAA4C,GAC3D,IAAI,CAKN;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,eAAe,GACxB,EAAE,CAAC,cAAc,GAAG,SAAS,CAyB/B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,2BAA2B,GAChD,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,CAwBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,EAAE,CAAC,cAAc,EACzB,MAAM,EAAE,eAAe,EACvB,0BAA0B,GAAE,MAAoC,EAChE,SAAS,SAAK,EACd,mBAAmB,SAAK,GACzB,IAAI,CA6BN"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addCustomActionDefinition = exports.alignSchemaWithTemplateType = exports.findPageV4 = exports.addEnumForActionAnchor = exports.addFragmentEnumForAnchor = exports.addLineItemsTypeToSchema = exports.addCustomColumnDefinition = void 0;
6
7
  const utils_1 = require("../../common/utils");
7
8
  const StableIdHelper_1 = require("./StableIdHelper");
8
9
  const common_1 = require("../../common");
@@ -47,8 +48,7 @@ function getExtensionText(extension) {
47
48
  * @param newExtensionReference - schema reference of the new extension
48
49
  */
49
50
  function addExtensionToSortedArray(extension, sortedExtensionsArray, targetIndex, extId, newExtensionReference) {
50
- var _a;
51
- const placement = ((_a = extension.position) === null || _a === void 0 ? void 0 : _a.placement) || ux_specification_types_1.v4.Placement.After;
51
+ const placement = extension.position?.placement || ux_specification_types_1.v4.Placement.After;
52
52
  if (placement === ux_specification_types_1.v4.Placement.Before) {
53
53
  sortedExtensionsArray.splice(targetIndex, 0, [extId, newExtensionReference]);
54
54
  }
@@ -64,7 +64,6 @@ function addExtensionToSortedArray(extension, sortedExtensionsArray, targetIndex
64
64
  * @param logger - logger for error messages
65
65
  */
66
66
  function adjustCustomExtReferringToCustomExt(remainingExtensions, extensionDefinitionName, sortedExtArray, logger) {
67
- var _a, _b;
68
67
  for (const extId in remainingExtensions) {
69
68
  const extension = remainingExtensions[extId];
70
69
  // Detect description based on extension in manifest
@@ -73,7 +72,7 @@ function adjustCustomExtReferringToCustomExt(remainingExtensions, extensionDefin
73
72
  $ref: `${utils_1.DEFINITION_LINK_PREFIX}${extensionDefinitionName}`,
74
73
  description
75
74
  };
76
- if (((_a = extension.position) === null || _a === void 0 ? void 0 : _a.anchor) && ((_b = extension.position) === null || _b === void 0 ? void 0 : _b.placement)) {
75
+ if (extension.position?.anchor && extension.position?.placement) {
77
76
  const targetIndex = sortedExtArray.findIndex((element) => element[0] === extension.position.anchor);
78
77
  if (targetIndex > -1) {
79
78
  addExtensionToSortedArray(extension, sortedExtArray, targetIndex, extId, newCustomExt);
@@ -106,10 +105,9 @@ function adjustCustomExtReferringToCustomExt(remainingExtensions, extensionDefin
106
105
  * @param sortedExtensionsArray - sorted array of annotation-based nodes, to be enhanced by extensions
107
106
  */
108
107
  function getExtensionAnchor(extension, sortedExtensionsArray) {
109
- var _a, _b;
110
108
  // Default placement is After
111
- const placement = ((_a = extension.position) === null || _a === void 0 ? void 0 : _a.placement) || ux_specification_types_1.v4.Placement.After;
112
- let anchor = (_b = extension.position) === null || _b === void 0 ? void 0 : _b.anchor;
109
+ const placement = extension.position?.placement || ux_specification_types_1.v4.Placement.After;
110
+ let anchor = extension.position?.anchor;
113
111
  if (!anchor) {
114
112
  // Simulate runtime behavior - if there no anchor, then logic uses first or last annotation node
115
113
  // In some cases last extension can be previously inserted extension - in such case we still need use annotation node
@@ -127,7 +125,7 @@ function getExtensionAnchor(extension, sortedExtensionsArray) {
127
125
  */
128
126
  function addExtensionToArray(extensions, sortedExtensionsArray, extensionDefinitionName, templatePropertyName = 'template', logger) {
129
127
  const annotationEntries = [...sortedExtensionsArray];
130
- const localExtensions = Object.assign({}, extensions);
128
+ const localExtensions = { ...extensions };
131
129
  for (const extensionId in localExtensions) {
132
130
  const extension = localExtensions[extensionId];
133
131
  if (!(templatePropertyName in extension)) {
@@ -169,7 +167,6 @@ function addExtensionToArray(extensions, sortedExtensionsArray, extensionDefinit
169
167
  * @param sectionIdInManifest - identifier of the current object page section in manifest
170
168
  */
171
169
  function addCustomColumnDefinition(appSchema, v4Page, logger, customColumnDefinitionName = common_1.DefinitionName.CustomColumn, sectionId, sectionIdInManifest) {
172
- var _a, _b, _c, _d;
173
170
  const lineItemId = sectionId || common_1.DefinitionName.LineItems;
174
171
  const lineItems = appSchema.definitions[lineItemId];
175
172
  if (!lineItems) {
@@ -178,7 +175,7 @@ function addCustomColumnDefinition(appSchema, v4Page, logger, customColumnDefini
178
175
  //sort line items
179
176
  let sortedColumnsArray = sortPropertiesRecords(lineItems);
180
177
  const id = sectionIdInManifest ? sectionIdInManifest.replace(/::/g, '/') : `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`;
181
- const columns = (_d = (_c = (_b = (_a = v4Page.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.controlConfiguration) === null || _c === void 0 ? void 0 : _c[id]) === null || _d === void 0 ? void 0 : _d['columns'];
178
+ const columns = v4Page.options?.settings?.controlConfiguration?.[id]?.['columns'];
182
179
  if (columns) {
183
180
  sortedColumnsArray = addExtensionToArray(columns, sortedColumnsArray, customColumnDefinitionName, undefined, logger);
184
181
  }
@@ -195,29 +192,28 @@ function addCustomColumnDefinition(appSchema, v4Page, logger, customColumnDefini
195
192
  exports.addCustomColumnDefinition = addCustomColumnDefinition;
196
193
  /**
197
194
  * Processes a LineItem record of type DataFieldForAction during app schema generation
198
- * @param appSchema - the app specific schema that shall get enhanced
199
- * @param entityType - the entity type as part of the AVT ConvertedMetadata
195
+ * @param {LineItemDataForSchema} data: structure of input data
200
196
  * @param actions - actions definition in schema, parent object
201
197
  * @param lineItemPath - annotation path to the line item
202
198
  * @param lineItemRecord - actual record of the line item collection
203
199
  * @param recordIndex - record index in the collection
204
200
  */
205
- function handleActionRecord(appSchema, entityType, actionsDefinition, lineItemPath, lineItemRecord, lineItemId, recordIndex) {
201
+ function addActionRecordToSchema(data, actionsDefinition, lineItemPath, lineItemRecord, recordIndex) {
206
202
  // Action but not inline action
207
203
  if (lineItemRecord.Determining !== true) {
208
204
  //no footer bar -> toolbar action
209
205
  let actionDefinitionName;
210
- if (lineItemId.startsWith(common_1.DefinitionName.LineItemsOfView)) {
206
+ if (data.lineItemId.startsWith(common_1.DefinitionName.LineItemsOfView)) {
211
207
  actionDefinitionName = common_1.DefinitionName.ViewToolBarAction;
212
208
  }
213
- else if (lineItemId.startsWith(common_1.DefinitionName.LineItems)) {
209
+ else if (data.lineItemId.startsWith(common_1.DefinitionName.LineItems)) {
214
210
  actionDefinitionName = common_1.DefinitionName.ToolBarAction;
215
211
  }
216
212
  else {
217
213
  actionDefinitionName = common_1.DefinitionName.ObjectPageToolBarAction;
218
214
  }
219
215
  const actionId = lineItemRecord.Action.replace('/', '??');
220
- const description = utils_1.getDataFieldDescription(lineItemRecord, entityType);
216
+ const description = utils_1.getDataFieldDescription(lineItemRecord, data.entityType);
221
217
  const prefix = lineItemRecord.$Type.split(`${common_1.UIVOCABULARY}.`)[1];
222
218
  const actions = (actionsDefinition.properties[`${prefix}::${lineItemRecord.Action}`] = {
223
219
  $ref: common_1.getFacetDefinitionLink(actionDefinitionName, common_1.prepareRef(actionId)),
@@ -225,78 +221,75 @@ function handleActionRecord(appSchema, entityType, actionsDefinition, lineItemPa
225
221
  });
226
222
  actions[common_1.SchemaTag.propertyIndex] = recordIndex;
227
223
  actions[common_1.SchemaTag.annotationType] = lineItemRecord.$Type;
228
- const action = common_1.parseSchemaDefinition(actionDefinitionName, common_1.prepareRef(actionId), appSchema);
224
+ const action = common_1.parseSchemaDefinition(actionDefinitionName, common_1.prepareRef(actionId), data.appSchema);
229
225
  action[common_1.SchemaTag.annotationPath] = `${lineItemPath}/${recordIndex}`;
230
226
  }
231
227
  }
232
- exports.handleActionRecord = handleActionRecord;
233
228
  /**
234
229
  * Processes a LineItem record of type DataField during app schema generation
230
+ * @param {LineItemDataForSchema} data: structure of input data
235
231
  * @param lineItem - object comprising the line item information:
236
232
  * { lineItemRecord, lineItemId, lineItemPath }
237
- * @param appSchema - the app specific schema that shall get enhanced
238
233
  * @param columnDefinitionName - Schema definition name for the column
239
- * @param entityType - the entity type as part of the AVT ConvertedMetadata
240
234
  * @param recordIndex - record index in the collection
241
- * @param {ConvertedMetadata} oDataServiceAVT - AVT information
242
235
  */
243
- function handleLineItemRecord(lineItem, appSchema, columnDefinitionName, entityType, recordIndex, oDataServiceAVT) {
244
- var _a, _b, _c, _d, _e;
236
+ function addLineItemRecordToSchema(data, lineItem, columnDefinitionName, recordIndex) {
245
237
  const lineItemId = lineItem['lineItemId'];
246
238
  const lineItemRecord = lineItem['lineItemRecord'];
247
- if ((_a = lineItemRecord['Target']) === null || _a === void 0 ? void 0 : _a['value']) {
248
- const regex = `@${utils_1.findAlias(common_1.UIVOCABULARY, oDataServiceAVT)}.`;
239
+ if (lineItemRecord['Target']?.['value']) {
240
+ const regex = `@${utils_1.findAlias(common_1.UIVOCABULARY, data.oDataServiceAVT)}.`;
249
241
  lineItemRecord['Target']['value'] = lineItemRecord['Target']['value'].replace(regex, '@');
250
242
  }
251
243
  const schemaKey = StableIdHelper_1.getStableIdPartFromDataField(lineItemRecord);
252
244
  if (schemaKey) {
253
- const properties = appSchema.definitions[lineItemId].properties;
245
+ const properties = data.appSchema.definitions[lineItemId].properties;
254
246
  properties[schemaKey] = {
255
247
  $ref: utils_1.DEFINITION_LINK_PREFIX + columnDefinitionName,
256
- description: utils_1.getDataFieldDescription(lineItemRecord, entityType)
248
+ description: utils_1.getDataFieldDescription(lineItemRecord, data.entityType)
257
249
  };
258
- properties[schemaKey][common_1.SchemaTag.annotationType] = lineItemRecord === null || lineItemRecord === void 0 ? void 0 : lineItemRecord.$Type;
250
+ properties[schemaKey][common_1.SchemaTag.annotationType] = lineItemRecord?.$Type;
259
251
  properties[schemaKey][common_1.SchemaTag.annotationPath] = `${lineItem['lineItemPath']}/${recordIndex}`;
260
252
  properties[schemaKey][common_1.SchemaTag.propertyIndex] = recordIndex;
261
- if ((_c = (_b = lineItemRecord['Value']) === null || _b === void 0 ? void 0 : _b.$target) === null || _c === void 0 ? void 0 : _c.type) {
262
- properties[schemaKey][common_1.SchemaTag.dataType] = (_e = (_d = lineItemRecord['Value']) === null || _d === void 0 ? void 0 : _d.$target) === null || _e === void 0 ? void 0 : _e.type.replace('Edm.', '');
253
+ if (lineItemRecord['Value']?.$target?.type) {
254
+ properties[schemaKey][common_1.SchemaTag.dataType] = lineItemRecord['Value']?.$target?.type.replace('Edm.', '');
263
255
  }
264
256
  }
265
257
  }
266
258
  /**
267
259
  * Adds the line item definition, columns and actions to the app schema (for the list report or an object page section comprising a table)
268
- * @param appSchema - the app specific schema that shall get enhanced
269
- * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
270
- * @param entityType - the entity type as part of the AVT ConvertedMetadata
271
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
272
- * @param lineItemId - in case of OP the parameter must be passed to distinguish the OP tables;
273
- * in case of LR or ALP 'LineItems' is passed.
260
+ * @param {LineItemDataForSchema} data: structure comprising
261
+ * - appSchema - the app specific schema that shall get enhanced
262
+ * - lineItemAnnotation - the UI.LineItem annotation, comprising all records
263
+ * - entityType - the entity type as part of the AVT ConvertedMetadata
264
+ * - oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
265
+ * - lineItemId - in case of OP the parameter must be passed to distinguish the OP tables;
266
+ * in case of LR or ALP 'LineItems' is passed.
274
267
  * @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
275
268
  * @param customColumnDefinitionName - name of the custom column definition
276
269
  */
277
- function addLineItemsType(appSchema, lineItemAnnotation, entityType, oDataServiceAVT, lineItemId, columnDefinitionName = common_1.DefinitionName.TableColumn, customColumnDefinitionName = common_1.DefinitionName.CustomColumn, customActionDefinitionName = common_1.DefinitionName.CustomAction) {
278
- const { actions, lineItemPath } = common_1.addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId, customColumnDefinitionName, customActionDefinitionName);
279
- if (!lineItemAnnotation) {
270
+ function addLineItemsTypeToSchema(data, columnDefinitionName = common_1.DefinitionName.TableColumn, customColumnDefinitionName = common_1.DefinitionName.CustomColumn, customActionDefinitionName = common_1.DefinitionName.CustomAction) {
271
+ const { actions, lineItemPath } = common_1.addCommonLineItemDefinitions(data.appSchema, data.lineItemAnnotation, data.entityType, data.lineItemId, customColumnDefinitionName, customActionDefinitionName);
272
+ if (!data.lineItemAnnotation) {
280
273
  return;
281
274
  }
282
275
  let i = 0;
283
- lineItemAnnotation.forEach((lineItemRecord) => {
276
+ data.lineItemAnnotation.forEach((lineItemRecord) => {
284
277
  if ((lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
285
278
  lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) &&
286
279
  (lineItemRecord.Inline !== true || lineItemRecord.Determining === true)) {
287
- handleActionRecord(appSchema, entityType, actions, lineItemPath, lineItemRecord, lineItemId, i);
280
+ addActionRecordToSchema(data, actions, lineItemPath, lineItemRecord, i);
288
281
  }
289
282
  else {
290
- const lineItem = { lineItemRecord, lineItemId, lineItemPath };
283
+ const lineItem = { lineItemRecord, lineItemId: data.lineItemId, lineItemPath };
291
284
  const columnDefinition = lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */
292
285
  ? `${columnDefinitionName}Action`
293
286
  : columnDefinitionName;
294
- handleLineItemRecord(lineItem, appSchema, columnDefinition, entityType, i, oDataServiceAVT);
287
+ addLineItemRecordToSchema(data, lineItem, columnDefinition, i);
295
288
  }
296
289
  i++;
297
290
  });
298
291
  }
299
- exports.addLineItemsType = addLineItemsType;
292
+ exports.addLineItemsTypeToSchema = addLineItemsTypeToSchema;
300
293
  /**
301
294
  * Adds an enum or value help to position > anchor of custom column
302
295
  * @param appSchema - app specific JSON schema
@@ -306,8 +299,7 @@ exports.addLineItemsType = addLineItemsType;
306
299
  * @param sectionIdInManifest - identifier of the current object page section in manifest
307
300
  */
308
301
  function addFragmentEnumForAnchor(appSchema, lineItemId, v4Page, positionName = common_1.DefinitionName.Position, sectionIdInManifest) {
309
- var _a, _b, _c, _d, _e;
310
- const columns = (_a = appSchema.definitions[lineItemId]) === null || _a === void 0 ? void 0 : _a.properties;
302
+ const columns = appSchema.definitions[lineItemId]?.properties;
311
303
  const enumEntries = [];
312
304
  if (columns) {
313
305
  for (const key in columns) {
@@ -317,7 +309,7 @@ function addFragmentEnumForAnchor(appSchema, lineItemId, v4Page, positionName =
317
309
  }
318
310
  }
319
311
  const id = lineItemId !== common_1.DefinitionName.LineItems ? sectionIdInManifest : `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`;
320
- const columnsInManifest = (_e = (_d = (_c = (_b = v4Page.options) === null || _b === void 0 ? void 0 : _b.settings) === null || _c === void 0 ? void 0 : _c.controlConfiguration) === null || _d === void 0 ? void 0 : _d[id]) === null || _e === void 0 ? void 0 : _e['columns'];
312
+ const columnsInManifest = v4Page.options?.settings?.controlConfiguration?.[id]?.['columns'];
321
313
  if (columnsInManifest) {
322
314
  for (const key in columnsInManifest) {
323
315
  if (enumEntries.indexOf(key) === -1) {
@@ -352,11 +344,10 @@ exports.addEnumForActionAnchor = addEnumForActionAnchor;
352
344
  * @returns the page definition in manifest (if found)
353
345
  */
354
346
  function findPageV4(pages, pageName, entitySet, logger) {
355
- var _a, _b;
356
347
  let v4Page;
357
348
  if (entitySet) {
358
349
  for (const i in pages) {
359
- if (((_b = (_a = pages[i].options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.entitySet) === entitySet.name &&
350
+ if (pages[i].options?.settings?.entitySet === entitySet.name &&
360
351
  (pages[i].name === pageName ||
361
352
  (pageName === ux_specification_types_1.v4.FE_TEMPLATE_V4_ALP && pages[i].name === ux_specification_types_1.v4.FE_TEMPLATE_V4_LIST_REPORT))) {
362
353
  v4Page = pages[i];
@@ -416,7 +407,6 @@ exports.alignSchemaWithTemplateType = alignSchemaWithTemplateType;
416
407
  * @param sectionIdInManifest - identifier of the current object page section in manifest
417
408
  */
418
409
  function addCustomActionDefinition(appSchema, v4Page, logger, customColumnDefinitionName = common_1.DefinitionName.CustomAction, sectionId = '', sectionIdInManifest = '') {
419
- var _a, _b, _c, _d;
420
410
  const definition = appSchema.definitions[sectionId];
421
411
  if (!definition) {
422
412
  return;
@@ -424,7 +414,7 @@ function addCustomActionDefinition(appSchema, v4Page, logger, customColumnDefini
424
414
  // Sort existing actions
425
415
  let sortedActionsArray = sortPropertiesRecords(definition);
426
416
  const id = sectionIdInManifest ? sectionIdInManifest.replace(/::/g, '/') : `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`;
427
- const actions = (_d = (_c = (_b = (_a = v4Page.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.controlConfiguration) === null || _c === void 0 ? void 0 : _c[id]) === null || _d === void 0 ? void 0 : _d['actions'];
417
+ const actions = v4Page.options?.settings?.controlConfiguration?.[id]?.['actions'];
428
418
  if (actions) {
429
419
  sortedActionsArray = addExtensionToArray(actions, sortedActionsArray, customColumnDefinitionName, 'press', logger);
430
420
  }