@sap/ux-specification 1.136.12 → 1.136.13
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 +27 -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 +32 -16
- package/dist/schemas/v4/BuildingBlocksConfig.json +116 -52
- 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 +54 -9
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +9 -5
- package/dist/specification/src/sync/common/i18n.json +6 -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/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.js +20 -23
- package/dist/specification/src/sync/v4/export/controls/Table.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 +64 -0
- 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 +51 -4
- 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/dist/types/src/common/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
}
|
|
138
138
|
},
|
|
139
139
|
"sap.fe.macros.CollectionBindingInfo": {
|
|
140
|
-
"description": "API to add parameters to the collection binding
|
|
140
|
+
"description": "API to add parameters to the collection binding info.",
|
|
141
141
|
"isViewNode": true,
|
|
142
142
|
"type": "object",
|
|
143
143
|
"properties": {
|
|
@@ -222,7 +222,7 @@
|
|
|
222
222
|
"additionalProperties": {
|
|
223
223
|
"$ref": "#/definitions/sap.fe.macros.field.FieldFormatOptions"
|
|
224
224
|
},
|
|
225
|
-
"isViewNode":
|
|
225
|
+
"isViewNode": false,
|
|
226
226
|
"metadata": {
|
|
227
227
|
"path": [],
|
|
228
228
|
"type": "Aggregation"
|
|
@@ -650,7 +650,7 @@
|
|
|
650
650
|
"additionalProperties": {
|
|
651
651
|
"$ref": "#/definitions/sap.fe.macros.richtexteditor.Plugin"
|
|
652
652
|
},
|
|
653
|
-
"isViewNode":
|
|
653
|
+
"isViewNode": false,
|
|
654
654
|
"metadata": {
|
|
655
655
|
"path": [],
|
|
656
656
|
"type": "Aggregation"
|
|
@@ -691,6 +691,60 @@
|
|
|
691
691
|
"metadata": {
|
|
692
692
|
"type": "Property"
|
|
693
693
|
}
|
|
694
|
+
},
|
|
695
|
+
"excludeDefaultPlugins": {
|
|
696
|
+
"type": "boolean",
|
|
697
|
+
"description": "With the 'excludeDefaultPlugins' you can ask to remove the plugins that will be added by default\nThe default plugins are \"emoticons\" \"directionality\" \"image\" \"table\" \"link\" \"powerpaste\".",
|
|
698
|
+
"artifactType": "XMLProperty",
|
|
699
|
+
"metadata": {
|
|
700
|
+
"type": "Property"
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"readOnly": {
|
|
704
|
+
"type": "boolean",
|
|
705
|
+
"description": "Use the readOnly attribute to override the edit flow of the page.\nBy setting 'readOnly' to true, a FormattedText will be displayed instead of the editor.",
|
|
706
|
+
"artifactType": "XMLProperty",
|
|
707
|
+
"metadata": {
|
|
708
|
+
"type": "Property"
|
|
709
|
+
}
|
|
710
|
+
},
|
|
711
|
+
"required": {
|
|
712
|
+
"type": "any",
|
|
713
|
+
"description": "Use the 'required' attribute to make sure that the editor is filled with some text.",
|
|
714
|
+
"artifactType": "XMLProperty",
|
|
715
|
+
"metadata": {
|
|
716
|
+
"type": "Property"
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"value": {
|
|
720
|
+
"type": "any",
|
|
721
|
+
"description": "The value contained in the editor. You can use this attribute to set a default value.",
|
|
722
|
+
"artifactType": "XMLProperty",
|
|
723
|
+
"metadata": {
|
|
724
|
+
"type": "Property"
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
"buttonGroups": {
|
|
728
|
+
"type": "object",
|
|
729
|
+
"additionalProperties": {
|
|
730
|
+
"$ref": "#/definitions/sap.fe.macros.richtexteditor.ButtonGroup"
|
|
731
|
+
},
|
|
732
|
+
"isViewNode": true,
|
|
733
|
+
"metadata": {
|
|
734
|
+
"path": [],
|
|
735
|
+
"type": "Aggregation"
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"plugins": {
|
|
739
|
+
"type": "object",
|
|
740
|
+
"additionalProperties": {
|
|
741
|
+
"$ref": "#/definitions/sap.fe.macros.richtexteditor.Plugin"
|
|
742
|
+
},
|
|
743
|
+
"isViewNode": false,
|
|
744
|
+
"metadata": {
|
|
745
|
+
"path": [],
|
|
746
|
+
"type": "Aggregation"
|
|
747
|
+
}
|
|
694
748
|
}
|
|
695
749
|
},
|
|
696
750
|
"additionalProperties": false,
|
|
@@ -717,7 +771,7 @@
|
|
|
717
771
|
"additionalProperties": {
|
|
718
772
|
"$ref": "#/definitions/sap.fe.macros.share.ShareOptions"
|
|
719
773
|
},
|
|
720
|
-
"isViewNode":
|
|
774
|
+
"isViewNode": false,
|
|
721
775
|
"metadata": {
|
|
722
776
|
"path": [],
|
|
723
777
|
"type": "Aggregation"
|
|
@@ -737,9 +791,8 @@
|
|
|
737
791
|
"properties": {
|
|
738
792
|
"for": {
|
|
739
793
|
"$ref": "#/definitions/string[]",
|
|
740
|
-
"description": "
|
|
794
|
+
"description": "A list of control IDs to which the variant management is applied.",
|
|
741
795
|
"artifactType": "XMLProperty",
|
|
742
|
-
"isViewNode": true,
|
|
743
796
|
"metadata": {
|
|
744
797
|
"type": "Property"
|
|
745
798
|
}
|
|
@@ -906,6 +959,30 @@
|
|
|
906
959
|
"type": "Property"
|
|
907
960
|
}
|
|
908
961
|
},
|
|
962
|
+
"enabled": {
|
|
963
|
+
"type": "boolean",
|
|
964
|
+
"description": "Enables or disables the action",
|
|
965
|
+
"artifactType": "XMLProperty",
|
|
966
|
+
"metadata": {
|
|
967
|
+
"type": "Property"
|
|
968
|
+
}
|
|
969
|
+
},
|
|
970
|
+
"press": {
|
|
971
|
+
"type": "string",
|
|
972
|
+
"description": "Event handler to be called when the user chooses the action",
|
|
973
|
+
"artifactType": "XMLProperty",
|
|
974
|
+
"metadata": {
|
|
975
|
+
"type": "Property"
|
|
976
|
+
}
|
|
977
|
+
},
|
|
978
|
+
"requiresSelection": {
|
|
979
|
+
"type": "boolean",
|
|
980
|
+
"description": "Defines if the action requires a selection.",
|
|
981
|
+
"artifactType": "XMLProperty",
|
|
982
|
+
"metadata": {
|
|
983
|
+
"type": "Property"
|
|
984
|
+
}
|
|
985
|
+
},
|
|
909
986
|
"actions": {
|
|
910
987
|
"type": "object",
|
|
911
988
|
"additionalProperties": {
|
|
@@ -1159,7 +1236,7 @@
|
|
|
1159
1236
|
"additionalProperties": {
|
|
1160
1237
|
"$ref": "#/definitions/sap.fe.macros.field.FieldFormatOptions"
|
|
1161
1238
|
},
|
|
1162
|
-
"isViewNode":
|
|
1239
|
+
"isViewNode": false,
|
|
1163
1240
|
"metadata": {
|
|
1164
1241
|
"path": [],
|
|
1165
1242
|
"type": "Aggregation"
|
|
@@ -1190,7 +1267,7 @@
|
|
|
1190
1267
|
},
|
|
1191
1268
|
"sap.fe.macros.field.FieldFormatOptions": {
|
|
1192
1269
|
"description": "Additional format options for the field.",
|
|
1193
|
-
"isViewNode":
|
|
1270
|
+
"isViewNode": false,
|
|
1194
1271
|
"type": "object",
|
|
1195
1272
|
"properties": {
|
|
1196
1273
|
"dateTimePattern": {
|
|
@@ -1634,18 +1711,16 @@
|
|
|
1634
1711
|
"properties": {
|
|
1635
1712
|
"contextPath": {
|
|
1636
1713
|
"$ref": "#/definitions/sap.ui.model.Context",
|
|
1637
|
-
"description": "
|
|
1714
|
+
"description": "Defines the path of the context used in the current page or block.\nThis setting is defined by the framework.",
|
|
1638
1715
|
"artifactType": "XMLProperty",
|
|
1639
|
-
"isViewNode": true,
|
|
1640
1716
|
"metadata": {
|
|
1641
1717
|
"type": "Property"
|
|
1642
1718
|
}
|
|
1643
1719
|
},
|
|
1644
1720
|
"metaPath": {
|
|
1645
1721
|
"$ref": "#/definitions/sap.ui.model.Context",
|
|
1646
|
-
"description": "
|
|
1722
|
+
"description": "Defines the relative path of the property in the metamodel, based on the current contextPath.",
|
|
1647
1723
|
"artifactType": "XMLProperty",
|
|
1648
|
-
"isViewNode": true,
|
|
1649
1724
|
"metadata": {
|
|
1650
1725
|
"type": "Property"
|
|
1651
1726
|
}
|
|
@@ -1681,9 +1756,8 @@
|
|
|
1681
1756
|
"properties": {
|
|
1682
1757
|
"contextPath": {
|
|
1683
1758
|
"$ref": "#/definitions/sap.ui.model.Context",
|
|
1684
|
-
"description": "
|
|
1759
|
+
"description": "Defines the path of the context used in the current page or block.\nThis setting is defined by the framework.",
|
|
1685
1760
|
"artifactType": "XMLProperty",
|
|
1686
|
-
"isViewNode": true,
|
|
1687
1761
|
"metadata": {
|
|
1688
1762
|
"type": "Property"
|
|
1689
1763
|
}
|
|
@@ -1699,9 +1773,8 @@
|
|
|
1699
1773
|
},
|
|
1700
1774
|
"metaPath": {
|
|
1701
1775
|
"$ref": "#/definitions/sap.ui.model.Context",
|
|
1702
|
-
"description": "
|
|
1776
|
+
"description": "Defines the relative path of the property in the metamodel, based on the current contextPath.",
|
|
1703
1777
|
"artifactType": "XMLProperty",
|
|
1704
|
-
"isViewNode": true,
|
|
1705
1778
|
"metadata": {
|
|
1706
1779
|
"type": "Property"
|
|
1707
1780
|
}
|
|
@@ -1727,7 +1800,7 @@
|
|
|
1727
1800
|
"additionalProperties": {
|
|
1728
1801
|
"$ref": "#/definitions/sap.ui.core.Control"
|
|
1729
1802
|
},
|
|
1730
|
-
"isViewNode":
|
|
1803
|
+
"isViewNode": false,
|
|
1731
1804
|
"metadata": {
|
|
1732
1805
|
"path": [],
|
|
1733
1806
|
"type": "Aggregation"
|
|
@@ -1906,7 +1979,7 @@
|
|
|
1906
1979
|
},
|
|
1907
1980
|
"sap.fe.macros.share.ShareOptions": {
|
|
1908
1981
|
"description": "Share Options.",
|
|
1909
|
-
"isViewNode":
|
|
1982
|
+
"isViewNode": false,
|
|
1910
1983
|
"type": "object",
|
|
1911
1984
|
"properties": {
|
|
1912
1985
|
"id": {
|
|
@@ -2372,9 +2445,8 @@
|
|
|
2372
2445
|
},
|
|
2373
2446
|
"properties": {
|
|
2374
2447
|
"$ref": "#/definitions/string[]",
|
|
2375
|
-
"description": "properties",
|
|
2448
|
+
"description": "Determines the properties displayed in the column\nThe properties allow to export, sort, group, copy, and paste in the column\n",
|
|
2376
2449
|
"artifactType": "XMLProperty",
|
|
2377
|
-
"isViewNode": true,
|
|
2378
2450
|
"metadata": {
|
|
2379
2451
|
"type": "Property"
|
|
2380
2452
|
}
|
|
@@ -2433,9 +2505,8 @@
|
|
|
2433
2505
|
"properties": {
|
|
2434
2506
|
"property": {
|
|
2435
2507
|
"$ref": "#/definitions/string[]",
|
|
2436
|
-
"description": "
|
|
2508
|
+
"description": "Determines the properties of the column.",
|
|
2437
2509
|
"artifactType": "XMLProperty",
|
|
2438
|
-
"isViewNode": true,
|
|
2439
2510
|
"metadata": {
|
|
2440
2511
|
"type": "Property"
|
|
2441
2512
|
}
|
|
@@ -2553,7 +2624,7 @@
|
|
|
2553
2624
|
"additionalProperties": {
|
|
2554
2625
|
"$ref": "#/definitions/sap.fe.macros.table.ColumnExportSettings"
|
|
2555
2626
|
},
|
|
2556
|
-
"isViewNode":
|
|
2627
|
+
"isViewNode": false,
|
|
2557
2628
|
"metadata": {
|
|
2558
2629
|
"path": [],
|
|
2559
2630
|
"type": "Aggregation"
|
|
@@ -2573,9 +2644,8 @@
|
|
|
2573
2644
|
"properties": {
|
|
2574
2645
|
"ignoredFields": {
|
|
2575
2646
|
"$ref": "#/definitions/string[]",
|
|
2576
|
-
"description": "
|
|
2647
|
+
"description": "Defines the list of fields that should be ignored in the mass edit dialog",
|
|
2577
2648
|
"artifactType": "XMLProperty",
|
|
2578
|
-
"isViewNode": true,
|
|
2579
2649
|
"metadata": {
|
|
2580
2650
|
"type": "Property"
|
|
2581
2651
|
}
|
|
@@ -2594,9 +2664,8 @@
|
|
|
2594
2664
|
},
|
|
2595
2665
|
"visibleFields": {
|
|
2596
2666
|
"$ref": "#/definitions/string[]",
|
|
2597
|
-
"description": "
|
|
2667
|
+
"description": "Defines the list of fields that should be visible in the mass edit dialog",
|
|
2598
2668
|
"artifactType": "XMLProperty",
|
|
2599
|
-
"isViewNode": true,
|
|
2600
2669
|
"metadata": {
|
|
2601
2670
|
"type": "Property"
|
|
2602
2671
|
}
|
|
@@ -2614,7 +2683,7 @@
|
|
|
2614
2683
|
"additionalProperties": {
|
|
2615
2684
|
"$ref": "#/definitions/sap.ui.layout.form.FormContainer"
|
|
2616
2685
|
},
|
|
2617
|
-
"isViewNode":
|
|
2686
|
+
"isViewNode": false,
|
|
2618
2687
|
"metadata": {
|
|
2619
2688
|
"path": [],
|
|
2620
2689
|
"type": "Aggregation"
|
|
@@ -2634,9 +2703,8 @@
|
|
|
2634
2703
|
"properties": {
|
|
2635
2704
|
"paths": {
|
|
2636
2705
|
"$ref": "#/definitions/string[]",
|
|
2637
|
-
"description": "paths",
|
|
2706
|
+
"description": "Defines the list of paths pointing to the selection variants that should be used as quick filters",
|
|
2638
2707
|
"artifactType": "XMLProperty",
|
|
2639
|
-
"isViewNode": true,
|
|
2640
2708
|
"metadata": {
|
|
2641
2709
|
"type": "Property"
|
|
2642
2710
|
}
|
|
@@ -2695,9 +2763,8 @@
|
|
|
2695
2763
|
},
|
|
2696
2764
|
"creationMode": {
|
|
2697
2765
|
"$ref": "#/definitions/sap.fe.macros.table.TableCreationOptions",
|
|
2698
|
-
"description": "
|
|
2766
|
+
"description": "A set of options that can be configured.",
|
|
2699
2767
|
"artifactType": "XMLProperty",
|
|
2700
|
-
"isViewNode": true,
|
|
2701
2768
|
"metadata": {
|
|
2702
2769
|
"type": "Property"
|
|
2703
2770
|
}
|
|
@@ -2970,7 +3037,7 @@
|
|
|
2970
3037
|
"additionalProperties": {
|
|
2971
3038
|
"$ref": "#/definitions/sap.fe.macros.table.AnalyticalConfiguration"
|
|
2972
3039
|
},
|
|
2973
|
-
"isViewNode":
|
|
3040
|
+
"isViewNode": false,
|
|
2974
3041
|
"metadata": {
|
|
2975
3042
|
"path": [],
|
|
2976
3043
|
"type": "Aggregation"
|
|
@@ -2992,7 +3059,7 @@
|
|
|
2992
3059
|
"additionalProperties": {
|
|
2993
3060
|
"$ref": "#/definitions/sap.fe.macros.table.MassEdit"
|
|
2994
3061
|
},
|
|
2995
|
-
"isViewNode":
|
|
3062
|
+
"isViewNode": false,
|
|
2996
3063
|
"metadata": {
|
|
2997
3064
|
"path": [],
|
|
2998
3065
|
"type": "Aggregation"
|
|
@@ -3000,7 +3067,7 @@
|
|
|
3000
3067
|
},
|
|
3001
3068
|
"beforeRebindTable": {
|
|
3002
3069
|
"type": "string",
|
|
3003
|
-
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3070
|
+
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nThe event contains a parameter, `collectionBindingInfo`, which is an instance of `CollectionBindingInfoAPI`.\nThis allows you to manipulate the table's list binding.\nYou can use this event to attach event handlers to the table's list binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3004
3071
|
"artifactType": "XMLProperty",
|
|
3005
3072
|
"metadata": {
|
|
3006
3073
|
"type": "Event"
|
|
@@ -3061,9 +3128,8 @@
|
|
|
3061
3128
|
},
|
|
3062
3129
|
"creationMode": {
|
|
3063
3130
|
"$ref": "#/definitions/sap.fe.macros.table.TableCreationOptions",
|
|
3064
|
-
"description": "
|
|
3131
|
+
"description": "A set of options that can be configured.",
|
|
3065
3132
|
"artifactType": "XMLProperty",
|
|
3066
|
-
"isViewNode": true,
|
|
3067
3133
|
"metadata": {
|
|
3068
3134
|
"type": "Property"
|
|
3069
3135
|
}
|
|
@@ -3331,7 +3397,7 @@
|
|
|
3331
3397
|
"additionalProperties": {
|
|
3332
3398
|
"$ref": "#/definitions/sap.fe.macros.table.AnalyticalConfiguration"
|
|
3333
3399
|
},
|
|
3334
|
-
"isViewNode":
|
|
3400
|
+
"isViewNode": false,
|
|
3335
3401
|
"metadata": {
|
|
3336
3402
|
"path": [],
|
|
3337
3403
|
"type": "Aggregation"
|
|
@@ -3353,7 +3419,7 @@
|
|
|
3353
3419
|
"additionalProperties": {
|
|
3354
3420
|
"$ref": "#/definitions/sap.fe.macros.table.MassEdit"
|
|
3355
3421
|
},
|
|
3356
|
-
"isViewNode":
|
|
3422
|
+
"isViewNode": false,
|
|
3357
3423
|
"metadata": {
|
|
3358
3424
|
"path": [],
|
|
3359
3425
|
"type": "Aggregation"
|
|
@@ -3361,7 +3427,7 @@
|
|
|
3361
3427
|
},
|
|
3362
3428
|
"beforeRebindTable": {
|
|
3363
3429
|
"type": "string",
|
|
3364
|
-
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3430
|
+
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nThe event contains a parameter, `collectionBindingInfo`, which is an instance of `CollectionBindingInfoAPI`.\nThis allows you to manipulate the table's list binding.\nYou can use this event to attach event handlers to the table's list binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3365
3431
|
"artifactType": "XMLProperty",
|
|
3366
3432
|
"metadata": {
|
|
3367
3433
|
"type": "Event"
|
|
@@ -3392,7 +3458,7 @@
|
|
|
3392
3458
|
},
|
|
3393
3459
|
"sap.fe.macros.table.TableCreationOptions": {
|
|
3394
3460
|
"description": "Create options for the table.",
|
|
3395
|
-
"isViewNode":
|
|
3461
|
+
"isViewNode": false,
|
|
3396
3462
|
"type": "object",
|
|
3397
3463
|
"properties": {
|
|
3398
3464
|
"createAtEnd": {
|
|
@@ -3488,9 +3554,8 @@
|
|
|
3488
3554
|
},
|
|
3489
3555
|
"creationMode": {
|
|
3490
3556
|
"$ref": "#/definitions/sap.fe.macros.table.TreeTableCreationOptions",
|
|
3491
|
-
"description": "
|
|
3557
|
+
"description": "A set of options that can be configured.",
|
|
3492
3558
|
"artifactType": "XMLProperty",
|
|
3493
|
-
"isViewNode": true,
|
|
3494
3559
|
"metadata": {
|
|
3495
3560
|
"type": "Property"
|
|
3496
3561
|
}
|
|
@@ -3794,7 +3859,7 @@
|
|
|
3794
3859
|
"additionalProperties": {
|
|
3795
3860
|
"$ref": "#/definitions/sap.fe.macros.table.AnalyticalConfiguration"
|
|
3796
3861
|
},
|
|
3797
|
-
"isViewNode":
|
|
3862
|
+
"isViewNode": false,
|
|
3798
3863
|
"metadata": {
|
|
3799
3864
|
"path": [],
|
|
3800
3865
|
"type": "Aggregation"
|
|
@@ -3816,7 +3881,7 @@
|
|
|
3816
3881
|
"additionalProperties": {
|
|
3817
3882
|
"$ref": "#/definitions/sap.fe.macros.table.MassEdit"
|
|
3818
3883
|
},
|
|
3819
|
-
"isViewNode":
|
|
3884
|
+
"isViewNode": false,
|
|
3820
3885
|
"metadata": {
|
|
3821
3886
|
"path": [],
|
|
3822
3887
|
"type": "Aggregation"
|
|
@@ -3824,7 +3889,7 @@
|
|
|
3824
3889
|
},
|
|
3825
3890
|
"beforeRebindTable": {
|
|
3826
3891
|
"type": "string",
|
|
3827
|
-
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3892
|
+
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nThe event contains a parameter, `collectionBindingInfo`, which is an instance of `CollectionBindingInfoAPI`.\nThis allows you to manipulate the table's list binding.\nYou can use this event to attach event handlers to the table's list binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
3828
3893
|
"artifactType": "XMLProperty",
|
|
3829
3894
|
"metadata": {
|
|
3830
3895
|
"type": "Event"
|
|
@@ -3884,9 +3949,8 @@
|
|
|
3884
3949
|
},
|
|
3885
3950
|
"creationMode": {
|
|
3886
3951
|
"$ref": "#/definitions/sap.fe.macros.table.TreeTableCreationOptions",
|
|
3887
|
-
"description": "
|
|
3952
|
+
"description": "A set of options that can be configured.",
|
|
3888
3953
|
"artifactType": "XMLProperty",
|
|
3889
|
-
"isViewNode": true,
|
|
3890
3954
|
"metadata": {
|
|
3891
3955
|
"type": "Property"
|
|
3892
3956
|
}
|
|
@@ -4190,7 +4254,7 @@
|
|
|
4190
4254
|
"additionalProperties": {
|
|
4191
4255
|
"$ref": "#/definitions/sap.fe.macros.table.AnalyticalConfiguration"
|
|
4192
4256
|
},
|
|
4193
|
-
"isViewNode":
|
|
4257
|
+
"isViewNode": false,
|
|
4194
4258
|
"metadata": {
|
|
4195
4259
|
"path": [],
|
|
4196
4260
|
"type": "Aggregation"
|
|
@@ -4212,7 +4276,7 @@
|
|
|
4212
4276
|
"additionalProperties": {
|
|
4213
4277
|
"$ref": "#/definitions/sap.fe.macros.table.MassEdit"
|
|
4214
4278
|
},
|
|
4215
|
-
"isViewNode":
|
|
4279
|
+
"isViewNode": false,
|
|
4216
4280
|
"metadata": {
|
|
4217
4281
|
"path": [],
|
|
4218
4282
|
"type": "Aggregation"
|
|
@@ -4220,7 +4284,7 @@
|
|
|
4220
4284
|
},
|
|
4221
4285
|
"beforeRebindTable": {
|
|
4222
4286
|
"type": "string",
|
|
4223
|
-
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
4287
|
+
"description": "Before a table rebind, an event is triggered that contains information about the binding.\nThe event contains a parameter, `collectionBindingInfo`, which is an instance of `CollectionBindingInfoAPI`.\nThis allows you to manipulate the table's list binding.\nYou can use this event to attach event handlers to the table's list binding.\nYou can use this event to add selects, and add or read the sorters and filters.\n",
|
|
4224
4288
|
"artifactType": "XMLProperty",
|
|
4225
4289
|
"metadata": {
|
|
4226
4290
|
"type": "Event"
|
|
@@ -4251,7 +4315,7 @@
|
|
|
4251
4315
|
},
|
|
4252
4316
|
"sap.fe.macros.table.TreeTableCreationOptions": {
|
|
4253
4317
|
"description": "Create options for the tree table.",
|
|
4254
|
-
"isViewNode":
|
|
4318
|
+
"isViewNode": false,
|
|
4255
4319
|
"type": "object",
|
|
4256
4320
|
"properties": {
|
|
4257
4321
|
"createInPlace": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/ux-specification",
|
|
3
|
-
"version": "1.136.
|
|
3
|
+
"version": "1.136.13",
|
|
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.136.
|
|
58
|
+
"@sap-ux/project-access": "1.33.0",
|
|
59
|
+
"@sap/ux-specification-types": "1.136.13",
|
|
60
60
|
"@sapui5/types": "latest-1.136",
|
|
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) {
|