@sap/ux-specification 1.136.14 → 1.136.15

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 (174) hide show
  1. package/CHANGELOG.md +42 -0
  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 +257 -258
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v4/BuildingBlocksConfig.json +72 -35
  16. package/dist/schemas/v4/ListReportConfig.json +251 -28
  17. package/dist/schemas/v4/ObjectPageConfig.json +385 -130
  18. package/dist/specification/package.json +8 -8
  19. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  20. package/dist/specification/scripts/macros/corrections.js +17 -1
  21. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  22. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  23. package/dist/specification/scripts/macros/schema.js +10 -1
  24. package/dist/specification/scripts/macros/schema.js.map +1 -1
  25. package/dist/specification/scripts/macros/types.d.ts +1 -0
  26. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  27. package/dist/specification/src/api.d.ts.map +1 -1
  28. package/dist/specification/src/api.js +2 -1
  29. package/dist/specification/src/api.js.map +1 -1
  30. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts +38 -8
  31. package/dist/specification/src/sync/common/DataFieldStrategy.d.ts.map +1 -1
  32. package/dist/specification/src/sync/common/DataFieldStrategy.js +64 -11
  33. package/dist/specification/src/sync/common/DataFieldStrategy.js.map +1 -1
  34. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts +0 -4
  35. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts.map +1 -1
  36. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js +0 -3
  37. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js.map +1 -1
  38. package/dist/specification/src/sync/common/appProvider.d.ts +0 -1
  39. package/dist/specification/src/sync/common/appProvider.d.ts.map +1 -1
  40. package/dist/specification/src/sync/common/appProvider.js +0 -1
  41. package/dist/specification/src/sync/common/appProvider.js.map +1 -1
  42. package/dist/specification/src/sync/common/generate/objectPage.d.ts +0 -1
  43. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  44. package/dist/specification/src/sync/common/generate/objectPage.js +0 -3
  45. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  46. package/dist/specification/src/sync/common/generate/utils.d.ts +1 -2
  47. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  48. package/dist/specification/src/sync/common/generate/utils.js +1 -2
  49. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  50. package/dist/specification/src/sync/common/import/utils.d.ts +0 -1
  51. package/dist/specification/src/sync/common/import/utils.d.ts.map +1 -1
  52. package/dist/specification/src/sync/common/import/utils.js +0 -1
  53. package/dist/specification/src/sync/common/import/utils.js.map +1 -1
  54. package/dist/specification/src/sync/common/rules.js +0 -1
  55. package/dist/specification/src/sync/common/rules.js.map +1 -1
  56. package/dist/specification/src/sync/common/utils.d.ts +13 -2
  57. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  58. package/dist/specification/src/sync/common/utils.js +84 -4
  59. package/dist/specification/src/sync/common/utils.js.map +1 -1
  60. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  61. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
  62. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  63. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  64. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +46 -0
  65. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  66. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  67. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
  68. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  69. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  70. package/dist/specification/src/sync/v2/import/importPage.js +5 -6
  71. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  72. package/dist/specification/src/sync/v4/application.d.ts +1 -1
  73. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  74. package/dist/specification/src/sync/v4/application.js +1 -1
  75. package/dist/specification/src/sync/v4/application.js.map +1 -1
  76. package/dist/specification/src/sync/v4/export/actions.d.ts +39 -0
  77. package/dist/specification/src/sync/v4/export/actions.d.ts.map +1 -0
  78. package/dist/specification/src/sync/v4/export/actions.js +99 -0
  79. package/dist/specification/src/sync/v4/export/actions.js.map +1 -0
  80. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +2 -1
  81. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
  82. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
  83. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +2 -4
  84. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts.map +1 -1
  85. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js +2 -21
  86. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js.map +1 -1
  87. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts +2 -2
  88. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
  89. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
  90. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +14 -3
  91. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  92. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +52 -9
  93. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  94. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +15 -3
  95. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
  96. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +53 -10
  97. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  98. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +0 -3
  99. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  100. package/dist/specification/src/sync/v4/export/controls/Table.js +0 -3
  101. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  102. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts +9 -2
  103. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -1
  104. package/dist/specification/src/sync/v4/export/controls/ToolBar.js +39 -1
  105. package/dist/specification/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  106. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +17 -4
  107. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  108. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +76 -19
  109. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  110. package/dist/specification/src/sync/v4/export/export.d.ts +7 -0
  111. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v4/export/export.js +100 -11
  113. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  114. package/dist/specification/src/sync/v4/export/types.d.ts +2 -0
  115. package/dist/specification/src/sync/v4/export/types.d.ts.map +1 -1
  116. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -1
  117. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +19 -17
  118. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -1
  119. package/dist/specification/src/sync/v4/generate/actions.d.ts +35 -0
  120. package/dist/specification/src/sync/v4/generate/actions.d.ts.map +1 -0
  121. package/dist/specification/src/sync/v4/generate/actions.js +112 -0
  122. package/dist/specification/src/sync/v4/generate/actions.js.map +1 -0
  123. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts +3 -3
  124. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
  125. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +10 -2
  126. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  127. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts +1 -1
  128. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -1
  129. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js +3 -2
  130. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -1
  131. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  132. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +9 -2
  133. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  134. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +2 -2
  135. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  136. package/dist/specification/src/sync/v4/generate/listReport.d.ts +25 -5
  137. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  138. package/dist/specification/src/sync/v4/generate/listReport.js +97 -262
  139. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  140. package/dist/specification/src/sync/v4/generate/objectPage.d.ts +0 -1
  141. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  142. package/dist/specification/src/sync/v4/generate/objectPage.js +8 -14
  143. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  144. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
  145. package/dist/specification/src/sync/v4/import/pages/objectPage.js +16 -3
  146. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
  147. package/dist/specification/src/sync/v4/import/utils.d.ts +0 -1
  148. package/dist/specification/src/sync/v4/import/utils.d.ts.map +1 -1
  149. package/dist/specification/src/sync/v4/import/utils.js +0 -1
  150. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  151. package/dist/specification/src/sync/v4/utils/utils.d.ts +103 -25
  152. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  153. package/dist/specification/src/sync/v4/utils/utils.js +357 -44
  154. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  155. package/dist/types/src/apiTypes.d.ts +3 -2
  156. package/dist/types/src/apiTypes.d.ts.map +1 -1
  157. package/dist/types/src/apiTypes.js +1 -0
  158. package/dist/types/src/apiTypes.js.map +1 -1
  159. package/dist/types/src/common/types.d.ts +43 -2
  160. package/dist/types/src/common/types.d.ts.map +1 -1
  161. package/dist/types/src/common/types.js +41 -2
  162. package/dist/types/src/common/types.js.map +1 -1
  163. package/dist/types/src/v4/controls/CustomAction.d.ts +133 -19
  164. package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
  165. package/dist/types/src/v4/controls/CustomAction.js.map +1 -1
  166. package/dist/types/src/v4/controls/ObjectPageForm.d.ts +2 -2
  167. package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
  168. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +22 -3
  169. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  170. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +2 -2
  171. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  172. package/dist/types/src/v4/controls/ToolBar.d.ts +3 -3
  173. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  174. package/package.json +8 -8
