@sap/ux-specification 1.136.10 → 1.139.0

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 (96) hide show
  1. package/CHANGELOG.md +1 -228
  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 +99 -99
  14. package/dist/index-min.js.map +3 -3
  15. package/dist/schemas/v4/BuildingBlocksConfig.json +12 -334
  16. package/dist/schemas/v4/ListReportConfig.json +112 -9
  17. package/dist/schemas/v4/ObjectPageConfig.json +135 -3
  18. package/dist/specification/package.json +4 -4
  19. package/dist/specification/src/sync/common/generate/objectPage.d.ts +10 -1
  20. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  21. package/dist/specification/src/sync/common/generate/objectPage.js +63 -8
  22. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  23. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  24. package/dist/specification/src/sync/common/utils.js +1 -6
  25. package/dist/specification/src/sync/common/utils.js.map +1 -1
  26. package/dist/specification/src/sync/v4/application.d.ts +2 -0
  27. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  28. package/dist/specification/src/sync/v4/application.js +29 -1
  29. package/dist/specification/src/sync/v4/application.js.map +1 -1
  30. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +1 -0
  31. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  32. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +10 -0
  33. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  34. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts +2 -0
  35. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts.map +1 -1
  36. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js +20 -0
  37. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js.map +1 -1
  38. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +6 -2
  39. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
  40. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js +27 -4
  41. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
  42. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +1 -0
  43. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts.map +1 -1
  44. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js +10 -0
  45. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js.map +1 -1
  46. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +7 -2
  47. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  48. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +37 -4
  49. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  50. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts +1 -0
  51. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js +10 -0
  53. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js.map +1 -1
  54. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +7 -2
  55. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +36 -3
  57. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  58. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts +2 -0
  59. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  60. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +20 -0
  61. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  62. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +14 -4
  63. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  64. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +75 -9
  65. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  66. package/dist/specification/src/sync/v4/generate/objectPage.d.ts +1 -0
  67. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  68. package/dist/specification/src/sync/v4/generate/objectPage.js +12 -3
  69. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  70. package/dist/specification/src/sync/v4/utils/utils.d.ts +4 -2
  71. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  72. package/dist/specification/src/sync/v4/utils/utils.js +48 -22
  73. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  74. package/dist/types/src/common/types.d.ts +5 -0
  75. package/dist/types/src/common/types.d.ts.map +1 -1
  76. package/dist/types/src/common/types.js +5 -0
  77. package/dist/types/src/common/types.js.map +1 -1
  78. package/dist/types/src/v4/controls/Action.d.ts +10 -0
  79. package/dist/types/src/v4/controls/Action.d.ts.map +1 -0
  80. package/dist/types/src/v4/controls/Action.js +3 -0
  81. package/dist/types/src/v4/controls/Action.js.map +1 -0
  82. package/dist/types/src/v4/controls/CustomAction.d.ts +2 -1
  83. package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
  84. package/dist/types/src/v4/controls/CustomAction.js.map +1 -1
  85. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +2 -1
  86. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -1
  87. package/dist/types/src/v4/controls/ObjectPageForm.d.ts +6 -3
  88. package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
  89. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +6 -3
  90. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  91. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +10 -7
  92. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  93. package/dist/types/src/v4/controls/ToolBar.d.ts +19 -14
  94. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  95. package/dist/types/src/v4/controls/ToolBar.js.map +1 -1
  96. package/package.json +4 -4
@@ -122,6 +122,12 @@
122
122
  ],
123
123
  "description": "Defines if the action is enabled. The default value is true.",
124
124
  "artifactType": "Manifest"
125
+ },
126
+ "group": {
127
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
128
+ "artifactType": "Manifest",
129
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
130
+ "type": "string"
125
131
  }
126
132
  },
127
133
  "additionalProperties": false,
