@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
@@ -77,17 +77,26 @@
77
77
  "properties": {
78
78
  "position": {
79
79
  "$ref": "#/definitions/CustomHeaderActionPosition",
80
- "description": "Defines the position of the action relative to other actions.",
80
+ "description": "Defines the position of the action relative to other actions or action menus.",
81
81
  "artifactType": "Manifest"
82
82
  },
83
- "text": {
84
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
85
- "i18nClassification": "COL: Custom action text",
83
+ "press": {
84
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
86
85
  "artifactType": "Manifest",
87
86
  "type": "string"
88
87
  },
89
- "press": {
90
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
88
+ "menu": {
89
+ "description": "List of action names from the manifest.",
90
+ "hidden": true,
91
+ "isViewNode": false,
92
+ "type": "array",
93
+ "items": {
94
+ "type": "string"
95
+ }
96
+ },
97
+ "text": {
98
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
99
+ "i18nClassification": "COL: Custom action text",
91
100
  "artifactType": "Manifest",
92
101
  "type": "string"
93
102
  },
@@ -104,7 +113,7 @@
104
113
  "type": "string"
105
114
  }
106
115
  ],
107
- "description": "Defines if the action button is visible.",
116
+ "description": "Determines if the action or action menu button is visible.",
108
117
  "artifactType": "Manifest"
109
118
  },
110
119
  "enabled": {
@@ -120,7 +129,7 @@
120
129
  "type": "string"
121
130
  }
122
131
  ],
123
- "description": "Defines if the action is enabled. The default value is true.",
132
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
124
133
  "artifactType": "Manifest"
125
134
  }
126
135
  },
@@ -134,13 +143,13 @@
134
143
  "type": "object",
135
144
  "properties": {
136
145
  "anchor": {
137
- "description": "The key of another action to be used as placement anchor.",
146
+ "description": "The key of another action or action menu to be used as a placement anchor.",
138
147
  "artifactType": "Manifest",
139
148
  "type": "string"
140
149
  },
141
150
  "placement": {
142
151
  "$ref": "#/definitions/ActionPlacement",
143
- "description": "Define the placement, either before or after the anchor action.",
152
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
144
153
  "artifactType": "Manifest"
145
154
  }
146
155
  },
@@ -387,6 +396,9 @@
387
396
  },
388
397
  {
389
398
  "$ref": "#/definitions/ViewTableCustomAction"
399
+ },
400
+ {
401
+ "$ref": "#/definitions/ViewCustomActionMenu"
390
402
  }
391
403
  ]
392
404
  }
@@ -452,14 +464,24 @@
452
464
  "artifactType": "Manifest",
453
465
  "type": "boolean"
454
466
  },
455
- "text": {
456
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
457
- "i18nClassification": "COL: Custom action text",
467
+ "press": {
468
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
458
469
  "artifactType": "Manifest",
459
470
  "type": "string"
460
471
  },
461
- "press": {
462
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
472
+ "menu": {
473
+ "description": "List of action names from the manifest.",
474
+ "hidden": true,
475
+ "isViewNode": false,
476
+ "type": "array",
477
+ "items": {
478
+ "type": "string"
479
+ },
480
+ "artifactType": "Manifest"
481
+ },
482
+ "text": {
483
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
484
+ "i18nClassification": "COL: Custom action text",
463
485
  "artifactType": "Manifest",
464
486
  "type": "string"
465
487
  },
@@ -476,7 +498,7 @@
476
498
  "type": "string"
477
499
  }
478
500
  ],
479
- "description": "Defines if the action button is visible.",
501
+ "description": "Determines if the action or action menu button is visible.",
480
502
  "artifactType": "Manifest"
481
503
  },
482
504
  "enabled": {
@@ -492,7 +514,7 @@
492
514
  "type": "string"
493
515
  }
494
516
  ],
495
- "description": "Defines if the action is enabled. The default value is true.",
517
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
496
518
  "artifactType": "Manifest"
497
519
  }
498
520
  },
@@ -512,7 +534,7 @@
512
534
  },
513
535
  "placement": {
514
536
  "$ref": "#/definitions/ActionPlacement",
515
- "description": "Define the placement, either before or after the anchor action.",
537
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
516
538
  "artifactType": "Manifest"
517
539
  }
518
540
  },
@@ -521,6 +543,102 @@
521
543
  "placement"
522
544
  ]
523
545
  },