@@ -76,6 +76,9 @@
76
76
  },
77
77
  {
78
78
  "$ref": "#/definitions/ObjectPageHeaderActionGroup"
79
+ },
80
+ {
81
+ "$ref": "#/definitions/ObjectPageHeaderCustomActionMenu"
79
82
  }
80
83
  ]
81
84
  }
@@ -85,17 +88,27 @@
85
88
  "properties": {
86
89
  "position": {
87
90
  "$ref": "#/definitions/CustomHeaderActionPositionOP",
88
- "description": "Defines the position of the action relative to the anchor action.",
91
+ "description": "Defines the position of the action relative to the anchor action or action menu.",
89
92
  "artifactType": "Manifest"
90
93
  },
91
- "text": {
92
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
93
- "i18nClassification": "COL: Custom action text",
94
+ "press": {
95
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
94
96
  "artifactType": "Manifest",
95
97
  "type": "string"
96
98
  },
97
- "press": {
98
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
99
+ "menu": {
100
+ "description": "List of action names from the manifest.",
101
+ "hidden": true,
102
+ "isViewNode": false,
103
+ "type": "array",
104
+ "items": {
105
+ "type": "string"
106
+ },
107
+ "artifactType": "Manifest"
108
+ },
109
+ "text": {
110
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
111
+ "i18nClassification": "COL: Custom action text",
99
112
  "artifactType": "Manifest",
100
113
  "type": "string"
101
114
  },
@@ -114,7 +127,7 @@
114
127
  "type": "string"
115
128
  }
116
129
  ],
117
- "description": "Defines if the action button is visible.",
130
+ "description": "Determines if the action or action menu button is visible.",
118
131
  "artifactType": "Manifest"
119
132
  },