@@ -376,14 +382,13 @@
376
382
  "additionalProperties": {
377
383
  "anyOf": [
378
384
  {
379
- "$ref": "#/definitions/ViewToolBarActionGroup"
385
+ "$ref": "#/definitions/GrouppableAction"
380
386
  },
381
387
  {
382
- "$ref": "#/definitions/ViewToolBarAction"
388
+ "$ref": "#/definitions/ViewToolBarActionGroup"
383
389
  },
384
390
  {
385
- "type": "object",
386
- "properties": {}
391
+ "$ref": "#/definitions/ViewToolBarAction"
387
392
  },
388
393
  {
389
394
  "$ref": "#/definitions/ViewTableCustomAction"
@@ -391,15 +396,40 @@
391
396
  ]
392
397
  }
393
398
  },
399
+ "GrouppableAction": {
400
+ "type": "object",
401
+ "properties": {
402
+ "group": {
403
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
404
+ "artifactType": "Manifest",
405
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
406
+ "type": "string"
407
+ }
408
+ },
409
+ "additionalProperties": false
410
+ },
394
411
  "ViewToolBarActionGroup": {
395
412
  "type": "object",
396
413
  "additionalProperties": {
397
- "$ref": "#/definitions/ViewToolBarAction"
414
+ "anyOf": [
415
+ {
416
+ "$ref": "#/definitions/ViewToolBarActionBase"
417
+ },
418
+ {
419
+ "type": "string"
420
+ }
421
+ ]
422
+ },
423
+ "properties": {
424
+ "group": {
425
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
426
+ "artifactType": "Manifest",
427
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
428
+ "type": "string"
429
+ }
398
430
  }
399
431
  },
400
- "ViewToolBarAction": {
401
- "description": "Action",
402
- "isViewNode": true,
432
+ "ViewToolBarActionBase": {
403
433
  "type": "object",
404
434
  "properties": {
405
435
  "enableOnSelect": {
@@ -439,6 +469,30 @@
439
469
  },
440
470
  "additionalProperties": false
441
471
  },
472
+ "ViewToolBarAction": {
473
+ "description": "Action",
474
+ "isViewNode": true,
475
+ "type": "object",
476
+ "properties": {
477
+ "enableOnSelect": {
478
+ "$ref": "#/definitions/SelectType",
479
+ "description": "Enables single selection for a bound action",
480
+ "artifactType": "Manifest"
481
+ },
482
+ "afterExecution": {
483
+ "$ref": "#/definitions/ActionAfterExecutionConfigurationToolBarLR",
484
+ "description": "Settings that control the behavior after creating a new entry.",
485
+ "artifactType": "Manifest"
486
+ },
487
+ "group": {
488
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
489
+ "artifactType": "Manifest",
490
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
491
+ "type": "string"
492
+ }
493
+ },
494
+ "additionalProperties": false
495
+ },
442
496
  "ViewTableCustomAction": {
443
497
  "type": "object",
444
498
  "properties": {
@@ -494,6 +548,12 @@
494
548
  ],
495
549
  "description": "Defines if the action is enabled. The default value is true.",
496
550
  "artifactType": "Manifest"
551
+ },
552
+ "group": {
553
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
554
+ "artifactType": "Manifest",
555
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
556
+ "type": "string"
497
557
  }
498
558
  },
499
559
  "additionalProperties": false,
@@ -729,6 +789,12 @@
729
789
  "$ref": "#/definitions/ActionAfterExecutionConfigurationToolBarLR",
730
790
  "description": "Settings that control the behavior after creating a new entry.",
731
791
  "artifactType": "Manifest"
792
+ },
793
+ "group": {
794
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
795
+ "artifactType": "Manifest",
796
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
797
+ "type": "string"
732
798
  }
733
799
  },
734
800
  "additionalProperties": false
@@ -736,9 +802,40 @@
736
802
  "ToolBarActionGroup": {
737
803
  "type": "object",
738
804
  "additionalProperties": {
739
- "$ref": "#/definitions/ToolBarAction"
805
+ "anyOf": [
806
+ {
807
+ "$ref": "#/definitions/ToolBarActionBase"
808
+ },
809
+ {
810
+ "type": "string"
811
+ }
812
+ ]
813
+ },
814
+ "properties": {
815
+ "group": {
816
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
817
+ "artifactType": "Manifest",
818
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
819
+ "type": "string"
820
+ }
740
821
  }
741
822
  },
