@sap/ux-specification 1.136.11 → 1.136.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/CHANGELOG.md +38 -1
  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 +250 -247
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/ListReportNewConfig.json +79 -0
  16. package/dist/schemas/v4/BuildingBlocksConfig.json +90 -546
  17. package/dist/schemas/v4/ListReportConfig.json +0 -41
  18. package/dist/specification/package.json +10 -9
  19. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  20. package/dist/specification/scripts/schema/to-json-schema.js +2 -1
  21. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  22. package/dist/specification/src/api.js +2 -2
  23. package/dist/specification/src/ftfs/ftfs.d.ts +1 -1
  24. package/dist/specification/src/ftfs/ftfs.d.ts.map +1 -1
  25. package/dist/specification/src/ftfs/ftfs.js +38 -5
  26. package/dist/specification/src/ftfs/ftfs.js.map +1 -1
  27. package/dist/specification/src/ftfs/parser/annotations.d.ts +9 -0
  28. package/dist/specification/src/ftfs/parser/annotations.d.ts.map +1 -0
  29. package/dist/specification/src/ftfs/parser/annotations.js +13 -0
  30. package/dist/specification/src/ftfs/parser/annotations.js.map +1 -0
  31. package/dist/specification/src/ftfs/parser/index.d.ts +15 -0
  32. package/dist/specification/src/ftfs/parser/index.d.ts.map +1 -0
  33. package/dist/specification/src/ftfs/parser/index.js +35 -0
  34. package/dist/specification/src/ftfs/parser/index.js.map +1 -0
  35. package/dist/specification/src/ftfs/parser/model/AggregationValidator.d.ts +65 -0
  36. package/dist/specification/src/ftfs/parser/model/AggregationValidator.d.ts.map +1 -0
  37. package/dist/specification/src/ftfs/parser/model/AggregationValidator.js +209 -0
  38. package/dist/specification/src/ftfs/parser/model/AggregationValidator.js.map +1 -0
  39. package/dist/specification/src/ftfs/parser/model/ArrayAggregation.d.ts +49 -0
  40. package/dist/specification/src/ftfs/parser/model/ArrayAggregation.d.ts.map +1 -0
  41. package/dist/specification/src/ftfs/parser/model/ArrayAggregation.js +122 -0
  42. package/dist/specification/src/ftfs/parser/model/ArrayAggregation.js.map +1 -0
  43. package/dist/specification/src/ftfs/parser/model/NodeProperty.d.ts +38 -0
  44. package/dist/specification/src/ftfs/parser/model/NodeProperty.d.ts.map +1 -0
  45. package/dist/specification/src/ftfs/parser/model/NodeProperty.js +25 -0
  46. package/dist/specification/src/ftfs/parser/model/NodeProperty.js.map +1 -0
  47. package/dist/specification/src/ftfs/parser/model/ObjectAggregation.d.ts +339 -0
  48. package/dist/specification/src/ftfs/parser/model/ObjectAggregation.d.ts.map +1 -0
  49. package/dist/specification/src/ftfs/parser/model/ObjectAggregation.js +682 -0
  50. package/dist/specification/src/ftfs/parser/model/ObjectAggregation.js.map +1 -0
  51. package/dist/specification/src/ftfs/parser/model/RootAggregation.d.ts +24 -0
  52. package/dist/specification/src/ftfs/parser/model/RootAggregation.d.ts.map +1 -0
  53. package/dist/specification/src/ftfs/parser/model/RootAggregation.js +57 -0
  54. package/dist/specification/src/ftfs/parser/model/RootAggregation.js.map +1 -0
  55. package/dist/specification/src/ftfs/parser/model/TreeModel.d.ts +224 -0
  56. package/dist/specification/src/ftfs/parser/model/TreeModel.d.ts.map +1 -0
  57. package/dist/specification/src/ftfs/parser/model/TreeModel.js +947 -0
  58. package/dist/specification/src/ftfs/parser/model/TreeModel.js.map +1 -0
  59. package/dist/specification/src/ftfs/parser/model/actions/ActionAggregation.d.ts +34 -0
  60. package/dist/specification/src/ftfs/parser/model/actions/ActionAggregation.d.ts.map +1 -0
  61. package/dist/specification/src/ftfs/parser/model/actions/ActionAggregation.js +94 -0
  62. package/dist/specification/src/ftfs/parser/model/actions/ActionAggregation.js.map +1 -0
  63. package/dist/specification/src/ftfs/parser/model/actions/ActionsAggregation.d.ts +67 -0
  64. package/dist/specification/src/ftfs/parser/model/actions/ActionsAggregation.d.ts.map +1 -0
  65. package/dist/specification/src/ftfs/parser/model/actions/ActionsAggregation.js +113 -0
  66. package/dist/specification/src/ftfs/parser/model/actions/ActionsAggregation.js.map +1 -0
  67. package/dist/specification/src/ftfs/parser/model/actions/index.d.ts +3 -0
  68. package/dist/specification/src/ftfs/parser/model/actions/index.d.ts.map +1 -0
  69. package/dist/specification/src/ftfs/parser/model/actions/index.js +19 -0
  70. package/dist/specification/src/ftfs/parser/model/actions/index.js.map +1 -0
  71. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectAggregation.d.ts +17 -0
  72. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectAggregation.d.ts.map +1 -0
  73. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectAggregation.js +29 -0
  74. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectAggregation.js.map +1 -0
  75. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectsAggregation.d.ts +46 -0
  76. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectsAggregation.d.ts.map +1 -0
  77. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectsAggregation.js +66 -0
  78. package/dist/specification/src/ftfs/parser/model/additionalObjects/AdditionalObjectsAggregation.js.map +1 -0
  79. package/dist/specification/src/ftfs/parser/model/additionalObjects/index.d.ts +3 -0
  80. package/dist/specification/src/ftfs/parser/model/additionalObjects/index.d.ts.map +1 -0
  81. package/dist/specification/src/ftfs/parser/model/additionalObjects/index.js +19 -0
  82. package/dist/specification/src/ftfs/parser/model/additionalObjects/index.js.map +1 -0
  83. package/dist/specification/src/ftfs/parser/model/chart/ChartAggregation.d.ts +21 -0
  84. package/dist/specification/src/ftfs/parser/model/chart/ChartAggregation.d.ts.map +1 -0
  85. package/dist/specification/src/ftfs/parser/model/chart/ChartAggregation.js +30 -0
  86. package/dist/specification/src/ftfs/parser/model/chart/ChartAggregation.js.map +1 -0
  87. package/dist/specification/src/ftfs/parser/model/chart/index.d.ts +2 -0
  88. package/dist/specification/src/ftfs/parser/model/chart/index.d.ts.map +1 -0
  89. package/dist/specification/src/ftfs/parser/model/chart/index.js +18 -0
  90. package/dist/specification/src/ftfs/parser/model/chart/index.js.map +1 -0
  91. package/dist/specification/src/ftfs/parser/model/fields/ConnectedFieldsAggregation.d.ts +9 -0
  92. package/dist/specification/src/ftfs/parser/model/fields/ConnectedFieldsAggregation.d.ts.map +1 -0
  93. package/dist/specification/src/ftfs/parser/model/fields/ConnectedFieldsAggregation.js +16 -0
  94. package/dist/specification/src/ftfs/parser/model/fields/ConnectedFieldsAggregation.js.map +1 -0
  95. package/dist/specification/src/ftfs/parser/model/fields/FieldAggregation.d.ts +25 -0
  96. package/dist/specification/src/ftfs/parser/model/fields/FieldAggregation.d.ts.map +1 -0
  97. package/dist/specification/src/ftfs/parser/model/fields/FieldAggregation.js +45 -0
  98. package/dist/specification/src/ftfs/parser/model/fields/FieldAggregation.js.map +1 -0
  99. package/dist/specification/src/ftfs/parser/model/fields/FieldsAggregation.d.ts +22 -0
  100. package/dist/specification/src/ftfs/parser/model/fields/FieldsAggregation.d.ts.map +1 -0
  101. package/dist/specification/src/ftfs/parser/model/fields/FieldsAggregation.js +37 -0
  102. package/dist/specification/src/ftfs/parser/model/fields/FieldsAggregation.js.map +1 -0
  103. package/dist/specification/src/ftfs/parser/model/fields/index.d.ts +4 -0
  104. package/dist/specification/src/ftfs/parser/model/fields/index.d.ts.map +1 -0
  105. package/dist/specification/src/ftfs/parser/model/fields/index.js +20 -0
  106. package/dist/specification/src/ftfs/parser/model/fields/index.js.map +1 -0
  107. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldAggregation.d.ts +39 -0
  108. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldAggregation.d.ts.map +1 -0
  109. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldAggregation.js +97 -0
  110. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldAggregation.js.map +1 -0
  111. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldsAggregation.d.ts +36 -0
  112. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldsAggregation.d.ts.map +1 -0
  113. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldsAggregation.js +59 -0
  114. package/dist/specification/src/ftfs/parser/model/filter-fields/FilterFieldsAggregation.js.map +1 -0
  115. package/dist/specification/src/ftfs/parser/model/filter-fields/index.d.ts +3 -0
  116. package/dist/specification/src/ftfs/parser/model/filter-fields/index.d.ts.map +1 -0
  117. package/dist/specification/src/ftfs/parser/model/filter-fields/index.js +19 -0
  118. package/dist/specification/src/ftfs/parser/model/filter-fields/index.js.map +1 -0
  119. package/dist/specification/src/ftfs/parser/model/index.d.ts +19 -0
  120. package/dist/specification/src/ftfs/parser/model/index.d.ts.map +1 -0
  121. package/dist/specification/src/ftfs/parser/model/index.js +35 -0
  122. package/dist/specification/src/ftfs/parser/model/index.js.map +1 -0
  123. package/dist/specification/src/ftfs/parser/model/macros/MacrosRoot.d.ts +29 -0
  124. package/dist/specification/src/ftfs/parser/model/macros/MacrosRoot.d.ts.map +1 -0
  125. package/dist/specification/src/ftfs/parser/model/macros/MacrosRoot.js +50 -0
  126. package/dist/specification/src/ftfs/parser/model/macros/MacrosRoot.js.map +1 -0
  127. package/dist/specification/src/ftfs/parser/model/macros/index.d.ts +2 -0
  128. package/dist/specification/src/ftfs/parser/model/macros/index.d.ts.map +1 -0
  129. package/dist/specification/src/ftfs/parser/model/macros/index.js +18 -0
  130. package/dist/specification/src/ftfs/parser/model/macros/index.js.map +1 -0
  131. package/dist/specification/src/ftfs/parser/model/sections/HeaderSectionsAggregation.d.ts +31 -0
  132. package/dist/specification/src/ftfs/parser/model/sections/HeaderSectionsAggregation.d.ts.map +1 -0
  133. package/dist/specification/src/ftfs/parser/model/sections/HeaderSectionsAggregation.js +82 -0
  134. package/dist/specification/src/ftfs/parser/model/sections/HeaderSectionsAggregation.js.map +1 -0
  135. package/dist/specification/src/ftfs/parser/model/sections/SectionAggregation.d.ts +78 -0
  136. package/dist/specification/src/ftfs/parser/model/sections/SectionAggregation.d.ts.map +1 -0
  137. package/dist/specification/src/ftfs/parser/model/sections/SectionAggregation.js +126 -0
  138. package/dist/specification/src/ftfs/parser/model/sections/SectionAggregation.js.map +1 -0
  139. package/dist/specification/src/ftfs/parser/model/sections/SectionsAggregation.d.ts +135 -0
  140. package/dist/specification/src/ftfs/parser/model/sections/SectionsAggregation.d.ts.map +1 -0
  141. package/dist/specification/src/ftfs/parser/model/sections/SectionsAggregation.js +402 -0
  142. package/dist/specification/src/ftfs/parser/model/sections/SectionsAggregation.js.map +1 -0
  143. package/dist/specification/src/ftfs/parser/model/sections/SectionsObjectAggregation.d.ts +50 -0
  144. package/dist/specification/src/ftfs/parser/model/sections/SectionsObjectAggregation.d.ts.map +1 -0
  145. package/dist/specification/src/ftfs/parser/model/sections/SectionsObjectAggregation.js +120 -0
  146. package/dist/specification/src/ftfs/parser/model/sections/SectionsObjectAggregation.js.map +1 -0
  147. package/dist/specification/src/ftfs/parser/model/sections/SubSectionsAggregation.d.ts +39 -0
  148. package/dist/specification/src/ftfs/parser/model/sections/SubSectionsAggregation.d.ts.map +1 -0
  149. package/dist/specification/src/ftfs/parser/model/sections/SubSectionsAggregation.js +70 -0
  150. package/dist/specification/src/ftfs/parser/model/sections/SubSectionsAggregation.js.map +1 -0
  151. package/dist/specification/src/ftfs/parser/model/sections/index.d.ts +6 -0
  152. package/dist/specification/src/ftfs/parser/model/sections/index.d.ts.map +1 -0
  153. package/dist/specification/src/ftfs/parser/model/sections/index.js +22 -0
  154. package/dist/specification/src/ftfs/parser/model/sections/index.js.map +1 -0
  155. package/dist/specification/src/ftfs/parser/model/table/ColumnAggregation.d.ts +89 -0
  156. package/dist/specification/src/ftfs/parser/model/table/ColumnAggregation.d.ts.map +1 -0
  157. package/dist/specification/src/ftfs/parser/model/table/ColumnAggregation.js +175 -0
  158. package/dist/specification/src/ftfs/parser/model/table/ColumnAggregation.js.map +1 -0
  159. package/dist/specification/src/ftfs/parser/model/table/ColumnsAggregation.d.ts +113 -0
  160. package/dist/specification/src/ftfs/parser/model/table/ColumnsAggregation.d.ts.map +1 -0
  161. package/dist/specification/src/ftfs/parser/model/table/ColumnsAggregation.js +290 -0
  162. package/dist/specification/src/ftfs/parser/model/table/ColumnsAggregation.js.map +1 -0
  163. package/dist/specification/src/ftfs/parser/model/table/TableAggregation.d.ts +13 -0
  164. package/dist/specification/src/ftfs/parser/model/table/TableAggregation.d.ts.map +1 -0
  165. package/dist/specification/src/ftfs/parser/model/table/TableAggregation.js +21 -0
  166. package/dist/specification/src/ftfs/parser/model/table/TableAggregation.js.map +1 -0
  167. package/dist/specification/src/ftfs/parser/model/table/ToolbarAggregation.d.ts +15 -0
  168. package/dist/specification/src/ftfs/parser/model/table/ToolbarAggregation.d.ts.map +1 -0
  169. package/dist/specification/src/ftfs/parser/model/table/ToolbarAggregation.js +22 -0
  170. package/dist/specification/src/ftfs/parser/model/table/ToolbarAggregation.js.map +1 -0
  171. package/dist/specification/src/ftfs/parser/model/table/index.d.ts +5 -0
  172. package/dist/specification/src/ftfs/parser/model/table/index.d.ts.map +1 -0
  173. package/dist/specification/src/ftfs/parser/model/table/index.js +21 -0
  174. package/dist/specification/src/ftfs/parser/model/table/index.js.map +1 -0
  175. package/dist/specification/src/ftfs/parser/model/table/utils.d.ts +12 -0
  176. package/dist/specification/src/ftfs/parser/model/table/utils.d.ts.map +1 -0
  177. package/dist/specification/src/ftfs/parser/model/table/utils.js +44 -0
  178. package/dist/specification/src/ftfs/parser/model/table/utils.js.map +1 -0
  179. package/dist/specification/src/ftfs/parser/model/types/annotations.d.ts +63 -0
  180. package/dist/specification/src/ftfs/parser/model/types/annotations.d.ts.map +1 -0
  181. package/dist/specification/src/ftfs/parser/model/types/annotations.js +29 -0
  182. package/dist/specification/src/ftfs/parser/model/types/annotations.js.map +1 -0
  183. package/dist/specification/src/ftfs/parser/model/types/common.d.ts +13 -0
  184. package/dist/specification/src/ftfs/parser/model/types/common.d.ts.map +1 -0
  185. package/dist/specification/src/ftfs/parser/model/types/common.js +3 -0
  186. package/dist/specification/src/ftfs/parser/model/types/common.js.map +1 -0
  187. package/dist/specification/src/ftfs/parser/model/types/index.d.ts +219 -0
  188. package/dist/specification/src/ftfs/parser/model/types/index.d.ts.map +1 -0
  189. package/dist/specification/src/ftfs/parser/model/types/index.js +156 -0
  190. package/dist/specification/src/ftfs/parser/model/types/index.js.map +1 -0
  191. package/dist/specification/src/ftfs/parser/model/utils/annotations.d.ts +38 -0
  192. package/dist/specification/src/ftfs/parser/model/utils/annotations.d.ts.map +1 -0
  193. package/dist/specification/src/ftfs/parser/model/utils/annotations.js +120 -0
  194. package/dist/specification/src/ftfs/parser/model/utils/annotations.js.map +1 -0
  195. package/dist/specification/src/ftfs/parser/model/utils/i18n.d.ts +33 -0
  196. package/dist/specification/src/ftfs/parser/model/utils/i18n.d.ts.map +1 -0
  197. package/dist/specification/src/ftfs/parser/model/utils/i18n.js +69 -0
  198. package/dist/specification/src/ftfs/parser/model/utils/i18n.js.map +1 -0
  199. package/dist/specification/src/ftfs/parser/model/utils/index.d.ts +6 -0
  200. package/dist/specification/src/ftfs/parser/model/utils/index.d.ts.map +1 -0
  201. package/dist/specification/src/ftfs/parser/model/utils/index.js +22 -0
  202. package/dist/specification/src/ftfs/parser/model/utils/index.js.map +1 -0
  203. package/dist/specification/src/ftfs/parser/model/utils/object.d.ts +25 -0
  204. package/dist/specification/src/ftfs/parser/model/utils/object.d.ts.map +1 -0
  205. package/dist/specification/src/ftfs/parser/model/utils/object.js +68 -0
  206. package/dist/specification/src/ftfs/parser/model/utils/object.js.map +1 -0
  207. package/dist/specification/src/ftfs/parser/model/utils/sort.d.ts +31 -0
  208. package/dist/specification/src/ftfs/parser/model/utils/sort.d.ts.map +1 -0
  209. package/dist/specification/src/ftfs/parser/model/utils/sort.js +18 -0
  210. package/dist/specification/src/ftfs/parser/model/utils/sort.js.map +1 -0
  211. package/dist/specification/src/ftfs/parser/model/utils/utils.d.ts +95 -0
  212. package/dist/specification/src/ftfs/parser/model/utils/utils.d.ts.map +1 -0
  213. package/dist/specification/src/ftfs/parser/model/utils/utils.js +267 -0
  214. package/dist/specification/src/ftfs/parser/model/utils/utils.js.map +1 -0
  215. package/dist/specification/src/ftfs/parser/model/views/ViewAggregation.d.ts +62 -0
  216. package/dist/specification/src/ftfs/parser/model/views/ViewAggregation.d.ts.map +1 -0
  217. package/dist/specification/src/ftfs/parser/model/views/ViewAggregation.js +111 -0
  218. package/dist/specification/src/ftfs/parser/model/views/ViewAggregation.js.map +1 -0
  219. package/dist/specification/src/ftfs/parser/model/views/ViewsAggregation.d.ts +54 -0
  220. package/dist/specification/src/ftfs/parser/model/views/ViewsAggregation.d.ts.map +1 -0
  221. package/dist/specification/src/ftfs/parser/model/views/ViewsAggregation.js +144 -0
  222. package/dist/specification/src/ftfs/parser/model/views/ViewsAggregation.js.map +1 -0
  223. package/dist/specification/src/ftfs/parser/model/views/index.d.ts +3 -0
  224. package/dist/specification/src/ftfs/parser/model/views/index.d.ts.map +1 -0
  225. package/dist/specification/src/ftfs/parser/model/views/index.js +19 -0
  226. package/dist/specification/src/ftfs/parser/model/views/index.js.map +1 -0
  227. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFilterAggregation.d.ts +11 -0
  228. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFilterAggregation.d.ts.map +1 -0
  229. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFilterAggregation.js +18 -0
  230. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFilterAggregation.js.map +1 -0
  231. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFiltersAggregation.d.ts +11 -0
  232. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFiltersAggregation.d.ts.map +1 -0
  233. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFiltersAggregation.js +18 -0
  234. package/dist/specification/src/ftfs/parser/model/visual-filters/VisualFiltersAggregation.js.map +1 -0
  235. package/dist/specification/src/ftfs/parser/model/visual-filters/index.d.ts +3 -0
  236. package/dist/specification/src/ftfs/parser/model/visual-filters/index.d.ts.map +1 -0
  237. package/dist/specification/src/ftfs/parser/model/visual-filters/index.js +19 -0
  238. package/dist/specification/src/ftfs/parser/model/visual-filters/index.js.map +1 -0
  239. package/dist/specification/src/sync/common/i18n.json +5 -4
  240. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  241. package/dist/specification/src/sync/v2/generate/listReport.js +1 -92
  242. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  243. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  244. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +2 -17
  245. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  246. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +40 -0
  247. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -0
  248. package/dist/specification/src/sync/v2/generate/stableIdUtils.js +179 -0
  249. package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -0
  250. package/dist/specification/src/sync/v2/generate/utils.d.ts +63 -3
  251. package/dist/specification/src/sync/v2/generate/utils.d.ts.map +1 -1
  252. package/dist/specification/src/sync/v2/generate/utils.js +191 -7
  253. package/dist/specification/src/sync/v2/generate/utils.js.map +1 -1
  254. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.d.ts +59 -0
  255. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.d.ts.map +1 -1
  256. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.js +193 -4
  257. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.js.map +1 -1
  258. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +8 -0
  259. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
  260. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +52 -7
  261. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
  262. package/dist/specification/src/sync/v4/export/manifest.js +1 -1
  263. package/dist/specification/src/sync/v4/export/manifest.js.map +1 -1
  264. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts.map +1 -1
  265. package/dist/specification/src/sync/v4/import/app/appProvider.js +3 -0
  266. package/dist/specification/src/sync/v4/import/app/appProvider.js.map +1 -1
  267. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  268. package/dist/specification/src/sync/v4/import/pages/listReport.js +3 -1
  269. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  270. package/dist/types/src/apiTypes.d.ts +22 -0
  271. package/dist/types/src/apiTypes.d.ts.map +1 -1
  272. package/dist/types/src/apiTypes.js.map +1 -1
  273. package/dist/types/src/index.d.ts +1 -0
  274. package/dist/types/src/index.d.ts.map +1 -1
  275. package/dist/types/src/index.js +2 -1
  276. package/dist/types/src/index.js.map +1 -1
  277. package/dist/types/src/parser/application.d.ts +22 -0
  278. package/dist/types/src/parser/application.d.ts.map +1 -0
  279. package/dist/types/src/parser/application.js +3 -0
  280. package/dist/types/src/parser/application.js.map +1 -0
  281. package/dist/types/src/parser/index.d.ts +3 -0
  282. package/dist/types/src/parser/index.d.ts.map +1 -0
  283. package/dist/types/src/parser/index.js +18 -0
  284. package/dist/types/src/parser/index.js.map +1 -0
  285. package/dist/types/src/parser/model.d.ts +17 -0
  286. package/dist/types/src/parser/model.d.ts.map +1 -0
  287. package/dist/types/src/parser/model.js +3 -0
  288. package/dist/types/src/parser/model.js.map +1 -0
  289. package/dist/types/src/v4/controls/Table.d.ts +0 -5
  290. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  291. package/package.json +10 -9
  292. package/dist/specification/src/ftfs/annotations.d.ts +0 -12
  293. package/dist/specification/src/ftfs/annotations.d.ts.map +0 -1
  294. package/dist/specification/src/ftfs/annotations.js +0 -50
  295. package/dist/specification/src/ftfs/annotations.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ import type { PageData } from './types';