120
133
  "enabled": {
@@ -132,7 +145,7 @@
132
145
  "type": "string"
133
146
  }
134
147
  ],
135
- "description": "Defines if the action is enabled. The default value is true.",
148
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
136
149
  "artifactType": "Manifest"
137
150
  }
138
151
  },
@@ -146,13 +159,13 @@
146
159
  "type": "object",
147
160
  "properties": {
148
161
  "anchor": {
149
- "description": "The key of another action to be used as placement anchor.",
162
+ "description": "The key of another action or action menu to be used as a placement anchor.",
150
163
  "artifactType": "Manifest",
151
164
  "type": "string"
152
165
  },
153
166
  "placement": {
154
167
  "$ref": "#/definitions/ActionPlacement",
155
- "description": "Define the placement, either before or after the anchor action.",
168
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
156
169
  "artifactType": "Manifest"
157
170
  }
158
171
  },
@@ -206,7 +219,7 @@
206
219
  },
207
220
  "additionalSemanticObjects": {
208
221
  "$ref": "#/definitions/AdditionalSemanticObjects",
209
- "description": "Additional Semantic Objects.",
222
+ "description": "Additional Semantic Objects",
210
223
  "artifactType": "Manifest"
211
224
  }
212
225
  },
@@ -266,6 +279,105 @@
266
279
  "$ref": "#/definitions/ObjectPageHeaderAction"
267
280
  }
268
281
  },