823
+ "ToolBarActionBase": {
824
+ "type": "object",
825
+ "properties": {
826
+ "enableOnSelect": {
827
+ "$ref": "#/definitions/SelectType",
828
+ "description": "Enables single selection for a bound action.",
829
+ "artifactType": "Manifest"
830
+ },
831
+ "afterExecution": {
832
+ "$ref": "#/definitions/ActionAfterExecutionConfigurationToolBarLR",
833
+ "description": "Settings that control the behavior after creating a new entry.",
834
+ "artifactType": "Manifest"
835
+ }
836
+ },
837
+ "additionalProperties": false
838
+ },
742
839
  "CustomTableAction": {
743
840
  "type": "object",
744
841
  "properties": {
@@ -794,6 +891,12 @@
794
891
  ],
795
892
  "description": "Defines if the action is enabled. The default value is true.",
796
893
  "artifactType": "Manifest"
894
+ },
895
+ "group": {
896
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
897
+ "artifactType": "Manifest",
898
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
899
+ "type": "string"
797
900
  }
798
901
  },
799
902
  "additionalProperties": false,
@@ -134,6 +134,12 @@
134
134
  ],
135
135
  "description": "Defines if the action is enabled. The default value is true.",
136
136
  "artifactType": "Manifest"
137
+ },
138
+ "group": {
139
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
140
+ "artifactType": "Manifest",
141
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
142
+ "type": "string"
137
143
  }
138
144
  },
139
145
  "additionalProperties": false,
@@ -175,6 +181,12 @@
175
181
  "$ref": "#/definitions/ActionAfterExecutionConfigurationObjectPageHeader",
176
182
  "description": "Settings that control the behavior after creating a new entry.",
177
183
  "artifactType": "Manifest"
184
+ },
185
+ "group": {
186
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
187
+ "artifactType": "Manifest",
188
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
189
+ "type": "string"
178
190
  }
179
191
  },
180
192
  "additionalProperties": false
@@ -263,9 +275,35 @@
263
275
  "ObjectPageHeaderActionGroup": {
264
276
  "type": "object",
265
277
  "additionalProperties": {
266
- "$ref": "#/definitions/ObjectPageHeaderAction"
278
+ "anyOf": [
279
+ {
280
+ "$ref": "#/definitions/ObjectPageHeaderActionBase"
281
+ },
282
+ {
283
+ "type": "string"
284
+ }
285
+ ]
286
+ },
287
+ "properties": {
288
+ "group": {
289
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
290
+ "artifactType": "Manifest",
291
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
292
+ "type": "string"
293
+ }
267
294
  }
268
295
  },
296
+ "ObjectPageHeaderActionBase": {
297
+ "type": "object",
298
+ "properties": {
299
+ "afterExecution": {
300
+ "$ref": "#/definitions/ActionAfterExecutionConfigurationObjectPageHeader",
301
+ "description": "Settings that control the behavior after creating a new entry.",
302
+ "artifactType": "Manifest"
303
+ }
304
+ },
305
+ "additionalProperties": false
306
+ },
269
307
  "HeaderSections": {
270
308
  "description": "Header Sections",
271
309
  "isViewNode": true,
@@ -760,6 +798,12 @@
760
798
  "$ref": "#/definitions/SelectType",
761
799
  "description": "Enables single selection for a bound action.",
762
800
  "artifactType": "Manifest"
801
+ },
802
+ "group": {
803
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
804
+ "artifactType": "Manifest",
805
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
806
+ "type": "string"
763
807
  }
764
808
  },
765
809
  "additionalProperties": false
@@ -830,6 +874,12 @@
830
874
  ],
831
875
  "description": "Defines if the action is enabled. The default value is true.",
832
876
  "artifactType": "Manifest"
877
+ },
878
+ "group": {
879
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
880
+ "artifactType": "Manifest",
881
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
882
+ "type": "string"
833
883
  }
834
884
  },
835
885
  "additionalProperties": false,