2
+ import { AggregationType } from './types';
3
+ import type { JSONSchema4 } from 'json-schema';
4
+ import type { PageEditAggregationData } from './ObjectAggregation';
5
+ import { ObjectAggregation } from './ObjectAggregation';
6
+ import type { PageConfig, PageType, Parser } from '@sap/ux-specification-types';
7
+ /**
8
+ * Represents an aggregation for array object.
9
+ */
10
+ export declare class ArrayAggregation extends ObjectAggregation {
11
+ readonly type = AggregationType.Array;
12
+ /**
13
+ * Creates an instance of `ArrayAggregation`.
14
+ *
15
+ * @param data Optional aggregation data object used to initialize properties.
16
+ * @param schema Optional JSON schema fragment associated with this aggregation.
17
+ */
18
+ constructor(data?: PageEditAggregationData, schema?: JSONSchema4);
19
+ /**
20
+ * Method adds aggregation object.
21
+ * Overwritten to modify array's children.
22
+ *
23
+ * @param name Name of aggregation.
24
+ * @param aggregation Aggregation to add.
25
+ * @param path Array of path to aggregation.
26
+ * @param order Order index.
27
+ * @returns Added aggregation.
28
+ */
29
+ addAggregation(name: string, aggregation: ObjectAggregation, path: Parser.PropertyPath, order?: number): ObjectAggregation;
30
+ /**
31
+ * Public method which recursively updates aggregation's properties with values from passed data object.
32
+ * Overwritten to update children aggregations depending on data.
33
+ *
34
+ * @param data Data which should be used for value population.
35
+ * @param page Page config data.
36
+ * @param pageType Page type.
37
+ * @param path Aggregation path.
38
+ */
39
+ updatePropertiesValues(data: PageData | undefined, page: PageConfig, pageType: PageType, path: Parser.PropertyPath): void;
40
+ /**
41
+ * Private method resolves primary property of aggregation.
42
+ * Logic is that we look for certain properties like 'id', 'key', etc. If those properties do not exist, then we take first string property.
43
+ *
44
+ * @param aggregation Aggregation to add.
45
+ * @returns Property name.
46
+ */
47
+ private getPrimaryKey;
48
+ }
49
+ //# sourceMappingURL=ArrayAggregation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayAggregation.d.ts","sourceRoot":"","sources":["../../../../../../src/ftfs/parser/model/ArrayAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAEH,eAAe,EAIlB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAEhF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IACnD,SAAgB,IAAI,yBAAyB;IAE7C;;;;;OAKG;gBACS,IAAI,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW;IAYhE;;;;;;;;;OASG;IACI,cAAc,CACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,MAAM,CAAC,YAAY,EACzB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB;IAiBpB;;;;;;;;OAQG;IACI,sBAAsB,CACzB,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,CAAC,YAAY,GAC1B,IAAI;IAyBP;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAqBxB"}
@@ -0,0 +1,122 @@
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
+ exports.ArrayAggregation = void 0;
7
+ const types_1 = require("./types");
8
+ const i18next_1 = __importDefault(require("i18next"));
9
+ const ObjectAggregation_1 = require("./ObjectAggregation");
10
+ /**
11
+ * Represents an aggregation for array object.
12
+ */
13
+ class ArrayAggregation extends ObjectAggregation_1.ObjectAggregation {
14
+ /**
15
+ * Creates an instance of `ArrayAggregation`.
16
+ *
17
+ * @param data Optional aggregation data object used to initialize properties.
18
+ * @param schema Optional JSON schema fragment associated with this aggregation.
19
+ */
20
+ constructor(data, schema) {
21
+ super(data, schema);
22
+ this.type = types_1.AggregationType.Array;
23
+ this.schemaCreationForms = [
24
+ {
25
+ name: types_1.AggregationCreationForm.Generic,
26
+ kind: types_1.SCHEMA_CREATION_FORM,
27
+ title: 'PAGE_EDITOR_OUTLINE_ADD_GENERIC_TITLE',
28
+ disabled: false
29
+ }
30
+ ];
31
+ }
32
+ /**
33
+ * Method adds aggregation object.
34
+ * Overwritten to modify array's children.
35
+ *
36
+ * @param name Name of aggregation.
37
+ * @param aggregation Aggregation to add.
38
+ * @param path Array of path to aggregation.
39
+ * @param order Order index.
40
+ * @returns Added aggregation.
41
+ */
42
+ addAggregation(name, aggregation, path, order) {
43
+ super.addAggregation(name, aggregation, path, order);
44
+ // Array items are sortable and deletable
45
+ this.sortableList = true;
46
+ aggregation.sortableItem = types_1.SortingOptions.Enabled;
47
+ aggregation.actions = [types_1.AggregationActions.Delete];
48
+ // Set main title
49
+ if (aggregation.schema && !aggregation.schema.title) {
50
+ // Apply custom title as node label for array element
51
+ aggregation.schema.title = i18next_1.default.t('PAGE_EDITOR_OUTLINE_ARRAY_ITEM', {
52
+ name: Number.parseInt(name, 10) + 1
53
+ });
54
+ }
55
+ aggregation.custom = true;
56
+ return aggregation;
57
+ }
58
+ /**
59
+ * Public method which recursively updates aggregation's properties with values from passed data object.
60
+ * Overwritten to update children aggregations depending on data.
61
+ *
62
+ * @param data Data which should be used for value population.
63
+ * @param page Page config data.
64
+ * @param pageType Page type.
65
+ * @param path Aggregation path.
66
+ */
67
+ updatePropertiesValues(data, page, pageType, path) {
68
+ // Base update
69
+ super.updatePropertiesValues(data, page, pageType, path);
70
+ if (!Array.isArray(data)) {
71
+ return;
72
+ }
73
+ // Update 'additionalText' property for child aggregations
74
+ for (let i = 0; i < data.length; i++) {
75
+ const aggregation = this.aggregations[i];
76
+ if (!aggregation) {
77
+ continue;
78
+ }
79
+ let additionalText;
80
+ if (this.isAtomic) {
81
+ additionalText = data[i];
82
+ }
83
+ else {
84
+ const primaryKey = this.getPrimaryKey(aggregation);
85
+ additionalText = primaryKey ? data[i][primaryKey] : undefined;
86
+ }
87
+ if (typeof additionalText !== 'object') {
88
+ aggregation.additionalText = additionalText;
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Private method resolves primary property of aggregation.
94
+ * Logic is that we look for certain properties like 'id', 'key', etc. If those properties do not exist, then we take first string property.
95
+ *
96
+ * @param aggregation Aggregation to add.
97
+ * @returns Property name.
98
+ */
99
+ getPrimaryKey(aggregation) {
100
+ // Get additional text for item array
101
+ // Start with predefined most common properties
102
+ const primaryProperties = ['id', 'title', 'key', 'name'];
103
+ const schemaProperties = aggregation.schema ? aggregation.schema.properties || {} : {};
104
+ let primaryProperty;
105
+ for (const property of primaryProperties) {
106
+ if (property in schemaProperties) {
107
+ primaryProperty = property;
108
+ break;
109
+ }
110
+ }
111
+ // No match, then use very first string property
112
+ for (const property in schemaProperties) {
113
+ if (schemaProperties[property].type === 'string') {
114
+ primaryProperty = property;
115
+ break;
116
+ }
117
+ }
118
+ return primaryProperty;
119
+ }
120
+ }
121
+ exports.ArrayAggregation = ArrayAggregation;
122
+ //# sourceMappingURL=ArrayAggregation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayAggregation.js","sourceRoot":"","sources":["../../../../../../src/ftfs/parser/model/ArrayAggregation.ts"],"names":[],"mappings":";;;;;;AACA,mCAMiB;AAEjB,sDAA8B;AAE9B,2DAAwD;AAGxD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IAGnD;;;;;OAKG;IACH,YAAY,IAA8B,EAAE,MAAoB;QAC5D,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QATR,SAAI,GAAG,uBAAe,CAAC,KAAK,CAAC;QAUzC,IAAI,CAAC,mBAAmB,GAAG;YACvB;gBACI,IAAI,EAAE,+BAAuB,CAAC,OAAO;gBACrC,IAAI,EAAE,4BAAoB;gBAC1B,KAAK,EAAE,uCAAuC;gBAC9C,QAAQ,EAAE,KAAK;aAClB;SACJ,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACI,cAAc,CACjB,IAAY,EACZ,WAA8B,EAC9B,IAAyB,EACzB,KAAc;QAEd,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,yCAAyC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,WAAW,CAAC,YAAY,GAAG,sBAAc,CAAC,OAAO,CAAC;QAClD,WAAW,CAAC,OAAO,GAAG,CAAC,0BAAkB,CAAC,MAAM,CAAC,CAAC;QAClD,iBAAiB;QACjB,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,qDAAqD;YACrD,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAO,CAAC,CAAC,CAAC,gCAAgC,EAAE;gBACnE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;aACtC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACI,sBAAsB,CACzB,IAA0B,EAC1B,IAAgB,EAChB,QAAkB,EAClB,IAAyB;QAEzB,cAAc;QACd,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,0DAA0D;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YACD,IAAI,cAAc,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACnD,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,CAAC;YACD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACrC,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,WAA8B;QAChD,qCAAqC;QACrC,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,IAAI,eAAmC,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAAC;gBAC/B,eAAe,GAAG,QAAQ,CAAC;gBAC3B,MAAM;YACV,CAAC;QACL,CAAC;QACD,gDAAgD;QAChD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/C,eAAe,GAAG,QAAQ,CAAC;gBAC3B,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAxHD,4CAwHC"}
@@ -0,0 +1,38 @@
1
+ import type { JSONSchema4 } from 'json-schema';
2
+ import type { Location, SettingOption, PropertyMessage } from './types';
3
+ import { ValidationState } from './types';
4
+ import type { ArtifactType } from '@sap/ux-specification-types';
5
+ export interface PageProperties {
6
+ [key: string]: NodeProperty;
7
+ }
8
+ /**
9
+ * Represents a configurable aggregation property in the page editing model.
10
+ * `NodeProperty` wraps schema-based metadata for a property and stores
11
+ * runtime values, validation state, messages, and UI-related options.
12
+ */
13
+ export declare class NodeProperty implements SettingOption {
14
+ schema: JSONSchema4;
15
+ value?: unknown;
16
+ pattern?: string;
17
+ freeText?: boolean;
18
+ disabled?: boolean;
19
+ state?: ValidationState;
20
+ description?: string;
21
+ required?: boolean;
22
+ isAtomic?: boolean;
23
+ i18nClassification?: string;
24
+ name: string;
25
+ displayName?: string;
26
+ artifactType?: ArtifactType;
27
+ minimum?: number;
28
+ messages?: PropertyMessage[];
29
+ locations?: Location[];
30
+ /**
31
+ * Creates an instance of `NodeProperty`.
32
+ *
33
+ * @param schema JSON Schema fragment associated with this property.
34
+ * @param displayName Display name of the property.
35
+ */
36
+ constructor(schema: JSONSchema4, displayName: string);
37
+ }
38
+ //# sourceMappingURL=NodeProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/ftfs/parser/model/NodeProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAC/B;AAED;;;;GAIG;AACH,qBAAa,YAAa,YAAW,aAAa;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,eAAe,CAAyB;IAEhD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAE7B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM;CAKvD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeProperty = void 0;
4
+ const types_1 = require("./types");
5
+ /**
6
+ * Represents a configurable aggregation property in the page editing model.
7
+ * `NodeProperty` wraps schema-based metadata for a property and stores
8
+ * runtime values, validation state, messages, and UI-related options.
9
+ */
10
+ class NodeProperty {
11
+ /**
12
+ * Creates an instance of `NodeProperty`.
13
+ *
14
+ * @param schema JSON Schema fragment associated with this property.
15
+ * @param displayName Display name of the property.
16
+ */
17
+ constructor(schema, displayName) {
18
+ this.state = types_1.ValidationState.Valid;
19
+ // Use copy - it allows to make changes in schema if we need.
20
+ this.schema = structuredClone(schema);
21
+ this.name = displayName;
22
+ }
23
+ }
24
+ exports.NodeProperty = NodeProperty;
25
+ //# sourceMappingURL=NodeProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeProperty.js","sourceRoot":"","sources":["../../../../../../src/ftfs/parser/model/NodeProperty.ts"],"names":[],"mappings":";;;AAEA,mCAA0C;AAO1C;;;;GAIG;AACH,MAAa,YAAY;IA8BrB;;;;;OAKG;IACH,YAAY,MAAmB,EAAE,WAAmB;QA3B7C,UAAK,GAAqB,uBAAe,CAAC,KAAK,CAAC;QA4BnD,6DAA6D;QAC7D,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;CACJ;AAzCD,oCAyCC"}
@@ -0,0 +1,339 @@
1
+ import type { PageData, CreationFormOptions, AggregationCreationForm, PendingChange, SupportedAggregationActions, ModelParserParams, PageAnnotations, PropertyMessage, Location, UINode, AllowedMoveRange } from './types';
2
+ import { AggregationActions, AggregationType, AggregationSortBy, SortingOptions, ValidationState } from './types';
3
+ import type { JSONSchema4 } from 'json-schema';
4
+ import { NodeProperty, type PageProperties } from './NodeProperty';
5
+ import type { I18nBundle } from '@sap-ux/i18n';
6
+ import type { ArtifactType, PageConfig, PageType, Parser } from '@sap/ux-specification-types';
7
+ export interface PageAggregations {
8
+ [key: string]: ObjectAggregation;
9
+ }
10
+ export interface PageEditAggregationData {
11
+ aggregations: PageAggregations;
12
+ properties: PageProperties;
13
+ additionalProperties?: ObjectAggregation;
14
+ propertiesVariants?: Array<PageProperties>;
15
+ }
16
+ export interface AggregationVariant {
17
+ properties: PageProperties;
18
+ aggregations: PageAggregations;
19
+ }
20
+ export type SpecificationKey = {
21
+ name: string;
22
+ value: string;
23
+ };
24
+ export type SpecificationKeysTag = Array<SpecificationKey>;
25
+ interface AggregationUnion {
26
+ name: string;
27
+ originalNames: string[];
28
+ }
29
+ export declare const CUSTOM_EXTENSION_ANCHOR_PROPERTIES: string[];
30
+ /**
31
+ * Represents an aggregation for objects.
32
+ */
33
+ export declare class ObjectAggregation implements Parser.TreeAggregation {
34
+ path: Parser.PropertyPath;
35
+ aggregations: PageAggregations;
36
+ properties: PageProperties;
37
+ additionalProperties?: ObjectAggregation;
38
+ variants: Array<AggregationVariant>;
39
+ childClass?: typeof ObjectAggregation;
40
+ additionalText?: string;
41
+ locations?: Location[];
42
+ actions?: SupportedAggregationActions;
43
+ inactive?: boolean;
44
+ schema?: JSONSchema4;
45
+ annotationCreationForms: CreationFormOptions[];
46
+ allowedAnnotationCreationForms?: AggregationCreationForm[];
47
+ schemaCreationForms: CreationFormOptions[];
48
+ formSchema?: ObjectAggregation;
49
+ sortableList?: boolean;
50
+ sortableItem?: SortingOptions;
51
+ sortableReadonlyTooltip?: string;
52
+ sortableConfigOnly?: boolean;
53
+ order?: number;
54
+ description?: string;
55
+ i18nKey?: string;
56
+ state?: ValidationState;
57
+ messages?: PropertyMessage[];
58
+ value: unknown;
59
+ readonly type: AggregationType;
60
+ readonly parent?: ObjectAggregation;
61
+ custom: boolean;
62
+ isViewNode?: boolean;
63
+ isTable: boolean;
64
+ pattern?: string;
65
+ name?: string;
66
+ union?: AggregationUnion;
67
+ sortableCollection?: string;
68
+ annotationNodeId?: number[];
69
+ dropUINodes?: Record<string, boolean>;
70
+ pending?: PendingChange;
71
+ hidden?: boolean;
72
+ artifactType?: ArtifactType;
73
+ virtual?: boolean;
74
+ icon?: string;
75
+ isAtomic?: boolean;
76
+ /**
77
+ * Creates an instance of `ObjectAggregation`.
78
+ *
79
+ * @param data Optional aggregation data object used to initialize properties.
80
+ * @param schema Optional JSON schema fragment associated with this aggregation.
81
+ */
82
+ constructor(data?: PageEditAggregationData, schema?: JSONSchema4);
83
+ /**
84
+ * Method adds aggregation object.
85
+ *
86
+ * @param name Name of aggregation.
87
+ * @param aggregation Aggregation to add.
88
+ * @param path Array of path to aggregation.
89
+ * @param order Order index.
90
+ * @param overwrite Overwrite existing aggregation.
91
+ * @returns Added aggregation.
92
+ */
93
+ addAggregation(name: string, aggregation: ObjectAggregation, path: Parser.PropertyPath, order?: number, overwrite?: boolean): ObjectAggregation;
94
+ /**
95
+ * Method adds property object.
96
+ *
97
+ * @param name Name of property.
98
+ * @param schema Schema object of property.
99
+ * @returns Instance of new property.
100
+ */
101
+ addProperty(name: string, schema: JSONSchema4): NodeProperty;
102
+ /**
103
+ * Public method returns display name of aggregation.
104
+ * Is used as display name in outline.
105
+ *
106
+ * @param i18nBundle I18n translation entries which should be looked up if display value persists.
107
+ * @returns Display name of aggregation with applied i18n.
108
+ */
109
+ getDisplayName(i18nBundle?: I18nBundle): string;
110
+ /**
111
+ * Retrieves the supported aggregation actions for this instance.
112
+ *
113
+ * @returns A list of supported aggregation actions.
114
+ */
115
+ getSupportedActions(): SupportedAggregationActions;
116
+ /**
117
+ * Public method that returns keys from schema for an aggregation object.
118
+ *
119
+ * @returns Array of keys.
120
+ */
121
+ getKeys(): SpecificationKeysTag | undefined;
122
+ /**
123
+ * Method returns value of passed schema key.
124
+ *
125
+ * @param name Name to search.
126
+ * @returns Value for passed key's name.
127
+ */
128
+ getValueOfSchemaKey(name: string): string | undefined;
129
+ /**
130
+ * Public method that returns technical name for an aggregation object.
131
+ * Currently it is used to display in tooltip.
132
+ *
133
+ * @returns technical name.
134
+ */
135
+ getTechnicalName(): string | undefined;
136
+ /**
137
+ * Protected method returns display name of aggregation without applying i18n translation.
138
+ *
139
+ * @returns Display name of aggregation.
140
+ */
141
+ protected getRawDisplayName(): string;
142
+ /**
143
+ * Method formats text for display.
144
+ * Trim is used to avoid whitespaces.
145
+ *
146
+ * @param text Text to format.
147
+ * @returns Formatted text.
148
+ */
149
+ private formatTextForDisplay;
150
+ /**
151
+ * Method updates value of aggregatipn properties and child aggregations.
152
+ *
153
+ * @param data Data which should be used for value population.
154
+ */
155
+ private updateValues;
156
+ /**
157
+ * Public method which recursively updates aggregation's properties with values from passed data object.
158
+ *
159
+ * @param data Data which should be used for value population.
160
+ * @param page Page config data.
161
+ * @param pageType Page type.
162
+ * @param path Aggregation path.
163
+ * @param annotations Page annotations.
164
+ * @param parser Model parser parameters.
165
+ */
166
+ updatePropertiesValues(data: PageData | undefined, page: PageConfig, pageType: PageType, path: Parser.PropertyPath, annotations?: PageAnnotations, parser?: ModelParserParams<ObjectAggregation>): void;
167
+ /**
168
+ * Method which called when properties and aggregation data was applied and updated.
169
+ */
170
+ protected onPropertiesUpdated(): void;
171
+ /**
172
+ * Refreshes internal data based on latest annotation node data.
173
+ *
174
+ * @param annotations Page annotations.
175
+ */
176
+ updateAnnotationData(annotations: PageAnnotations | undefined): void;
177
+ /**
178
+ * Method checks if annotation contains allowedSubnodeTypes
179
+ * and sets disabled param for add action button.
180
+ *
181
+ * @param annotations Page annotations.
182
+ * @param uiNode Annotation node.
183
+ */
184
+ private setAllowedParents;
185
+ /**
186
+ * Refreshes node locations based on the annotation node data.
187
+ *
188
+ * @param annotations All page annotation nodes.
189
+ * @param currentUINode Current annotation node.
190
+ */
191
+ protected updateLocations(annotations: PageAnnotations | undefined, currentUINode?: UINode): void;
192
+ /**
193
+ * Method provides creation options based on its related annotation node.
194
+ *
195
+ * @param annotations Page annotations.
196
+ * @returns Array of creation forms.
197
+ */
198
+ protected getNativeNodeCreationForms(annotations: PageAnnotations | undefined): CreationFormOptions[];
199
+ /**
200
+ * Method provides default creation options, when no matching annotation node exists.
201
+ *
202
+ * @param annotations Page annotations.
203
+ * @returns Array of creation forms.
204
+ */
205
+ getDefaultNativeCreationForms(annotations: PageAnnotations): CreationFormOptions[];
206
+ /**
207
+ * Method recursively searches for parent with 'annotationNodeId' and returns 'annotationNodeId' as current context.
208
+ *
209
+ * @returns Annotation node id.
210
+ */
211
+ getParentAnnotationNodeId(): number[] | undefined;
212
+ /**
213
+ * Method get valid object of properties.
214
+ * There can be case when aggregation can have several variants of property combination - we are returning currently valid, depending on entered values.
215
+ *
216
+ * @returns Object of properties.
217
+ */
218
+ getProperties(): PageProperties;
219
+ /**
220
+ * Method returns copy of ObjectAggregation object.
221
+ *
222
+ * @param type Type of aggregation.
223
+ * @returns Copy of ObjectAggregation.
224
+ */
225
+ getCopy(type?: typeof ObjectAggregation): ObjectAggregation;
226
+ /**
227
+ * Recursive method to use for copying aggregations objects.
228
+ *
229
+ * @param aggregation Original aggregation for copy.
230
+ * @param type Type of aggregation.
231
+ */
232
+ private createAggregations;
233
+ /**
234
+ * Method sorts aggregation by 'order' property.
235
+ *
236
+ * @param name1 Aggregation name.
237
+ * @param name2 Aggregation name.
238
+ * @returns Sort result.
239
+ */
240
+ private aggregationOrderSorter;
241
+ /**
242
+ * Method returns array of ordered aggregation keys/names.
243
+ *
244
+ * @param viewNodesOnly Return only aggregations for view.
245
+ * @param sortBy Sorting type. Currently aggregations can be sorted by 'ViewNode' to move visible nodes to top.
246
+ * @returns Array of aggregations keys/names.
247
+ */
248
+ getAggregationKeys(viewNodesOnly?: boolean, sortBy?: AggregationSortBy): Array<string>;
249
+ /**
250
+ * Aggregation key sorter by view node.
251
+ * Sorter also sorts by aggregation key in scope of save view node group.
252
+ *
253
+ * @param key1 First aggregation key.
254
+ * @param key2 Second aggregation key.
255
+ * @returns Sorter result.
256
+ */
257
+ private getViewNodeSorter;
258
+ /**
259
+ * Method updates path recursively.
260
+ *
261
+ * @param aggregation Aggregation to update.
262
+ * @param path Current path.
263
+ */
264
+ private updatePath;
265
+ /**
266
+ * Set method to store path of aggregation.
267
+ *
268
+ * @param path Path array.
269
+ */
270
+ protected setPath(path: Parser.PropertyPath): void;
271
+ /**
272
+ * Method returns maximal order by looping through all properties.
273
+ *
274
+ * @returns Maximal property order index.
275
+ */
276
+ getMaxOrder(): number;
277
+ /**
278
+ * Method enables union handling by adding setting union name and passing original name of aggregation.
279
+ *
280
+ * @param name Union name for aggregation.
281
+ * @param originalName Original name of aggregation.
282
+ */
283
+ addUnionName(name: string, originalName: string): void;
284
+ /**
285
+ * Protected method which returns name with additional formatting if it is unnecessary.
286
+ * Default logic does not apply any additional formatting, but it allows to overwrite such method and provide additional logic specific to each aggregation.
287
+ *
288
+ * @returns Name of aggregation.
289
+ */
290
+ protected getFormattedName(): string | undefined;
291
+ /**
292
+ * Method returns associated annotation UI Node for aggregation.
293
+ *
294
+ * @param annotations Annotations data.
295
+ * @returns Associated annotation UI Node.
296
+ */
297
+ private getCurrentUINode;
298
+ /**
299
+ * Method handles readonly annotation node by disabling actions and DnD.
300
+ *
301
+ * @param readonlyTooltip Tooltip text for readonly mode.
302
+ */
303
+ protected applyReadonlyAnnotationNode(readonlyTooltip?: string): void;
304
+ /**
305
+ * Method removes passed action from visible actions.
306
+ *
307
+ * @param action Action to remove.
308
+ */
309
+ protected removeAction(action: AggregationActions): void;
310
+ /**
311
+ * Method returns allowed drop ranges for passed source aggregation.
312
+ *
313
+ * @param source Source aggregation.
314
+ * @returns Allowed drop ranges for passed source aggregation.
315
+ */
316
+ getAllowedDropRange(source: ObjectAggregation): AllowedMoveRange[] | undefined;
317
+ /**
318
+ * Method returns whether aggregation node has macros metadata.
319
+ *
320
+ * @returns Whether aggregation node is macros node.
321
+ */
322
+ isMacrosNode(): boolean;
323
+ /**
324
+ * Method converts property to aggregation.
325
+ *
326
+ * @param key Property key/index in object.
327
+ * @param path Aggregation path.
328
+ */
329
+ private convertAtomicPropertyToAggregation;
330
+ /**
331
+ * Method handles atomic aggregation by converting properties to aggregation.
332
+ *
333
+ * @param data Aggregation source data.
334
+ * @param path Aggregation path.
335
+ */
336
+ private handleAtomicObject;
337
+ }
338
+ export {};
339
+ //# sourceMappingURL=ObjectAggregation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectAggregation.d.ts","sourceRoot":"","sources":["../../../../../../src/ftfs/parser/model/ObjectAggregation.ts"],"names":[],"mappings":"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"}