282
+ "ObjectPageHeaderCustomActionMenu": {
283
+ "isViewNode": true,
284
+ "type": "object",
285
+ "properties": {
286
+ "actions": {
287
+ "$ref": "#/definitions/ObjectPageHeaderCustomActionMenuActions",
288
+ "description": "List of actions.",
289
+ "artifactType": "Manifest"
290
+ },
291
+ "position": {
292
+ "$ref": "#/definitions/CustomHeaderActionPositionOP",
293
+ "description": "Defines the position of the action relative to other actions or action menus.",
294
+ "artifactType": "Manifest"
295
+ },
296
+ "menu": {
297
+ "description": "List of action names from the manifest.",
298
+ "hidden": true,
299
+ "isViewNode": false,
300
+ "type": "array",
301
+ "items": {
302
+ "type": "string"
303
+ },
304
+ "artifactType": "Manifest"
305
+ },
306
+ "defaultAction": {
307
+ "description": "The default action for a menu button.",
308
+ "isViewNode": false,
309
+ "type": "string",
310
+ "artifactType": "Manifest"
311
+ },
312
+ "text": {
313
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
314
+ "i18nClassification": "COL: Custom action text",
315
+ "artifactType": "Manifest",
316
+ "type": "string"
317
+ },
318
+ "visible": {
319
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
320
+ "anyOf": [
321
+ {
322
+ "enum": [
323
+ false,
324
+ true,
325
+ "{ui>/isEditable}",
326
+ "{= !${ui>/isEditable}}"
327
+ ]
328
+ },
329
+ {
330
+ "type": "string"
331
+ }
332
+ ],
333
+ "description": "Determines if the action or action menu button is visible.",
334
+ "artifactType": "Manifest"
335
+ },
336
+ "enabled": {
337
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
338
+ "anyOf": [
339
+ {
340
+ "enum": [
341
+ false,
342
+ true,
343
+ "{ui>/isEditable}",
344
+ "{= !${ui>/isEditable}}"
345
+ ]
346
+ },
347
+ {
348
+ "type": "string"
349
+ }
350
+ ],
351
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
352
+ "artifactType": "Manifest"
353
+ }
354
+ },
355
+ "additionalProperties": false,
356
+ "required": [
357
+ "menu",
358
+ "text"
359
+ ]
360
+ },
361
+ "ObjectPageHeaderCustomActionMenuActions": {
362
+ "isViewNode": false,
363
+ "type": "object",
364
+ "additionalProperties": {
365
+ "anyOf": [
366
+ {
367
+ "$ref": "#/definitions/CustomHeaderActionOP"
368
+ },
369
+ {
370
+ "$ref": "#/definitions/ObjectPageHeaderAction"
371
+ },
372
+ {
373
+ "$ref": "#/definitions/RelatedApps"
374
+ },
375
+ {
376
+ "$ref": "#/definitions/ObjectPageHeaderActionGroup"
377
+ }
378
+ ]
379
+ }
380
+ },
269
381
  "HeaderSections": {
270
382
  "description": "Header Sections",
271
383
  "isViewNode": true,
@@ -763,6 +875,9 @@
763
875
  },
764
876
  {
765
877
  "$ref": "#/definitions/ObjectPageToolBarActionGroup"
878
+ },
879
+ {
880
+ "$ref": "#/definitions/ObjectPageCustomActionMenu"
766
881
  }
767
882
  ]
768
883
  }
@@ -800,14 +915,24 @@
800
915
  "artifactType": "Manifest",
801
916
  "type": "boolean"
802
917
  },
803
- "text": {
804
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
805
- "i18nClassification": "COL: Custom action text",
918
+ "press": {
919
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
806
920
  "artifactType": "Manifest",
807
921
  "type": "string"
808
922
  },
809
- "press": {
810
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
923
+ "menu": {
924
+ "description": "List of action names from the manifest.",
925
+ "hidden": true,
926
+ "isViewNode": false,
927
+ "type": "array",
928
+ "items": {
929
+ "type": "string"
930
+ },
931
+ "artifactType": "Manifest"
932
+ },
933
+ "text": {
934
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
935
+ "i18nClassification": "COL: Custom action text",
811
936
  "artifactType": "Manifest",
812
937
  "type": "string"
813
938
  },
@@ -826,7 +951,7 @@
826
951
  "type": "string"
827
952
  }
828
953
  ],
829
- "description": "Defines if the action button is visible.",
954
+ "description": "Determines if the action or action menu button is visible.",
830
955
  "artifactType": "Manifest"
831
956
  },
832
957
  "enabled": {
@@ -844,7 +969,7 @@
844
969
  "type": "string"
845
970
  }
846
971
  ],
847
- "description": "Defines if the action is enabled. The default value is true.",
972
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
848
973
  "artifactType": "Manifest"
849
974
  }
850
975
  },
@@ -858,13 +983,13 @@
858
983
  "type": "object",