546
+ "ViewCustomActionMenu": {
547
+ "isViewNode": true,
548
+ "type": "object",
549
+ "properties": {
550
+ "menu": {
551
+ "description": "List of action names from the manifest.",
552
+ "hidden": true,
553
+ "isViewNode": false,
554
+ "type": "array",
555
+ "items": {
556
+ "type": "string"
557
+ },
558
+ "artifactType": "Manifest"
559
+ },
560
+ "actions": {
561
+ "$ref": "#/definitions/ViewCustomActionMenuActions",
562
+ "description": "List of actions.",
563
+ "artifactType": "Manifest"
564
+ },
565
+ "position": {
566
+ "$ref": "#/definitions/ViewCustomActionPosition",
567
+ "description": "Defines the position of the action relative to other actions or action menus.",
568
+ "artifactType": "Manifest"
569
+ },
570
+ "defaultAction": {
571
+ "description": "The default action for a menu button.",
572
+ "isViewNode": false,
573
+ "type": "string",
574
+ "artifactType": "Manifest"
575
+ },
576
+ "text": {
577
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
578
+ "i18nClassification": "COL: Custom action text",
579
+ "artifactType": "Manifest",
580
+ "type": "string"
581
+ },
582
+ "visible": {
583
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
584
+ "anyOf": [
585
+ {
586
+ "enum": [
587
+ false,
588
+ true
589
+ ]
590
+ },
591
+ {
592
+ "type": "string"
593
+ }
594
+ ],
595
+ "description": "Determines if the action or action menu button is visible.",
596
+ "artifactType": "Manifest"
597
+ },
598
+ "enabled": {
599
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
600
+ "anyOf": [
601
+ {
602
+ "enum": [
603
+ false,
604
+ true
605
+ ]
606
+ },
607
+ {
608
+ "type": "string"
609
+ }
610
+ ],
611
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
612
+ "artifactType": "Manifest"
613
+ }
614
+ },
615
+ "additionalProperties": false,
616
+ "required": [
617
+ "menu",
618
+ "text"
619
+ ]
620
+ },
621
+ "ViewCustomActionMenuActions": {
622
+ "isViewNode": false,
623
+ "type": "object",
624
+ "additionalProperties": {
625
+ "anyOf": [
626
+ {
627
+ "$ref": "#/definitions/ViewToolBarActionGroup"
628
+ },
629
+ {
630
+ "$ref": "#/definitions/ViewToolBarAction"
631
+ },
632
+ {
633
+ "type": "object",
634
+ "properties": {}
635
+ },
636
+ {
637
+ "$ref": "#/definitions/ViewTableCustomAction"
638
+ }
639
+ ]
640
+ }
641
+ },
524
642
  "ALPTableView": {
525
643
  "description": "Table View",
526
644
  "isViewNode": true,
@@ -711,6 +829,9 @@
711
829
  },
712
830
  {
713
831
  "$ref": "#/definitions/CustomTableAction"
832
+ },
833
+ {
834
+ "$ref": "#/definitions/CustomActionMenu"
714
835
  }
715
836
  ]
716
837
  }
@@ -747,19 +868,29 @@
747
868
  "artifactType": "Manifest",
748
869
  "type": "boolean"
749
870
  },
750
- "text": {
751
- "description": "The text that is displayed on the button (typically a binding to an i18n entry).",
752
- "i18nClassification": "COL: Custom action text",
871
+ "press": {
872
+ "description": "Relevant for extension actions; allows the definition of a target action handler.",
753
873
  "artifactType": "Manifest",
754
874
  "type": "string"
755
875
  },
876
+ "menu": {
877
+ "description": "List of action names from the manifest.",
878
+ "hidden": true,
879
+ "isViewNode": false,
880
+ "type": "array",
881
+ "items": {
882
+ "type": "string"
883
+ },
884
+ "artifactType": "Manifest"
885
+ },
756
886
  "position": {
757
887
  "$ref": "#/definitions/CustomActionPosition",
758
- "description": "Defines the position of the action relative to other actions.",
888
+ "description": "Defines the position of the action relative to other actions or action menus.",
759
889
  "artifactType": "Manifest"
760
890
  },
761
- "press": {
762
- "description": "Relevant for extension actions; allows the definition of a target action handler.",
891
+ "text": {
892
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
893
+ "i18nClassification": "COL: Custom action text",
763
894
  "artifactType": "Manifest",
764
895
  "type": "string"
765
896
  },
@@ -776,7 +907,7 @@
776
907
  "type": "string"
777
908
  }
778
909
  ],
