@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.
Files changed (88) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +233 -236
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/ApplicationV2.json +18 -9
  16. package/dist/schemas/v2/ListReportNewConfig.json +91 -0
  17. package/dist/schemas/v4/ApplicationV4.json +18 -9
  18. package/dist/schemas/v4/BuildingBlocksConfig.json +2 -3
  19. package/dist/specification/package.json +5 -5
  20. package/dist/specification/scripts/macros/schema.d.ts +7 -0
  21. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  22. package/dist/specification/scripts/macros/schema.js +61 -14
  23. package/dist/specification/scripts/macros/schema.js.map +1 -1
  24. package/dist/specification/scripts/macros/types.d.ts +1 -0
  25. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  26. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  27. package/dist/specification/scripts/schema/to-json-schema.js +53 -7
  28. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  29. package/dist/specification/src/sync/common/dist_tag.json +17 -18
  30. package/dist/specification/src/sync/common/i18n.json +12 -1
  31. package/dist/specification/src/sync/common/utils.d.ts +25 -0
  32. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  33. package/dist/specification/src/sync/common/utils.js +55 -0
  34. package/dist/specification/src/sync/common/utils.js.map +1 -1
  35. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  36. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +1 -10
  37. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  38. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
  39. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
  40. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
  41. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  42. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
  43. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  44. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
  45. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
  46. package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
  47. package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
  48. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
  49. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
  50. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
  51. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
  52. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
  53. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
  54. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +54 -0
  55. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
  56. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +148 -0
  57. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
  58. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +2 -0
  59. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
  60. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +2 -0
  61. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
  62. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
  63. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
  64. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
  65. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
  66. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  67. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +28 -13
  68. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  69. package/dist/specification/src/sync/v2/utils.d.ts +7 -0
  70. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  71. package/dist/specification/src/sync/v2/utils.js +10 -0
  72. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  73. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  74. package/dist/specification/src/sync/v4/export/fpmCustomPage.js +13 -3
  75. package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  76. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  77. package/dist/specification/src/sync/v4/generate/listReport.js +100 -33
  78. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  79. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  80. package/dist/specification/src/sync/v4/generate/objectPage.js +74 -28
  81. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  82. package/dist/specification/src/sync/v4/utils/utils.d.ts +33 -0
  83. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  84. package/dist/specification/src/sync/v4/utils/utils.js +95 -0
  85. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  86. package/dist/types/src/common/types.d.ts +1 -0
  87. package/dist/types/src/common/types.d.ts.map +1 -1
  88. 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": "formatOptions",
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": true,
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.68",
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.39.25",
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.32.9",
59
- "@sap/ux-specification-types": "1.108.68",
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.6.3",
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,EAAE,SAAS,EAA8E,MAAM,SAAS,CAAC;AAGrH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAgC,CAAC;AAiP1G;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CA+C/D"}
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: true,
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: true,
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 = [], aggregations = [] } = symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY] || {};
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":"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"}
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":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAK1F,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;AA8ED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,yBAqBzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAwBrD"}
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 ButtonType (imported from sap.m) is also an enum.
196
- if (schemaPropertyName.endsWith('Enum') || schemaPropertyName === 'ButtonType') {
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
- schemas = convertInterfaces((0, path_1.join)(typesPath, 'v2'), ['ApplicationV2.ts'], ux_specification_types_1.FioriElementsVersion.v2);
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
- schemas = convertInterfaces((0, path_1.join)(typesPath, 'v4'), ['ApplicationV4.ts'], ux_specification_types_1.FioriElementsVersion.v4);
241
- writeSchemasToFile(outputPath, schemas, 'v4');
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