859
984
  "properties": {
860
985
  "anchor": {
861
- "description": "The key of another action to be used as placement anchor.",
986
+ "description": "The key of another action or action menu to be used as a placement anchor.",
862
987
  "artifactType": "Manifest",
863
988
  "type": "string"
864
989
  },
865
990
  "placement": {
866
991
  "$ref": "#/definitions/ActionPlacement",
867
- "description": "Define the placement, either before or after the anchor action.",
992
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
868
993
  "artifactType": "Manifest"
869
994
  }
870
995
  },
@@ -879,6 +1004,205 @@
879
1004
  "$ref": "#/definitions/ObjectPageToolBarAction"
880
1005
  }
881
1006
  },
1007
+ "ObjectPageCustomActionMenu": {
1008
+ "isViewNode": true,
1009
+ "type": "object",
1010
+ "properties": {
1011
+ "actions": {
1012
+ "$ref": "#/definitions/ObjectPageCustomActionMenuActions",
1013
+ "description": "List of actions.",
1014
+ "artifactType": "Manifest"
1015
+ },
1016
+ "menu": {
1017
+ "description": "List of action names from the manifest.",
1018
+ "hidden": true,
1019
+ "isViewNode": false,
1020
+ "type": "array",
1021
+ "items": {
1022
+ "type": "string"
1023
+ },
1024
+ "artifactType": "Manifest"
1025
+ },
1026
+ "defaultAction": {
1027
+ "description": "The default action for a menu button.",
1028
+ "isViewNode": false,
1029
+ "type": "string",
1030
+ "artifactType": "Manifest"
1031
+ },
1032
+ "position": {
1033
+ "$ref": "#/definitions/CustomActionPositionOP",
1034
+ "description": "Defines the position of the action relative to other actions or action menus.",
1035
+ "artifactType": "Manifest"
1036
+ },
1037
+ "text": {
1038
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
1039
+ "i18nClassification": "COL: Custom action text",
1040
+ "artifactType": "Manifest",
1041
+ "type": "string"
1042
+ },
1043
+ "visible": {
1044
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1045
+ "anyOf": [
1046
+ {
1047
+ "enum": [
1048
+ false,
1049
+ true,
1050
+ "{ui>/isEditable}",
1051
+ "{= !${ui>/isEditable}}"
1052
+ ]
1053
+ },
1054
+ {
1055
+ "type": "string"
1056
+ }
1057
+ ],
1058
+ "description": "Determines if the action or action menu button is visible.",
1059
+ "artifactType": "Manifest"
1060
+ },
1061
+ "enabled": {
1062
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1063
+ "anyOf": [
1064
+ {
1065
+ "enum": [
1066
+ false,
1067
+ true,
1068
+ "{ui>/isEditable}",
1069
+ "{= !${ui>/isEditable}}"
1070
+ ]
1071
+ },
1072
+ {
1073
+ "type": "string"
1074
+ }
1075
+ ],
1076
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
1077
+ "artifactType": "Manifest"
1078
+ }
1079
+ },
1080
+ "additionalProperties": false,
1081
+ "required": [
1082
+ "menu",
1083
+ "text"
1084
+ ]
1085
+ },
1086
+ "ObjectPageCustomActionMenuActions": {
1087
+ "isViewNode": false,
1088
+ "type": "object",
1089
+ "additionalProperties": {
1090
+ "anyOf": [
1091
+ {
1092
+ "$ref": "#/definitions/ObjectPageToolBarAction"
1093
+ },
1094
+ {
1095
+ "$ref": "#/definitions/CustomTableActionOP"
1096
+ },
1097
+ {
1098
+ "$ref": "#/definitions/CustomFormActionOP"
1099
+ },
1100
+ {
1101
+ "$ref": "#/definitions/FormAction"
1102
+ }
1103
+ ]
1104
+ }
1105
+ },
1106
+ "CustomFormActionOP": {
1107
+ "type": "object",
1108
+ "properties": {
1109
+ "position": {
1110
+ "$ref": "#/definitions/CustomActionPositionOP",
1111
+ "description": "Defines the position of the action relative to the anchor action or action menu.",
1112
+ "artifactType": "Manifest"
1113
+ },
1114
+ "press": {
1115
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
1116
+ "artifactType": "Manifest",
1117
+ "type": "string"
1118
+ },
1119
+ "menu": {
1120
+ "description": "List of action names from the manifest.",
1121
+ "hidden": true,
1122
+ "isViewNode": false,
1123
+ "type": "array",
1124
+ "items": {
1125
+ "type": "string"
1126
+ },
1127
+ "artifactType": "Manifest"
1128
+ },
1129
+ "text": {
1130
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
1131
+ "i18nClassification": "COL: Custom action text",
1132
+ "artifactType": "Manifest",
1133
+ "type": "string"
1134
+ },
1135
+ "visible": {
1136
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1137
+ "anyOf": [
1138
+ {
1139
+ "enum": [
1140
+ false,
1141
+ true,
1142
+ "{ui>/isEditable}",
1143
+ "{= !${ui>/isEditable}}"
1144
+ ]
1145
+ },
1146
+ {
1147
+ "type": "string"
1148
+ }
1149
+ ],
1150
+ "description": "Determines if the action or action menu button is visible.",
1151
+ "artifactType": "Manifest"
1152
+ },
1153
+ "enabled": {
1154
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1155
+ "anyOf": [
1156
+ {
1157
+ "enum": [
1158
+ false,
1159
+ true,
1160
+ "{ui>/isEditable}",
1161
+ "{= !${ui>/isEditable}}"
1162
+ ]
1163
+ },
1164
+ {
1165
+ "type": "string"
1166
+ }
1167
+ ],
1168
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
1169
+ "artifactType": "Manifest"
1170
+ }
1171
+ },
1172
+ "additionalProperties": false,
1173
+ "required": [
1174
+ "press",
1175
+ "text"
1176
+ ]
1177
+ },
1178
+ "FormAction": {
1179
+ "type": "object",
1180
+ "properties": {
1181
+ "afterExecution": {
1182
+ "$ref": "#/definitions/ActionAfterExecutionConfigurationForm",
1183
+ "description": "Settings that control the behavior after creating a new entry.",
1184
+ "artifactType": "Manifest"
1185
+ }
1186
+ },
1187
+ "additionalProperties": false
1188
+ },
1189
+ "ActionAfterExecutionConfigurationForm": {
1190
+ "type": "object",
1191
+ "properties": {
1192
+ "navigateToInstance": {
1193
+ "description": "Allows you to disable the navigation. By default, navigation is automatically triggered after you have performed an action.",
1194
+ "type": "boolean",
1195
+ "artifactType": "Manifest",
1196
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/2c65f07f44094012a511d6bd83f50f2d"
1197
+ },
1198
+ "enableAutoScroll": {
1199
+ "description": "Allows you to scroll to the newly created or changed item after you have performed an action.",
1200
+ "type": "boolean",
1201
+ "artifactType": "Manifest"
1202
+ }
1203
+ },
1204
+ "additionalProperties": false
1205
+ },
882
1206
  "PersonalizationTypeOP": {
883
1207
  "type": "object",
884
1208
  "properties": {
@@ -1899,6 +2223,9 @@
1899
2223
  "type": "object",
1900
2224
  "additionalProperties": {
1901
2225
  "anyOf": [
2226
+ {
2227
+ "$ref": "#/definitions/ObjectPageCustomActionMenu"
2228
+ },
1902
2229
  {
1903
2230
  "$ref": "#/definitions/CustomFormActionOP"
1904
2231
  },
@@ -1911,96 +2238,6 @@
1911
2238
  ]
1912
2239
  }
1913
2240
  },
1914
- "CustomFormActionOP": {
1915
- "type": "object",
1916
- "properties": {
1917
- "position": {
1918
- "$ref": "#/definitions/CustomActionPositionOP",
1919
- "description": "Defines the position of the action relative to the anchor action.",
1920
- "artifactType": "Manifest"
1921
- },
1922
- "text": {
1923
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
1924
- "i18nClassification": "COL: Custom action text",
1925
- "artifactType": "Manifest",
1926
- "type": "string"
1927
- },
1928
- "press": {
1929
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
1930
- "artifactType": "Manifest",
1931
- "type": "string"
1932
- },
1933
- "visible": {
1934
- "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1935
- "anyOf": [
1936
- {
1937
- "enum": [
1938
- false,
1939
- true,
1940
- "{ui>/isEditable}",
1941
- "{= !${ui>/isEditable}}"
1942
- ]
1943
- },
1944
- {
1945
- "type": "string"
1946
- }
1947
- ],
1948
- "description": "Defines if the action button is visible.",
1949
- "artifactType": "Manifest"
1950
- },
1951
- "enabled": {
1952
- "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1953
- "anyOf": [
1954
- {
1955
- "enum": [
1956
- false,
1957
- true,
1958
- "{ui>/isEditable}",
1959
- "{= !${ui>/isEditable}}"
1960
- ]
1961
- },
1962
- {
1963
- "type": "string"
1964
- }
1965
- ],
1966
- "description": "Defines if the action is enabled. The default value is true.",
1967
- "artifactType": "Manifest"
1968
- }
1969
- },
1970
- "additionalProperties": false,
1971
- "required": [
1972
- "press",
1973
- "text"
1974
- ]
1975
- },
1976
- "FormAction": {
1977
- "type": "object",
1978
- "properties": {
1979
- "afterExecution": {
1980
- "$ref": "#/definitions/ActionAfterExecutionConfigurationForm",
1981
- "description": "Settings that control the behavior after creating a new entry.",
1982
- "artifactType": "Manifest"
1983
- }
1984
- },
1985
- "additionalProperties": false
1986
- },
1987
- "ActionAfterExecutionConfigurationForm": {
1988
- "type": "object",
1989
- "properties": {
1990
- "navigateToInstance": {
1991
- "description": "Allows you to disable the navigation. By default, navigation is automatically triggered after you have performed an action.",
1992
- "type": "boolean",
1993
- "artifactType": "Manifest",
1994
- "descriptionSrcURL": "https://ui5.sap.com/#/topic/2c65f07f44094012a511d6bd83f50f2d"
1995
- },
1996
- "enableAutoScroll": {
1997
- "description": "Allows you to scroll to the newly created or changed item after you have performed an action.",
1998
- "type": "boolean",
1999
- "artifactType": "Manifest"
2000
- }
2001
- },
2002
- "additionalProperties": false
2003
- },
2004
2241
  "ObjectPageFormActionGroup": {
2005
2242
  "type": "object",
2006
2243
  "additionalProperties": {
@@ -2216,17 +2453,26 @@
2216
2453
  "properties": {
2217
2454
  "position": {
2218
2455
  "$ref": "#/definitions/CustomSectionActionPositionOP",
2219
- "description": "Defines the position of the action relative to the anchor action.",
2456
+ "description": "Defines the position of the action relative to the anchor action or action menu.",
2220
2457
  "artifactType": "Manifest"
2221
2458
  },
2222
- "text": {
2223
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
2224
- "i18nClassification": "COL: Custom action text",
2459
+ "press": {
2460
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
2225
2461
  "artifactType": "Manifest",
2226
2462
  "type": "string"
2227
2463
  },
2228
- "press": {
2229
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
2464
+ "menu": {
2465
+ "description": "List of action names from the manifest.",
2466
+ "hidden": true,
2467
+ "isViewNode": false,
2468
+ "type": "array",
2469
+ "items": {
2470
+ "type": "string"
2471
+ }
2472
+ },
2473
+ "text": {
2474
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
2475
+ "i18nClassification": "COL: Custom action text",
2230
2476
  "artifactType": "Manifest",
2231
2477
  "type": "string"
2232
2478
  },
@@ -2245,7 +2491,7 @@
2245
2491
  "type": "string"
2246
2492
  }
2247
2493
  ],
2248
- "description": "Defines if the action button is visible.",
2494
+ "description": "Determines if the action or action menu button is visible.",
2249
2495
  "artifactType": "Manifest"
2250
2496
  },
2251
2497
  "enabled": {
@@ -2263,7 +2509,7 @@
2263
2509
  "type": "string"
2264
2510
  }
2265
2511
  ],
2266
- "description": "Defines if the action is enabled. The default value is true.",
2512
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
2267
2513
  "artifactType": "Manifest"
2268
2514
  }
2269
2515
  },