779
- "description": "Defines if the action button is visible.",
910
+ "description": "Determines if the action or action menu button is visible.",
780
911
  "artifactType": "Manifest"
781
912
  },
782
913
  "enabled": {
@@ -792,7 +923,7 @@
792
923
  "type": "string"
793
924
  }
794
925
  ],
795
- "description": "Defines if the action is enabled. The default value is true.",
926
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
796
927
  "artifactType": "Manifest"
797
928
  }
798
929
  },
@@ -806,13 +937,13 @@
806
937
  "type": "object",
807
938
  "properties": {
808
939
  "anchor": {
809
- "description": "The key of another action to be used as placement anchor.",
940
+ "description": "The key of another action or action menu to be used as a placement anchor.",
810
941
  "artifactType": "Manifest",
811
942
  "type": "string"
812
943
  },
813
944
  "placement": {
814
945
  "$ref": "#/definitions/ActionPlacement",
815
- "description": "Define the placement, either before or after the anchor action.",
946
+ "description": "Defines the placement of the action or action menu relative to the placement anchor.",
816
947
  "artifactType": "Manifest"
817
948
  }
818
949
  },
@@ -821,6 +952,98 @@
821
952
  "placement"
822
953
  ]
823
954
  },
955
+ "CustomActionMenu": {
956
+ "isViewNode": true,
957
+ "type": "object",
958
+ "properties": {
959
+ "menu": {
960
+ "description": "List of action names from the manifest.",
961
+ "hidden": true,
962
+ "isViewNode": false,
963
+ "type": "array",
964
+ "items": {
965
+ "type": "string"
966
+ },
967
+ "artifactType": "Manifest"
968
+ },
969
+ "actions": {
970
+ "$ref": "#/definitions/CustomActionMenuActions",
971
+ "description": "List of actions.",
972
+ "artifactType": "Manifest"
973
+ },
974
+ "position": {
975
+ "$ref": "#/definitions/CustomActionPosition",
976
+ "description": "Defines the position of the action relative to other actions or action menus.",
977
+ "artifactType": "Manifest"
978
+ },
979
+ "defaultAction": {
980
+ "description": "The default action for a menu button.",
981
+ "isViewNode": false,
982
+ "type": "string",
983
+ "artifactType": "Manifest"
984
+ },
985
+ "text": {
986
+ "description": "The text that is displayed on the button. This is typically a binding to an i18n entry.",
987
+ "i18nClassification": "COL: Custom action text",
988
+ "artifactType": "Manifest",
989
+ "type": "string"
990
+ },
991
+ "visible": {
992
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
993
+ "anyOf": [
994
+ {
995
+ "enum": [
996
+ false,
997
+ true
998
+ ]
999
+ },
1000
+ {
1001
+ "type": "string"
1002
+ }
1003
+ ],
1004
+ "description": "Determines if the action or action menu button is visible.",
1005
+ "artifactType": "Manifest"
1006
+ },
1007
+ "enabled": {
1008
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$",
1009
+ "anyOf": [
1010
+ {
1011
+ "enum": [
1012
+ false,
1013
+ true
1014
+ ]
1015
+ },
1016
+ {
1017
+ "type": "string"
1018
+ }
1019
+ ],
1020
+ "description": "Defines if the action or action menu is enabled. The default value is true.",
1021
+ "artifactType": "Manifest"
1022
+ }
1023
+ },
1024
+ "additionalProperties": false,
1025
+ "required": [
1026
+ "menu",
1027
+ "text"
1028
+ ]
1029
+ },
1030
+ "CustomActionMenuActions": {
1031
+ "isViewNode": false,
1032
+ "type": "object",
1033
+ "additionalProperties": {
1034
+ "anyOf": [
1035
+ {
1036
+ "$ref": "#/definitions/ToolBarAction"
1037
+ },
1038
+ {
1039
+ "$ref": "#/definitions/ToolBarActionGroup"
1040
+ },
1041
+ {
1042
+ "$ref": "#/definitions/CustomTableAction"
1043
+ }
1044
+ ]
1045
+ }
1046
+ },
824
1047
  "ViewColumns": {
825
1048
  "description": "View Columns",
826
1049
  "isViewNode": true,