@sap/ux-specification 1.124.6 → 1.124.7
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 +31 -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-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 +22 -22
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v4/BuildingBlocksConfig.json +165 -121
- package/dist/specification/package.json +7 -9
- package/dist/specification/scripts/extractDocu.js +59 -74
- package/dist/specification/scripts/extractDocu.js.map +1 -1
- package/dist/specification/scripts/to-json-schema.js +17 -7
- package/dist/specification/scripts/to-json-schema.js.map +1 -1
- package/dist/specification/src/api.js +2 -2
- package/dist/specification/src/sync/common/distTagEvaluator.js +17 -7
- package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
- package/dist/specification/src/sync/common/flexUtils.js +17 -7
- package/dist/specification/src/sync/common/flexUtils.js.map +1 -1
- package/dist/specification/src/sync/i18n.js +17 -7
- package/dist/specification/src/sync/i18n.js.map +1 -1
- package/dist/specification/src/sync/v2/export/factory.js +17 -7
- package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
- package/dist/specification/src/sync/v4/export/factory.js +17 -7
- package/dist/specification/src/sync/v4/export/factory.js.map +1 -1
- package/dist/types/src/index.js +17 -7
- package/dist/types/src/index.js.map +1 -1
- package/package.json +7 -9
|
@@ -26,6 +26,116 @@
|
|
|
26
26
|
},
|
|
27
27
|
"additionalProperties": false,
|
|
28
28
|
"definitions": {
|
|
29
|
+
"sap.fe.macros.Chart": {
|
|
30
|
+
"description": "Building block used to create a chart based on the metadata provided by OData V4.\n\nUsually, a contextPath and metaPath is expected.\nUsage example:\n\n<macros:Chart id=\"MyChart\" contextPath=\"/RootEntity\" metaPath=\"@com.sap.vocabularies.UI.v1.Chart\" />\n\n",
|
|
31
|
+
"isViewNode": true,
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"contextPath": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "Metadata path to the entitySet or navigationProperty",
|
|
37
|
+
"artifactType": "XMLProperty",
|
|
38
|
+
"metadata": {
|
|
39
|
+
"type": "Property"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"filterBar": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Id of the FilterBar building block associated with the chart.",
|
|
45
|
+
"artifactType": "XMLProperty",
|
|
46
|
+
"metadata": {
|
|
47
|
+
"type": "Property"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"header": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Specifies the header text that is shown in the chart",
|
|
53
|
+
"artifactType": "XMLProperty",
|
|
54
|
+
"metadata": {
|
|
55
|
+
"type": "Property"
|
|
56
|
+
},
|
|
57
|
+
"i18nClassification": "HED: Header of the chart"
|
|
58
|
+
},
|
|
59
|
+
"headerVisible": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"description": "Controls if the header text should be shown or not",
|
|
62
|
+
"artifactType": "XMLProperty",
|
|
63
|
+
"metadata": {
|
|
64
|
+
"type": "Property"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"metaPath": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "Metadata path to the presentation context (UI.Chart with or without a qualifier)",
|
|
70
|
+
"artifactType": "XMLProperty",
|
|
71
|
+
"metadata": {
|
|
72
|
+
"type": "Property"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"personalization": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "Controls which options should be enabled for the chart personalization dialog.\nIf it is set to `true`, all possible options for this kind of chart are enabled.\nIf it is set to `false`, personalization is disabled.\n\nYou can also provide a more granular control for the personalization by providing a comma-separated list with the options you want to be available.\nAvailable options are:\n- Sort\n- Type\n- Item\n- Filter\n",
|
|
78
|
+
"artifactType": "XMLProperty",
|
|
79
|
+
"metadata": {
|
|
80
|
+
"type": "Property"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"selectionMode": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "Defines the selection mode to be used by the chart.\nAllowed values are `None`, `Single` or `Multiple`\n",
|
|
86
|
+
"artifactType": "XMLProperty",
|
|
87
|
+
"metadata": {
|
|
88
|
+
"type": "Property"
|
|
89
|
+
},
|
|
90
|
+
"enum": [
|
|
91
|
+
"None",
|
|
92
|
+
"Single",
|
|
93
|
+
"Multiple"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"variantManagement": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"description": "Controls the kind of variant management that should be enabled for the chart.\nAllowed value is `Control`.\nIf set with value `Control`, a variant management control is seen within the chart and the chart is linked to this.\nIf not set with any value, variant management control is not available for this chart.\n",
|
|
99
|
+
"artifactType": "XMLProperty",
|
|
100
|
+
"metadata": {
|
|
101
|
+
"type": "Property"
|
|
102
|
+
},
|
|
103
|
+
"const": "Control"
|
|
104
|
+
},
|
|
105
|
+
"id": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "Unique id of control",
|
|
108
|
+
"artifactType": "XMLProperty",
|
|
109
|
+
"metadata": {
|
|
110
|
+
"type": "Property"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"actions": {
|
|
114
|
+
"type": "object",
|
|
115
|
+
"additionalProperties": {
|
|
116
|
+
"$ref": "#/definitions/sap.fe.macros.chart.Action"
|
|
117
|
+
},
|
|
118
|
+
"isViewNode": true,
|
|
119
|
+
"metadata": {
|
|
120
|
+
"path": [],
|
|
121
|
+
"type": "Aggregation"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"selectionChange": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "An event triggered when chart selections are changed. The event contains information about the data selected/deselected and the Boolean flag that indicates whether data is selected or deselected.",
|
|
127
|
+
"artifactType": "XMLProperty",
|
|
128
|
+
"metadata": {
|
|
129
|
+
"type": "Event"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"additionalProperties": false,
|
|
134
|
+
"metadata": {
|
|
135
|
+
"path": [],
|
|
136
|
+
"type": "Control"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
29
139
|
"sap.fe.macros.CollectionBindingInfo": {
|
|
30
140
|
"description": "API to add parameters to the collection binding infos.",
|
|
31
141
|
"isViewNode": true,
|
|
@@ -544,116 +654,6 @@
|
|
|
544
654
|
"type": "Control"
|
|
545
655
|
}
|
|
546
656
|
},
|
|
547
|
-
"sap.fe.macros.Chart": {
|
|
548
|
-
"description": "Building block used to create a chart based on the metadata provided by OData V4.\n\nUsually, a contextPath and metaPath is expected.\nUsage example:\n\n<macros:Chart id=\"Mychart\" contextPath=\"/RootEntity\" metaPath=\"@com.sap.vocabularies.UI.v1.Chart\" />\n\n",
|
|
549
|
-
"isViewNode": true,
|
|
550
|
-
"type": "object",
|
|
551
|
-
"properties": {
|
|
552
|
-
"contextPath": {
|
|
553
|
-
"type": "string",
|
|
554
|
-
"description": "Metadata path to the entitySet or navigationProperty",
|
|
555
|
-
"artifactType": "XMLProperty",
|
|
556
|
-
"metadata": {
|
|
557
|
-
"type": "Property"
|
|
558
|
-
}
|
|
559
|
-
},
|
|
560
|
-
"filterBar": {
|
|
561
|
-
"type": "string",
|
|
562
|
-
"description": "Id of the FilterBar building block associated with the chart.",
|
|
563
|
-
"artifactType": "XMLProperty",
|
|
564
|
-
"metadata": {
|
|
565
|
-
"type": "Property"
|
|
566
|
-
}
|
|
567
|
-
},
|
|
568
|
-
"header": {
|
|
569
|
-
"type": "string",
|
|
570
|
-
"description": "Specifies the header text that is shown in the chart",
|
|
571
|
-
"artifactType": "XMLProperty",
|
|
572
|
-
"metadata": {
|
|
573
|
-
"type": "Property"
|
|
574
|
-
},
|
|
575
|
-
"i18nClassification": "HED: Header of the chart"
|
|
576
|
-
},
|
|
577
|
-
"headerVisible": {
|
|
578
|
-
"type": "boolean",
|
|
579
|
-
"description": "Controls if the header text should be shown or not",
|
|
580
|
-
"artifactType": "XMLProperty",
|
|
581
|
-
"metadata": {
|
|
582
|
-
"type": "Property"
|
|
583
|
-
}
|
|
584
|
-
},
|
|
585
|
-
"metaPath": {
|
|
586
|
-
"type": "string",
|
|
587
|
-
"description": "Metadata path to the presentation context (UI.Chart with or without a qualifier)",
|
|
588
|
-
"artifactType": "XMLProperty",
|
|
589
|
-
"metadata": {
|
|
590
|
-
"type": "Property"
|
|
591
|
-
}
|
|
592
|
-
},
|
|
593
|
-
"personalization": {
|
|
594
|
-
"type": "string",
|
|
595
|
-
"description": "Controls which options should be enabled for the chart personalization dialog.\nIf it is set to `true`, all possible options for this kind of chart are enabled.\nIf it is set to `false`, personalization is disabled.\n\nYou can also provide a more granular control for the personalization by providing a comma-separated list with the options you want to be available.\nAvailable options are:\n- Sort\n- Type\n- Item\n- Filter\n",
|
|
596
|
-
"artifactType": "XMLProperty",
|
|
597
|
-
"metadata": {
|
|
598
|
-
"type": "Property"
|
|
599
|
-
}
|
|
600
|
-
},
|
|
601
|
-
"selectionMode": {
|
|
602
|
-
"type": "string",
|
|
603
|
-
"description": "Defines the selection mode to be used by the chart.\nAllowed values are `None`, `Single` or `Multiple`\n",
|
|
604
|
-
"artifactType": "XMLProperty",
|
|
605
|
-
"metadata": {
|
|
606
|
-
"type": "Property"
|
|
607
|
-
},
|
|
608
|
-
"enum": [
|
|
609
|
-
"None",
|
|
610
|
-
"Single",
|
|
611
|
-
"Multiple"
|
|
612
|
-
]
|
|
613
|
-
},
|
|
614
|
-
"variantManagement": {
|
|
615
|
-
"type": "string",
|
|
616
|
-
"description": "Controls the kind of variant management that should be enabled for the chart.\nAllowed value is `Control`.\nIf set with value `Control`, a variant management control is seen within the chart and the chart is linked to this.\nIf not set with any value, variant management control is not available for this chart.\n",
|
|
617
|
-
"artifactType": "XMLProperty",
|
|
618
|
-
"metadata": {
|
|
619
|
-
"type": "Property"
|
|
620
|
-
},
|
|
621
|
-
"const": "Control"
|
|
622
|
-
},
|
|
623
|
-
"id": {
|
|
624
|
-
"type": "string",
|
|
625
|
-
"description": "Unique id of control",
|
|
626
|
-
"artifactType": "XMLProperty",
|
|
627
|
-
"metadata": {
|
|
628
|
-
"type": "Property"
|
|
629
|
-
}
|
|
630
|
-
},
|
|
631
|
-
"actions": {
|
|
632
|
-
"type": "object",
|
|
633
|
-
"additionalProperties": {
|
|
634
|
-
"$ref": "#/definitions/sap.fe.macros.chart.Action"
|
|
635
|
-
},
|
|
636
|
-
"isViewNode": true,
|
|
637
|
-
"metadata": {
|
|
638
|
-
"path": [],
|
|
639
|
-
"type": "Aggregation"
|
|
640
|
-
}
|
|
641
|
-
},
|
|
642
|
-
"selectionChange": {
|
|
643
|
-
"type": "string",
|
|
644
|
-
"description": "An event triggered when chart selections are changed. The event contains information about the data selected/deselected and the Boolean flag that indicates whether data is selected or deselected.",
|
|
645
|
-
"artifactType": "XMLProperty",
|
|
646
|
-
"metadata": {
|
|
647
|
-
"type": "Event"
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
},
|
|
651
|
-
"additionalProperties": false,
|
|
652
|
-
"metadata": {
|
|
653
|
-
"path": [],
|
|
654
|
-
"type": "Control"
|
|
655
|
-
}
|
|
656
|
-
},
|
|
657
657
|
"sap.fe.macros.controls.BuildingBlockObjectProperty": {
|
|
658
658
|
"description": "Base class for building block complex object properties that can be serialized to XML.",
|
|
659
659
|
"isViewNode": true,
|
|
@@ -1429,9 +1429,10 @@
|
|
|
1429
1429
|
}
|
|
1430
1430
|
},
|
|
1431
1431
|
"customToolbarPriority": {
|
|
1432
|
-
"
|
|
1433
|
-
"description": "
|
|
1432
|
+
"$ref": "#/definitions/int",
|
|
1433
|
+
"description": "customToolbarPriority",
|
|
1434
1434
|
"artifactType": "XMLProperty",
|
|
1435
|
+
"isViewNode": true,
|
|
1435
1436
|
"metadata": {
|
|
1436
1437
|
"type": "Property"
|
|
1437
1438
|
}
|
|
@@ -1445,9 +1446,19 @@
|
|
|
1445
1446
|
}
|
|
1446
1447
|
},
|
|
1447
1448
|
"priority": {
|
|
1448
|
-
"
|
|
1449
|
-
"description": "
|
|
1449
|
+
"$ref": "#/definitions/int",
|
|
1450
|
+
"description": "priority",
|
|
1450
1451
|
"artifactType": "XMLProperty",
|
|
1452
|
+
"isViewNode": true,
|
|
1453
|
+
"metadata": {
|
|
1454
|
+
"type": "Property"
|
|
1455
|
+
}
|
|
1456
|
+
},
|
|
1457
|
+
"row": {
|
|
1458
|
+
"$ref": "#/definitions/int",
|
|
1459
|
+
"description": "row",
|
|
1460
|
+
"artifactType": "XMLProperty",
|
|
1461
|
+
"isViewNode": true,
|
|
1451
1462
|
"metadata": {
|
|
1452
1463
|
"type": "Property"
|
|
1453
1464
|
}
|
|
@@ -2148,7 +2159,7 @@
|
|
|
2148
2159
|
},
|
|
2149
2160
|
"beforeRebindTable": {
|
|
2150
2161
|
"type": "string",
|
|
2151
|
-
"description": "
|
|
2162
|
+
"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",
|
|
2152
2163
|
"artifactType": "XMLProperty",
|
|
2153
2164
|
"metadata": {
|
|
2154
2165
|
"type": "Event"
|
|
@@ -2457,7 +2468,7 @@
|
|
|
2457
2468
|
},
|
|
2458
2469
|
"beforeRebindTable": {
|
|
2459
2470
|
"type": "string",
|
|
2460
|
-
"description": "
|
|
2471
|
+
"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",
|
|
2461
2472
|
"artifactType": "XMLProperty",
|
|
2462
2473
|
"metadata": {
|
|
2463
2474
|
"type": "Event"
|
|
@@ -2499,6 +2510,14 @@
|
|
|
2499
2510
|
"type": "Property"
|
|
2500
2511
|
}
|
|
2501
2512
|
},
|
|
2513
|
+
"creationFields": {
|
|
2514
|
+
"type": "string",
|
|
2515
|
+
"description": "Defines the list of properties that will be displayed in the creation dialog, when the creation mode is set to 'CreationDialog'.\nThe value is a comma-separated list of property names.\n",
|
|
2516
|
+
"artifactType": "XMLProperty",
|
|
2517
|
+
"metadata": {
|
|
2518
|
+
"type": "Property"
|
|
2519
|
+
}
|
|
2520
|
+
},
|
|
2502
2521
|
"inlineCreationRowsHiddenInEditMode": {
|
|
2503
2522
|
"type": "boolean",
|
|
2504
2523
|
"description": "Specifies if the new entry should be hidden in case of creationMode 'InlineCreationRows'. This only applies to responsive tables.\nThe default value is 'false'\n",
|
|
@@ -2509,7 +2528,7 @@
|
|
|
2509
2528
|
},
|
|
2510
2529
|
"name": {
|
|
2511
2530
|
"type": "string",
|
|
2512
|
-
"description": "Defines the creation mode to be used by the table.\nAllowed values are `NewPage`, `Inline`, `InlineCreationsRows` or `
|
|
2531
|
+
"description": "Defines the creation mode to be used by the table.\nAllowed values are `NewPage`, `Inline`, `InlineCreationsRows`, `External` or `CreationDialog`.\n\nNewPage - the created document is shown in a new page, depending on whether metadata 'Sync', 'Async' or 'Deferred' is used\nInline - The creation is done inline\nInlineCreationsRows - The creation is done inline with an empty row\nExternal - The creation is done in a different application specified via the parameter 'outbound'\nCreationDialog - the creation is done in the table, with a dialog allowing to specify some initial property values (the properties are listed in `creationFields`).\n\nIf not set with any value:\nif navigation is defined, the default value is 'NewPage'. Otherwise it is 'Inline'.\n",
|
|
2513
2532
|
"artifactType": "XMLProperty",
|
|
2514
2533
|
"metadata": {
|
|
2515
2534
|
"type": "Property"
|
|
@@ -2844,7 +2863,7 @@
|
|
|
2844
2863
|
},
|
|
2845
2864
|
"beforeRebindTable": {
|
|
2846
2865
|
"type": "string",
|
|
2847
|
-
"description": "
|
|
2866
|
+
"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",
|
|
2848
2867
|
"artifactType": "XMLProperty",
|
|
2849
2868
|
"metadata": {
|
|
2850
2869
|
"type": "Event"
|
|
@@ -3172,7 +3191,7 @@
|
|
|
3172
3191
|
},
|
|
3173
3192
|
"beforeRebindTable": {
|
|
3174
3193
|
"type": "string",
|
|
3175
|
-
"description": "
|
|
3194
|
+
"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",
|
|
3176
3195
|
"artifactType": "XMLProperty",
|
|
3177
3196
|
"metadata": {
|
|
3178
3197
|
"type": "Event"
|
|
@@ -3214,6 +3233,14 @@
|
|
|
3214
3233
|
"type": "Property"
|
|
3215
3234
|
}
|
|
3216
3235
|
},
|
|
3236
|
+
"creationFields": {
|
|
3237
|
+
"type": "string",
|
|
3238
|
+
"description": "Defines the list of properties that will be displayed in the creation dialog, when the creation mode is set to 'CreationDialog'.\nThe value is a comma-separated list of property names.\n",
|
|
3239
|
+
"artifactType": "XMLProperty",
|
|
3240
|
+
"metadata": {
|
|
3241
|
+
"type": "Property"
|
|
3242
|
+
}
|
|
3243
|
+
},
|
|
3217
3244
|
"isCreateEnabled": {
|
|
3218
3245
|
"type": "string",
|
|
3219
3246
|
"description": "Defines the extension point to control the enablement of the Create button or Create Menu buttons.\n",
|
|
@@ -3224,7 +3251,7 @@
|
|
|
3224
3251
|
},
|
|
3225
3252
|
"name": {
|
|
3226
3253
|
"type": "string",
|
|
3227
|
-
"description": "Defines the creation mode to be used by the tree table.\nAllowed values are `NewPage` or `
|
|
3254
|
+
"description": "Defines the creation mode to be used by the tree table.\nAllowed values are `NewPage`, `Inline` or `CreationDialog`.\n\nNewPage - the created document is shown in a new page, depending on whether metadata 'Sync', 'Async' or 'Deferred' is used.\nInline - the creation is done inline.\nCreationDialog - the creation is done in the table, with a dialog allowing to specify some initial property values (the properties are listed in `creationFields`).\n\nIf not set with any value:\nif navigation is defined, the default value is 'NewPage'. Otherwise it is 'Inline'.\n",
|
|
3228
3255
|
"artifactType": "XMLProperty",
|
|
3229
3256
|
"metadata": {
|
|
3230
3257
|
"type": "Property"
|
|
@@ -3237,7 +3264,7 @@
|
|
|
3237
3264
|
},
|
|
3238
3265
|
"nodeType": {
|
|
3239
3266
|
"type": "object",
|
|
3240
|
-
"description": "Defines the nodes to be added on the custom create.\nThis object must have the following properties:\npropertyName: the name of the property on the page entity set used to categorize the node type to be created within the hierarchy\nvalues: an array of key and
|
|
3267
|
+
"description": "Defines the nodes to be added on the custom create.\nThis object must have the following properties:\npropertyName: the name of the property on the page entity set used to categorize the node type to be created within the hierarchy\nvalues: an array of key, label and an optional creationFields that define a value of the property defined by the propertyName key, its label, and the specific fields to be shown in the creation dialog.\n",
|
|
3241
3268
|
"artifactType": "XMLProperty",
|
|
3242
3269
|
"metadata": {
|
|
3243
3270
|
"type": "Property"
|
|
@@ -3328,6 +3355,23 @@
|
|
|
3328
3355
|
"isViewNode": true,
|
|
3329
3356
|
"type": "object",
|
|
3330
3357
|
"properties": {
|
|
3358
|
+
"dateTimePattern": {
|
|
3359
|
+
"type": "string",
|
|
3360
|
+
"description": "Property for defining a custom pattern for the date, time, or dateTime format. \nIf there is a dateTimePattern defined dateTimeStyle is ignored.\n",
|
|
3361
|
+
"artifactType": "XMLProperty",
|
|
3362
|
+
"metadata": {
|
|
3363
|
+
"type": "Property"
|
|
3364
|
+
}
|
|
3365
|
+
},
|
|
3366
|
+
"dateTimeStyle": {
|
|
3367
|
+
"$ref": "#/definitions/sap.fe.core.templating.UIFormatters.DateTimeStyle",
|
|
3368
|
+
"description": "dateTimeStyle",
|
|
3369
|
+
"artifactType": "XMLProperty",
|
|
3370
|
+
"isViewNode": true,
|
|
3371
|
+
"metadata": {
|
|
3372
|
+
"type": "Property"
|
|
3373
|
+
}
|
|
3374
|
+
},
|
|
3331
3375
|
"displayMode": {
|
|
3332
3376
|
"type": "string",
|
|
3333
3377
|
"description": "Defines how the field value and associated text will be displayed together.\n\nAllowed values are \"Value\", \"Description\", \"DescriptionValue\" and \"ValueDescription\"\n",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/ux-specification",
|
|
3
|
-
"version": "1.124.
|
|
3
|
+
"version": "1.124.7",
|
|
4
4
|
"displayName": "SAP Fiori tools - Specification",
|
|
5
5
|
"description": "SAP Fiori tools - Specification",
|
|
6
6
|
"files": [
|
|
@@ -34,8 +34,6 @@
|
|
|
34
34
|
"docuV4": "ts-node ./scripts/extractDocu.ts --version=v4 format=excel",
|
|
35
35
|
"htmlV2": "ts-node ./scripts/extractDocu.ts --version=v2 --format=html",
|
|
36
36
|
"htmlV4": "ts-node ./scripts/extractDocu.ts --version=v4 --format=html",
|
|
37
|
-
"iXiaSoftV2": "ts-node ./scripts/extractDocu.ts --version=v2 --format=iXiaSoft",
|
|
38
|
-
"iXiaSoftV4": "ts-node ./scripts/extractDocu.ts --version=v4 --format=iXiaSoft",
|
|
39
37
|
"lint": "eslint . --ext .ts",
|
|
40
38
|
"lint:summary": "eslint . --ext .ts -f summary",
|
|
41
39
|
"lint:fix": "eslint . --ext .ts --fix",
|
|
@@ -51,13 +49,13 @@
|
|
|
51
49
|
"publisher": "SAPSE",
|
|
52
50
|
"license": "SEE LICENSE IN LICENSE",
|
|
53
51
|
"dependencies": {
|
|
54
|
-
"@sap-ux/fe-fpm-writer": "0.31.
|
|
55
|
-
"@sap-ux/vocabularies-types": "0.
|
|
52
|
+
"@sap-ux/fe-fpm-writer": "0.31.21",
|
|
53
|
+
"@sap-ux/vocabularies-types": "0.12.0"
|
|
56
54
|
},
|
|
57
55
|
"devDependencies": {
|
|
58
|
-
"@sap-ux/annotation-converter": "0.9.
|
|
56
|
+
"@sap-ux/annotation-converter": "0.9.11",
|
|
59
57
|
"@sap-ux/edmx-parser": "0.8.2",
|
|
60
|
-
"@sap/ux-specification-types": "1.124.
|
|
58
|
+
"@sap/ux-specification-types": "1.124.7",
|
|
61
59
|
"@sapui5/types": "latest-1.124",
|
|
62
60
|
"@types/d3": "7.4.3",
|
|
63
61
|
"@types/jquery": "3.5.31",
|
|
@@ -65,13 +63,13 @@
|
|
|
65
63
|
"@ui5/flexibility-utils": "0.1.3",
|
|
66
64
|
"@xml-tools/ast": "5.0.5",
|
|
67
65
|
"@xml-tools/parser": "1.0.11",
|
|
68
|
-
"axios": "1.7.
|
|
66
|
+
"axios": "1.7.9",
|
|
69
67
|
"copyfiles": "2.4.1",
|
|
70
68
|
"d3": "7.9.0",
|
|
71
69
|
"deepmerge": "4.3.1",
|
|
72
70
|
"ejs": "3.1.10",
|
|
73
71
|
"excel4node": "1.8.2",
|
|
74
|
-
"i18next": "23.16.
|
|
72
|
+
"i18next": "23.16.8",
|
|
75
73
|
"jquery": "3.7.1",
|
|
76
74
|
"jsdom": "25.0.1",
|
|
77
75
|
"lodash.unset": "4.5.2",
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
/**
|
|
27
37
|
* This script extracts all existing documentation (i.e. descriptions) from the generic schemas of a certain OData version (V2 or V4).
|
|
@@ -69,18 +79,18 @@ function processElement(schema, subSchema, property, output, definition) {
|
|
|
69
79
|
`TYPE_${element['type']}` +
|
|
70
80
|
additionalMetadata +
|
|
71
81
|
';' +
|
|
72
|
-
element['description'] +
|
|
82
|
+
`DESC_${element['description']}` +
|
|
73
83
|
';' +
|
|
74
|
-
element['descriptionSrcURL']);
|
|
84
|
+
`URL_${element['descriptionSrcURL']}`);
|
|
75
85
|
}
|
|
76
86
|
else {
|
|
77
87
|
output.push(definition +
|
|
78
88
|
';' +
|
|
79
89
|
`TYPE_${element['type']}` +
|
|
80
90
|
';' +
|
|
81
|
-
element['description'] +
|
|
91
|
+
`DESC_${element['description']}` +
|
|
82
92
|
';' +
|
|
83
|
-
element['descriptionSrcURL']);
|
|
93
|
+
`URL_${element['descriptionSrcURL']}`);
|
|
84
94
|
}
|
|
85
95
|
}
|
|
86
96
|
// Ignored properties and also case to avoid infinitive loop
|
|
@@ -225,12 +235,18 @@ function parseSchema(schema, subSchema, output, definition, description, additio
|
|
|
225
235
|
`TYPE_${[subSchema['enum'].join('|')]}` +
|
|
226
236
|
additionalMetadata +
|
|
227
237
|
';' +
|
|
228
|
-
description +
|
|
238
|
+
`DESC_${description}` +
|
|
229
239
|
';' +
|
|
230
|
-
descriptionSrcUrl);
|
|
240
|
+
`URL_${descriptionSrcUrl}`);
|
|
231
241
|
}
|
|
232
242
|
else {
|
|
233
|
-
output.push(definition +
|
|
243
|
+
output.push(definition +
|
|
244
|
+
';' +
|
|
245
|
+
`TYPE_${[subSchema['enum'].join('|')]}` +
|
|
246
|
+
';' +
|
|
247
|
+
`DESC_${description}` +
|
|
248
|
+
';' +
|
|
249
|
+
`URL_${descriptionSrcUrl}`);
|
|
234
250
|
}
|
|
235
251
|
}
|
|
236
252
|
else if (subSchema['type'] && description) {
|
|
@@ -240,12 +256,18 @@ function parseSchema(schema, subSchema, output, definition, description, additio
|
|
|
240
256
|
`TYPE_${subSchema['type']}` +
|
|
241
257
|
additionalMetadata +
|
|
242
258
|
';' +
|
|
243
|
-
description +
|
|
259
|
+
`DESC_${description}` +
|
|
244
260
|
';' +
|
|
245
|
-
descriptionSrcUrl);
|
|
261
|
+
`URL_${descriptionSrcUrl}`);
|
|
246
262
|
}
|
|
247
263
|
else {
|
|
248
|
-
output.push(definition +
|
|
264
|
+
output.push(definition +
|
|
265
|
+
';' +
|
|
266
|
+
`TYPE_${subSchema['type']}` +
|
|
267
|
+
';' +
|
|
268
|
+
`DESC_${description}` +
|
|
269
|
+
';' +
|
|
270
|
+
`URL_${descriptionSrcUrl}`);
|
|
249
271
|
}
|
|
250
272
|
}
|
|
251
273
|
}
|
|
@@ -273,7 +295,15 @@ function writeToExcel(workbook, output, file) {
|
|
|
273
295
|
const element = output[rowIndex];
|
|
274
296
|
const cellArray = element.split(';');
|
|
275
297
|
for (let cellIndex = 0; cellIndex < cellArray.length; cellIndex++) {
|
|
276
|
-
|
|
298
|
+
let cell = cellArray[cellIndex];
|
|
299
|
+
// skip writing undefined urls into sheet
|
|
300
|
+
if (cell.includes('URL_undefined')) {
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
// remove the prefix for better readability
|
|
304
|
+
if (cell.includes('DESC_') || cell.includes('URL_')) {
|
|
305
|
+
cell = cell.split('_')[1];
|
|
306
|
+
}
|
|
277
307
|
worksheet
|
|
278
308
|
.cell(rowIndex, cellIndex + 1)
|
|
279
309
|
.string(cell)
|
|
@@ -281,55 +311,6 @@ function writeToExcel(workbook, output, file) {
|
|
|
281
311
|
}
|
|
282
312
|
}
|
|
283
313
|
}
|
|
284
|
-
function generateIxiaSoftFormat(output, file, version) {
|
|
285
|
-
//filter output to remove duplicated lines due to different table types (anyOf)
|
|
286
|
-
output = output.filter((e, i, a) => a.indexOf(e) === i);
|
|
287
|
-
let iXiaFormat = `<simpletable frame="all" relcolwidth="1* 1*" id="simpletable_uqj_klr_jlb">
|
|
288
|
-
<sthead>
|
|
289
|
-
<stentry> Settings </stentry>
|
|
290
|
-
<stentry> Description </stentry>
|
|
291
|
-
</sthead>
|
|
292
|
-
`;
|
|
293
|
-
const fileName = file.split('.')[0];
|
|
294
|
-
for (let rowIndex = 1; rowIndex < output.length; rowIndex++) {
|
|
295
|
-
const element = output[rowIndex];
|
|
296
|
-
const cellArray = element.split(';');
|
|
297
|
-
let setting = '{';
|
|
298
|
-
iXiaFormat = iXiaFormat + `\t<strow>\n`;
|
|
299
|
-
for (let cellIndex = 0; cellIndex < cellArray.length - 1; cellIndex++) {
|
|
300
|
-
let cell = cellArray[cellIndex];
|
|
301
|
-
if (['0', '1'].includes(cell)) {
|
|
302
|
-
cell = 'variantKey' + cell;
|
|
303
|
-
}
|
|
304
|
-
if (cellArray[cellIndex + 1].includes('TYPE')) {
|
|
305
|
-
setting = setting + `"${cell}": ${cellArray[cellIndex + 1].split('_')[1]}`;
|
|
306
|
-
let noOfOpeningBraces = setting.match(/{/g).length;
|
|
307
|
-
while (noOfOpeningBraces > 0) {
|
|
308
|
-
setting = setting + '}';
|
|
309
|
-
noOfOpeningBraces--;
|
|
310
|
-
}
|
|
311
|
-
iXiaFormat = iXiaFormat + `\t\t<stentry> ${setting} </stentry>\n`;
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
setting = setting + `"${cell}": {`;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
// add description to the table
|
|
318
|
-
iXiaFormat = iXiaFormat + `\t\t<stentry> ${cellArray[cellArray.length - 1]} </stentry>\n\t</strow>\n`;
|
|
319
|
-
}
|
|
320
|
-
iXiaFormat = iXiaFormat + `</simpletable>`;
|
|
321
|
-
const outDir = (0, path_1.join)('dist', 'documentation');
|
|
322
|
-
if (!fs.existsSync(outDir)) {
|
|
323
|
-
fs.mkdirSync(outDir);
|
|
324
|
-
}
|
|
325
|
-
const outFile = (0, path_1.join)(outDir, 'Specification' + version + fileName + '.txt');
|
|
326
|
-
fs.writeFile(outFile, iXiaFormat, (err) => {
|
|
327
|
-
if (err) {
|
|
328
|
-
throw err;
|
|
329
|
-
}
|
|
330
|
-
console.log(`${outFile} was succesfully saved!`);
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
314
|
function createTreeData(output, floorPlan, odataVersion, specVersion) {
|
|
334
315
|
let root;
|
|
335
316
|
const treeData = {
|
|
@@ -348,7 +329,10 @@ function createTreeData(output, floorPlan, odataVersion, specVersion) {
|
|
|
348
329
|
else if (string.includes('CONTROL_')) {
|
|
349
330
|
return 'control';
|
|
350
331
|
}
|
|
351
|
-
else {
|
|
332
|
+
else if (string.includes('URL_')) {
|
|
333
|
+
return 'url';
|
|
334
|
+
}
|
|
335
|
+
else if (string.includes('DESC_')) {
|
|
352
336
|
return 'description';
|
|
353
337
|
}
|
|
354
338
|
}
|
|
@@ -356,7 +340,10 @@ function createTreeData(output, floorPlan, odataVersion, specVersion) {
|
|
|
356
340
|
if (element.includes('TYPE_')) {
|
|
357
341
|
root.type = element.split('_')[1];
|
|
358
342
|
for (let i = index + 1; i < elementsArray.length; i++) {
|
|
359
|
-
|
|
343
|
+
let match;
|
|
344
|
+
if (elementsArray[i] !== '') {
|
|
345
|
+
match = find(elementsArray[i]);
|
|
346
|
+
}
|
|
360
347
|
switch (match) {
|
|
361
348
|
case 'artifact':
|
|
362
349
|
if (elementsArray[i].split('_')[1] === 'FlexChange') {
|
|
@@ -369,8 +356,10 @@ function createTreeData(output, floorPlan, odataVersion, specVersion) {
|
|
|
369
356
|
case 'control':
|
|
370
357
|
root.control = elementsArray[i].split('_')[1];
|
|
371
358
|
break;
|
|
359
|
+
case 'url':
|
|
360
|
+
break;
|
|
372
361
|
default:
|
|
373
|
-
root.description = elementsArray[i];
|
|
362
|
+
root.description = elementsArray[i].split('_')[1];
|
|
374
363
|
}
|
|
375
364
|
}
|
|
376
365
|
return false;
|
|
@@ -538,13 +527,9 @@ function generateDocmentation() {
|
|
|
538
527
|
const data = fs.readFileSync(filePath, 'utf8');
|
|
539
528
|
const schema = JSON.parse(data);
|
|
540
529
|
parseSchema(schema, schema, output);
|
|
541
|
-
//console.log(output);
|
|
542
530
|
if (format === 'excel') {
|
|
543
531
|
writeToExcel(workbook, output, file);
|
|
544
532
|
}
|
|
545
|
-
if (format === 'iXiaSoft') {
|
|
546
|
-
generateIxiaSoftFormat(output, file, version);
|
|
547
|
-
}
|
|
548
533
|
if (format === 'html') {
|
|
549
534
|
generateHTMLFormat(output, file, version);
|
|
550
535
|
}
|