@@ -860,9 +910,35 @@
860
910
  "ObjectPageToolBarActionGroup": {
861
911
  "type": "object",
862
912
  "additionalProperties": {
863
- "$ref": "#/definitions/ObjectPageToolBarAction"
913
+ "anyOf": [
914
+ {
915
+ "$ref": "#/definitions/ObjectPageToolBarActionBase"
916
+ },
917
+ {
918
+ "type": "string"
919
+ }
920
+ ]
921
+ },
922
+ "properties": {
923
+ "group": {
924
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
925
+ "artifactType": "Manifest",
926
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
927
+ "type": "string"
928
+ }
864
929
  }
865
930
  },
931
+ "ObjectPageToolBarActionBase": {
932
+ "type": "object",
933
+ "properties": {
934
+ "enableOnSelect": {
935
+ "$ref": "#/definitions/SelectType",
936
+ "description": "Enables single selection for a bound action.",
937
+ "artifactType": "Manifest"
938
+ }
939
+ },
940
+ "additionalProperties": false
941
+ },
866
942
  "PersonalizationTypeOP": {
867
943
  "type": "object",
868
944
  "properties": {
@@ -1874,6 +1950,12 @@
1874
1950
  ],
1875
1951
  "description": "Defines if the action is enabled. The default value is true.",
1876
1952
  "artifactType": "Manifest"
1953
+ },
1954
+ "group": {
1955
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
1956
+ "artifactType": "Manifest",
1957
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
1958
+ "type": "string"
1877
1959
  }
1878
1960
  },
1879
1961
  "additionalProperties": false,
@@ -1889,6 +1971,12 @@
1889
1971
  "$ref": "#/definitions/ActionAfterExecutionConfigurationForm",
1890
1972
  "description": "Settings that control the behavior after creating a new entry.",
1891
1973
  "artifactType": "Manifest"
1974
+ },
1975
+ "group": {
1976
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
1977
+ "artifactType": "Manifest",
1978
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
1979
+ "type": "string"
1892
1980
  }
1893
1981
  },
1894
1982
  "additionalProperties": false
@@ -1913,9 +2001,35 @@
1913
2001
  "ObjectPageFormActionGroup": {
1914
2002
  "type": "object",
1915
2003
  "additionalProperties": {
1916
- "$ref": "#/definitions/FormAction"
2004
+ "anyOf": [
2005
+ {
2006
+ "$ref": "#/definitions/FormActionBase"
2007
+ },
2008
+ {
2009
+ "type": "string"
2010
+ }
2011
+ ]
2012
+ },
2013
+ "properties": {
2014
+ "group": {
2015
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
2016
+ "artifactType": "Manifest",
2017
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
2018
+ "type": "string"
2019
+ }
1917
2020
  }
1918
2021
  },
2022
+ "FormActionBase": {
2023
+ "type": "object",
2024
+ "properties": {
2025
+ "afterExecution": {
2026
+ "$ref": "#/definitions/ActionAfterExecutionConfigurationForm",
2027
+ "description": "Settings that control the behavior after creating a new entry.",
2028
+ "artifactType": "Manifest"
2029
+ }
2030
+ },
2031
+ "additionalProperties": false
2032
+ },
1919
2033
  "ObjectPageSectionDataPoint": {
1920
2034
  "type": "object",
1921
2035
  "properties": {
@@ -2174,6 +2288,12 @@
2174
2288
  ],
2175
2289
  "description": "Defines if the action is enabled. The default value is true.",
2176
2290
  "artifactType": "Manifest"
2291
+ },
2292
+ "group": {
2293
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
2294
+ "artifactType": "Manifest",
2295
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
2296
+ "type": "string"
2177
2297
  }
2178
2298
  },
2179
2299
  "additionalProperties": false,
@@ -2279,6 +2399,12 @@
2279
2399
  ],
2280
2400
  "description": "Defines if the action is enabled. The default value is true.",
2281
2401
  "artifactType": "Manifest"
2402
+ },
2403
+ "group": {
2404
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
2405
+ "artifactType": "Manifest",
2406
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
2407
+ "type": "string"
2282
2408
  }
2283
2409
  },
2284
2410
  "additionalProperties": false,
@@ -2313,6 +2439,12 @@
2313
2439
  "$ref": "#/definitions/ActionAfterExecutionConfigurationFooter",
2314
2440
  "description": "Settings that control the behavior after creating a new entry.",
