@sap/ux-specification 1.90.11 → 1.90.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 (153) hide show
  1. package/CHANGELOG.md +74 -4
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  3. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  4. package/dist/documentation/v2/v2-ListReport.html +1 -1
  5. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  6. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  7. package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
  8. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  9. package/dist/documentation/v4/v4-ListReport.html +1 -1
  10. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  11. package/dist/index-min.js +1 -1
  12. package/dist/schemas/v2/AnalyticalListPageConfig.json +90 -13
  13. package/dist/schemas/v2/ListReportConfig.json +93 -16
  14. package/dist/schemas/v2/ObjectPageConfig.json +274 -60
  15. package/dist/schemas/v2/OverviewPageConfig.json +0 -28
  16. package/dist/schemas/v4/ObjectPageConfig.json +22 -0
  17. package/dist/scripts/to-json-schema.js +11 -2
  18. package/dist/scripts/to-json-schema.js.map +1 -1
  19. package/dist/specification/v2/index-min.js +1 -1
  20. package/dist/src/apiTypes.d.ts +8 -0
  21. package/dist/src/specification/v2/controls/Card.d.ts +0 -8
  22. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  23. package/dist/src/specification/v2/controls/{DataField.d.ts → Field.d.ts} +2 -2
  24. package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
  25. package/dist/src/specification/v2/controls/Field.js.map +1 -0
  26. package/dist/src/specification/v2/controls/FormAction.d.ts +27 -0
  27. package/dist/src/specification/v2/controls/FormAction.js +3 -0
  28. package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
  29. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
  30. package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
  31. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
  32. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
  33. package/dist/src/specification/v2/controls/ObjectPageHeader.d.ts +2 -5
  34. package/dist/src/specification/v2/controls/ObjectPageHeader.js +0 -5
  35. package/dist/src/specification/v2/controls/ObjectPageHeader.js.map +1 -1
  36. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +20 -0
  37. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +25 -15
  38. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  39. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +10 -5
  40. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +1 -1
  41. package/dist/src/specification/v2/controls/Table.d.ts +7 -18
  42. package/dist/src/specification/v2/controls/Table.js +0 -15
  43. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  44. package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
  45. package/dist/src/specification/v2/controls/index.d.ts +4 -1
  46. package/dist/src/specification/v2/controls/index.js +0 -1
  47. package/dist/src/specification/v2/controls/index.js.map +1 -1
  48. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
  49. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +11 -0
  50. package/dist/src/specification/v4/controls/ObjectPageFooter.js +3 -0
  51. package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +1 -0
  52. package/dist/src/specification/v4/controls/index.d.ts +1 -0
  53. package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +2 -1
  54. package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +2 -1
  55. package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +1 -1
  56. package/dist/src/sync/common/decoration/control.js +34 -19
  57. package/dist/src/sync/common/decoration/control.js.map +1 -1
  58. package/dist/src/sync/common/generate/objectPage.d.ts +31 -2
  59. package/dist/src/sync/common/generate/objectPage.js +195 -29
  60. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  61. package/dist/src/sync/common/import/utils.d.ts +6 -0
  62. package/dist/src/sync/common/import/utils.js +21 -0
  63. package/dist/src/sync/common/import/utils.js.map +1 -1
  64. package/dist/src/sync/common/importProject.js +64 -62
  65. package/dist/src/sync/common/importProject.js.map +1 -1
  66. package/dist/src/sync/common/types.d.ts +5 -2
  67. package/dist/src/sync/common/types.js +4 -0
  68. package/dist/src/sync/common/types.js.map +1 -1
  69. package/dist/src/sync/common/utils.d.ts +5 -3
  70. package/dist/src/sync/common/utils.js +94 -94
  71. package/dist/src/sync/common/utils.js.map +1 -1
  72. package/dist/src/sync/v2/application.d.ts +1 -0
  73. package/dist/src/sync/v2/application.js +3 -0
  74. package/dist/src/sync/v2/application.js.map +1 -1
  75. package/dist/src/sync/v2/export/controls/Card.d.ts +0 -2
  76. package/dist/src/sync/v2/export/controls/Card.js +0 -14
  77. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  78. package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
  79. package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +6 -6
  80. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  81. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +1 -2
  82. package/dist/src/sync/v2/export/controls/FilterBar.js +2 -4
  83. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  84. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  85. package/dist/src/sync/v2/export/controls/FormAction.js +95 -0
  86. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  87. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +4 -1
  88. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +13 -0
  89. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -1
  90. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +3 -2
  91. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -1
  92. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +5 -0
  93. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +42 -3
  94. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  95. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +32 -0
  96. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +144 -0
  97. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  98. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +7 -5
  99. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +16 -4
  100. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  101. package/dist/src/sync/v2/export/controls/Table.d.ts +14 -5
  102. package/dist/src/sync/v2/export/controls/Table.js +84 -37
  103. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  104. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +3 -2
  105. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  106. package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
  107. package/dist/src/sync/v2/export/controls/index.js +3 -1
  108. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  109. package/dist/src/sync/v2/export/export.js +125 -86
  110. package/dist/src/sync/v2/export/export.js.map +1 -1
  111. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
  112. package/dist/src/sync/v2/generate/analyticalListReport.js +12 -13
  113. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  114. package/dist/src/sync/v2/generate/generate.js +28 -6
  115. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  116. package/dist/src/sync/v2/generate/listReport.d.ts +3 -10
  117. package/dist/src/sync/v2/generate/listReport.js +7 -12
  118. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  119. package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
  120. package/dist/src/sync/v2/generate/objectPage.js +201 -148
  121. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  122. package/dist/src/sync/v2/generate/utils.d.ts +1 -2
  123. package/dist/src/sync/v2/generate/utils.js +8 -3
  124. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  125. package/dist/src/sync/v2/import/pages/objectPage.js +176 -102
  126. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  127. package/dist/src/sync/v2/types.d.ts +12 -0
  128. package/dist/src/sync/v2/types.js +11 -0
  129. package/dist/src/sync/v2/types.js.map +1 -1
  130. package/dist/src/sync/v4/application.js +10 -10
  131. package/dist/src/sync/v4/application.js.map +1 -1
  132. package/dist/src/sync/v4/export/export.js +156 -134
  133. package/dist/src/sync/v4/export/export.js.map +1 -1
  134. package/dist/src/sync/v4/export/manifest.js +96 -76
  135. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  136. package/dist/src/sync/v4/generate/generate.js +10 -2
  137. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  138. package/dist/src/sync/v4/generate/objectPage.d.ts +3 -6
  139. package/dist/src/sync/v4/generate/objectPage.js +92 -93
  140. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  141. package/dist/src/sync/v4/import/app/appProvider.js +108 -80
  142. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  143. package/dist/src/sync/v4/import/fragment.js +41 -46
  144. package/dist/src/sync/v4/import/fragment.js.map +1 -1
  145. package/dist/src/sync/v4/utils/StableIdHelper.d.ts +0 -3
  146. package/dist/src/sync/v4/utils/StableIdHelper.js +9 -11
  147. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  148. package/dist/src/sync/v4/utils/utils.js +36 -21
  149. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  150. package/package.json +14 -15
  151. package/dist/src/specification/v2/controls/DataField.js.map +0 -1
  152. package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
  153. package/dist/src/sync/v2/export/controls/DataField.js.map +0 -1
