@sap/ux-specification 1.108.68 → 1.108.69
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.
- package/CHANGELOG.md +26 -0
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ListReportNew.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
- package/dist/documentation/v4/v4-FreestylePage.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +233 -236
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ApplicationV2.json +18 -9
- package/dist/schemas/v2/ListReportNewConfig.json +91 -0
- package/dist/schemas/v4/ApplicationV4.json +18 -9
- package/dist/schemas/v4/BuildingBlocksConfig.json +2 -3
- package/dist/specification/package.json +5 -5
- package/dist/specification/scripts/macros/schema.d.ts +7 -0
- package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
- package/dist/specification/scripts/macros/schema.js +61 -14
- package/dist/specification/scripts/macros/schema.js.map +1 -1
- package/dist/specification/scripts/macros/types.d.ts +1 -0
- package/dist/specification/scripts/macros/types.d.ts.map +1 -1
- package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
- package/dist/specification/scripts/schema/to-json-schema.js +53 -7
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +17 -18
- package/dist/specification/src/sync/common/i18n.json +12 -1
- package/dist/specification/src/sync/common/utils.d.ts +25 -0
- package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/utils.js +55 -0
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js +1 -10
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
- package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
- package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
- package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +54 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +148 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +2 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +2 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/overviewPage.js +28 -13
- package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +7 -0
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +10 -0
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js +13 -3
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/listReport.js +100 -33
- package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +74 -28
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts +33 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +95 -0
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/types/src/common/types.d.ts +1 -0
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -27,42 +27,51 @@
|
|
|
27
27
|
"properties": {
|
|
28
28
|
"forceGlobalRefresh": {
|
|
29
29
|
"description": "If forceGlobalRefresh is not explicitly set to false, a global model refresh is triggered when the annotated side effects are executed.",
|
|
30
|
-
"type": "boolean"
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"manifestPath": "$[\"sap.ui.generic.app\"].settings.forceGlobalRefresh"
|
|
31
32
|
},
|
|
32
33
|
"flexibleColumnLayout": {
|
|
33
34
|
"$ref": "#/definitions/FlexibleColumnLayout",
|
|
34
|
-
"description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas."
|
|
35
|
+
"description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas.",
|
|
36
|
+
"manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout"
|
|
35
37
|
},
|
|
36
38
|
"tableColumnVerticalAlignment": {
|
|
37
39
|
"$ref": "#/definitions/TableColumnVerticalAlignment",
|
|
38
|
-
"description": "tableColumnVerticalAlignment provides an option for vertical alignment for the whole responsive table."
|
|
40
|
+
"description": "tableColumnVerticalAlignment provides an option for vertical alignment for the whole responsive table.",
|
|
41
|
+
"manifestPath": "$[\"sap.ui.generic.app\"].settings.tableColumnVerticalAlignment"
|
|
39
42
|
},
|
|
40
43
|
"draftDiscardConfirmationSettings": {
|
|
41
44
|
"$ref": "#/definitions/DraftDiscardConfirmationSettings",
|
|
42
|
-
"description": "Allows applications to configure confirmation popups in various scenarios."
|
|
45
|
+
"description": "Allows applications to configure confirmation popups in various scenarios.",
|
|
46
|
+
"manifestPath": "$[\"sap.ui.generic.app\"].settings.draftDiscardConfirmationSettings"
|
|
43
47
|
},
|
|
44
48
|
"statePreservationMode": {
|
|
45
49
|
"$ref": "#/definitions/StatePreservationMode",
|
|
46
|
-
"description": "Allows applications to configure persistence mode in an object page. Persistence mode retains the tab selection made on an object page in certain cases."
|
|
50
|
+
"description": "Allows applications to configure persistence mode in an object page. Persistence mode retains the tab selection made on an object page in certain cases.",
|
|
51
|
+
"manifestPath": "$[\"sap.ui.generic.app\"].settings.statePreservationMode"
|
|
47
52
|
},
|
|
48
53
|
"title": {
|
|
49
54
|
"description": "Defines the title for the application.",
|
|
50
55
|
"i18nClassification": "TIT: Title of the application",
|
|
51
|
-
"type": "string"
|
|
56
|
+
"type": "string",
|
|
57
|
+
"manifestPath": "$[\"sap.app\"].title"
|
|
52
58
|
},
|
|
53
59
|
"description": {
|
|
54
60
|
"description": "Defines the description for the application.",
|
|
55
61
|
"i18nClassification": "TIT: Description of the application",
|
|
56
|
-
"type": "string"
|
|
62
|
+
"type": "string",
|
|
63
|
+
"manifestPath": "$[\"sap.app\"].description"
|
|
57
64
|
},
|
|
58
65
|
"flexEnabled": {
|
|
59
66
|
"description": "Enables key user adaptation for an application.",
|
|
60
67
|
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/ccd45ba3f0b446a0901b2c9d42b8ad53",
|
|
61
|
-
"type": "boolean"
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"manifestPath": "$[\"sap.ui5\"].flexEnabled"
|
|
62
70
|
},
|
|
63
71
|
"cloudDevAdaptationStatus": {
|
|
64
72
|
"$ref": "#/definitions/CloudDevAdaptationStatus",
|
|
65
|
-
"description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released."
|
|
73
|
+
"description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released.",
|
|
74
|
+
"manifestPath": "$[\"sap.fiori\"].cloudDevAdaptationStatus"
|
|
66
75
|
}
|
|
67
76
|
},
|
|
68
77
|
"additionalProperties": false
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"$ref": "#/definitions/ListReportFilterBar",
|
|
16
16
|
"description": "Filter Bar"
|
|
17
17
|
},
|
|
18
|
+
"table": {
|
|
19
|
+
"$ref": "#/definitions/Table",
|
|
20
|
+
"description": "Table"
|
|
21
|
+
},
|
|
18
22
|
"footer": {
|
|
19
23
|
"$ref": "#/definitions/Toolbar",
|
|
20
24
|
"description": "Footer"
|
|
@@ -418,6 +422,93 @@
|
|
|
418
422
|
],
|
|
419
423
|
"type": "string"
|
|
420
424
|
},
|
|
425
|
+
"Table": {
|
|
426
|
+
"description": "Table",
|
|
427
|
+
"isViewNode": true,
|
|
428
|
+
"type": "object",
|
|
429
|
+
"properties": {
|
|
430
|
+
"entitySet": {
|
|
431
|
+
"description": "This property can be used to indicate that a table or chart should be based on a different entity set than the main entity set",
|
|
432
|
+
"type": "string",
|
|
433
|
+
"artifactType": "Manifest",
|
|
434
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/b6b59e4a4c3548cf83ff9c3b955d3ba3"
|
|
435
|
+
},
|
|
436
|
+
"annotationPath": {
|
|
437
|
+
"description": "Specify a SelectionVariant or SelectionPresentationVariant annotation for the entity set to configure the table or chart",
|
|
438
|
+
"type": "string",
|
|
439
|
+
"artifactType": "Manifest",
|
|
440
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/37aeed74e17a42caa2cba3123f0c15fc"
|
|
441
|
+
},
|
|
442
|
+
"showItemNavigationOnChart": {
|
|
443
|
+
"description": "To enable navigation for charts, you have to set the property to \"true\" and maintain an internal navigation target in the manifest.",
|
|
444
|
+
"type": "boolean",
|
|
445
|
+
"artifactType": "Manifest"
|
|
446
|
+
},
|
|
447
|
+
"views": {
|
|
448
|
+
"$ref": "#/definitions/MultiViewsDefinition"
|
|
449
|
+
},
|
|
450
|
+
"showTablePersonalisation": {
|
|
451
|
+
"description": "The showTablePersonalisation attribute can be set to false to hide the table personalization button.",
|
|
452
|
+
"type": "boolean",
|
|
453
|
+
"artifactType": "FlexChange",
|
|
454
|
+
"controlType": "sap.ui.comp.smarttable.SmartTable"
|
|
455
|
+
},
|
|
456
|
+
"exportType": {
|
|
457
|
+
"$ref": "#/definitions/smarttable.ExportType",
|
|
458
|
+
"description": "Specifies the type of export to be used in the SmartTable control. UI5Client is the default option.",
|
|
459
|
+
"artifactType": "FlexChange",
|
|
460
|
+
"controlType": "sap.ui.comp.smarttable.SmartTable"
|
|
461
|
+
},
|
|
462
|
+
"useExportToExcel": {
|
|
463
|
+
"description": "useExportToExcel must be set to true if you want to export data to a spreadsheet application, for example Microsoft Excel.",
|
|
464
|
+
"type": "boolean",
|
|
465
|
+
"artifactType": "FlexChange",
|
|
466
|
+
"controlType": "sap.ui.comp.smarttable.SmartTable"
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"additionalProperties": false
|
|
470
|
+
},
|
|
471
|
+
"MultiViewsDefinition": {
|
|
472
|
+
"description": "Views",
|
|
473
|
+
"isViewNode": true,
|
|
474
|
+
"type": "object",
|
|
475
|
+
"properties": {
|
|
476
|
+
"enableAutoBinding": {
|
|
477
|
+
"description": "Use this property to ensure that data are automatically loaded when the page is opened.",
|
|
478
|
+
"type": "boolean",
|
|
479
|
+
"artifactType": "Manifest"
|
|
480
|
+
},
|
|
481
|
+
"showCounts": {
|
|
482
|
+
"description": "You can show the counts of entries of each view. To do so, add the showCounts option and set it to true.",
|
|
483
|
+
"type": "boolean",
|
|
484
|
+
"artifactType": "Manifest"
|
|
485
|
+
},
|
|
486
|
+
"variants": {
|
|
487
|
+
"$ref": "#/definitions/MultiViewsVariants",
|
|
488
|
+
"description": "List of views"
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
"additionalProperties": false,
|
|
492
|
+
"required": [
|
|
493
|
+
"variants"
|
|
494
|
+
]
|
|
495
|
+
},
|
|
496
|
+
"MultiViewsVariants": {
|
|
497
|
+
"isViewNode": false,
|
|
498
|
+
"type": "object",
|
|
499
|
+
"additionalProperties": {
|
|
500
|
+
"$ref": "#/definitions/Table"
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
"smarttable.ExportType": {
|
|
504
|
+
"description": "Provides the type of services available for export in the `SmartTable` control.",
|
|
505
|
+
"enum": [
|
|
506
|
+
"GW",
|
|
507
|
+
"UI5Client",
|
|
508
|
+
"UI5ClientPDF"
|
|
509
|
+
],
|
|
510
|
+
"type": "string"
|
|
511
|
+
},
|
|
421
512
|
"Toolbar": {
|
|
422
513
|
"description": "Toolbar",
|
|
423
514
|
"isViewNode": true,
|
|
@@ -27,42 +27,51 @@
|
|
|
27
27
|
"properties": {
|
|
28
28
|
"flexibleColumnLayout": {
|
|
29
29
|
"$ref": "#/definitions/FlexibleColumnLayoutV4",
|
|
30
|
-
"description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas."
|
|
30
|
+
"description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas.",
|
|
31
|
+
"manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout"
|
|
31
32
|
},
|
|
32
33
|
"path": {
|
|
33
34
|
"description": "Represents a prefix that is prepended in front of the viewName",
|
|
34
|
-
"type": "string"
|
|
35
|
+
"type": "string",
|
|
36
|
+
"manifestPath": "$[\"sap.ui5\"].routing.config.path"
|
|
35
37
|
},
|
|
36
38
|
"viewType": {
|
|
37
39
|
"$ref": "#/definitions/ViewTypes",
|
|
38
|
-
"description": "standard view type of views"
|
|
40
|
+
"description": "standard view type of views",
|
|
41
|
+
"manifestPath": "$[\"sap.ui5\"].routing.config.viewType"
|
|
39
42
|
},
|
|
40
43
|
"controllerExtensions": {
|
|
41
44
|
"$ref": "#/definitions/ControllerExtensions",
|
|
42
|
-
"description": "Controller extensions allow users to extensiate default behaviour with custom controllers code."
|
|
45
|
+
"description": "Controller extensions allow users to extensiate default behaviour with custom controllers code.",
|
|
46
|
+
"manifestPath": "$[\"sap.ui5\"].extends.extensions[\"sap.ui.controllerExtensions\"].controllerExtensions"
|
|
43
47
|
},
|
|
44
48
|
"dependencies": {
|
|
45
49
|
"$ref": "#/definitions/Dependencies",
|
|
46
|
-
"description": "Dependencies of the application."
|
|
50
|
+
"description": "Dependencies of the application.",
|
|
51
|
+
"manifestPath": "$[\"sap.ui5\"].dependencies"
|
|
47
52
|
},
|
|
48
53
|
"title": {
|
|
49
54
|
"description": "Defines the title for the application.",
|
|
50
55
|
"i18nClassification": "TIT: Title of the application",
|
|
51
|
-
"type": "string"
|
|
56
|
+
"type": "string",
|
|
57
|
+
"manifestPath": "$[\"sap.app\"].title"
|
|
52
58
|
},
|
|
53
59
|
"description": {
|
|
54
60
|
"description": "Defines the description for the application.",
|
|
55
61
|
"i18nClassification": "TIT: Description of the application",
|
|
56
|
-
"type": "string"
|
|
62
|
+
"type": "string",
|
|
63
|
+
"manifestPath": "$[\"sap.app\"].description"
|
|
57
64
|
},
|
|
58
65
|
"flexEnabled": {
|
|
59
66
|
"description": "Enables key user adaptation for an application.",
|
|
60
67
|
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/ccd45ba3f0b446a0901b2c9d42b8ad53",
|
|
61
|
-
"type": "boolean"
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"manifestPath": "$[\"sap.ui5\"].flexEnabled"
|
|
62
70
|
},
|
|
63
71
|
"cloudDevAdaptationStatus": {
|
|
64
72
|
"$ref": "#/definitions/CloudDevAdaptationStatus",
|
|
65
|
-
"description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released."
|
|
73
|
+
"description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released.",
|
|
74
|
+
"manifestPath": "$[\"sap.fiori\"].cloudDevAdaptationStatus"
|
|
66
75
|
}
|
|
67
76
|
},
|
|
68
77
|
"additionalProperties": false
|
|
@@ -224,9 +224,8 @@
|
|
|
224
224
|
},
|
|
225
225
|
"formatOptions": {
|
|
226
226
|
"$ref": "#/definitions/sap.fe.macros.FieldFormatOptions",
|
|
227
|
-
"description": "
|
|
227
|
+
"description": "A set of options that can be configured.",
|
|
228
228
|
"artifactType": "XMLProperty",
|
|
229
|
-
"isViewNode": true,
|
|
230
229
|
"metadata": {
|
|
231
230
|
"type": "Property"
|
|
232
231
|
}
|
|
@@ -685,7 +684,7 @@
|
|
|
685
684
|
},
|
|
686
685
|
"sap.fe.macros.FieldFormatOptions": {
|
|
687
686
|
"description": "Additional format options for the field.",
|
|
688
|
-
"isViewNode":
|
|
687
|
+
"isViewNode": false,
|
|
689
688
|
"type": "object",
|
|
690
689
|
"properties": {
|
|
691
690
|
"displayMode": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/ux-specification",
|
|
3
|
-
"version": "1.108.
|
|
3
|
+
"version": "1.108.69",
|
|
4
4
|
"displayName": "SAP Fiori tools - Specification",
|
|
5
5
|
"description": "SAP Fiori tools - Specification",
|
|
6
6
|
"files": [
|
|
@@ -49,14 +49,14 @@
|
|
|
49
49
|
"publisher": "SAPSE",
|
|
50
50
|
"license": "SEE LICENSE IN LICENSE",
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@sap-ux/fe-fpm-writer": "0.
|
|
52
|
+
"@sap-ux/fe-fpm-writer": "0.40.2",
|
|
53
53
|
"@sap-ux/vocabularies-types": "0.13.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@sap-ux/annotation-converter": "0.10.9",
|
|
57
57
|
"@sap-ux/edmx-parser": "0.9.6",
|
|
58
|
-
"@sap-ux/project-access": "1.
|
|
59
|
-
"@sap/ux-specification-types": "1.108.
|
|
58
|
+
"@sap-ux/project-access": "1.33.0",
|
|
59
|
+
"@sap/ux-specification-types": "1.108.69",
|
|
60
60
|
"@sapui5/ts-types-esm": "latest-1.108",
|
|
61
61
|
"@types/d3": "7.4.3",
|
|
62
62
|
"@types/jquery": "3.5.33",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"deepmerge": "4.3.1",
|
|
73
73
|
"ejs": "3.1.10",
|
|
74
74
|
"excel4node": "1.8.2",
|
|
75
|
-
"i18next": "25.
|
|
75
|
+
"i18next": "25.7.3",
|
|
76
76
|
"jquery": "3.7.1",
|
|
77
77
|
"jsdom": "25.0.1",
|
|
78
78
|
"lodash.unset": "4.5.2",
|
|
@@ -2,6 +2,13 @@ import type { SchemaDefinition } from '@sap/ux-specification-types';
|
|
|
2
2
|
import type { MacrosAPI } from './types';
|
|
3
3
|
import type { JSONSchema7TypeName } from 'json-schema';
|
|
4
4
|
export declare const UI5_TO_JSON_SCHEMA_TYPE_MAP: Map<string, JSONSchema7TypeName>;
|
|
5
|
+
/**
|
|
6
|
+
* Semantic classification patterns for properties
|
|
7
|
+
* Used to determine if a property should be visible (isViewNode = true/false)
|
|
8
|
+
*/
|
|
9
|
+
export declare const PROPERTY_SEMANTICS: {
|
|
10
|
+
AGGREGATIONS: RegExp[];
|
|
11
|
+
};
|
|
5
12
|
/**
|
|
6
13
|
* Method generates generic schema for passed "sap.fe.macros" api.
|
|
7
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,EACR,SAAS,EAOZ,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAgC,CAAC;AAC1G;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAwSF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CAkD/D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UI5_TO_JSON_SCHEMA_TYPE_MAP = void 0;
|
|
3
|
+
exports.PROPERTY_SEMANTICS = exports.UI5_TO_JSON_SCHEMA_TYPE_MAP = void 0;
|
|
4
4
|
exports.generateSchema = generateSchema;
|
|
5
5
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
6
6
|
const ux_specification_types_2 = require("@sap/ux-specification-types");
|
|
@@ -8,6 +8,13 @@ const types_1 = require("./types");
|
|
|
8
8
|
const corrections_1 = require("./corrections");
|
|
9
9
|
const common_1 = require("../../src/sync/common");
|
|
10
10
|
exports.UI5_TO_JSON_SCHEMA_TYPE_MAP = new Map([['int', 'number']]);
|
|
11
|
+
/**
|
|
12
|
+
* Semantic classification patterns for properties
|
|
13
|
+
* Used to determine if a property should be visible (isViewNode = true/false)
|
|
14
|
+
*/
|
|
15
|
+
exports.PROPERTY_SEMANTICS = {
|
|
16
|
+
AGGREGATIONS: [/^(columns?|actions?|items?|content|filters?)/i, /buttonGroups/]
|
|
17
|
+
};
|
|
11
18
|
/**
|
|
12
19
|
* Method checks if passed type is atomic type like 'boolean', 'string', 'number', etc.
|
|
13
20
|
*
|
|
@@ -63,16 +70,20 @@ function formatDescription(description) {
|
|
|
63
70
|
* @param {MacrosPropertyType} metadataType Metadata property type.
|
|
64
71
|
* @param {string} [description] Description of definition.
|
|
65
72
|
* @param {string} defaultAggreation Default aggregation.
|
|
73
|
+
* @param {string} symbolName Name of the symbol.
|
|
66
74
|
* @returns {SchemaDefinition} JSON schema for definition.
|
|
67
75
|
*/
|
|
68
|
-
function prepareDefinition(metadataType, description, defaultAggreation) {
|
|
76
|
+
function prepareDefinition(metadataType, description, defaultAggreation, symbolName) {
|
|
69
77
|
if (description) {
|
|
70
78
|
// Remove html markup from description
|
|
71
79
|
description = formatDescription(description);
|
|
72
80
|
}
|
|
81
|
+
// For main control definitions (classes), default to true as they are primary UI building blocks
|
|
82
|
+
// But exclude configuration objects (*Options classes)
|
|
83
|
+
const isViewNode = !symbolName.endsWith('Options');
|
|
73
84
|
const definition = {
|
|
74
85
|
description,
|
|
75
|
-
isViewNode
|
|
86
|
+
isViewNode,
|
|
76
87
|
type: 'object',
|
|
77
88
|
properties: {},
|
|
78
89
|
additionalProperties: false,
|
|
@@ -141,7 +152,6 @@ function prepareSchemaProperty(property, metadataType, type, types) {
|
|
|
141
152
|
pattern: "^{[A-Za-z0-9{}&$!@#%? _|,<>'()[\\]\\/:=.]+}$"
|
|
142
153
|
});
|
|
143
154
|
}
|
|
144
|
-
const isViewNode = schemaTypes.some((schemaType) => !!schemaType.$ref);
|
|
145
155
|
// Define result
|
|
146
156
|
const propertySchema = schemaTypes.length === 1
|
|
147
157
|
? { ...schemaTypes[0] }
|
|
@@ -150,10 +160,6 @@ function prepareSchemaProperty(property, metadataType, type, types) {
|
|
|
150
160
|
};
|
|
151
161
|
propertySchema.description = formatDescription(property.description);
|
|
152
162
|
propertySchema['artifactType'] = ux_specification_types_1.ArtifactType.XMLProperty;
|
|
153
|
-
if (isViewNode) {
|
|
154
|
-
propertySchema.description = property.name;
|
|
155
|
-
propertySchema.isViewNode = true;
|
|
156
|
-
}
|
|
157
163
|
propertySchema.metadata = {
|
|
158
164
|
type: metadataType
|
|
159
165
|
};
|
|
@@ -198,14 +204,17 @@ function prepareEvent(property) {
|
|
|
198
204
|
* Method prepares schema object for passed SAPUI5 aggregation.
|
|
199
205
|
*
|
|
200
206
|
* @param aggregation SAPUI5 aggregation.
|
|
207
|
+
* @param defaultAggregation The default aggregation name for the parent class.
|
|
201
208
|
* @returns JSON schema.
|
|
202
209
|
*/
|
|
203
|
-
function prepareAggregations(aggregation) {
|
|
210
|
+
function prepareAggregations(aggregation, defaultAggregation) {
|
|
204
211
|
const schemaTypes = getTypes(aggregation.type);
|
|
212
|
+
const isViewNode = (defaultAggregation && aggregation.name === defaultAggregation) ||
|
|
213
|
+
exports.PROPERTY_SEMANTICS.AGGREGATIONS.some((pattern) => pattern.test(aggregation.name));
|
|
205
214
|
return {
|
|
206
215
|
type: 'object',
|
|
207
216
|
additionalProperties: schemaTypes.length ? schemaTypes[0] : { anyOf: schemaTypes },
|
|
208
|
-
isViewNode
|
|
217
|
+
isViewNode,
|
|
209
218
|
metadata: {
|
|
210
219
|
path: [],
|
|
211
220
|
type: ux_specification_types_2.MacrosPropertyType.Aggregation
|
|
@@ -225,6 +234,43 @@ function applyNamespaces(api, schema) {
|
|
|
225
234
|
}
|
|
226
235
|
}
|
|
227
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Collects metadata (properties and aggregations) from a class symbol and all of its base classes by walking up the inheritance chain.
|
|
239
|
+
*
|
|
240
|
+
* @param {ClassSymbol} symbol The class symbol whose metadata should be retrieved.
|
|
241
|
+
* @param {ClassSymbol[]} allSymbols A list of all class symbols, used to resolve the full inheritance chain.
|
|
242
|
+
* @returns {{ properties: UI5Property[], aggregations: UI5Aggregation[] }}
|
|
243
|
+
* An object containing merged properties and aggregations accumulated from
|
|
244
|
+
* the class and its inheritance hierarchy.
|
|
245
|
+
*/
|
|
246
|
+
function getMetadata(symbol, allSymbols) {
|
|
247
|
+
const result = {
|
|
248
|
+
properties: [],
|
|
249
|
+
aggregations: []
|
|
250
|
+
};
|
|
251
|
+
// variable is used to prevent infinite loops
|
|
252
|
+
const visited = new Set();
|
|
253
|
+
let currentSymbol = symbol;
|
|
254
|
+
while (currentSymbol && !visited.has(currentSymbol.name)) {
|
|
255
|
+
visited.add(currentSymbol.name);
|
|
256
|
+
const { properties = [], aggregations = [] } = currentSymbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY] ?? {};
|
|
257
|
+
// Add properties without duplicates
|
|
258
|
+
for (const property of properties) {
|
|
259
|
+
if (!result.properties.some((existingProperty) => existingProperty.name === property.name)) {
|
|
260
|
+
result.properties.push(property);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Add aggregations without duplicates
|
|
264
|
+
for (const aggregation of aggregations) {
|
|
265
|
+
if (!result.aggregations.some((existingAggregation) => existingAggregation.name === aggregation.name)) {
|
|
266
|
+
result.aggregations.push(aggregation);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Go to next base class in inheritance chain
|
|
270
|
+
currentSymbol = currentSymbol.extends ? allSymbols.find((s) => s.name === currentSymbol.extends) : undefined;
|
|
271
|
+
}
|
|
272
|
+
return result;
|
|
273
|
+
}
|
|
228
274
|
/**
|
|
229
275
|
* Method generates generic schema for passed "sap.fe.macros" api.
|
|
230
276
|
*
|
|
@@ -239,17 +285,18 @@ function generateSchema(api) {
|
|
|
239
285
|
// Handle classes
|
|
240
286
|
const classSymbols = api.symbols.filter((symbol) => symbol.kind === types_1.SYMBOL_KIND_CLASS);
|
|
241
287
|
for (const symbol of classSymbols) {
|
|
242
|
-
const definition = prepareDefinition(ux_specification_types_2.MacrosPropertyType.Control, symbol.description, symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]?.defaultAggregation);
|
|
288
|
+
const definition = prepareDefinition(ux_specification_types_2.MacrosPropertyType.Control, symbol.description, symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]?.defaultAggregation, symbol.name);
|
|
243
289
|
definitions[symbol.name] = definition;
|
|
244
290
|
const events = symbol.events || [];
|
|
245
|
-
const { properties
|
|
291
|
+
const { properties, aggregations } = getMetadata(symbol, classSymbols);
|
|
246
292
|
// Handle properties
|
|
247
293
|
for (const property of properties) {
|
|
248
294
|
definition.properties[property.name] = prepareProperty(property);
|
|
249
295
|
}
|
|
250
296
|
// Handle aggregations
|
|
297
|
+
const defaultAggregation = symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]?.defaultAggregation;
|
|
251
298
|
for (const aggregation of aggregations) {
|
|
252
|
-
definition.properties[aggregation.name] = prepareAggregations(aggregation);
|
|
299
|
+
definition.properties[aggregation.name] = prepareAggregations(aggregation, defaultAggregation);
|
|
253
300
|
}
|
|
254
301
|
// Handle events
|
|
255
302
|
for (const event of events) {
|
|
@@ -261,7 +308,7 @@ function generateSchema(api) {
|
|
|
261
308
|
// Handle typedefs
|
|
262
309
|
const typedefSymbols = api.symbols.filter((symbol) => symbol.kind === types_1.SYMBOL_KIND_TYPEDEF);
|
|
263
310
|
for (const symbol of typedefSymbols) {
|
|
264
|
-
const definition = prepareDefinition(ux_specification_types_2.MacrosPropertyType.Control, symbol.description, symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]?.defaultAggregation);
|
|
311
|
+
const definition = prepareDefinition(ux_specification_types_2.MacrosPropertyType.Control, symbol.description, symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]?.defaultAggregation, symbol.name);
|
|
265
312
|
definitions[symbol.name] = definition;
|
|
266
313
|
const properties = symbol.properties || [];
|
|
267
314
|
for (const property of properties) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ export interface ClassSymbol extends BaseSymbol {
|
|
|
34
34
|
kind: typeof SYMBOL_KIND_CLASS;
|
|
35
35
|
since?: string;
|
|
36
36
|
events?: UI5Event[];
|
|
37
|
+
extends?: string;
|
|
37
38
|
[CLASS_SYMBOL_METADATA_PROPERTY]?: SymbolMetadata;
|
|
38
39
|
}
|
|
39
40
|
export interface TypedefSymbol extends BaseSymbol {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAS1F,MAAM,MAAM,MAAM,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AA6BhD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,CAAC,EAAE,yBAAyB,QAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA4BxG;AA0HD;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,yBAwBzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA0BrD"}
|
|
@@ -46,6 +46,10 @@ const factory_2 = require("../../src/sync/v4/export/factory");
|
|
|
46
46
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
47
47
|
const ListReportNew_1 = require("../../src/sync/v2/genericSchemaHandling/pages/ListReportNew");
|
|
48
48
|
const v2Controls = __importStar(require("../../src/sync/v2/genericSchemaHandling/controls"));
|
|
49
|
+
const decoration_1 = require("../../src/sync/common/decoration");
|
|
50
|
+
const utils_2 = require("../../src/sync/common/utils");
|
|
51
|
+
const application_1 = require("../../src/sync/v4/application");
|
|
52
|
+
const application_2 = require("../../src/sync/v2/application");
|
|
49
53
|
//TS compiler options, compare with tsconfig
|
|
50
54
|
const compilerOptions = {
|
|
51
55
|
skipLibCheck: true,
|
|
@@ -184,6 +188,45 @@ function convertPagesOfFEVersion(paths, version, outputPath, factory) {
|
|
|
184
188
|
function getPosition(string, subString, index) {
|
|
185
189
|
return string.split(subString, index).join(subString).length;
|
|
186
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Performs post-processing on the provided array of schemas for V2 and V4 applications.
|
|
193
|
+
*
|
|
194
|
+
* @param schemas - An array of `Schema` objects to be post-processed.
|
|
195
|
+
*/
|
|
196
|
+
function postProcessingApps(schemas) {
|
|
197
|
+
// Add manifest paths to V4 and V2
|
|
198
|
+
addManifestPathsToApplication(schemas['ApplicationV4.json'], application_1.AppSettings.prototype);
|
|
199
|
+
addManifestPathsToApplication(schemas['ApplicationV2.json'], application_2.AppSettings.prototype);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Adds `manifestPath` to the `AppSettings` properties inside a JSON schema.
|
|
203
|
+
*
|
|
204
|
+
* @param {JSONSchema4} schema - The JSON schema object to be updated.
|
|
205
|
+
* @param {object} classPrototype - The prototype object whose metadata is used to determine manifest path information for each property.
|
|
206
|
+
*/
|
|
207
|
+
function addManifestPathsToApplication(schema, classPrototype) {
|
|
208
|
+
// Update schema with manifest path for properties in settings
|
|
209
|
+
for (const property in schema.definitions.AppSettings.properties) {
|
|
210
|
+
const propertySchema = schema.definitions.AppSettings.properties[property];
|
|
211
|
+
const rule = (0, decoration_1.getReflectMetadata)(classPrototype, property);
|
|
212
|
+
const manifestPath = rule?.manifest?.path;
|
|
213
|
+
if (manifestPath) {
|
|
214
|
+
const manifestPath = `${rule.manifest.path()}/${property}`;
|
|
215
|
+
propertySchema.manifestPath = (0, utils_2.convertSyncRulePathToJsonPath)(manifestPath);
|
|
216
|
+
// Continue parsing of inner properties
|
|
217
|
+
if (propertySchema.anyOf) {
|
|
218
|
+
for (const innerSchema of propertySchema.anyOf) {
|
|
219
|
+
if (!innerSchema.properties) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
for (const property in innerSchema.properties) {
|
|
223
|
+
innerSchema.properties[property].manifestPath = (0, utils_2.appendJsonPathSegment)(propertySchema.manifestPath, property);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
187
230
|
/**
|
|
188
231
|
* Factory giving access to the metadata of the new v2 ListReport page.
|
|
189
232
|
*/
|
|
@@ -192,8 +235,9 @@ exports.FACTORY_FOR_LIST_REPORT_NEW = {
|
|
|
192
235
|
const metadataClass = v2Controls[schemaPropertyName];
|
|
193
236
|
// Naming convention: Types that are only introduced as host for enums have a name ending with 'Enum'.
|
|
194
237
|
// They cannot be instantiated.
|
|
195
|
-
// In addition to that
|
|
196
|
-
if (schemaPropertyName.endsWith('Enum') ||
|
|
238
|
+
// In addition to that some enums (ButtonType,...) are imported from sapui5.
|
|
239
|
+
if (schemaPropertyName.endsWith('Enum') ||
|
|
240
|
+
['ButtonType', 'smarttable.ExportType'].includes(schemaPropertyName)) {
|
|
197
241
|
return metadataClass;
|
|
198
242
|
}
|
|
199
243
|
let instance;
|
|
@@ -216,7 +260,6 @@ exports.FACTORY_FOR_LIST_REPORT_NEW = {
|
|
|
216
260
|
* @param outputPath - The path to write the generated schemas to.
|
|
217
261
|
*/
|
|
218
262
|
function toJsonSchema(outputPath) {
|
|
219
|
-
let schemas = [];
|
|
220
263
|
const rootName = __dirname.slice(0, getPosition(__dirname, 'specification', 2));
|
|
221
264
|
const typesPath = (0, path_1.join)(rootName, 'types', 'src');
|
|
222
265
|
//Pages V2
|
|
@@ -234,10 +277,13 @@ function toJsonSchema(outputPath) {
|
|
|
234
277
|
paths.push((0, path_1.join)(typesPath, 'v4', 'pages'));
|
|
235
278
|
convertPagesOfFEVersion(paths, ux_specification_types_1.FioriElementsVersion.v4, outputPath);
|
|
236
279
|
//App V2
|
|
237
|
-
|
|
238
|
-
writeSchemasToFile(outputPath, schemas, 'v2');
|
|
280
|
+
const v2AppSchemas = convertInterfaces((0, path_1.join)(typesPath, 'v2'), ['ApplicationV2.ts'], ux_specification_types_1.FioriElementsVersion.v2);
|
|
239
281
|
//App V4
|
|
240
|
-
|
|
241
|
-
|
|
282
|
+
const v4AppSchemas = convertInterfaces((0, path_1.join)(typesPath, 'v4'), ['ApplicationV4.ts'], ux_specification_types_1.FioriElementsVersion.v4);
|
|
283
|
+
//App postprocessing of schema
|
|
284
|
+
postProcessingApps({ ...v2AppSchemas, ...v4AppSchemas });
|
|
285
|
+
//Write App schemas
|
|
286
|
+
writeSchemasToFile(outputPath, v2AppSchemas, 'v2');
|
|
287
|
+
writeSchemasToFile(outputPath, v4AppSchemas, 'v4');
|
|
242
288
|
}
|
|
243
289
|
//# sourceMappingURL=to-json-schema.js.map
|