2315
2441
  "artifactType": "Manifest"
2442
+ },
2443
+ "group": {
2444
+ "description": "Defines a group of actions. When there's not enough space to display all grouped actions, they are moved together into overflow.",
2445
+ "artifactType": "Manifest",
2446
+ "descriptionSrcURL": "https://ui5.sap.com/#/topic/cbf16c599f2d4b8796e3702f7d4aae6c",
2447
+ "type": "string"
2316
2448
  }
2317
2449
  },
2318
2450
  "additionalProperties": false
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/ux-specification",
3
- "version": "1.136.10",
3
+ "version": "1.139.0",
4
4
  "displayName": "SAP Fiori tools - Specification",
5
5
  "description": "SAP Fiori tools - Specification",
6
6
  "files": [
@@ -55,10 +55,10 @@
55
55
  "devDependencies": {
56
56
  "@sap-ux/annotation-converter": "0.10.7",
57
57
  "@sap-ux/edmx-parser": "0.9.6",
58
- "@sap/ux-specification-types": "1.136.10",
59
- "@sapui5/types": "latest-1.136",
58
+ "@sap/ux-specification-types": "1.139.0",
59
+ "@sapui5/types": "latest-1.139",
60
60
  "@types/d3": "7.4.3",
61
- "@types/jquery": "3.5.32",
61
+ "@types/jquery": "3.5.33",
62
62
  "@types/mem-fs-editor": "7.0.7",
63
63
  "@ui5/flexibility-utils": "0.1.3",
64
64
  "@xml-tools/ast": "5.0.5",
@@ -1,7 +1,7 @@
1
1
  import type { ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
2
2
  import type { DataFieldAbstractTypes } from '@sap-ux/vocabularies-types/vocabularies/UI';
3
3
  import type { FacetConfig, GenerateAppSchemaParameters, SchemaDefinition } from '@sap/ux-specification-types';
4
- import { FioriElementsVersion, SectionType, v2 } from '@sap/ux-specification-types';
4
+ import { DefinitionName, FioriElementsVersion, SectionType, v2 } from '@sap/ux-specification-types';
5
5
  import type { Definition } from 'typescript-json-schema';
6
6
  import type { SapUiAppPageV4 } from '@sap/ux-specification-types/src/v4';
7
7
  type DefinitionsProperties = {
@@ -18,6 +18,7 @@ export interface AddDefinitionParams {
18
18
  version: FioriElementsVersion;
19
19
  section: FacetConfig;
20
20
  entityTypeName: string;
21
+ isInnerAction: boolean;
21
22
  }
22
23
  interface FieldsContainerSchema {
23
24
  fields?: DefinitionsProperties;
@@ -116,6 +117,14 @@ export declare function determineEntitySetOfEntityType(entityType: EntityType, s
116
117
  * - `version`: The version of the schema
117
118
  */
118
119
  export declare function addDataFieldDefinition(data: AddDefinitionParams): void;
120
+ /**
121
+ * Returns standard action and action group properties from the generic definition to the app specific schema.
122
+ *
123
+ * @param appSchema - Schema of the object page.
124
+ * @param definitionName - Name of the generic action defition.
125
+ * @returns Properties for standard action or action group.
126
+ */
127
+ export declare function getPropertiesForStandardActionAndActionGroup(appSchema: Definition, definitionName: DefinitionName): DefinitionsProperties;
119
128
  /**
120
129
  * Adds a data field to the schema definition for action and action group configurations.
121
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EACR,sBAAsB,EAGzB,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAGH,oBAAoB,EAIpB,WAAW,EAEX,EAAE,EACL,MAAM,6BAA6B,CAAC;AAUrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,KAAK,qBAAqB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AACjE,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,qBAAqB;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAiPD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,UAIxF;AAmID;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAwDpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG,MAAM,CAarG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,iBAAiB,GACnC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0B7D;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,2BAA2B,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,uBAAuB,KAAA,EACvB,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,GAC3B,IAAI,CA6CN;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,2BAA2B,EAC/C,uBAAuB,KAAA,EACvB,IAAI,CAAC,EAAE,cAAc,EACrB,IAAI,UAAQ,GACb,IAAI,CAkCN;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAWzF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB,GAC9B,SAAS,GAAG,SAAS,CAIvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,QAuB/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6CAA6C,CAAC,IAAI,EAAE,mBAAmB,QAwBtF"}
1
+ {"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.addHeaderActions = addHeaderActions;
9
9
  exports.addCommonHeaderSchema = addCommonHeaderSchema;
10
10
  exports.determineEntitySetOfEntityType = determineEntitySetOfEntityType;
11
11
  exports.addDataFieldDefinition = addDataFieldDefinition;
12
+ exports.getPropertiesForStandardActionAndActionGroup = getPropertiesForStandardActionAndActionGroup;
12
13
  exports.addDataFieldForActionAndActionGroupDefinition = addDataFieldForActionAndActionGroupDefinition;
13
14
  const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
14
15
  const ux_specification_types_1 = require("@sap/ux-specification-types");
@@ -244,8 +245,9 @@ function getFieldReference(version, fieldReferenceId) {
244
245
  * @param withActions A boolean indicating whether actions should be included in the field configuration. Defaults to true.
245
246
  * @param containersSchema The schema structure for field containers. Defaults to an empty object.
246
247
  * @param entityTypeName The name of the entity type associated with the section. Defaults to the fully qualified name of the section's entity type.
248
+ * @param isInnerAction Whether the action belongs to the action group.
247
249
  */
248
- function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true, containersSchema = {}, entityTypeName = section.entityType.fullyQualifiedName) {
250
+ function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true, containersSchema = {}, entityTypeName = section.entityType.fullyQualifiedName, isInnerAction = false) {
249
251
  // Evaluate field type, set field reference of properties of fields' or actions' definition
250
252
  if (!field || !field.$Type) {
251
253
  return;
@@ -260,7 +262,8 @@ function addField(sectionType, appSchema, field, targetID, key, section, version
260
262
  key,
261
263
  version,
262
264
  section,
263
- entityTypeName
265
+ entityTypeName,
266
+ isInnerAction
264
267
  };
265
268
  const strategy = DataFieldStrategy_1.dataFieldStrategyContext.getStrategy(field.$Type);
266
269
  strategy.addDefinition(addDefinitionData);
@@ -628,6 +631,25 @@ function addDataFieldDefinition(data) {
628
631
  }
629
632
  writeDefinitionToSchema(data, schemaKeyOfField, properties);
630
633
  }
634
+ /**
635
+ * Returns standard action and action group properties from the generic definition to the app specific schema.
636
+ *
637
+ * @param appSchema - Schema of the object page.
638
+ * @param definitionName - Name of the generic action defition.
639
+ * @returns Properties for standard action or action group.
640
+ */
641
+ function getPropertiesForStandardActionAndActionGroup(appSchema, definitionName) {
642
+ const properties = {};
643
+ // Default action definition
644
+ const objectPageHeaderActionDefinition = appSchema.definitions[definitionName];
645
+ if (objectPageHeaderActionDefinition) {
646
+ const objectPageHeaderActionDefinitionProperties = objectPageHeaderActionDefinition.properties ?? {};
647
+ Object.keys(objectPageHeaderActionDefinitionProperties).forEach((propertyName) => {
648
+ properties[propertyName] = objectPageHeaderActionDefinition.properties[propertyName];
649
+ });
650
+ }
651
+ return properties;
652
+ }
631
653
  /**
632
654
  * Adds a data field to the schema definition for action and action group configurations.
633
655
  *
@@ -673,8 +695,19 @@ function addGroupedActionsToDefinition(data, schemaKeyOfField, properties) {
673
695
  if (field.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */) {
674
696
  return;
675
697
  }
698
+ // read basic properties from the generic schema
699
+ const basicProperties = getPropertiesForStandardActionAndActionGroup(appSchema, ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup);
700
+ for (const propKey in basicProperties) {
701
+ properties[propKey] = basicProperties[propKey];
702
+ }
676
703
  (field['Actions'] ?? []).forEach((action) => {
677
- const dataForGroup = { ...data, field: action, targetID: schemaKeyOfField, withActions: false };
704
+ const dataForGroup = {
705
+ ...data,
706
+ field: action,
707
+ targetID: schemaKeyOfField,
708
+ withActions: false,
709
+ isInnerAction: true
710
+ };
678
711
  const actionReferenceId = (0, StableIdHelper_1.getStableIdPartFromDataField)(action);
679
712
  const actionReference = getFieldReference(version, actionReferenceId);
680
713
  const schemaKeyOfAction = determineFieldDefinitionName(version, actionReferenceId, schemaKeyOfField, actionReference);
@@ -688,10 +721,9 @@ function addGroupedActionsToDefinition(data, schemaKeyOfField, properties) {
688
721
  * @param {AddDefinitionParams} data - The parameters containing information about the schema, field, version, section, and entity type name.
689
722
  * @param {string} schemaKeyOfField - The key for the schema definition where the field's properties should be added.
690
723
  * @param {DefinitionsProperties} [properties] - Optional properties to include in the schema definition.
691
- * @returns {void} The function does not return a value.
692
724
  */
693
725
  function writeDefinitionToSchema(data, schemaKeyOfField, properties = {}) {
694
- const { appSchema, field, version, section, entityTypeName } = data;
726
+ const { appSchema, field, version, section, sectionType, entityTypeName, isInnerAction } = data;
695
727
  appSchema.definitions[schemaKeyOfField] = {
696
728
  type: 'object',
697
729
  properties,
@@ -707,13 +739,36 @@ function writeDefinitionToSchema(data, schemaKeyOfField, properties = {}) {
707
739
  // Copy the generic definition of field properties to the specific one
708
740
  copyFieldProperties(version, appSchema, field, schemaKeyOfField);
709
741
  if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */ && appSchema.definitions?.[ux_specification_types_1.DefinitionName.FormAction]) {
710
- appSchema.definitions[schemaKeyOfField].$ref = `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.FormAction}`;
742
+ if (isInnerAction) {
743
+ appSchema.definitions[schemaKeyOfField].$ref = `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.FormActionBase}`;
744
+ }
745
+ else {
746
+ appSchema.definitions[schemaKeyOfField].$ref = `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.FormAction}`;
747
+ }
711
748
  delete appSchema.definitions[schemaKeyOfField].properties;
712
749
  }
713
750
  if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForActionGroup" /* UIAnnotationTypes.DataFieldForActionGroup */ &&
714
751
  appSchema.definitions?.[ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup]) {
715
- appSchema.definitions[schemaKeyOfField].$ref =
716
- `${__1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup}`;
752
+ /* Create a new ref for the group action definition to follow the common schema definition rules
753
+ * We add the wrapper around `schemaKeyOfField`, either ObjectPageFormActionGroup<...> or ObjectPageHeaderActionGroup<...>
754
+ * For existing action group definition we use newly created definition link as $ref
755
+ * The goal is to have:
756
+ * PreviousDefinitionKey {$ref: ../../ObjectPageFormActionGroup<PreviousDefinitionKey> } without properties
757
+ * ObjectPageFormActionGroup<PreviousDefinitionKey>: with properties
758
+ */
759
+ let referenceDefinitionName = ux_specification_types_1.DefinitionName.ObjectPageFormActionGroup;
760
+ if (sectionType === ux_specification_types_1.SectionType.HeaderSection) {
761
+ referenceDefinitionName = ux_specification_types_1.DefinitionName.ObjectPageHeaderActionGroup;
762
+ }
763
+ const newActionGroupDefinitionName = `${referenceDefinitionName}<${schemaKeyOfField}>`;
764
+ const currentActionGroupDefinition = appSchema.definitions[schemaKeyOfField];
765
+ // Clone action group definition
766
+ appSchema.definitions[newActionGroupDefinitionName] = {
767
+ ...currentActionGroupDefinition
768
+ };
769
+ delete currentActionGroupDefinition.properties;
770
+ // Assign newly cloned action group definition to existing action group definition `$ref`
771
+ currentActionGroupDefinition.$ref = `${__1.DEFINITION_LINK_PREFIX}${newActionGroupDefinitionName}`;
717
772
  }
718
773
  }
719
774
  //# sourceMappingURL=objectPage.js.map