@sap/ux-specification 1.136.14 → 1.136.16

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 (322) hide show
  1. package/CHANGELOG.md +250 -146
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +269 -266
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
  16. package/dist/schemas/v2/ListReportConfig.json +5 -5
  17. package/dist/schemas/v2/ListReportNewConfig.json +1 -1
  18. package/dist/schemas/v2/ObjectPageConfig.json +5 -5
  19. package/dist/schemas/v4/ApplicationV4.json +1 -1
  20. package/dist/schemas/v4/BuildingBlocksConfig.json +120 -41
  21. package/dist/schemas/v4/ListReportConfig.json +275 -34
  22. package/dist/schemas/v4/ObjectPageConfig.json +417 -138
  23. package/dist/specification/package.json +13 -11
  24. package/dist/specification/scripts/extractDocu.js +18 -1
  25. package/dist/specification/scripts/extractDocu.js.map +1 -1
  26. package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
  27. package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
  28. package/dist/specification/scripts/generate-validity-report.js +367 -0
  29. package/dist/specification/scripts/generate-validity-report.js.map +1 -0
  30. package/dist/specification/scripts/macros/corrections.d.ts +40 -0
  31. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  32. package/dist/specification/scripts/macros/corrections.js +98 -7
  33. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  34. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  35. package/dist/specification/scripts/macros/schema.js +11 -2
  36. package/dist/specification/scripts/macros/schema.js.map +1 -1
  37. package/dist/specification/scripts/macros/types.d.ts +2 -0
  38. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  39. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  40. package/dist/specification/scripts/schema/to-json-schema.js +2 -13
  41. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  42. package/dist/specification/src/api.d.ts.map +1 -1
  43. package/dist/specification/src/api.js +2 -1
  44. package/dist/specification/src/api.js.map +1 -1
  45. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts +38 -8
  46. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts.map +1 -1
  47. package/dist/specification/src/sync/common/DataFieldStrategy.js +64 -11
  48. package/dist/specification/src/sync/common/DataFieldStrategy.js.map +1 -1
  49. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts +0 -4
  50. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts.map +1 -1
  51. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js +0 -3
  52. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js.map +1 -1
  53. package/dist/specification/src/sync/common/appProvider.d.ts +0 -1
  54. package/dist/specification/src/sync/common/appProvider.d.ts.map +1 -1
  55. package/dist/specification/src/sync/common/appProvider.js +0 -1
  56. package/dist/specification/src/sync/common/appProvider.js.map +1 -1
  57. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +503 -0
  58. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
  59. package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
  60. package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
  61. package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
  62. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  63. package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
  64. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  65. package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
  66. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
  67. package/dist/specification/src/sync/common/decoration/index.js +1 -0
  68. package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
  69. package/dist/specification/src/sync/common/dist_tag.json +8 -3
  70. package/dist/specification/src/sync/common/generate/objectPage.d.ts +0 -1
  71. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  72. package/dist/specification/src/sync/common/generate/objectPage.js +0 -3
  73. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  74. package/dist/specification/src/sync/common/generate/utils.d.ts +3 -3
  75. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  76. package/dist/specification/src/sync/common/generate/utils.js +6 -3
  77. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  78. package/dist/specification/src/sync/common/i18n.json +2 -1
  79. package/dist/specification/src/sync/common/import/utils.d.ts +0 -1
  80. package/dist/specification/src/sync/common/import/utils.d.ts.map +1 -1
  81. package/dist/specification/src/sync/common/import/utils.js +0 -1
  82. package/dist/specification/src/sync/common/import/utils.js.map +1 -1
  83. package/dist/specification/src/sync/common/rules.js +0 -1
  84. package/dist/specification/src/sync/common/rules.js.map +1 -1
  85. package/dist/specification/src/sync/common/utils.d.ts +35 -8
  86. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  87. package/dist/specification/src/sync/common/utils.js +206 -22
  88. package/dist/specification/src/sync/common/utils.js.map +1 -1
  89. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  90. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
  91. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  92. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  93. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +48 -0
  94. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  95. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  96. package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
  97. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  98. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  99. package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
  100. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  101. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -9
  102. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  103. package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
  104. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  105. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  106. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
  107. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  108. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  109. package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
  110. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  111. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v2/import/importPage.js +5 -6
  113. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  114. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
  115. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  116. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
  117. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  118. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
  119. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  120. package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
  121. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  122. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  123. package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
  124. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  125. package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
  126. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  127. package/dist/specification/src/sync/v2/import/utils.js +37 -0
  128. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  129. package/dist/specification/src/sync/v2/utils.d.ts +12 -2
  130. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  131. package/dist/specification/src/sync/v2/utils.js +19 -2
  132. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  133. package/dist/specification/src/sync/v4/application.d.ts +21 -3
  134. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  135. package/dist/specification/src/sync/v4/application.js +28 -3
  136. package/dist/specification/src/sync/v4/application.js.map +1 -1
  137. package/dist/specification/src/sync/v4/export/actions.d.ts +39 -0
  138. package/dist/specification/src/sync/v4/export/actions.d.ts.map +1 -0
  139. package/dist/specification/src/sync/v4/export/actions.js +99 -0
  140. package/dist/specification/src/sync/v4/export/actions.js.map +1 -0
  141. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
  142. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  143. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
  144. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  145. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +4 -3
  146. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  147. package/dist/specification/src/sync/v4/export/controls/Header.js +7 -3
  148. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  149. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
  150. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  151. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -0
  152. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  153. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  154. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
  155. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
  156. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  157. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +2 -1
  158. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
  159. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
  160. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +2 -4
  161. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts.map +1 -1
  162. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js +2 -21
  163. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js.map +1 -1
  164. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts +2 -2
  165. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
  166. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
  167. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +14 -3
  168. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  169. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +52 -9
  170. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  171. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
  172. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
  173. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +0 -13
  174. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
  175. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +15 -3
  176. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
  177. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +53 -10
  178. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  179. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +24 -18
  180. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  181. package/dist/specification/src/sync/v4/export/controls/Table.js +40 -49
  182. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  183. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  184. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
  185. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  186. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts +9 -2
  187. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -1
  188. package/dist/specification/src/sync/v4/export/controls/ToolBar.js +39 -1
  189. package/dist/specification/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  190. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +17 -4
  191. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  192. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +76 -19
  193. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  194. package/dist/specification/src/sync/v4/export/export.d.ts +7 -0
  195. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  196. package/dist/specification/src/sync/v4/export/export.js +125 -14
  197. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  198. package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
  199. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  200. package/dist/specification/src/sync/v4/export/types.d.ts +2 -0
  201. package/dist/specification/src/sync/v4/export/types.d.ts.map +1 -1
  202. package/dist/specification/src/sync/v4/generate/actions.d.ts +35 -0
  203. package/dist/specification/src/sync/v4/generate/actions.d.ts.map +1 -0
  204. package/dist/specification/src/sync/v4/generate/actions.js +112 -0
  205. package/dist/specification/src/sync/v4/generate/actions.js.map +1 -0
  206. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts +3 -3
  207. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
  208. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +11 -3
  209. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  210. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts +1 -1
  211. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -1
  212. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js +3 -2
  213. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -1
  214. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  215. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +25 -3
  216. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  217. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  218. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +11 -2
  219. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  220. package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
  221. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
  222. package/dist/specification/src/sync/v4/generate/index.js +1 -1
  223. package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
  224. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +73 -0
  225. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
  226. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +354 -0
  227. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
  228. package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +46 -19
  229. package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
  230. package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +195 -316
  231. package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
  232. package/dist/specification/src/sync/v4/generate/objectPage.d.ts +0 -1
  233. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  234. package/dist/specification/src/sync/v4/generate/objectPage.js +148 -56
  235. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  236. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  237. package/dist/specification/src/sync/v4/import/pages/listReport.js +2 -1
  238. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  239. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
  240. package/dist/specification/src/sync/v4/import/pages/objectPage.js +16 -3
  241. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
  242. package/dist/specification/src/sync/v4/import/utils.d.ts +0 -1
  243. package/dist/specification/src/sync/v4/import/utils.d.ts.map +1 -1
  244. package/dist/specification/src/sync/v4/import/utils.js +5 -4
  245. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  246. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
  247. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
  248. package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
  249. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
  250. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
  251. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
  252. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
  253. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
  254. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
  255. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
  256. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
  257. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
  258. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
  259. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
  260. package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
  261. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
  262. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts +1 -0
  263. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  264. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +17 -9
  265. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  266. package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
  267. package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
  268. package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
  269. package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
  270. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
  271. package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
  272. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
  273. package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
  274. package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
  275. package/dist/specification/src/sync/v4/utils/index.js +18 -0
  276. package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
  277. package/dist/specification/src/sync/v4/utils/utils.d.ts +112 -26
  278. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  279. package/dist/specification/src/sync/v4/utils/utils.js +374 -46
  280. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  281. package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +550 -0
  282. package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
  283. package/dist/specification/test/test-utils/utils.d.ts +71 -0
  284. package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
  285. package/dist/specification/test/test-utils/utils.js +400 -0
  286. package/dist/specification/test/test-utils/utils.js.map +1 -0
  287. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +131 -0
  288. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
  289. package/dist/specification/test/unit/decorators/validity-test-utils.js +661 -0
  290. package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
  291. package/dist/types/src/apiTypes.d.ts +5 -5
  292. package/dist/types/src/apiTypes.d.ts.map +1 -1
  293. package/dist/types/src/apiTypes.js +1 -0
  294. package/dist/types/src/apiTypes.js.map +1 -1
  295. package/dist/types/src/common/types.d.ts +162 -15
  296. package/dist/types/src/common/types.d.ts.map +1 -1
  297. package/dist/types/src/common/types.js +41 -2
  298. package/dist/types/src/common/types.js.map +1 -1
  299. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
  300. package/dist/types/src/v2/controls/Table.d.ts +1 -1
  301. package/dist/types/src/v4/controls/CustomAction.d.ts +133 -19
  302. package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
  303. package/dist/types/src/v4/controls/CustomAction.js.map +1 -1
  304. package/dist/types/src/v4/controls/ObjectPageForm.d.ts +2 -2
  305. package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
  306. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +22 -3
  307. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  308. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +1 -1
  309. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  310. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +2 -2
  311. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  312. package/dist/types/src/v4/controls/Table.d.ts +3 -3
  313. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  314. package/dist/types/src/v4/controls/ToolBar.d.ts +3 -3
  315. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  316. package/package.json +14 -12
  317. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -107
  318. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
  319. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -392
  320. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
  321. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
  322. package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