@@ -50,6 +50,9 @@
50
50
  }
51
51
  ]
52
52
  },
53
+ "footer": {
54
+ "$ref": "#/definitions/ObjectPageFooter<GenericFooterActions>"
55
+ },
53
56
  "$schema": {
54
57
  "type": "string"
55
58
  }
@@ -61,7 +64,8 @@
61
64
  "properties": {
62
65
  "variantManagement": {
63
66
  "description": "To enable variant management for charts in an object page",
64
- "type": "boolean"
67
+ "type": "boolean",
68
+ "artifactType": "Manifest"
65
69
  }
66
70
  },
67
71
  "additionalProperties": false
@@ -90,7 +94,7 @@
90
94
  "pattern": "^(Circle|Square)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
91
95
  "anyOf": [
92
96
  {
93
- "$ref": "#/definitions/AvatarShape"
97
+ "$ref": "#/definitions/sap.m.AvatarShape"
94
98
  },
95
99
  {
96
100
  "type": "string"
@@ -107,7 +111,7 @@
107
111
  },
108
112
  "additionalProperties": false
109
113
  },
110
- "AvatarShape": {
114
+ "sap.m.AvatarShape": {
111
115
  "enum": [
112
116
  "Circle",
113
117
  "Square"
@@ -125,6 +129,30 @@
125
129
  "isViewNode": true,
126
130
  "type": "object",
127
131
  "properties": {
132
+ "tooltip": {
133
+ "description": "Text for tooltip of button",
134
+ "type": "string",
135
+ "artifactType": "FlexChange",
136
+ "controlType": "sap.uxap.ObjectPageHeaderActionButton"
137
+ },
138
+ "icon": {
139
+ "description": "Icon to be displayed as graphical element within the Button. Can be an image or icon from the icon font, represented as RFC 3986 conformant URI.",
140
+ "type": "string",
141
+ "artifactType": "FlexChange",
142
+ "controlType": "sap.uxap.ObjectPageHeaderActionButton"
143
+ },
144
+ "activeIcon": {
145
+ "description": "Alternative icon for the active (depressed) state of the button, represented as RFC 3986 conformant URI.",
146
+ "type": "string",
147
+ "artifactType": "FlexChange",
148
+ "controlType": "sap.uxap.ObjectPageHeaderActionButton"
149
+ },
150
+ "type": {
151
+ "$ref": "#/definitions/sap.m.ButtonType",
152
+ "description": "Defines the Button type.",
153
+ "artifactType": "FlexChange",
154
+ "controlType": "sap.uxap.ObjectPageHeaderActionButton"
155
+ },
128
156
  "visible": {
129
157
  "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
130
158
  "anyOf": [
@@ -140,12 +168,33 @@
140
168
  "type": "string"
141
169
  }
142
170
  ],
171
+ "description": "Whether the button should be visible on the screen.",
143
172
  "artifactType": "FlexChange",
144
- "controlType": "sap.m.Button"
173
+ "controlType": "sap.uxap.ObjectPageHeaderActionButton"
145
174
  }
146
175
  },
147
176
  "additionalProperties": false
148
177
  },
178
+ "sap.m.ButtonType": {
179
+ "description": "Different predefined button types for the {@link sap.m.Button sap.m.Button}.",
180
+ "enum": [
181
+ "Accept",
182
+ "Attention",
183
+ "Back",
184
+ "Critical",
185
+ "Default",
186
+ "Emphasized",
187
+ "Ghost",
188
+ "Negative",
189
+ "Neutral",
190
+ "Reject",
191
+ "Success",
192
+ "Transparent",
193
+ "Unstyled",
194
+ "Up"
195
+ ],
196
+ "type": "string"
197
+ },
149
198
  "ObjectPageLayout": {
150
199
  "description": "Page Layout",
151
200
  "isViewNode": true,
@@ -182,6 +231,9 @@
182
231
  "type": "object",
183
232
  "additionalProperties": {
184
233
  "anyOf": [
234
+ {
235
+ "$ref": "#/definitions/ObjectPageSectionFormV2"
236
+ },
185
237
  {
186
238
  "$ref": "#/definitions/ObjectPageSectionTableV2"
187
239
  },
@@ -189,11 +241,145 @@
189
241
  "$ref": "#/definitions/ObjectPageSectionChartV2"
190
242
  },
191
243
  {
192
- "$ref": "#/definitions/ObjectPageSectionFormV2"
244
+ "$ref": "#/definitions/ObjectPageSubSectionV2"
193
245
  }
194
246
  ]
195
247
  }
196
248
  },