@@ -2277,13 +2523,13 @@
2277
2523
  "type": "object",
2278
2524
  "properties": {
2279
2525
  "anchor": {
2280
- "description": "The key of another action to be used as placement anchor.",
2526
+ "description": "The key of another action or action menu to be used as a placement anchor.",
2281
2527
  "artifactType": "Manifest",
2282
2528
  "type": "string"
2283
2529
  },
2284
2530
  "placement": {
2285
2531
  "$ref": "#/definitions/ActionPlacement",
2286
- "description": "Define the placement, either before or after the anchor action.",
2532
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
2287
2533
  "artifactType": "Manifest"
2288
2534
  }
2289
2535
  },
@@ -2321,17 +2567,26 @@
2321
2567
  "properties": {
2322
2568
  "position": {
2323
2569
  "$ref": "#/definitions/CustomFooterActionPositionOP",
2324
- "description": "Defines the position of the action relative to the anchor action.",
2570
+ "description": "Defines the position of the action relative to the anchor action or action menu.",
2325
2571
  "artifactType": "Manifest"
2326
2572
  },
2327
- "text": {
2328
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
2329
- "i18nClassification": "COL: Custom action text",
2573
+ "press": {
2574
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
2330
2575
  "artifactType": "Manifest",
2331
2576
  "type": "string"
2332
2577
  },
2333
- "press": {
2334
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
2578
+ "menu": {
2579
+ "description": "List of action names from the manifest.",
2580
+ "hidden": true,
2581
+ "isViewNode": false,
2582
+ "type": "array",
2583
+ "items": {
2584
+ "type": "string"
2585
+ }
2586
+ },
2587
+ "text": {
2588
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
2589
+ "i18nClassification": "COL: Custom action text",
2335
2590
  "artifactType": "Manifest",
2336
2591
  "type": "string"
2337
2592
  },
@@ -2350,7 +2605,7 @@
2350
2605
  "type": "string"
2351
2606
  }
2352
2607
  ],
2353
- "description": "Defines if the action button is visible.",
2608
+ "description": "Determines if the action or action menu button is visible.",
2354
2609
  "artifactType": "Manifest"
2355
2610
  },
2356
2611
  "enabled": {
@@ -2368,7 +2623,7 @@
2368
2623
  "type": "string"
2369
2624
  }
2370
2625
  ],
2371
- "description": "Defines if the action is enabled. The default value is true.",
2626
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
2372
2627
  "artifactType": "Manifest"
2373
2628
  }
2374
2629
  },
@@ -2382,13 +2637,13 @@
2382
2637
  "type": "object",
2383
2638
  "properties": {
2384
2639
  "anchor": {
2385
- "description": "The key of another action to be used as placement anchor.",
2640
+ "description": "The key of another action or action menu to be used as a placement anchor.",
2386
2641
  "artifactType": "Manifest",
2387
2642
  "type": "string"
2388
2643
  },
2389
2644
  "placement": {
2390
2645
  "$ref": "#/definitions/ActionPlacement",
2391
- "description": "Define the placement, either before or after the anchor action.",
2646
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
2392
2647
  "artifactType": "Manifest"
2393
2648
  }
2394
2649
  },