@@ -6,10 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ViewTableCustomAction = exports.ViewCustomActionPosition = exports.CustomTableAction = exports.CustomActionPosition = exports.ViewToolBarAction = exports.ViewToolBarActionGroup = exports.ToolBarActionGroup = exports.ToolBarAction = exports.ActionAfterExecutionConfigurationToolBarLR = void 0;
9
+ exports.ViewCustomActionMenuActions = exports.ViewCustomActionMenu = exports.ViewTableCustomAction = exports.ViewTableCustomActionBase = exports.ViewCustomActionPosition = exports.CustomTableAction = exports.CustomTableActionBase = exports.CustomActionPosition = exports.ViewToolBarAction = exports.ViewToolBarActionGroup = exports.ToolBarActionGroup = exports.ToolBarAction = exports.ActionAfterExecutionConfigurationToolBarLR = void 0;
10
10
  const decorators_1 = require("../../../common/decoration/decorators");
11
11
  const application_1 = require("../../application");
12
12
  const control_1 = require("../../../common/decoration/control");
13
+ const actions_1 = require("../actions");
13
14
  class ActionAfterExecutionConfigurationToolBarLR {
14
15
  }
15
16
  exports.ActionAfterExecutionConfigurationToolBarLR = ActionAfterExecutionConfigurationToolBarLR;