249
+ "ObjectPageSectionFormV2": {
250
+ "description": "Form",
251
+ "isViewNode": true,
252
+ "type": "object",
253
+ "properties": {
254
+ "form": {
255
+ "$ref": "#/definitions/ObjectPageForm"
256
+ },
257
+ "visible": {
258
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
259
+ "anyOf": [
260
+ {
261
+ "enum": [
262
+ false,
263
+ true,
264
+ "{ui>/editable}",
265
+ "{= !${ui>/editable}}"
266
+ ]
267
+ },
268
+ {
269
+ "type": "string"
270
+ }
271
+ ],
272
+ "description": "Whether the section should be visible on the screen.",
273
+ "artifactType": "FlexChange",
274
+ "controlType": "sap.uxap.ObjectPageSection"
275
+ }
276
+ },
277
+ "additionalProperties": false
278
+ },
279
+ "ObjectPageForm": {
280
+ "description": "Object Page Form",
281
+ "isViewNode": true,
282
+ "type": "object",
283
+ "properties": {
284
+ "fields": {
285
+ "$ref": "#/definitions/ObjectPageFormFields"
286
+ },
287
+ "actions": {
288
+ "$ref": "#/definitions/ObjectPageFormActions"
289
+ }
290
+ },
291
+ "additionalProperties": false
292
+ },
293
+ "ObjectPageFormFields": {
294
+ "type": "object",
295
+ "additionalProperties": {
296
+ "$ref": "#/definitions/Field"
297
+ }
298
+ },
299
+ "Field": {
300
+ "description": "Field",
301
+ "isViewNode": true,
302
+ "type": "object",
303
+ "properties": {
304
+ "visible": {
305
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
306
+ "anyOf": [
307
+ {
308
+ "enum": [
309
+ false,
310
+ true,
311
+ "{ui>/editable}",
312
+ "{= !${ui>/editable}}"
313
+ ]
314
+ },
315
+ {
316
+ "type": "string"
317
+ }
318
+ ],
319
+ "description": "Whether the field should be visible on the screen.",
320
+ "artifactType": "FlexChange",
321
+ "controlType": "sap.ui.comp.smartform.SmartGroup"
322
+ }
323
+ },
324
+ "additionalProperties": false
325
+ },
326
+ "ObjectPageFormActions": {
327
+ "type": "object",
328
+ "additionalProperties": {
329
+ "$ref": "#/definitions/FormAction"
330
+ }
331
+ },
332
+ "FormAction": {
333
+ "description": "Action",
334
+ "isViewNode": true,
335
+ "type": "object",
336
+ "properties": {
337
+ "tooltip": {
338
+ "description": "Text for tooltip of button",
339
+ "type": "string",
340
+ "artifactType": "FlexChange",
341
+ "controlType": "sap.m.Button"
342
+ },
343
+ "icon": {
344
+ "description": "Icon to be displayed as graphical element within the Button. Can be an image or icon from the icon font, represented as RFC 3986 conformant URI.",
345
+ "type": "string",
346
+ "artifactType": "FlexChange",
347
+ "controlType": "sap.m.Button"
348
+ },
349
+ "activeIcon": {
350
+ "description": "Alternative icon for the active (depressed) state of the button, represented as RFC 3986 conformant URI.",
351
+ "type": "string",
352
+ "artifactType": "FlexChange",
353
+ "controlType": "sap.m.Button"
354
+ },
355
+ "type": {
356
+ "$ref": "#/definitions/sap.m.ButtonType",
357
+ "description": "Defines the Button type.",
358
+ "artifactType": "FlexChange",
359
+ "controlType": "sap.m.Button"
360
+ },
361
+ "visible": {
362
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
363
+ "anyOf": [
364
+ {
365
+ "enum": [
366
+ false,
367
+ true,
368
+ "{ui>/editable}",
369
+ "{= !${ui>/editable}}"
370
+ ]
371
+ },
372
+ {
373
+ "type": "string"
374
+ }
375
+ ],
376
+ "description": "Whether the button should be visible on the screen.",
377
+ "artifactType": "FlexChange",
378
+ "controlType": "sap.m.Button"
379
+ }
380
+ },
381
+ "additionalProperties": false
382
+ },
197
383
  "ObjectPageSectionTableV2": {
198
384
  "description": "Table",
199
385
  "isViewNode": true,
@@ -217,6 +403,25 @@
217
403
  "$ref": "#/definitions/ObjectPageTreeTable"
218
404
  }
