@sap/ux-specification 1.71.63 → 1.71.66

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 (526) hide show
  1. package/CHANGELOG.md +53 -2
  2. package/dist/documentation/runDocu-min.js +9645 -2
  3. package/dist/documentation/runDocu-min.js.map +7 -0
  4. package/dist/documentation/styleDocu.css +32 -28
  5. package/dist/documentation/v2/v2-AnalyticalListPage.html +20 -8
  6. package/dist/documentation/v2/v2-ApplicationV2.html +20 -8
  7. package/dist/documentation/v2/v2-ListReport.html +20 -8
  8. package/dist/documentation/v2/v2-ObjectPage.html +20 -8
  9. package/dist/documentation/v2/v2-OverviewPage.html +20 -8
  10. package/dist/index-min.js +24708 -2
  11. package/dist/index-min.js.map +7 -0
  12. package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -2
  13. package/dist/schemas/v2/ApplicationV2.json +10 -1
  14. package/dist/schemas/v2/ListReportConfig.json +4 -3
  15. package/dist/schemas/v2/ObjectPageConfig.json +20 -19
  16. package/dist/{src → types}/api.d.ts +2 -1
  17. package/dist/types/api.d.ts.map +1 -0
  18. package/dist/{src → types}/apiTypes.d.ts +3 -1
  19. package/dist/types/apiTypes.d.ts.map +1 -0
  20. package/dist/{src → types}/extensionLogger.d.ts +1 -0
  21. package/dist/types/extensionLogger.d.ts.map +1 -0
  22. package/dist/{src → types}/i18n/i18n.d.ts +1 -0
  23. package/dist/types/i18n/i18n.d.ts.map +1 -0
  24. package/dist/{src → types}/index.d.ts +1 -0
  25. package/dist/types/index.d.ts.map +1 -0
  26. package/dist/{src → types}/project.d.ts +1 -0
  27. package/dist/types/project.d.ts.map +1 -0
  28. package/dist/{src → types}/specification/common/Application.d.ts +1 -0
  29. package/dist/types/specification/common/Application.d.ts.map +1 -0
  30. package/dist/{src → types}/specification/common/index.d.ts +1 -0
  31. package/dist/types/specification/common/index.d.ts.map +1 -0
  32. package/dist/{src → types}/specification/common/page.d.ts +2 -1
  33. package/dist/types/specification/common/page.d.ts.map +1 -0
  34. package/dist/{src → types}/specification/common/types.d.ts +1 -0
  35. package/dist/types/specification/common/types.d.ts.map +1 -0
  36. package/dist/{src → types}/specification/common/webapp/manifest/Manifest.d.ts +1 -0
  37. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +1 -0
  38. package/dist/{src → types}/specification/common/webapp/manifest/index.d.ts +1 -0
  39. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +1 -0
  40. package/dist/{src → types}/specification/common/webapp/manifest/sapOvp.d.ts +1 -0
  41. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +1 -0
  42. package/dist/{src → types}/specification/common/webapp/manifest/sapUi5.d.ts +1 -0
  43. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +1 -0
  44. package/dist/{src → types}/specification/schemaAccess.d.ts +7 -0
  45. package/dist/types/specification/schemaAccess.d.ts.map +1 -0
  46. package/dist/{src → types}/specification/v2/ApplicationV2.d.ts +1 -0
  47. package/dist/types/specification/v2/ApplicationV2.d.ts.map +1 -0
  48. package/dist/{src → types}/specification/v2/controls/Action.d.ts +1 -0
  49. package/dist/types/specification/v2/controls/Action.d.ts.map +1 -0
  50. package/dist/{src → types}/specification/v2/controls/AnalyticalListPageChart.d.ts +1 -0
  51. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +1 -0
  52. package/dist/{src → types}/specification/v2/controls/AnalyticalListPageKPI.d.ts +1 -0
  53. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +1 -0
  54. package/dist/{src → types}/specification/v2/controls/Card.d.ts +1 -0
  55. package/dist/types/specification/v2/controls/Card.d.ts.map +1 -0
  56. package/dist/{src → types}/specification/v2/controls/Facets.d.ts +1 -0
  57. package/dist/types/specification/v2/controls/Facets.d.ts.map +1 -0
  58. package/dist/{src → types}/specification/v2/controls/Field.d.ts +1 -0
  59. package/dist/types/specification/v2/controls/Field.d.ts.map +1 -0
  60. package/dist/{src → types}/specification/v2/controls/FilterBar.d.ts +1 -0
  61. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +1 -0
  62. package/dist/{src → types}/specification/v2/controls/Footer.d.ts +1 -0
  63. package/dist/types/specification/v2/controls/Footer.d.ts.map +1 -0
  64. package/dist/{src → types}/specification/v2/controls/ObjectPageChart.d.ts +1 -0
  65. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +1 -0
  66. package/dist/{src → types}/specification/v2/controls/ObjectPageForm.d.ts +1 -0
  67. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +1 -0
  68. package/dist/{src → types}/specification/v2/controls/ObjectPageHeader.d.ts +1 -0
  69. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +1 -0
  70. package/dist/{src → types}/specification/v2/controls/ObjectPageLayout.d.ts +1 -0
  71. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +1 -0
  72. package/dist/{src → types}/specification/v2/controls/ObjectPageSection.d.ts +1 -0
  73. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +1 -0
  74. package/dist/{src → types}/specification/v2/controls/ObjectPageTable.d.ts +1 -0
  75. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +1 -0
  76. package/dist/{src → types}/specification/v2/controls/ObjectPageToolBar.d.ts +1 -0
  77. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +1 -0
  78. package/dist/{src → types}/specification/v2/controls/Table.d.ts +2 -0
  79. package/dist/types/specification/v2/controls/Table.d.ts.map +1 -0
  80. package/dist/{src → types}/specification/v2/controls/ToolBar.d.ts +1 -0
  81. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +1 -0
  82. package/dist/{src → types}/specification/v2/controls/index.d.ts +1 -0
  83. package/dist/types/specification/v2/controls/index.d.ts.map +1 -0
  84. package/dist/{src → types}/specification/v2/index.d.ts +1 -0
  85. package/dist/types/specification/v2/index.d.ts.map +1 -0
  86. package/dist/{src → types}/specification/v2/page.d.ts +1 -0
  87. package/dist/types/specification/v2/page.d.ts.map +1 -0
  88. package/dist/{src → types}/specification/v2/pages/AnalyticalListPageConfig.d.ts +1 -0
  89. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +1 -0
  90. package/dist/{src → types}/specification/v2/pages/ListReportConfig.d.ts +1 -0
  91. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +1 -0
  92. package/dist/{src → types}/specification/v2/pages/ObjectPageConfig.d.ts +1 -0
  93. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +1 -0
  94. package/dist/{src → types}/specification/v2/pages/OverviewPageConfig.d.ts +1 -0
  95. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +1 -0
  96. package/dist/{src → types}/specification/v2/pages/index.d.ts +1 -0
  97. package/dist/types/specification/v2/pages/index.d.ts.map +1 -0
  98. package/dist/types/specification/v2/webapp/index.d.ts +2 -0
  99. package/dist/types/specification/v2/webapp/index.d.ts.map +1 -0
  100. package/dist/{src → types}/specification/v2/webapp/manifest/index.d.ts +1 -0
  101. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +1 -0
  102. package/dist/{src → types}/specification/v2/webapp/manifest/sapUi.d.ts +1 -0
  103. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +1 -0
  104. package/dist/{src → types}/specification/v2/webapp/manifest/sapUi5.d.ts +1 -0
  105. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +1 -0
  106. package/dist/{src → types}/specification/v2/webapp/manifest/sapUiPageV2.d.ts +1 -0
  107. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +1 -0
  108. package/dist/{src → types}/sync/common/appProvider.d.ts +2 -1
  109. package/dist/types/sync/common/appProvider.d.ts.map +1 -0
  110. package/dist/{src → types}/sync/common/decoration/control.d.ts +1 -0
  111. package/dist/types/sync/common/decoration/control.d.ts.map +1 -0
  112. package/dist/{src → types}/sync/common/decoration/decorators.d.ts +1 -0
  113. package/dist/types/sync/common/decoration/decorators.d.ts.map +1 -0
  114. package/dist/{src → types}/sync/common/decoration/factory.d.ts +1 -0
  115. package/dist/types/sync/common/decoration/factory.d.ts.map +1 -0
  116. package/dist/{src → types}/sync/common/decoration/flex.d.ts +1 -0
  117. package/dist/types/sync/common/decoration/flex.d.ts.map +1 -0
  118. package/dist/{src → types}/sync/common/decoration/index.d.ts +1 -0
  119. package/dist/types/sync/common/decoration/index.d.ts.map +1 -0
  120. package/dist/{src → types}/sync/common/flexUtils.d.ts +1 -0
  121. package/dist/types/sync/common/flexUtils.d.ts.map +1 -0
  122. package/dist/{src → types}/sync/common/generate/index.d.ts +1 -0
  123. package/dist/types/sync/common/generate/index.d.ts.map +1 -0
  124. package/dist/{src → types}/sync/common/generate/objectPage.d.ts +3 -1
  125. package/dist/types/sync/common/generate/objectPage.d.ts.map +1 -0
  126. package/dist/{src → types}/sync/common/generate/utils.d.ts +1 -0
  127. package/dist/types/sync/common/generate/utils.d.ts.map +1 -0
  128. package/dist/{src → types}/sync/common/import/utils.d.ts +1 -0
  129. package/dist/types/sync/common/import/utils.d.ts.map +1 -0
  130. package/dist/{src → types}/sync/common/importProject.d.ts +1 -0
  131. package/dist/types/sync/common/importProject.d.ts.map +1 -0
  132. package/dist/{src → types}/sync/common/index.d.ts +1 -0
  133. package/dist/types/sync/common/index.d.ts.map +1 -0
  134. package/dist/{src → types}/sync/common/types.d.ts +6 -2
  135. package/dist/types/sync/common/types.d.ts.map +1 -0
  136. package/dist/{src → types}/sync/common/utils.d.ts +3 -2
  137. package/dist/types/sync/common/utils.d.ts.map +1 -0
  138. package/dist/{src → types}/sync/i18n.d.ts +1 -0
  139. package/dist/types/sync/i18n.d.ts.map +1 -0
  140. package/dist/{src → types}/sync/v2/application.d.ts +1 -0
  141. package/dist/types/sync/v2/application.d.ts.map +1 -0
  142. package/dist/{src → types}/sync/v2/export/controls/Action.d.ts +1 -0
  143. package/dist/types/sync/v2/export/controls/Action.d.ts.map +1 -0
  144. package/dist/{src → types}/sync/v2/export/controls/AnalyticalListPageChart.d.ts +1 -0
  145. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  146. package/dist/{src → types}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +1 -0
  147. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -0
  148. package/dist/{src → types}/sync/v2/export/controls/Card.d.ts +1 -0
  149. package/dist/types/sync/v2/export/controls/Card.d.ts.map +1 -0
  150. package/dist/{src → types}/sync/v2/export/controls/Field.d.ts +1 -0
  151. package/dist/types/sync/v2/export/controls/Field.d.ts.map +1 -0
  152. package/dist/{src → types}/sync/v2/export/controls/FilterBar.d.ts +1 -0
  153. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  154. package/dist/{src → types}/sync/v2/export/controls/FormAction.d.ts +1 -0
  155. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  156. package/dist/{src → types}/sync/v2/export/controls/Fragment.d.ts +1 -0
  157. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  158. package/dist/{src → types}/sync/v2/export/controls/ObjectPageCustomSection.d.ts +1 -0
  159. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  160. package/dist/{src → types}/sync/v2/export/controls/ObjectPageFooterAction.d.ts +1 -0
  161. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/{src → types}/sync/v2/export/controls/ObjectPageHeader.d.ts +1 -0
  163. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  164. package/dist/{src → types}/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +1 -0
  165. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  166. package/dist/{src → types}/sync/v2/export/controls/ObjectPageLayout.d.ts +1 -0
  167. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  168. package/dist/{src → types}/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +1 -0
  169. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  170. package/dist/{src → types}/sync/v2/export/controls/ObjectPageTable.d.ts +1 -0
  171. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  172. package/dist/{src → types}/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +1 -0
  173. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  174. package/dist/{src → types}/sync/v2/export/controls/Table.d.ts +1 -0
  175. package/dist/types/sync/v2/export/controls/Table.d.ts.map +1 -0
  176. package/dist/{src → types}/sync/v2/export/controls/TableColumn.d.ts +1 -0
  177. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  178. package/dist/{src → types}/sync/v2/export/controls/ToolBar.d.ts +1 -0
  179. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  180. package/dist/{src → types}/sync/v2/export/controls/index.d.ts +1 -0
  181. package/dist/types/sync/v2/export/controls/index.d.ts.map +1 -0
  182. package/dist/{src → types}/sync/v2/export/export.d.ts +1 -0
  183. package/dist/types/sync/v2/export/export.d.ts.map +1 -0
  184. package/dist/{src → types}/sync/v2/export/exportPage.d.ts +1 -0
  185. package/dist/types/sync/v2/export/exportPage.d.ts.map +1 -0
  186. package/dist/{src → types}/sync/v2/export/factory.d.ts +1 -0
  187. package/dist/types/sync/v2/export/factory.d.ts.map +1 -0
  188. package/dist/{src → types}/sync/v2/export/manifest.d.ts +1 -0
  189. package/dist/types/sync/v2/export/manifest.d.ts.map +1 -0
  190. package/dist/{src → types}/sync/v2/export/pages/AnalyticalListPage.d.ts +1 -0
  191. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  192. package/dist/{src → types}/sync/v2/export/pages/ListReport.d.ts +1 -0
  193. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  194. package/dist/{src → types}/sync/v2/export/pages/ObjectPage.d.ts +1 -0
  195. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  196. package/dist/{src → types}/sync/v2/export/pages/OverviewPage.d.ts +1 -0
  197. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  198. package/dist/{src → types}/sync/v2/export/pages/index.d.ts +1 -0
  199. package/dist/types/sync/v2/export/pages/index.d.ts.map +1 -0
  200. package/dist/{src → types}/sync/v2/export/view-controller-generator.d.ts +1 -0
  201. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  202. package/dist/{src → types}/sync/v2/generate/analyticalListReport.d.ts +1 -0
  203. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  204. package/dist/{src → types}/sync/v2/generate/generate.d.ts +1 -0
  205. package/dist/types/sync/v2/generate/generate.d.ts.map +1 -0
  206. package/dist/{src → types}/sync/v2/generate/index.d.ts +1 -0
  207. package/dist/types/sync/v2/generate/index.d.ts.map +1 -0
  208. package/dist/{src → types}/sync/v2/generate/listReport.d.ts +1 -0
  209. package/dist/types/sync/v2/generate/listReport.d.ts.map +1 -0
  210. package/dist/{src → types}/sync/v2/generate/objectPage.d.ts +1 -0
  211. package/dist/types/sync/v2/generate/objectPage.d.ts.map +1 -0
  212. package/dist/{src → types}/sync/v2/generate/overviewPage.d.ts +1 -0
  213. package/dist/types/sync/v2/generate/overviewPage.d.ts.map +1 -0
  214. package/dist/{src → types}/sync/v2/generate/utils.d.ts +1 -0
  215. package/dist/types/sync/v2/generate/utils.d.ts.map +1 -0
  216. package/dist/{src → types}/sync/v2/import/app/appProvider.d.ts +1 -0
  217. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +1 -0
  218. package/dist/{src → types}/sync/v2/import/app/ovpProvider.d.ts +1 -0
  219. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  220. package/dist/{src → types}/sync/v2/import/common/index.d.ts +1 -0
  221. package/dist/types/sync/v2/import/common/index.d.ts.map +1 -0
  222. package/dist/{src → types}/sync/v2/import/controls/table.d.ts +1 -0
  223. package/dist/types/sync/v2/import/controls/table.d.ts.map +1 -0
  224. package/dist/types/sync/v2/import/getPageType.d.ts +1 -0
  225. package/dist/types/sync/v2/import/getPageType.d.ts.map +1 -0
  226. package/dist/{src → types}/sync/v2/import/index.d.ts +1 -0
  227. package/dist/types/sync/v2/import/index.d.ts.map +1 -0
  228. package/dist/{src → types}/sync/v2/import/pages/analyticalListPage.d.ts +1 -0
  229. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  230. package/dist/{src → types}/sync/v2/import/pages/listReport.d.ts +1 -0
  231. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +1 -0
  232. package/dist/{src → types}/sync/v2/import/pages/objectPage.d.ts +1 -0
  233. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  234. package/dist/{src → types}/sync/v2/import/pages/overviewPage.d.ts +1 -0
  235. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  236. package/dist/{src → types}/sync/v2/import/utils.d.ts +1 -0
  237. package/dist/types/sync/v2/import/utils.d.ts.map +1 -0
  238. package/dist/{src → types}/sync/v2/types.d.ts +1 -0
  239. package/dist/types/sync/v2/types.d.ts.map +1 -0
  240. package/dist/{src → types}/sync/v4/utils/StableIdHelper.d.ts +1 -0
  241. package/dist/types/sync/v4/utils/StableIdHelper.d.ts.map +1 -0
  242. package/dist/{src → types}/v2.d.ts +1 -0
  243. package/dist/types/v2.d.ts.map +1 -0
  244. package/package.json +25 -28
  245. package/dist/documentation/runDocu-min.js.LICENSE.txt +0 -24
  246. package/dist/index-min.js.LICENSE.txt +0 -26
  247. package/dist/scripts/extractDocu.d.ts +0 -1
  248. package/dist/scripts/extractDocu.js +0 -485
  249. package/dist/scripts/extractDocu.js.map +0 -1
  250. package/dist/scripts/runDocu.d.ts +0 -1
  251. package/dist/scripts/runDocu.js +0 -570
  252. package/dist/scripts/runDocu.js.map +0 -1
  253. package/dist/scripts/spec.d.ts +0 -1
  254. package/dist/scripts/spec.js +0 -114
  255. package/dist/scripts/spec.js.map +0 -1
  256. package/dist/scripts/to-json-schema.d.ts +0 -10
  257. package/dist/scripts/to-json-schema.js +0 -112
  258. package/dist/scripts/to-json-schema.js.map +0 -1
  259. package/dist/specification/v2/index-min.js +0 -1
  260. package/dist/src/api.js +0 -123
  261. package/dist/src/api.js.map +0 -1
  262. package/dist/src/apiTypes.js +0 -3
  263. package/dist/src/apiTypes.js.map +0 -1
  264. package/dist/src/extensionLogger.js +0 -34
  265. package/dist/src/extensionLogger.js.map +0 -1
  266. package/dist/src/i18n/i18n.js +0 -25
  267. package/dist/src/i18n/i18n.js.map +0 -1
  268. package/dist/src/index.js +0 -12
  269. package/dist/src/index.js.map +0 -1
  270. package/dist/src/project.js +0 -151
  271. package/dist/src/project.js.map +0 -1
  272. package/dist/src/specification/common/Application.js +0 -3
  273. package/dist/src/specification/common/Application.js.map +0 -1
  274. package/dist/src/specification/common/i18n.json +0 -1
  275. package/dist/src/specification/common/index.js +0 -10
  276. package/dist/src/specification/common/index.js.map +0 -1
  277. package/dist/src/specification/common/page.js +0 -26
  278. package/dist/src/specification/common/page.js.map +0 -1
  279. package/dist/src/specification/common/types.js +0 -25
  280. package/dist/src/specification/common/types.js.map +0 -1
  281. package/dist/src/specification/common/webapp/manifest/Manifest.js +0 -17
  282. package/dist/src/specification/common/webapp/manifest/Manifest.js.map +0 -1
  283. package/dist/src/specification/common/webapp/manifest/index.js +0 -8
  284. package/dist/src/specification/common/webapp/manifest/index.js.map +0 -1
  285. package/dist/src/specification/common/webapp/manifest/sapOvp.js +0 -9
  286. package/dist/src/specification/common/webapp/manifest/sapOvp.js.map +0 -1
  287. package/dist/src/specification/common/webapp/manifest/sapUi5.js +0 -14
  288. package/dist/src/specification/common/webapp/manifest/sapUi5.js.map +0 -1
  289. package/dist/src/specification/schemaAccess.js +0 -62
  290. package/dist/src/specification/schemaAccess.js.map +0 -1
  291. package/dist/src/specification/v2/ApplicationV2.js +0 -3
  292. package/dist/src/specification/v2/ApplicationV2.js.map +0 -1
  293. package/dist/src/specification/v2/controls/Action.js +0 -15
  294. package/dist/src/specification/v2/controls/Action.js.map +0 -1
  295. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js +0 -36
  296. package/dist/src/specification/v2/controls/AnalyticalListPageChart.js.map +0 -1
  297. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js +0 -3
  298. package/dist/src/specification/v2/controls/AnalyticalListPageKPI.js.map +0 -1
  299. package/dist/src/specification/v2/controls/Card.js +0 -53
  300. package/dist/src/specification/v2/controls/Card.js.map +0 -1
  301. package/dist/src/specification/v2/controls/Facets.js +0 -3
  302. package/dist/src/specification/v2/controls/Facets.js.map +0 -1
  303. package/dist/src/specification/v2/controls/Field.js +0 -3
  304. package/dist/src/specification/v2/controls/Field.js.map +0 -1
  305. package/dist/src/specification/v2/controls/FilterBar.js +0 -3
  306. package/dist/src/specification/v2/controls/FilterBar.js.map +0 -1
  307. package/dist/src/specification/v2/controls/Footer.js +0 -3
  308. package/dist/src/specification/v2/controls/Footer.js.map +0 -1
  309. package/dist/src/specification/v2/controls/ObjectPageChart.js +0 -3
  310. package/dist/src/specification/v2/controls/ObjectPageChart.js.map +0 -1
  311. package/dist/src/specification/v2/controls/ObjectPageForm.js +0 -3
  312. package/dist/src/specification/v2/controls/ObjectPageForm.js.map +0 -1
  313. package/dist/src/specification/v2/controls/ObjectPageHeader.js +0 -8
  314. package/dist/src/specification/v2/controls/ObjectPageHeader.js.map +0 -1
  315. package/dist/src/specification/v2/controls/ObjectPageLayout.js +0 -3
  316. package/dist/src/specification/v2/controls/ObjectPageLayout.js.map +0 -1
  317. package/dist/src/specification/v2/controls/ObjectPageSection.js +0 -13
  318. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +0 -1
  319. package/dist/src/specification/v2/controls/ObjectPageTable.js +0 -7
  320. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +0 -1
  321. package/dist/src/specification/v2/controls/ObjectPageToolBar.js +0 -3
  322. package/dist/src/specification/v2/controls/ObjectPageToolBar.js.map +0 -1
  323. package/dist/src/specification/v2/controls/Table.js +0 -51
  324. package/dist/src/specification/v2/controls/Table.js.map +0 -1
  325. package/dist/src/specification/v2/controls/ToolBar.js +0 -3
  326. package/dist/src/specification/v2/controls/ToolBar.js.map +0 -1
  327. package/dist/src/specification/v2/controls/index.js +0 -13
  328. package/dist/src/specification/v2/controls/index.js.map +0 -1
  329. package/dist/src/specification/v2/index.js +0 -9
  330. package/dist/src/specification/v2/index.js.map +0 -1
  331. package/dist/src/specification/v2/page.js +0 -3
  332. package/dist/src/specification/v2/page.js.map +0 -1
  333. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js +0 -3
  334. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.js.map +0 -1
  335. package/dist/src/specification/v2/pages/ListReportConfig.js +0 -3
  336. package/dist/src/specification/v2/pages/ListReportConfig.js.map +0 -1
  337. package/dist/src/specification/v2/pages/ObjectPageConfig.js +0 -3
  338. package/dist/src/specification/v2/pages/ObjectPageConfig.js.map +0 -1
  339. package/dist/src/specification/v2/pages/OverviewPageConfig.js +0 -8
  340. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +0 -1
  341. package/dist/src/specification/v2/pages/index.js +0 -7
  342. package/dist/src/specification/v2/pages/index.js.map +0 -1
  343. package/dist/src/specification/v2/webapp/index.d.ts +0 -1
  344. package/dist/src/specification/v2/webapp/index.js +0 -7
  345. package/dist/src/specification/v2/webapp/index.js.map +0 -1
  346. package/dist/src/specification/v2/webapp/manifest/index.js +0 -8
  347. package/dist/src/specification/v2/webapp/manifest/index.js.map +0 -1
  348. package/dist/src/specification/v2/webapp/manifest/sapUi.js +0 -3
  349. package/dist/src/specification/v2/webapp/manifest/sapUi.js.map +0 -1
  350. package/dist/src/specification/v2/webapp/manifest/sapUi5.js +0 -9
  351. package/dist/src/specification/v2/webapp/manifest/sapUi5.js.map +0 -1
  352. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js +0 -7
  353. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.js.map +0 -1
  354. package/dist/src/sync/common/appProvider.js +0 -57
  355. package/dist/src/sync/common/appProvider.js.map +0 -1
  356. package/dist/src/sync/common/decoration/control.js +0 -211
  357. package/dist/src/sync/common/decoration/control.js.map +0 -1
  358. package/dist/src/sync/common/decoration/decorators.js +0 -45
  359. package/dist/src/sync/common/decoration/decorators.js.map +0 -1
  360. package/dist/src/sync/common/decoration/factory.js +0 -48
  361. package/dist/src/sync/common/decoration/factory.js.map +0 -1
  362. package/dist/src/sync/common/decoration/flex.js +0 -8
  363. package/dist/src/sync/common/decoration/flex.js.map +0 -1
  364. package/dist/src/sync/common/decoration/index.js +0 -9
  365. package/dist/src/sync/common/decoration/index.js.map +0 -1
  366. package/dist/src/sync/common/flexUtils.js +0 -94
  367. package/dist/src/sync/common/flexUtils.js.map +0 -1
  368. package/dist/src/sync/common/generate/index.js +0 -8
  369. package/dist/src/sync/common/generate/index.js.map +0 -1
  370. package/dist/src/sync/common/generate/objectPage.js +0 -355
  371. package/dist/src/sync/common/generate/objectPage.js.map +0 -1
  372. package/dist/src/sync/common/generate/utils.js +0 -381
  373. package/dist/src/sync/common/generate/utils.js.map +0 -1
  374. package/dist/src/sync/common/i18n.json +0 -21
  375. package/dist/src/sync/common/import/utils.js +0 -92
  376. package/dist/src/sync/common/import/utils.js.map +0 -1
  377. package/dist/src/sync/common/importProject.js +0 -259
  378. package/dist/src/sync/common/importProject.js.map +0 -1
  379. package/dist/src/sync/common/index.js +0 -15
  380. package/dist/src/sync/common/index.js.map +0 -1
  381. package/dist/src/sync/common/types.js +0 -212
  382. package/dist/src/sync/common/types.js.map +0 -1
  383. package/dist/src/sync/common/utils.js +0 -1072
  384. package/dist/src/sync/common/utils.js.map +0 -1
  385. package/dist/src/sync/i18n.js +0 -15
  386. package/dist/src/sync/i18n.js.map +0 -1
  387. package/dist/src/sync/v2/application.js +0 -155
  388. package/dist/src/sync/v2/application.js.map +0 -1
  389. package/dist/src/sync/v2/export/controls/Action.js +0 -127
  390. package/dist/src/sync/v2/export/controls/Action.js.map +0 -1
  391. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +0 -61
  392. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +0 -1
  393. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +0 -56
  394. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +0 -1
  395. package/dist/src/sync/v2/export/controls/Card.js +0 -655
  396. package/dist/src/sync/v2/export/controls/Card.js.map +0 -1
  397. package/dist/src/sync/v2/export/controls/Field.js +0 -32
  398. package/dist/src/sync/v2/export/controls/Field.js.map +0 -1
  399. package/dist/src/sync/v2/export/controls/FilterBar.js +0 -107
  400. package/dist/src/sync/v2/export/controls/FilterBar.js.map +0 -1
  401. package/dist/src/sync/v2/export/controls/FormAction.js +0 -128
  402. package/dist/src/sync/v2/export/controls/FormAction.js.map +0 -1
  403. package/dist/src/sync/v2/export/controls/Fragment.js +0 -571
  404. package/dist/src/sync/v2/export/controls/Fragment.js.map +0 -1
  405. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +0 -110
  406. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +0 -1
  407. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +0 -62
  408. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +0 -1
  409. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +0 -60
  410. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +0 -1
  411. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +0 -62
  412. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +0 -1
  413. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +0 -59
  414. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +0 -1
  415. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +0 -193
  416. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +0 -1
  417. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +0 -278
  418. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +0 -1
  419. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +0 -61
  420. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +0 -1
  421. package/dist/src/sync/v2/export/controls/Table.js +0 -593
  422. package/dist/src/sync/v2/export/controls/Table.js.map +0 -1
  423. package/dist/src/sync/v2/export/controls/TableColumn.js +0 -166
  424. package/dist/src/sync/v2/export/controls/TableColumn.js.map +0 -1
  425. package/dist/src/sync/v2/export/controls/ToolBar.js +0 -6
  426. package/dist/src/sync/v2/export/controls/ToolBar.js.map +0 -1
  427. package/dist/src/sync/v2/export/controls/index.js +0 -25
  428. package/dist/src/sync/v2/export/controls/index.js.map +0 -1
  429. package/dist/src/sync/v2/export/export.js +0 -682
  430. package/dist/src/sync/v2/export/export.js.map +0 -1
  431. package/dist/src/sync/v2/export/exportPage.js +0 -305
  432. package/dist/src/sync/v2/export/exportPage.js.map +0 -1
  433. package/dist/src/sync/v2/export/factory.js +0 -56
  434. package/dist/src/sync/v2/export/factory.js.map +0 -1
  435. package/dist/src/sync/v2/export/manifest.js +0 -169
  436. package/dist/src/sync/v2/export/manifest.js.map +0 -1
  437. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +0 -44
  438. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +0 -1
  439. package/dist/src/sync/v2/export/pages/ListReport.js +0 -41
  440. package/dist/src/sync/v2/export/pages/ListReport.js.map +0 -1
  441. package/dist/src/sync/v2/export/pages/ObjectPage.js +0 -74
  442. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +0 -1
  443. package/dist/src/sync/v2/export/pages/OverviewPage.js +0 -118
  444. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +0 -1
  445. package/dist/src/sync/v2/export/pages/index.js +0 -10
  446. package/dist/src/sync/v2/export/pages/index.js.map +0 -1
  447. package/dist/src/sync/v2/export/view-controller-generator.js +0 -141
  448. package/dist/src/sync/v2/export/view-controller-generator.js.map +0 -1
  449. package/dist/src/sync/v2/generate/analyticalListReport.js +0 -84
  450. package/dist/src/sync/v2/generate/analyticalListReport.js.map +0 -1
  451. package/dist/src/sync/v2/generate/generate.js +0 -99
  452. package/dist/src/sync/v2/generate/generate.js.map +0 -1
  453. package/dist/src/sync/v2/generate/index.js +0 -14
  454. package/dist/src/sync/v2/generate/index.js.map +0 -1
  455. package/dist/src/sync/v2/generate/listReport.js +0 -116
  456. package/dist/src/sync/v2/generate/listReport.js.map +0 -1
  457. package/dist/src/sync/v2/generate/objectPage.js +0 -537
  458. package/dist/src/sync/v2/generate/objectPage.js.map +0 -1
  459. package/dist/src/sync/v2/generate/overviewPage.js +0 -70
  460. package/dist/src/sync/v2/generate/overviewPage.js.map +0 -1
  461. package/dist/src/sync/v2/generate/utils.js +0 -526
  462. package/dist/src/sync/v2/generate/utils.js.map +0 -1
  463. package/dist/src/sync/v2/import/app/appProvider.js +0 -145
  464. package/dist/src/sync/v2/import/app/appProvider.js.map +0 -1
  465. package/dist/src/sync/v2/import/app/ovpProvider.js +0 -33
  466. package/dist/src/sync/v2/import/app/ovpProvider.js.map +0 -1
  467. package/dist/src/sync/v2/import/common/index.js +0 -395
  468. package/dist/src/sync/v2/import/common/index.js.map +0 -1
  469. package/dist/src/sync/v2/import/controls/table.js +0 -32
  470. package/dist/src/sync/v2/import/controls/table.js.map +0 -1
  471. package/dist/src/sync/v2/import/getPageType.d.ts +0 -0
  472. package/dist/src/sync/v2/import/getPageType.js +0 -1
  473. package/dist/src/sync/v2/import/getPageType.js.map +0 -1
  474. package/dist/src/sync/v2/import/index.js +0 -11
  475. package/dist/src/sync/v2/import/index.js.map +0 -1
  476. package/dist/src/sync/v2/import/pages/analyticalListPage.js +0 -119
  477. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +0 -1
  478. package/dist/src/sync/v2/import/pages/listReport.js +0 -143
  479. package/dist/src/sync/v2/import/pages/listReport.js.map +0 -1
  480. package/dist/src/sync/v2/import/pages/objectPage.js +0 -745
  481. package/dist/src/sync/v2/import/pages/objectPage.js.map +0 -1
  482. package/dist/src/sync/v2/import/pages/overviewPage.js +0 -107
  483. package/dist/src/sync/v2/import/pages/overviewPage.js.map +0 -1
  484. package/dist/src/sync/v2/import/utils.js +0 -149
  485. package/dist/src/sync/v2/import/utils.js.map +0 -1
  486. package/dist/src/sync/v2/types.js +0 -36
  487. package/dist/src/sync/v2/types.js.map +0 -1
  488. package/dist/src/sync/v4/utils/StableIdHelper.js +0 -156
  489. package/dist/src/sync/v4/utils/StableIdHelper.js.map +0 -1
  490. package/dist/src/v2.js +0 -8
  491. package/dist/src/v2.js.map +0 -1
  492. package/dist/test/test-data/flexChange/v2/stta.prod.man/index.d.ts +0 -7
  493. package/dist/test/test-projects/index.d.ts +0 -2
  494. package/dist/test/test-utils/utils.d.ts +0 -33
  495. package/dist/test/unit/customSections/exportV2.test.d.ts +0 -1
  496. package/dist/test/unit/customSections/generateFacetsSchemaV2.test.d.ts +0 -1
  497. package/dist/test/unit/customSections/importV2.test.d.ts +0 -1
  498. package/dist/test/unit/export/exportALPV2.test.d.ts +0 -1
  499. package/dist/test/unit/export/exportAppV2.test.d.ts +0 -1
  500. package/dist/test/unit/export/exportLRPV2.test.d.ts +0 -1
  501. package/dist/test/unit/export/exportLRPV2CustomColumns.test.d.ts +0 -1
  502. package/dist/test/unit/export/exportOVPV2.test.d.ts +0 -1
  503. package/dist/test/unit/export/exportObjectPageV2.test.d.ts +0 -1
  504. package/dist/test/unit/export/flexUtils.test.d.ts +0 -1
  505. package/dist/test/unit/export/manifest.test.d.ts +0 -1
  506. package/dist/test/unit/fcl/exportV2.test.d.ts +0 -1
  507. package/dist/test/unit/fcl/importV2.test.d.ts +0 -1
  508. package/dist/test/unit/generateAppSchema/generateAppSchemaALPV2.test.d.ts +0 -1
  509. package/dist/test/unit/generateAppSchema/generateAppSchemaLRV2.test.d.ts +0 -1
  510. package/dist/test/unit/generateAppSchema/generateAppSchemaOPV2.test.d.ts +0 -1
  511. package/dist/test/unit/generateAppSchema/generateAppSchemaOVPV2.test.d.ts +0 -1
  512. package/dist/test/unit/generateGenericSchema/generateGenericSchemaAppV2.test.d.ts +0 -1
  513. package/dist/test/unit/generateGenericSchema/generateGenericSchemaLRV2.test.d.ts +0 -1
  514. package/dist/test/unit/generateGenericSchema/generateGenericSchemaOPV2.test.d.ts +0 -1
  515. package/dist/test/unit/generateGenericSchema/generateI18nV2.test.d.ts +0 -1
  516. package/dist/test/unit/generateGenericSchema/genericSchemas.test.d.ts +0 -1
  517. package/dist/test/unit/import/importALPV2.test.d.ts +0 -1
  518. package/dist/test/unit/import/importAppV2.test.d.ts +0 -1
  519. package/dist/test/unit/import/importLRPV2.test.d.ts +0 -1
  520. package/dist/test/unit/import/importOPV2.test.d.ts +0 -1
  521. package/dist/test/unit/import/importOVPV2.test.d.ts +0 -1
  522. package/dist/test/unit/index.test.d.ts +0 -1
  523. package/dist/test/unit/projects.test.d.ts +0 -1
  524. package/dist/test/unit/schemaAccess.test.d.ts +0 -1
  525. package/dist/test/unit/utils.test.d.ts +0 -1
  526. package/dist/test/unit/view-controller-generator.test.d.ts +0 -1