@@ -94,19 +95,20 @@ __decorate([
94
95
  since: '1.84.0'
95
96
  })
96
97
  ], CustomActionPosition.prototype, "placement", void 0);
97
- class CustomTableAction {
98
+ class CustomTableActionBase {
98
99
  }
99
- exports.CustomTableAction = CustomTableAction;
100
+ exports.CustomTableActionBase = CustomTableActionBase;
100
101
  __decorate([
101
102
  (0, decorators_1.syncRule)({
102
103
  manifest: {
103
- path: application_1.getActionsPathForLR
104
+ path: application_1.getActionsPathForLR,
105
+ export: actions_1.exportActionMenuMenu
104
106
  }
105
107
  }),
106
108
  (0, decorators_1.validity)({
107
109
  since: '1.84.0'
108
110
  })
109
- ], CustomTableAction.prototype, "text", void 0);
111
+ ], CustomTableActionBase.prototype, "menu", void 0);
110
112
  __decorate([
111
113
  (0, decorators_1.syncRule)({
112
114
  manifest: {
@@ -116,7 +118,7 @@ __decorate([
116
118
  (0, decorators_1.validity)({
117
119
  since: '1.84.0'
118
120
  })
119
- ], CustomTableAction.prototype, "position", void 0);
121
+ ], CustomTableActionBase.prototype, "text", void 0);
120
122
  __decorate([
121
123
  (0, decorators_1.syncRule)({
122
124
  manifest: {
@@ -126,7 +128,7 @@ __decorate([
126
128
  (0, decorators_1.validity)({
127
129
  since: '1.84.0'
128
130
  })
129
- ], CustomTableAction.prototype, "press", void 0);
131
+ ], CustomTableActionBase.prototype, "position", void 0);
130
132
  __decorate([
131
133
  (0, decorators_1.syncRule)({
132
134
  manifest: {
@@ -136,7 +138,7 @@ __decorate([
136
138
  (0, decorators_1.validity)({
137
139
  since: '1.84.0'
138
140
  })
139
- ], CustomTableAction.prototype, "requiresSelection", void 0);
141
+ ], CustomTableActionBase.prototype, "requiresSelection", void 0);
140
142
  __decorate([
141
143
  (0, decorators_1.syncRule)({
142
144
  manifest: {
@@ -147,7 +149,7 @@ __decorate([
147
149
  (0, decorators_1.validity)({
148
150
  since: '1.84.0'
149
151
  })
150
- ], CustomTableAction.prototype, "visible", void 0);
152
+ ], CustomTableActionBase.prototype, "visible", void 0);
151
153
  __decorate([
152
154
  (0, decorators_1.syncRule)({
153
155
  manifest: {
@@ -158,7 +160,20 @@ __decorate([
158
160
  (0, decorators_1.validity)({
159
161
  since: '1.84.0'
160
162
  })
161
- ], CustomTableAction.prototype, "enabled", void 0);
163
+ ], CustomTableActionBase.prototype, "enabled", void 0);
164
+ class CustomTableAction extends CustomTableActionBase {
165
+ }
166
+ exports.CustomTableAction = CustomTableAction;
167
+ __decorate([
168
+ (0, decorators_1.syncRule)({
169
+ manifest: {
170
+ path: application_1.getActionsPathForLR
171
+ }
172
+ }),
173
+ (0, decorators_1.validity)({
174
+ since: '1.84.0'
175
+ })
176
+ ], CustomTableAction.prototype, "press", void 0);
162
177
  /**
163
178
  * Sync class for Position
164
179
  */
@@ -185,19 +200,20 @@ __decorate([
185
200
  since: '1.84.0'
186
201
  })
187
202
  ], ViewCustomActionPosition.prototype, "placement", void 0);
188
- class ViewTableCustomAction {
203
+ class ViewTableCustomActionBase {
189
204
  }
190
- exports.ViewTableCustomAction = ViewTableCustomAction;
205
+ exports.ViewTableCustomActionBase = ViewTableCustomActionBase;
191
206
  __decorate([
192
207
  (0, decorators_1.syncRule)({
193
208
  manifest: {
194
- path: application_1.getActionsPathForView
209
+ path: application_1.getActionsPathForView,
210
+ export: actions_1.exportActionMenuMenu
195
211
  }
196
212
  }),
197
213
  (0, decorators_1.validity)({
198
214
  since: '1.84.0'
199
215
  })
200
- ], ViewTableCustomAction.prototype, "text", void 0);
216
+ ], ViewTableCustomActionBase.prototype, "menu", void 0);
201
217
  __decorate([
202
218
  (0, decorators_1.syncRule)({
203
219
  manifest: {
@@ -207,7 +223,7 @@ __decorate([
207
223
  (0, decorators_1.validity)({
208
224
  since: '1.84.0'
209
225
  })
210
- ], ViewTableCustomAction.prototype, "position", void 0);
226
+ ], ViewTableCustomActionBase.prototype, "text", void 0);
211
227
  __decorate([
212
228
  (0, decorators_1.syncRule)({
213
229
  manifest: {
@@ -217,7 +233,7 @@ __decorate([
217
233
  (0, decorators_1.validity)({
218
234
  since: '1.84.0'
219
235
  })
220
- ], ViewTableCustomAction.prototype, "press", void 0);
236
+ ], ViewTableCustomActionBase.prototype, "position", void 0);
221
237
  __decorate([
222
238
  (0, decorators_1.syncRule)({
223
239
  manifest: {
@@ -227,7 +243,7 @@ __decorate([
227
243
  (0, decorators_1.validity)({
228
244
  since: '1.84.0'
229
245
  })
230
- ], ViewTableCustomAction.prototype, "requiresSelection", void 0);
246
+ ], ViewTableCustomActionBase.prototype, "requiresSelection", void 0);
231
247
  __decorate([
232
248
  (0, decorators_1.syncRule)({
233
249
  manifest: {
@@ -238,7 +254,7 @@ __decorate([
238
254
  (0, decorators_1.validity)({
239
255
  since: '1.84.0'
240
256
  })
241
- ], ViewTableCustomAction.prototype, "visible", void 0);
257
+ ], ViewTableCustomActionBase.prototype, "visible", void 0);
242
258
  __decorate([
243
259
  (0, decorators_1.syncRule)({
244
260
  manifest: {
@@ -249,5 +265,46 @@ __decorate([
249
265
  (0, decorators_1.validity)({
250
266
  since: '1.84.0'
251
267
  })
252
- ], ViewTableCustomAction.prototype, "enabled", void 0);
268
+ ], ViewTableCustomActionBase.prototype, "enabled", void 0);
269
+ class ViewTableCustomAction extends ViewTableCustomActionBase {
270
+ }
271
+ exports.ViewTableCustomAction = ViewTableCustomAction;
272
+ __decorate([
273
+ (0, decorators_1.syncRule)({
274
+ manifest: {
275
+ path: application_1.getActionsPathForView
276
+ }
277
+ }),
278
+ (0, decorators_1.validity)({
279
+ since: '1.84.0'
280
+ })
281
+ ], ViewTableCustomAction.prototype, "press", void 0);
282
+ class ViewCustomActionMenu extends ViewTableCustomActionBase {
283
+ }
284
+ exports.ViewCustomActionMenu = ViewCustomActionMenu;
285
+ __decorate([
286
+ (0, decorators_1.syncRule)({
287
+ manifest: {
288
+ path: application_1.getActionsPathForView,
289
+ export: actions_1.exportActionMenuAction
290
+ }
291
+ }),
292
+ (0, decorators_1.validity)({
293
+ since: '1.84.0'
294
+ })
295
+ ], ViewCustomActionMenu.prototype, "actions", void 0);
296
+ __decorate([
297
+ (0, decorators_1.syncRule)({
298
+ manifest: {
299
+ path: application_1.getActionsPathForView,
300
+ export: actions_1.exportActionMenuDefaultAction
301
+ }
302
+ }),
303
+ (0, decorators_1.validity)({
304
+ since: '1.84.0'
305
+ })
306
+ ], ViewCustomActionMenu.prototype, "defaultAction", void 0);
307
+ class ViewCustomActionMenuActions {
308
+ }
309
+ exports.ViewCustomActionMenuActions = ViewCustomActionMenuActions;
253
310
  //# sourceMappingURL=ToolBarAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolBarAction.js","sourceRoot":"","sources":["../../../../../../../src/sync/v4/export/controls/ToolBarAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolBarAction.js","sourceRoot":"","sources":["../../../../../../../src/sync/v4/export/controls/ToolBarAction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import type { FioriElementsVersion, ExportParametersV4, ExportV4WithPath, ExportResults, UI5Version } from '@sap/ux-specification-types';
2
+ export type ExportSessionState = {
3
+ /**
4
+ * Manifest JSON paths (sync-rule based) that were written/created during the current export run.
5
+ * Used to prevent later rules from deleting a property that was re-created earlier in the same session.
6
+ */
7
+ writtenManifestPaths: Set<string>;
8
+ };
2
9
  /**
3
10
  * General API for the export of a V4 config page.
4
11
  * Export means the transfer of the properties and values of the given config to manifest entries or flex changes.
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/export/export.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EACR,oBAAoB,EAKpB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAEb,UAAU,EAIb,MAAM,6BAA6B,CAAC;AAm7CrC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACrB,oBAAoB,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAC/D,YAAY,UAAU,KACvB,aAAa,GAAG,SAiBlB,CAAC;AAsBF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GACnC,oBAAoB,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAC7D,aAAa,UAAU,EACvB,yBAAuB,KACxB,aAAa,GAAG,SAelB,CAAC"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/export/export.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EACR,oBAAoB,EAKpB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAEb,UAAU,EAIb,MAAM,6BAA6B,CAAC;AAgBrC,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;;OAGG;IACH,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AA2iDF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACrB,oBAAoB,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAC/D,YAAY,UAAU,KACvB,aAAa,GAAG,SAiBlB,CAAC;AAsBF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GACnC,oBAAoB,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAC7D,aAAa,UAAU,EACvB,yBAAuB,KACxB,aAAa,GAAG,SAelB,CAAC"}
@@ -14,6 +14,7 @@ const fpmCustomPage_1 = require("./fpmCustomPage");
14
14
  const utils_3 = require("../utils/utils");
15
15
  const viewProperties = ['key', 'index', 'label', 'visible', 'showCounts', 'entitySet', 'keepPreviousPersonalization'];
16
16
  const doTransfer = [...viewProperties, 'views', 'initialLoad', 'template'];
17
+ const SKIPPED_TRACKED_PROPERTIES = new Set(['index']);
17
18
  /**
18
19
  * Returns a fresh export results object with default values.
19
20
  *
@@ -245,14 +246,18 @@ function determineKeyForSyncRule(ids) {
245
246
  let idIndex = 0;
246
247
  for (let index = ids.length - 1; index > -1; index--) {
247
248
  const element = ids[index];
248
- if ([
249
+ // The check responds to the fact that the last element of the array may refer to a sub-action set
250
+ // we should not include it in the key
251
+ const isMenuActionSubActionElement = index === ids.length - 1 && element === ux_specification_types_1.PropertyName.actions;
252
+ if (([
249
253
  ux_specification_types_1.PropertyName.actions,
250
254
  ux_specification_types_1.PropertyName.columns,
251
255
  ux_specification_types_1.PropertyName.views,
252
256
  ux_specification_types_1.PropertyName.visualFilters,
253
257
  ux_specification_types_1.PropertyName.selectionFields,
254
258
  ux_specification_types_1.PropertyName.fields
255
- ].includes(ux_specification_types_1.PropertyName[element]) ||
259
+ ].includes(ux_specification_types_1.PropertyName[element]) &&
260
+ !isMenuActionSubActionElement) ||
256
261
  isGroupingElement(element)) {
257
262
  idIndex = index + 1;
258
263
  break;
@@ -294,7 +299,10 @@ function transferPropertyToManifest(params, propertyDefinition, nextDefinition)
294
299
  !params.configObject[params.configPropertyKey].length) ||
295
300
  (!Array.isArray(params.configObject[params.configPropertyKey]) &&
296
301
  params.configObject[params.configPropertyKey] === undefined)) {
297
- delete params.manifestSection[params.manifestKey];
302
+ // we can delete the property only if it has not been added to the manifest during this export session by another export rule
303
+ if (!params.hasPropertyAddedThisExport) {
304
+ delete params.manifestSection[params.manifestKey];
305
+ }
298
306
  }
299
307
  else {
300
308
  params.manifestSection[params.manifestKey] = params.configObject[params.configPropertyKey];
@@ -324,11 +332,13 @@ function deleteFromManifest(ids, params, transferParameters, manifestSection, pa
324
332
  let changed = false;
325
333
  //special condition to prevent table export overwriting views' export and vice versa
326
334
  //(but deletion must be possible for the non-remaining table configuration)
327
- const parentDefinition = transferParameters.appSchema.definitions.MultiTableModeV4?.properties[ids[2]];
335
+ const multiViewDefinitions = transferParameters.appSchema.definitions.MultiTableModeV4;
336
+ const parentDefinition = multiViewDefinitions?.properties[ids[2]];
337
+ const isViewsDefined = isMultiViewsEnabled(transferParameters.config);
328
338
  if (ids[0] !== 'table' ||
329
- (ids[1] !== 'views' && !transferParameters.config['table']?.views) ||
339
+ (ids[1] !== 'views' && !isViewsDefined) ||
330
340
  (ids[1] === 'views' &&
331
- (transferParameters.config['table']?.views ||
341
+ (isViewsDefined ||
332
342
  (!transferParameters.config['defaultTemplateAnnotationPath'] &&
333
343
  ids.length === 4 &&
334
344
  viewProperties.indexOf(params.configPropertyKey) > -1) ||
@@ -351,6 +361,32 @@ function deleteFromManifest(ids, params, transferParameters, manifestSection, pa
351
361
  (0, utils_1.deleteEmptyStructure)(transferParameters.exportResults.manifest, path, transferParameters.deletionRequest, transferParameters.entityPathArray, targetAnnotation, targetAnnotationEncoded);
352
362
  return changed;
353
363
  }
364
+ /**
365
+ * Records a manifest property path as "processed during this export session".
366
+ *
367
+ * The export logic can both create/update and delete manifest entries. Some export rules may (re-)create
368
+ * the same manifest property for a different structure during the same run (e.g. action/menu-related settings).
369
+ * To prevent a later rule from deleting a property that has been (re-)added earlier in the same session,
370
+ * the export process keeps a session-scoped set of manifest paths (`writtenManifestPaths`) that were written.
371
+ *
372
+ * This helper adds the given `fullPath` to that set, except for meta/config-only keys that must not be tracked.
373
+ *
374
+ * Notes on exclusions:
375
+ * - Certain config keys are used only for ordering or internal bookkeeping and should not be treated as actual
376
+ * manifest settings. Currently `index` is such a key and is excluded.
377
+ * - Exclusions are centralized in `SKIPPED_TRACKED_PROPERTIES` to make the rule explicit and extensible.
378
+ *
379
+ * @param fullPath - Fully qualified manifest path of the exported property
380
+ * (typically: `syncRule.manifest.path(...) + '/' + (syncRule.manifest.key ?? configKey)`).
381
+ * @param writtenManifestPaths - Session-scoped set used to track manifest paths written during the current export run.
382
+ * @param key - Current config property key (used to skip meta keys like `index`).
383
+ */
384
+ function storeProcessedPropertyToMap(fullPath, writtenManifestPaths, key) {
385
+ if (SKIPPED_TRACKED_PROPERTIES.has(key)) {
386
+ return;
387
+ }
388
+ writtenManifestPaths.add(fullPath);
389
+ }
354
390
  /**
355
391
  * Transfers a change in config.json to manifest.
356
392
  *
@@ -361,6 +397,7 @@ function deleteFromManifest(ids, params, transferParameters, manifestSection, pa
361
397
  * @returns a boolean indicator if any change happened to the manifest
362
398
  */
363
399
  function exportManifestChange(ids, syncRule, parameters, nextDefinition) {
400
+ const writtenManifestPaths = parameters.transferParameters.exportSession.writtenManifestPaths;
364
401
  let changed = false;
365
402
  const originalIds = [...ids];
366
403
  //eliminate subsections' hierarchy
@@ -372,25 +409,37 @@ function exportManifestChange(ids, syncRule, parameters, nextDefinition) {
372
409
  const { targetAnnotationEncoded, targetAnnotation, custom } = determineTargetAnnotation(ids, parameters.transferParameters, parameters.configObject);
373
410
  const syncRuleKey = determineKeyForSyncRule(ids);
374
411
  const path = syncRule.manifest.path(parameters.transferParameters.pageNameArray, parameters.transferParameters.exportResults.manifest, targetAnnotationEncoded, syncRuleKey, targetAnnotation, parameters.configObject, originalIds);
412
+ const fullPath = `${path}/${syncRule.manifest.key ?? parameters.key}`;
375
413
  const manifestSection = path
376
414
  ? (0, common_1.getManifestSectionByPathV4)(parameters.transferParameters.exportResults.manifest, path, targetAnnotation, custom ? undefined : targetAnnotationEncoded)
377
415
  : undefined;
378
416
  if (manifestSection) {
417
+ // If the property has already been added to the manifest during this export session,
418
+ // we must not delete it again. Due to non-deterministic processing order,
419
+ // another object (e.g. a manifest-based action menu) may have already moved or reattached
420
+ // this property. Deleting it here would lead to an incorrect final manifest state.
421
+ const isAddedDuringExportSession = writtenManifestPaths?.has(fullPath);
379
422
  const exportParams = {
380
423
  syncRule,
381
424
  manifestSection,
382
425
  configObject: parameters.configObject,
383
426
  configPropertyKey: parameters.key,
384
427
  manifestKey: syncRule.manifest.key || parameters.key,
385
- syncRuleKey
428
+ syncRuleKey,
429
+ hasPropertyAddedThisExport: isAddedDuringExportSession
386
430
  };
387
- if (parameters.configObject[parameters.key] === undefined ||
431
+ if ((parameters.configObject[parameters.key] === undefined && !isAddedDuringExportSession) ||
388
432
  (parameters.transferParameters.deletionRequest &&
389
433
  (0, common_1.arrayIncludes)([...parameters.breadcrumbs, parameters.key], parameters.transferParameters.entityPathArray))) {
390
434
  changed = deleteFromManifest(ids, exportParams, parameters.transferParameters, manifestSection, path, targetAnnotation, targetAnnotationEncoded);
391
435
  }
392
436
  else {
393
437
  changed = transferPropertyToManifest(exportParams, parameters.propertyDefinition, nextDefinition);
438
+ // we need to store all properties that are added to the manifest during this export session
439
+ // to be able to avoid unnecessary deletion of them
440
+ if (changed && writtenManifestPaths) {
441
+ storeProcessedPropertyToMap(fullPath, writtenManifestPaths, parameters.key);
442
+ }
394
443
  }
395
444
  }
396
445
  return changed;
@@ -744,6 +793,25 @@ function transferConfigEntriesWithAnyOfDefinitions(transferEntryParameters, anyO
744
793
  }
745
794
  return preprocessed;
746
795
  }
796
+ /**
797
+ * Merges additional properties into a provided list according to specified conditions.
798
+ * Handles properties with `$ref` or `anyOf` by utilizing corresponding helper functions for integration.
799
+ *
800
+ * @param transferParameters The transfer parameters which guide the merging process.
801
+ * @param additionalProperties The additional properties to be merged, potentially containing `$ref` or `anyOf`.
802
+ * @param list The list into which additional properties will be inserted.
803
+ * @param configObject A configuration object containing relevant settings or data for the merging process.
804
+ */
805
+ function mergeAdditionalProperties(transferParameters, additionalProperties, list, configObject) {
806
+ if (additionalProperties?.$ref) {
807
+ // Merge new entries for creation into list
808
+ mergeEntriesForInsert(transferParameters, additionalProperties, list, configObject);
809
+ }
810
+ if (Array.isArray(additionalProperties?.anyOf)) {
811
+ // Merge new entries for creation into list according to all definitions in anyOf
812
+ mergeAnyOfEntriesForInsert(transferParameters, additionalProperties, list, configObject);
813
+ }
814
+ }
747
815
  /**
748
816
  * Method updates list of definition entries from schema with entries for insertion based on `additionalProperties` entry.
749
817
  *
@@ -767,6 +835,21 @@ function mergeEntriesForInsert(transferParameters, additionalProperties, list, c
767
835
  }
768
836
  }
769
837
  }
838
+ /**
839
+ * Merges new entries according to all schemas in the `anyOf` property of the provided `additionalProperties`.
840
+ *
841
+ * @param {TransferParameterTypeV4} transferParameters - Contains parameters to manage the transfer process.
842
+ * @param {Definition} additionalProperties - The schema containing the `anyOf` property to iterate over.
843
+ * @param {[string, DefinitionOrBoolean][]} list - A list of key-value pairs to be processed.
844
+ * @param {{ [key: string]: unknown }} configObject - An object containing additional configuration parameters for the merge operation.
845
+ */
846
+ function mergeAnyOfEntriesForInsert(transferParameters, additionalProperties, list, configObject) {
847
+ const { anyOf } = additionalProperties;
848
+ // Merge new entries according to all schemas in anyOf
849
+ anyOf.forEach((anyOfDefinition) => {
850
+ mergeEntriesForInsert(transferParameters, anyOfDefinition, list, configObject);
851
+ });
852
+ }
770
853
  /**
771
854
  * Sorts the properties of a schema definition, considering the propertyIndex.
772
855
  *
@@ -804,6 +887,26 @@ function checkIfAnyOfDefinition(additionalProperties, transferParameters, transf
804
887
  }
805
888
  return preprocessed;
806
889
  }
890
+ /**
891
+ * Determines whether multi-view support is enabled based on the page table config.
892
+ *
893
+ * @param config Page configuration object.
894
+ * @returns Returns true if multi-view is enabled, otherwise false.
895
+ */
896
+ function isMultiViewsEnabled(config) {
897
+ if (!config['table']?.views) {
898
+ return false;
899
+ }
900
+ // Make sure views are populated - there could be setup without real views, but with atomic properties on views level
901
+ const viewsProperties = config['table']?.views ?? {};
902
+ for (const key in viewsProperties) {
903
+ // Treat as multi-view if at least one property in viewsProperties is an object
904
+ // Currently, the only possible object property is `view`
905
+ if (typeof viewsProperties[key] === 'object') {
906
+ return true;
907
+ }
908
+ }
909
+ }
807
910
  /**
808
911
  * Recursive function that traverses the content of the current object. It reads decorators and fills exportResultManifest entries and flex changes.
809
912
  *
@@ -832,10 +935,7 @@ function transferManifestEntriesAndFlexChange(transferParameters, configObject,
832
935
  const preprocessed = checkIfAnyOfDefinition(additionalProperties, transferParameters, transferEntryParameters, schemaDefinition, parentIds, stableIdParts);
833
936
  //Sort if there is a propertyIndex, so that the exported list ends up in manifest in the right order
834
937
  const sortedList = sortProperties(schemaDefinition.properties);
835
- if (additionalProperties?.$ref) {
836
- // Merge new entries for creation into list
837
- mergeEntriesForInsert(transferParameters, additionalProperties, sortedList, configObject);
838
- }
938
+ mergeAdditionalProperties(transferParameters, additionalProperties, sortedList, configObject);
839
939
  index = 0;
840
940
  if (sortedList) {
841
941
  sortedList.forEach((element) => {
@@ -927,6 +1027,9 @@ const exportObjectPage = (exportParameters, ui5Version, deletionRequest = false)
927
1027
  }
928
1028
  const transferParameters = {
929
1029
  exportResults,
1030
+ exportSession: {
1031
+ writtenManifestPaths: new Set()
1032
+ },
930
1033
  appId: exportParameters.appId,
931
1034
  appRootPath: exportParameters.appRootPath,
932
1035
  baseId: calculateBaseId(pageInstance, exportParameters),
@@ -982,6 +1085,9 @@ const exportListPage = (exportParameters, factory, config, pageType, ui5Version,
982
1085
  }
983
1086
  const transferParameters = {
984
1087
  exportResults,
1088
+ exportSession: {
1089
+ writtenManifestPaths: new Set()
1090
+ },
985
1091
  appId: exportParameters.appId,
986
1092
  appRootPath: exportParameters.appRootPath,
987
1093
  baseId: calculateBaseId(config, exportParameters),
@@ -1084,14 +1190,19 @@ const exportApplicationV4 = (application, manifest, appSchema) => {
1084
1190
  applyExportRule(syncRule, path, key, application, exportResults.manifest, appSchema);
1085
1191
  }
1086
1192
  else {
1087
- const manifestSection = (0, common_1.getManifestSectionByPathV4)(exportResults.manifest, path);
1193
+ // Read section/segment with 'readOnly=true'
1194
+ let manifestSection = (0, common_1.getManifestSectionByPathV4)(exportResults.manifest, path, undefined, undefined, true);
1088
1195
  const settingProperty = application.settings?.[key];
1089
1196
  // Property could be empty object or undefined, check for both
1090
1197
  if (settingProperty !== undefined &&
1091
1198
  (typeof settingProperty !== 'object' || Object.keys(settingProperty).length !== 0)) {
1199
+ // Read section/segment with 'readOnly=false'(create object/array if existing value not found by given path)
1200
+ manifestSection =
1201
+ manifestSection ??
1202
+ (0, common_1.getManifestSectionByPathV4)(exportResults.manifest, path, undefined, undefined, false);
1092
1203
  manifestSection[key] = application.settings[key];
1093
1204
  }
1094
- else if (key in manifestSection) {
1205
+ else if (manifestSection && key in manifestSection) {
1095
1206
  delete manifestSection[key];
1096
1207
  (0, utils_1.deleteEmptyStructure)(exportResults.manifest, path, false);
1097
1208
  }