219
405
  ]
406
+ },
407
+ "visible": {
408
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
409
+ "anyOf": [
410
+ {
411
+ "enum": [
412
+ false,
413
+ true,
414
+ "{ui>/editable}",
415
+ "{= !${ui>/editable}}"
416
+ ]
417
+ },
418
+ {
419
+ "type": "string"
420
+ }
421
+ ],
422
+ "description": "Whether the section should be visible on the screen.",
423
+ "artifactType": "FlexChange",
424
+ "controlType": "sap.uxap.ObjectPageSection"
220
425
  }
221
426
  },
222
427
  "additionalProperties": false
@@ -250,7 +455,7 @@
250
455
  "pattern": "^(Block|GridLarge|GridSmall)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
251
456
  "anyOf": [
252
457
  {
253
- "$ref": "#/definitions/PopinLayout"
458
+ "$ref": "#/definitions/sap.m.PopinLayout"
254
459
  },
255
460
  {
256
461
  "type": "string"
@@ -327,7 +532,7 @@
327
532
  },
328
533
  "additionalProperties": false
329
534
  },
330
- "PopinLayout": {
535
+ "sap.m.PopinLayout": {
331
536
  "enum": [
332
537
  "Block",
333
538
  "GridLarge",
@@ -339,10 +544,7 @@
339
544
  "type": "object",
340
545
  "properties": {
341
546
  "fields": {
342
- "type": "object",
343
- "additionalProperties": {
344
- "$ref": "#/definitions/FieldPath"
345
- },
547
+ "$ref": "#/definitions/CreationFieldKeysOP",
346
548
  "artifactType": "Manifest"
347
549
  }
348
550
  },
@@ -351,11 +553,18 @@
351
553
  "fields"
352
554
  ]
353
555
  },
354
- "FieldPath": {
556
+ "CreationFieldKeysOP": {
557
+ "type": "object",
558
+ "additionalProperties": {
559
+ "$ref": "#/definitions/FieldPathOP"
560
+ }
561
+ },
562
+ "FieldPathOP": {
355
563
  "type": "object",
356
564
  "properties": {
357
565
  "path": {
358
- "type": "string"
566
+ "type": "string",
567
+ "artifactType": "Manifest"
359
568
  }
360
569
  },
361
570
  "additionalProperties": false,
@@ -463,7 +672,7 @@
463
672
  "pattern": "^(Begin|Center|End|Initial|Left|Right)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
464
673
  "anyOf": [
465
674
  {
466
- "$ref": "#/definitions/HAlign"
675
+ "$ref": "#/definitions/sap.ui.core.TextAlign"
467
676
  },
468
677
  {
469
678
  "type": "string"
@@ -476,7 +685,8 @@
476
685
  },
477
686
  "additionalProperties": false
478
687
  },
479
- "HAlign": {
688
+ "sap.ui.core.TextAlign": {
689
+ "description": "Configuration options for text alignments.",
480
690
  "enum": [
481
691
  "Begin",
482
692
  "Center",
@@ -583,7 +793,7 @@
583
793
  "pattern": "^(Block|GridLarge|GridSmall)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
584
794
  "anyOf": [
585
795
  {
586
- "$ref": "#/definitions/PopinLayout"
796
+ "$ref": "#/definitions/sap.m.PopinLayout"
587
797
  },
588
798
  {
589
799
  "type": "string"
@@ -922,6 +1132,25 @@
922
1132
  "properties": {
923
1133
  "chart": {
924
1134
  "$ref": "#/definitions/ObjectPageChart"
1135
+ },
1136
+ "visible": {
1137
+ "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
1138
+ "anyOf": [
1139
+ {
1140
+ "enum": [
1141
+ false,
1142
+ true,
1143
+ "{ui>/editable}",
1144
+ "{= !${ui>/editable}}"
1145
+ ]
1146
+ },
1147
+ {
1148
+ "type": "string"
1149
+ }
1150
+ ],
1151
+ "description": "Whether the section should be visible on the screen.",
1152
+ "artifactType": "FlexChange",
1153
+ "controlType": "sap.uxap.ObjectPageSection"
925
1154
  }
926
1155
  },
927
1156
  "additionalProperties": false
@@ -939,42 +1168,16 @@
939
1168
  },
940
1169
  "additionalProperties": false
941
1170
  },
942
- "ObjectPageSectionFormV2": {
943
- "description": "Form",
944
- "isViewNode": true,
945
- "type": "object",
946
- "properties": {
947
- "form": {
948
- "$ref": "#/definitions/ObjectPageForm"
949
- }
950
- },
951
- "additionalProperties": false
952
- },
953
- "ObjectPageForm": {
954
- "description": "Object Page Form",
1171
+ "ObjectPageSubSectionV2": {
1172
+ "description": "Subsection",
955
1173
  "isViewNode": true,
956
1174
  "type": "object",
957
1175
  "properties": {
958
- "fields": {
959
- "$ref": "#/definitions/ObjectPageFormFields"
1176
+ "subsections": {
1177
+ "type": "object",
1178
+ "properties": {},
1179
+ "additionalProperties": true
960
1180
  },
961
- "actions": {
962
- "$ref": "#/definitions/ObjectPageFormActions"
963
- }
964
- },
965
- "additionalProperties": false
966
- },
967
- "ObjectPageFormFields": {
968
- "type": "object",
969
- "additionalProperties": {
970
- "$ref": "#/definitions/DataField"
971
- }
972
- },
973
- "DataField": {
974
- "description": "DataField",
975
- "isViewNode": true,
976
- "type": "object",
977
- "properties": {
978
1181
  "visible": {
979
1182
  "pattern": "^(false|true)$|^{[A-Za-z0-9{}&$!@#? _|,<>'()[\\]\\/:=.]+}$",
980
1183
  "anyOf": [
@@ -990,21 +1193,13 @@
990
1193
  "type": "string"
991
1194
  }
992
1195
  ],
993
- "description": "Whether the field should be visible on the screen.",
1196
+ "description": "Whether the section should be visible on the screen.",
994
1197
  "artifactType": "FlexChange",
995
- "controlType": "sap.ui.comp.smartform.SmartGroup"
1198
+ "controlType": "sap.uxap.ObjectPageSubSection"
996
1199
  }
997
1200
  },
998
1201
  "additionalProperties": false
999
1202
  },
1000
- "ObjectPageFormActions": {
1001
- "type": "object",
1002
- "additionalProperties": {
1003
- "type": "object",
1004
- "properties": {},
1005
- "additionalProperties": true
1006
- }
1007
- },
1008
1203
  "CustomSections": {
1009
1204
  "description": "Custom Sections",
1010
1205
  "isViewNode": true,
@@ -1050,7 +1245,7 @@
1050
1245
  "$ref": "#/definitions/SectionPosition"
1051
1246
  },
1052
1247
  "title": {
1053
- "description": "The label of the custom section, preferrable as an i18n key",
1248
+ "description": "The label of the custom section, preferably as an i18n key",
1054
1249
  "i18nClassification": "TIT: Custom section title",
1055
1250
  "type": "string"
1056
1251
  }
@@ -1109,7 +1304,7 @@
1109
1304
  "$ref": "#/definitions/SectionPosition"
1110
1305
  },
1111
1306
  "title": {
1112
- "description": "The label of the custom section, preferrable as an i18n key",
1307
+ "description": "The label of the custom section, preferably as an i18n key",
1113
1308
  "i18nClassification": "TIT: Custom section title",
1114
1309
  "type": "string"
1115
1310
  }
@@ -1123,6 +1318,25 @@
1123
1318
  "title",
1124
1319
  "type"
1125
1320
  ]
1321
+ },
1322
+ "ObjectPageFooter<GenericFooterActions>": {
1323
+ "description": "Footer",
1324
+ "isViewNode": true,
1325
+ "type": "object",
1326
+ "properties": {
1327
+ "actions": {
1328
+ "$ref": "#/definitions/GenericFooterActions"
1329
+ }
1330
+ },
1331
+ "additionalProperties": false
1332
+ },
1333
+ "GenericFooterActions": {
1334
+ "type": "object",
1335
+ "additionalProperties": {
1336
+ "type": "object",
1337
+ "properties": {},
1338
+ "additionalProperties": true
1339
+ }
1126
1340
  }
1127
1341
  },
1128
1342
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -1043,20 +1043,6 @@
1043
1043
  "$ref": "#/definitions/StackCardSettings",
1044
1044
  "description": "Represents the properties that are passed to the stack card.",
1045
1045
  "artifactType": "Manifest"
1046
- },
1047
- "tabs": {
1048
- "description": "Represents the Stack Card with view switch control.",
1049
- "type": "array",
1050
- "items": [
1051
- {
1052
- "$ref": "#/definitions/TabSetting"
1053
- }
1054
- ],
1055
- "minItems": 1,
1056
- "additionalItems": {
1057
- "$ref": "#/definitions/TabSetting"
1058
- },
1059
- "artifactType": "Manifest"
1060
1046
  }
1061
1047
  },
1062
1048
  "additionalProperties": false,
@@ -1199,20 +1185,6 @@
1199
1185
  "$ref": "#/definitions/LinkListCardSettings",
1200
1186
  "description": "Represents the properties that are passed to the link list card.",
1201
1187
  "artifactType": "Manifest"
1202
- },
1203
- "tabs": {
1204
- "description": "Represents the card with view switch control.",
1205
- "type": "array",
1206
- "items": [
1207
- {
1208
- "$ref": "#/definitions/TabSetting"
1209
- }
1210
- ],
1211
- "minItems": 1,
1212
- "additionalItems": {
1213
- "$ref": "#/definitions/TabSetting"
1214
- },
1215
- "artifactType": "Manifest"
1216
1188
  }