@@ -1,571 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const types_1 = require("../../../common/types");
7
- const xml_js_1 = require("xml-js");
8
- const view_controller_generator_1 = require("../view-controller-generator");
9
- const i18next_1 = __importDefault(require("i18next"));
10
- const extensionLogger_1 = require("../../../../extensionLogger");
11
- const v2_1 = require("../../../../specification/v2");
12
- const manifest_1 = require("../manifest");
13
- const path_1 = require("path");
14
- exports.FRAGMENT_DEFINITION = 'core:FragmentDefinition';
15
- exports.SAP_UI_TABLE = 'sap.ui.table';
16
- const VIEW_TEMPLATE_TAGTYPE_MAP = new Map([
17
- [types_1.ViewTemplateType.ResponsiveTableColumnsExtension, { namespace: 'sap.m', name: 'Column' }],
18
- [types_1.ViewTemplateType.TreeTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'Column' }],
19
- [types_1.ViewTemplateType.GridTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'Column' }],
20
- [types_1.ViewTemplateType.AnalyticalTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'AnalyticalColumn' }]
21
- ]);
22
- const FE_TEMPLATE_VIEW_EXTENSION_MAP = new Map([
23
- [v2_1.FE_TEMPLATE_V2_LIST_REPORT, v2_1.SAPUI5_VIEW_EXTENSION_LIST_REPORT],
24
- [v2_1.FE_TEMPLATE_V2_ALP, v2_1.SAPUI5_VIEW_EXTENSION_ANALYTICAL_LIST_PAGE],
25
- [v2_1.FE_TEMPLATE_V2_OBJECT_PAGE, v2_1.SAPUI5_VIEW_EXTENSION_OBJECT_PAGE]
26
- ]);
27
- const dummyEntry = {
28
- type: 'element',
29
- name: 'Text',
30
- attributes: { text: 'Placeholder' }
31
- };
32
- const dummyEntryAsString = JSON.stringify(dummyEntry);
33
- /**
34
- * Lists namespaces available in fragment to consider
35
- * @param fragment - fragment content
36
- * @param isCoreFragmentDefinition - If set to true, only the namespaces in core definition will be considered
37
- * @returns {Map<string, string[]> | undefined} - If available, namespaces will be returned as Map (key: alias, values: name[])
38
- */
39
- function getFragmentNamespaces(fragment, isCoreFragmentDefinition) {
40
- const fragmentAttributes = isCoreFragmentDefinition
41
- ? fragment[exports.FRAGMENT_DEFINITION]['_attributes']
42
- : fragment['_attributes'];
43
- if (fragmentAttributes) {
44
- const allFragmentNamespaces = new Map();
45
- Object.keys(fragmentAttributes)
46
- .filter((attribute) => attribute.startsWith('xmlns'))
47
- .forEach((xmlns) => {
48
- const existingNamespaces = allFragmentNamespaces.get(fragmentAttributes[xmlns]);
49
- allFragmentNamespaces.set(fragmentAttributes[xmlns], existingNamespaces
50
- ? [...existingNamespaces, xmlns.split(':')[1] || xmlns]
51
- : [xmlns.split(':')[1] || xmlns]);
52
- });
53
- return allFragmentNamespaces;
54
- }
55
- }
56
- /**
57
- * Considers namespace of fragment and returns combined tag name
58
- * @param tag - tag name and namespace
59
- * @param {string[]} fragmentNamespace namespaces of fragment
60
- * @returns {string} tag name consisting of namespace and name
61
- */
62
- function getTagName(tag, fragmentNamespaces) {
63
- if (!fragmentNamespaces) {
64
- return `${tag.namespace}:${tag.name}`;
65
- }
66
- else if (fragmentNamespaces.includes('xmlns')) {
67
- return tag.name;
68
- }
69
- else {
70
- return `${fragmentNamespaces}:${tag.name}`;
71
- }
72
- }
73
- /**
74
- * Maps the column template type to the fragment namespace and returns the tag name with namespace of root column definition.
75
- * @param definition - fragment or content definition
76
- * @param viewTemplateType - name of the view template that shall be applied
77
- * @param fragment - fragment definition
78
- * @returns {unknown | undefined} Root column tag name.
79
- */
80
- function getTagNameFromFragmentJSON(definition, viewTemplateType, fragment = definition) {
81
- const namespaces = getFragmentNamespaces(fragment, viewTemplateType || fragment !== definition ? true : false);
82
- if (viewTemplateType) {
83
- const tag = VIEW_TEMPLATE_TAGTYPE_MAP.get(viewTemplateType);
84
- return getTagName(tag, namespaces.get(tag.namespace));
85
- }
86
- else {
87
- const keys = VIEW_TEMPLATE_TAGTYPE_MAP.keys();
88
- for (const key of keys) {
89
- const tag = VIEW_TEMPLATE_TAGTYPE_MAP.get(key);
90
- const tagName = namespaces ? getTagName(tag, namespaces.get(tag.namespace)) : tag.name;
91
- if (definition[tagName]) {
92
- return tagName;
93
- }
94
- }
95
- }
96
- return undefined;
97
- }
98
- /**
99
- * Method which receives fragment definition node and reads root column definition.
100
- * @param {unknown} definition - Application or Page Config object.
101
- * @param {unknown} fragment - fragment definition
102
- * @returns {unknown | undefined} Root column read from definition.
103
- */
104
- function getRootCustomColumnFromFragmentJSON(definition, fragment = definition) {
105
- const name = getTagNameFromFragmentJSON(definition, undefined, fragment);
106
- return definition[name];
107
- }
108
- exports.getRootCustomColumnFromFragmentJSON = getRootCustomColumnFromFragmentJSON;
109
- /**
110
- * Internal function adding content to config column
111
- * @param configColumns - list of all columns in the config
112
- * @param columnIndex - index of column
113
- * @returns - filled personalization data
114
- */
115
- function addP13nData(configColumns, columnIndex) {
116
- const columnProperties = [
117
- 'id',
118
- 'text',
119
- 'className',
120
- 'fragmentName',
121
- 'tabKey',
122
- 'extensionType',
123
- 'cellsFragmentName'
124
- ];
125
- let p13nData = `\\{`;
126
- for (const key in configColumns[columnIndex]) {
127
- const value = configColumns[columnIndex][key];
128
- if (!columnProperties.includes(key) && value !== undefined && value.length !== 0) {
129
- if (p13nData !== '\\{') {
130
- p13nData += `, `;
131
- }
132
- p13nData += `"${key}": "${value.toString()}"`;
133
- }
134
- }
135
- p13nData += '}';
136
- return p13nData;
137
- }
138
- /**
139
- * Internal function handling a single fragment column if detected in the fragment
140
- * @param columnsInFragment - list of all columns in fragment
141
- * @param configColumns - list of all columns in the config
142
- */
143
- function handleFragmentColumn(columnsInFragment, configColumns) {
144
- var _a, _b, _c;
145
- let foundInConfig = false;
146
- const customData = columnsInFragment['customData'] || columnsInFragment['table:customData'];
147
- if (!customData) {
148
- return false;
149
- }
150
- let p13nData = customData['core:CustomData']._attributes.value;
151
- const columnParts = JSON.parse(p13nData.substr(1, p13nData.length));
152
- const columnIndex = configColumns.findIndex((column) => {
153
- return column.columnKey === columnParts.columnKey;
154
- });
155
- if (columnIndex < 0) {
156
- return false;
157
- }
158
- //Found ==> update scenario
159
- foundInConfig = true;
160
- p13nData = addP13nData(configColumns, columnIndex);
161
- customData['core:CustomData']._attributes.value = p13nData;
162
- if (!columnsInFragment['Text'] && !columnsInFragment['Label'] && ((_a = configColumns[columnIndex]) === null || _a === void 0 ? void 0 : _a.text)) {
163
- columnsInFragment['Text'] = {
164
- _attributes: {}
165
- };
166
- }
167
- if (columnsInFragment['Text'] && columnsInFragment['Text']['_attributes']) {
168
- columnsInFragment['Text']._attributes['text'] = (_b = configColumns[columnIndex]) === null || _b === void 0 ? void 0 : _b.text;
169
- }
170
- else if (columnsInFragment['Label'] && columnsInFragment['Label']['_attributes']) {
171
- columnsInFragment['Label']._attributes['text'] = (_c = configColumns[columnIndex]) === null || _c === void 0 ? void 0 : _c.text;
172
- }
173
- if (!columnsInFragment['_attributes']) {
174
- columnsInFragment['_attributes'] = {};
175
- }
176
- columnsInFragment['_attributes']['id'] = configColumns[columnIndex].id;
177
- configColumns.splice(columnIndex, 1);
178
- return foundInConfig;
179
- }
180
- /**
181
- * Deletes obsolete custom columns from the relevant fragment(s)
182
- * @param manifestSection - Section in manifest.json comprising the extensions
183
- * @param fragments - list of all fragments
184
- * @param pattern - Search string to identify the extension in manifest
185
- * @param appId - application ID
186
- */
187
- function deleteColumnsFromFragment(manifestSection, fragments, pattern, appId) {
188
- const fragmentId = manifestSection[pattern].fragmentName.substr(appId.length + 1);
189
- const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
190
- const fragmentParts = fragmentId.split('.');
191
- const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
192
- for (const fragment of fragments) {
193
- const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
194
- if (fragmentPathArray[fragmentPathArray.length - 1] === fragmentName) {
195
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
196
- const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
197
- if (tagName) {
198
- delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
199
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
200
- }
201
- break;
202
- }
203
- }
204
- }
205
- /**
206
- * Deletes a given number of (dummy) cells from a fragment
207
- * @param fragmentCells - list of all cells in the parsed fragment
208
- * @param noOfEntriesToBeDeleted - number of entries to be deleted
209
- */
210
- function deleteNumberOfCells(fragmentCells, noOfEntriesToBeDeleted) {
211
- //only dummy entry will be deleted automatically!
212
- for (let index = 0; index < Object.keys(fragmentCells).length; index++) {
213
- if (JSON.stringify(fragmentCells[index]) === dummyEntryAsString) {
214
- fragmentCells.splice(index, 1);
215
- noOfEntriesToBeDeleted -= 1;
216
- if (noOfEntriesToBeDeleted === 0) {
217
- break;
218
- }
219
- }
220
- }
221
- }
222
- /**
223
- * Deletes cells from the relevant fragment
224
- * @param cellManifestSection - section in mnifest referring the cells'fragment
225
- * @param fragments - list of all fragments
226
- * @param appId - application ID
227
- */
228
- function deleteCellsFromFragment(cellManifestSection, fragments, appId) {
229
- const fragmentType = cellManifestSection['type'] ? cellManifestSection['type'].toLowerCase() : 'xml';
230
- const fragmentParts = cellManifestSection['fragmentName'].substr(appId.length + 1).split('.');
231
- const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
232
- for (const fragment of fragments) {
233
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
234
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
235
- const fragmentCells = fragmentJson.elements[0].elements &&
236
- fragmentJson.elements[0].elements.filter((element) => {
237
- return element.type === 'element';
238
- });
239
- if (fragmentCells) {
240
- deleteNumberOfCells(fragmentCells, fragmentCells.length);
241
- }
242
- break;
243
- }
244
- }
245
- }
246
- /**
247
- * Identifies the right extensions based on a pattern, then deletes all corresponding columns and cells
248
- * @param manifestSection - Section in manifest.json comprising the extensions
249
- * @param pattern - Search string to identify the extension in manifest
250
- * @param appId - application ID
251
- * @param fragments - list of all fragments
252
- */
253
- function deleteColumnFromFragment(manifestSection, pattern, appId, fragments) {
254
- if (fragments) {
255
- //delete columns
256
- deleteColumnsFromFragment(manifestSection, fragments, pattern, appId);
257
- //delete cells
258
- const cellsPath = pattern.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
259
- const cellManifestSection = manifestSection[cellsPath];
260
- if (cellManifestSection) {
261
- deleteCellsFromFragment(cellManifestSection, fragments, appId);
262
- }
263
- }
264
- }
265
- exports.deleteColumnFromFragment = deleteColumnFromFragment;
266
- /**
267
- * Adds new (dummy) columns to a given fragment, as many as we have entries in the config
268
- * @param fragmentCells - list of all cells in fragment
269
- * @param fragmentJson - complete fragment, parsed as JSON
270
- * @param config - actual config.json
271
- */
272
- function addNewColumnsInFragment(fragmentCells, fragmentJson, config) {
273
- const startIndex = fragmentCells ? Object.keys(fragmentCells).length : 0;
274
- if (!fragmentJson.elements[0].elements) {
275
- fragmentJson.elements[0].elements = [];
276
- }
277
- for (let index = startIndex; index < Object.keys(config).length; index++) {
278
- fragmentJson.elements[0].elements.push(dummyEntry);
279
- }
280
- }
281
- /**
282
- * Updates non-empty cells in a given fragment, from the config information
283
- * @param fragment - identified cells' fragment
284
- * @param config - config.json that lists the new cells' information
285
- */
286
- function updateNonEmptyCellsFragment(fragment, config) {
287
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
288
- const fragmentCells = fragmentJson.elements[0].elements &&
289
- fragmentJson.elements[0].elements.filter((element) => {
290
- return element.type === 'element';
291
- });
292
- if (!fragmentCells || Object.keys(fragmentCells).length !== Object.keys(config).length) {
293
- if (!fragmentCells || Object.keys(fragmentCells).length < Object.keys(config).length) {
294
- addNewColumnsInFragment(fragmentCells, fragmentJson, config);
295
- }
296
- else if (Object.keys(fragmentCells).length > Object.keys(config).length) {
297
- const noOfEntriesToBeDeleted = Object.keys(fragmentCells).length - Object.keys(config).length;
298
- const fragmentElements = fragmentJson.elements[0].elements;
299
- deleteNumberOfCells(fragmentElements, noOfEntriesToBeDeleted);
300
- }
301
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { spaces: 4 });
302
- }
303
- }
304
- /**
305
- * Updates the content of a cell fragment file
306
- * @param fragments - list of existing fragments, to be enhanced
307
- * @param cellFragmentFileName - file name of the given cell fragment, as calculated from the config entry
308
- * @param config - current config JSON
309
- * @returns a boolean value to indicate if the cell fragment could be found n the given list of fragments
310
- */
311
- function updateCellsFragment(fragments, cellFragmentFileName, config) {
312
- let cellsFragmentFound = false;
313
- for (const fragment of fragments) {
314
- const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
315
- if (fragmentPathArray[fragmentPathArray.length - 1] === cellFragmentFileName) {
316
- cellsFragmentFound = true;
317
- if (!fragment.fileContent || Object.keys(fragment.fileContent).length === 0) {
318
- // Empty fragment - use template
319
- fragment.fileContent = view_controller_generator_1.getResponsiveTableCellsFragment(config);
320
- }
321
- else {
322
- updateNonEmptyCellsFragment(fragment, config);
323
- }
324
- break;
325
- }
326
- }
327
- return cellsFragmentFound;
328
- }
329
- /**
330
- * Adapt manifest from the given custom columns' definition in manifest
331
- * @param manifestPath - path to the current section of the manifest that describes the extension
332
- * @param {ExportResults} exportResults - export result comprising fragments and manifest
333
- * @param config - current config part, describing the new image of the extension
334
- * @param appId - application ID
335
- * @param {ExtensionLogger} logger - logger instance for exceptions
336
- * @returns everything that is needed for further processing the fragment
337
- */
338
- function exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger) {
339
- var _a;
340
- let lsFilePath;
341
- let cellsFragmentName;
342
- const manifest = exportResults.manifest;
343
- const manifestSection = manifest_1.ensureManifestSectionByPathV2(manifest, manifestPath);
344
- const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
345
- manifestSection['type'] = fragmentType.toUpperCase();
346
- for (const configElement of config) {
347
- //last one wins -as there can only be one reference in the manifest
348
- if (!configElement.fragmentName) {
349
- extensionLogger_1.log(logger, {
350
- severity: "error" /* Error */,
351
- message: i18next_1.default.t('NOFRAGMENT', { columnKey: configElement.columnKey })
352
- });
353
- continue;
354
- }
355
- manifestSection['fragmentName'] = configElement.fragmentName;
356
- manifestSection['className'] = configElement.className;
357
- lsFilePath =
358
- ((_a = configElement.fragmentName) === null || _a === void 0 ? void 0 : _a.replace(appId, '<root>/webapp').replace(/[.]/g, path_1.sep)) +
359
- types_1.FRAGMENTNAMEPART +
360
- fragmentType;
361
- }
362
- if (manifestPath.indexOf(types_1.ViewTemplateType.ResponsiveTableColumnsExtension) > -1) {
363
- const cellsPath = manifestPath.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
364
- const cellManifestSection = manifest_1.ensureManifestSectionByPathV2(manifest, cellsPath);
365
- const cellsFragmentColumn = config.reduce((previousColumn, column) => {
366
- return column.cellsFragmentName ? column : previousColumn;
367
- });
368
- if (cellsFragmentColumn && cellsFragmentColumn.cellsFragmentName) {
369
- cellManifestSection['fragmentName'] = cellsFragmentName = cellsFragmentColumn.cellsFragmentName;
370
- cellManifestSection['className'] = config[0].className;
371
- cellManifestSection['type'] = fragmentType.toUpperCase();
372
- }
373
- else {
374
- manifest_1.deleteManifestSectionByPathV2(manifest, cellsPath);
375
- }
376
- }
377
- return { manifestSection, lsFilePath, cellsFragmentName, fragmentType };
378
- }
379
- /**
380
- * Method inserts new custom column into array of existing columns.
381
- * @param {TableCustomColumn} column - Custom column config object.
382
- * @param {ViewTemplateType} viewTemplateType - template type
383
- * @param {Object} columnsInFragmentDefinition - Existing columns definition
384
- * @param {unknown} fragment - fragment definition
385
- * @returns {object} Columns object.
386
- */
387
- function insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition, fragment) {
388
- const newColumnFragment = view_controller_generator_1.getSingleColumnContent(column, viewTemplateType);
389
- if (newColumnFragment) {
390
- const newColumnDefinition = JSON.parse(xml_js_1.xml2json(newColumnFragment, { compact: true }));
391
- const newColumn = getRootCustomColumnFromFragmentJSON(newColumnDefinition, fragment);
392
- if (Array.isArray(columnsInFragmentDefinition)) {
393
- columnsInFragmentDefinition.push(newColumn);
394
- }
395
- else {
396
- if (columnsInFragmentDefinition) {
397
- columnsInFragmentDefinition = [columnsInFragmentDefinition, newColumn];
398
- }
399
- else {
400
- columnsInFragmentDefinition = [newColumn];
401
- }
402
- }
403
- }
404
- return columnsInFragmentDefinition;
405
- }
406
- function processCustomColumnInArray(columnsInFragmentDefinition, configColumns) {
407
- for (let j = 0; j < columnsInFragmentDefinition.length; j++) {
408
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition[j], configColumns);
409
- if (!columnFoundInConfig) {
410
- columnsInFragmentDefinition.splice(j, 1);
411
- }
412
- }
413
- }
414
- function maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson) {
415
- if (columnsInFragmentDefinition) {
416
- //find the right column in the identified fragment file
417
- if (Array.isArray(columnsInFragmentDefinition)) {
418
- processCustomColumnInArray(columnsInFragmentDefinition, configColumns);
419
- }
420
- else {
421
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition, configColumns);
422
- if (!columnFoundInConfig) {
423
- const coreTagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
424
- if (coreTagName) {
425
- delete fragmentJson[exports.FRAGMENT_DEFINITION][coreTagName];
426
- columnsInFragmentDefinition = undefined;
427
- }
428
- }
429
- }
430
- }
431
- return columnsInFragmentDefinition;
432
- }
433
- /**
434
- * Method inserts new custom columns into existing columns.
435
- * @param {TableCustomColumns} configColumns - Custom columns config object.
436
- * @param {string} fragmentId - fragment file name
437
- * @param {Object} columnsInFragmentDefinition - Existing columns definition
438
- * @param {ViewTemplateType} viewTemplateType - template type
439
- * @param {unknown} fragment - fragment definition
440
- * @returns {object} Columns object.
441
- */
442
- function insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType, fragment) {
443
- for (const column of configColumns) {
444
- if (column.fragmentName.endsWith(fragmentId)) {
445
- columnsInFragmentDefinition = insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition, fragment);
446
- }
447
- }
448
- return columnsInFragmentDefinition;
449
- }
450
- /**
451
- * Actualizes the column information in a fragment
452
- * @param fragments - list of all fragments
453
- * @param fragmentName - name of the relevant fragment, as maintained in manifest
454
- * @param fragmentId - ID = substring of the fragment name without the app ID
455
- * @param configColumns - list of all custom columns in the config
456
- * @param viewTemplateType - enum value that determines the view template
457
- * @returns a boolean value indicating if the fragment was found
458
- */
459
- function updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType) {
460
- let fragmentFound = false;
461
- if (!fragments) {
462
- return fragmentFound;
463
- }
464
- //find and update the columns' fragment file
465
- for (const fragment of fragments) {
466
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
467
- let columnsInFragmentDefinition = {};
468
- fragmentFound = true;
469
- if (!fragment.fileContent || fragment.fileContent.length === 0) {
470
- // Empty fragment - use template
471
- fragment.fileContent = view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType);
472
- }
473
- else {
474
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
475
- const originalFragmentJson = JSON.stringify(fragmentJson);
476
- //find the right column in the fragment file
477
- columnsInFragmentDefinition = getRootCustomColumnFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
478
- columnsInFragmentDefinition = maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson);
479
- //Insert scenario for the remaining entries
480
- columnsInFragmentDefinition = insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType, fragmentJson);
481
- const tagName = getTagNameFromFragmentJSON(fragmentJson, viewTemplateType);
482
- fragmentJson[exports.FRAGMENT_DEFINITION][tagName] = columnsInFragmentDefinition;
483
- const fragmentContent = JSON.stringify(fragmentJson);
484
- if (fragmentContent !== originalFragmentJson) {
485
- fragment.fileContent = xml_js_1.json2xml(fragmentContent, { compact: true, spaces: 4 });
486
- }
487
- }
488
- break;
489
- }
490
- }
491
- return fragmentFound;
492
- }
493
- /**
494
- * The function transfers ALL properties of one or more custom columns to a given fragment, or creates a new one if necesary.
495
- * @param {ExportResults} exportResults - export result comprising fragments and manifest
496
- * @param manifestPath - path to the current section of the manifest that describes the extension
497
- * @param config - current config part, describing the new image of the extension
498
- * @param appId - application ID
499
- * @param viewTemplateType - name of the view template that shall be applied
500
- * @param {ExtensionLogger} logger - logger instance for exceptions
501
- */
502
- function exportCustomColumnsToFragment(exportResults, manifestPath, config, appId, viewTemplateType, logger) {
503
- const fragments = exportResults.fragments;
504
- //Find and adapt manifest
505
- const { manifestSection, lsFilePath, cellsFragmentName, fragmentType } = exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger);
506
- //Find and adapt fragment
507
- const configColumns = JSON.parse(JSON.stringify(config));
508
- let fragmentName = manifestSection['fragmentName'];
509
- const fragmentId = fragmentName.substr(appId.length + 1);
510
- const fragmentParts = fragmentId.split('.');
511
- const templateType = fragmentParts[fragmentParts.length - 1];
512
- fragmentName = templateType + types_1.FRAGMENTNAMEPART + fragmentType;
513
- const cellFragmentParts = cellsFragmentName === null || cellsFragmentName === void 0 ? void 0 : cellsFragmentName.split('.');
514
- const cellTemplateType = cellFragmentParts ? cellFragmentParts[cellFragmentParts.length - 1] : null;
515
- const cellFragmentFileName = cellTemplateType ? cellTemplateType + types_1.FRAGMENTNAMEPART + fragmentType : null;
516
- // update columns in fragment
517
- const fragmentFound = updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType);
518
- let cellsFragmentFound = false;
519
- if (cellsFragmentName) {
520
- //find an update the cells' fragment file
521
- cellsFragmentFound = updateCellsFragment(fragments, cellFragmentFileName, config);
522
- }
523
- else {
524
- cellsFragmentFound = true; //not relevant
525
- }
526
- if (!fragmentFound) {
527
- const fragment = {
528
- fileContent: view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType),
529
- dataSourceUri: lsFilePath
530
- };
531
- exportResults.fragments.push(fragment);
532
- }
533
- if (!cellsFragmentFound) {
534
- const fragment = {
535
- fileContent: view_controller_generator_1.getResponsiveTableCellsFragment(config),
536
- dataSourceUri: lsFilePath.replace(fragmentName, cellFragmentFileName)
537
- };
538
- exportResults.fragments.push(fragment);
539
- }
540
- }
541
- exports.exportCustomColumnsToFragment = exportCustomColumnsToFragment;
542
- /**
543
- * Determines the manifest path of a column extension.
544
- * @param {string[]} page Page object from manifest.
545
- * @param {string} entitySet Table's entity set.
546
- * @param {string} [additionalKey] Key provided when defining the FacetID or QuickVariantSelectionX.
547
- * @param {string} [tableColumnExtensionType] Column extension type.
548
- */
549
- exports.getCustomColumnPath = (page, entitySet, additionalKey, tableColumnExtensionType) => {
550
- const extension = FE_TEMPLATE_VIEW_EXTENSION_MAP.get(page.component.name);
551
- if (!tableColumnExtensionType) {
552
- let tableType = page.component.settings &&
553
- page.component.settings.tableSettings &&
554
- page.component.settings.tableSettings['type'];
555
- if (!tableType) {
556
- tableType = 'ResponsiveTable';
557
- }
558
- if (extension === 'sap.suite.ui.generic.template.AnalyticalListPage.view.AnalyticalListPage') {
559
- tableType = 'AnalyticalTable';
560
- }
561
- tableColumnExtensionType = tableType + 'ColumnsExtension';
562
- }
563
- const viewTemplateType = tableColumnExtensionType;
564
- let extensionKey = `${tableColumnExtensionType}|${entitySet}`;
565
- if (additionalKey) {
566
- extensionKey += '|' + additionalKey;
567
- }
568
- const path = 'sap.ui5/extends/extensions/sap.ui.viewExtensions/' + extension + '/' + extensionKey;
569
- return { path, viewTemplateType };
570
- };
571
- //# sourceMappingURL=Fragment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/Fragment.ts"],"names":[],"mappings":"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"}