1217
1189
  },
1218
1190
  "additionalProperties": false,
@@ -22,6 +22,9 @@
22
22
  }
23
23
  ]
24
24
  },
25
+ "footer": {
26
+ "$ref": "#/definitions/ObjectPageFooter<GenericFooterActions>"
27
+ },
25
28
  "$schema": {
26
29
  "type": "string"
27
30
  }
@@ -716,6 +719,25 @@
716
719
  "Before"
717
720
  ],
718
721
  "type": "string"
722
+ },
723
+ "ObjectPageFooter<GenericFooterActions>": {
724
+ "description": "Footer",
725
+ "isViewNode": true,
726
+ "type": "object",
727
+ "properties": {
728
+ "actions": {
729
+ "$ref": "#/definitions/GenericFooterActions"
730
+ }
731
+ },
732
+ "additionalProperties": false
733
+ },
734
+ "GenericFooterActions": {
735
+ "type": "object",
736
+ "additionalProperties": {
737
+ "type": "object",
738
+ "properties": {},
739
+ "additionalProperties": true
740
+ }
719
741
  }
720
742
  },
721
743
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -15,7 +15,8 @@ const factory_1 = require("../src/sync/v2/export/factory");
15
15
  const factory_2 = require("../src/sync/v4/export/factory");
16
16
  const common_1 = require("../src/specification/common");
17
17
  const compilerOptions = {
18
- skipLibCheck: true
18
+ skipLibCheck: true,
19
+ types: ['node', '@sapui5/ts-types']
19
20
  };
20
21
  /**
21
22
  * Convert interfaces to json schema
@@ -32,7 +33,15 @@ function convertInterfaces(path, files, version) {
32
33
  const generator = typescript_json_schema_1.buildGenerator(typescript_json_schema_1.getProgramFromFiles([path_1.join(path, file)], compilerOptions), {
33
34
  noExtraProps: true,
34
35
  required: true,
35
- validationKeywords: ['i18nClassification', 'isViewNode', 'displayName', 'dataType', 'controlProperty']
36
+ validationKeywords: [
37
+ 'i18nClassification',
38
+ 'isViewNode',
39
+ 'displayName',
40
+ 'dataType',
41
+ 'controlProperty',
42
+ 'annotationType',
43
+ 'annotationPath'
44
+ ]
36
45
  });
37
46
  const filename = file.replace('ts', 'json');
38
47
  schemas[filename] = generator.getSchemaForSymbol(file.replace('.ts', ''));
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../scripts/to-json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../scripts/to-json-schema.ts"],"names":[],"mappings":"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"}