@sap/ux-specification 1.136.2 → 1.136.4
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 +42 -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 +109 -109
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ListReportNewConfig.json +42 -0
- package/dist/schemas/v4/BuildingBlocksConfig.json +200 -122
- package/dist/schemas/v4/ListReportConfig.json +136 -0
- package/dist/schemas/v4/ObjectPageConfig.json +136 -0
- package/dist/specification/package.json +9 -9
- package/dist/specification/scripts/extractDocu.js +65 -56
- package/dist/specification/scripts/extractDocu.js.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 +3 -2
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/api.js +2 -2
- package/dist/specification/src/sync/v2/generate/listReport.js +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js.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 +1 -2
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.d.ts +5 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.js +24 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Action.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/ListHeader.d.ts +12 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/ListHeader.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/ListHeader.js +58 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/ListHeader.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +7 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +23 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +2 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +15 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.d.ts +3 -3
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js +10 -8
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.js +1 -2
- package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +5 -6
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +8 -17
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +12 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts +20 -0
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.js +82 -0
- package/dist/specification/src/sync/v4/export/controls/Table.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 +8 -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 +5 -0
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts +8 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +36 -5
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/types/src/common/types.d.ts +1 -5
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts +5 -1
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v4/controls/Table.d.ts +29 -0
- package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -603,6 +603,40 @@
|
|
|
603
603
|
"type": "boolean",
|
|
604
604
|
"artifactType": "Manifest",
|
|
605
605
|
"descriptionSrcURL": "https://ui5.sap.com/#/topic/c0f6592a592e47f9bb6d09900de47412"
|
|
606
|
+
},
|
|
607
|
+
"enableMassEdit": {
|
|
608
|
+
"artifactType": "Manifest",
|
|
609
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
610
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
611
|
+
"anyOf": [
|
|
612
|
+
{
|
|
613
|
+
"type": "object",
|
|
614
|
+
"properties": {
|
|
615
|
+
"visibleFields": {
|
|
616
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
617
|
+
"artifactType": "Manifest",
|
|
618
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
619
|
+
"type": "array",
|
|
620
|
+
"items": {
|
|
621
|
+
"type": "string"
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
"ignoredFields": {
|
|
625
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
626
|
+
"artifactType": "Manifest",
|
|
627
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
628
|
+
"type": "array",
|
|
629
|
+
"items": {
|
|
630
|
+
"type": "string"
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"additionalProperties": false
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"type": "boolean"
|
|
638
|
+
}
|
|
639
|
+
]
|
|
606
640
|
}
|
|
607
641
|
},
|
|
608
642
|
"additionalProperties": false,
|
|
@@ -1097,6 +1131,40 @@
|
|
|
1097
1131
|
"type": "boolean",
|
|
1098
1132
|
"artifactType": "Manifest",
|
|
1099
1133
|
"descriptionSrcURL": "https://ui5.sap.com/#/topic/c0f6592a592e47f9bb6d09900de47412"
|
|
1134
|
+
},
|
|
1135
|
+
"enableMassEdit": {
|
|
1136
|
+
"artifactType": "Manifest",
|
|
1137
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1138
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1139
|
+
"anyOf": [
|
|
1140
|
+
{
|
|
1141
|
+
"type": "object",
|
|
1142
|
+
"properties": {
|
|
1143
|
+
"visibleFields": {
|
|
1144
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1145
|
+
"artifactType": "Manifest",
|
|
1146
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1147
|
+
"type": "array",
|
|
1148
|
+
"items": {
|
|
1149
|
+
"type": "string"
|
|
1150
|
+
}
|
|
1151
|
+
},
|
|
1152
|
+
"ignoredFields": {
|
|
1153
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1154
|
+
"artifactType": "Manifest",
|
|
1155
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1156
|
+
"type": "array",
|
|
1157
|
+
"items": {
|
|
1158
|
+
"type": "string"
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
"additionalProperties": false
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"type": "boolean"
|
|
1166
|
+
}
|
|
1167
|
+
]
|
|
1100
1168
|
}
|
|
1101
1169
|
},
|
|
1102
1170
|
"additionalProperties": false
|
|
@@ -1264,6 +1332,40 @@
|
|
|
1264
1332
|
"type": "boolean",
|
|
1265
1333
|
"artifactType": "Manifest",
|
|
1266
1334
|
"descriptionSrcURL": "https://ui5.sap.com/#/topic/c0f6592a592e47f9bb6d09900de47412"
|
|
1335
|
+
},
|
|
1336
|
+
"enableMassEdit": {
|
|
1337
|
+
"artifactType": "Manifest",
|
|
1338
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1339
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1340
|
+
"anyOf": [
|
|
1341
|
+
{
|
|
1342
|
+
"type": "object",
|
|
1343
|
+
"properties": {
|
|
1344
|
+
"visibleFields": {
|
|
1345
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1346
|
+
"artifactType": "Manifest",
|
|
1347
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1348
|
+
"type": "array",
|
|
1349
|
+
"items": {
|
|
1350
|
+
"type": "string"
|
|
1351
|
+
}
|
|
1352
|
+
},
|
|
1353
|
+
"ignoredFields": {
|
|
1354
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1355
|
+
"artifactType": "Manifest",
|
|
1356
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1357
|
+
"type": "array",
|
|
1358
|
+
"items": {
|
|
1359
|
+
"type": "string"
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
},
|
|
1363
|
+
"additionalProperties": false
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
"type": "boolean"
|
|
1367
|
+
}
|
|
1368
|
+
]
|
|
1267
1369
|
}
|
|
1268
1370
|
},
|
|
1269
1371
|
"additionalProperties": false,
|
|
@@ -1318,6 +1420,40 @@
|
|
|
1318
1420
|
"description": "Each chart can be based on a different entitySet.",
|
|
1319
1421
|
"type": "string",
|
|
1320
1422
|
"artifactType": "Manifest"
|
|
1423
|
+
},
|
|
1424
|
+
"enableMassEdit": {
|
|
1425
|
+
"artifactType": "Manifest",
|
|
1426
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1427
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1428
|
+
"anyOf": [
|
|
1429
|
+
{
|
|
1430
|
+
"type": "object",
|
|
1431
|
+
"properties": {
|
|
1432
|
+
"visibleFields": {
|
|
1433
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1434
|
+
"artifactType": "Manifest",
|
|
1435
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1436
|
+
"type": "array",
|
|
1437
|
+
"items": {
|
|
1438
|
+
"type": "string"
|
|
1439
|
+
}
|
|
1440
|
+
},
|
|
1441
|
+
"ignoredFields": {
|
|
1442
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1443
|
+
"artifactType": "Manifest",
|
|
1444
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1445
|
+
"type": "array",
|
|
1446
|
+
"items": {
|
|
1447
|
+
"type": "string"
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
},
|
|
1451
|
+
"additionalProperties": false
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"type": "boolean"
|
|
1455
|
+
}
|
|
1456
|
+
]
|
|
1321
1457
|
}
|
|
1322
1458
|
},
|
|
1323
1459
|
"additionalProperties": false,
|
|
@@ -627,6 +627,40 @@
|
|
|
627
627
|
"columns": {
|
|
628
628
|
"$ref": "#/definitions/GenericColumnsOP"
|
|
629
629
|
},
|
|
630
|
+
"enableMassEdit": {
|
|
631
|
+
"artifactType": "Manifest",
|
|
632
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
633
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
634
|
+
"anyOf": [
|
|
635
|
+
{
|
|
636
|
+
"type": "object",
|
|
637
|
+
"properties": {
|
|
638
|
+
"visibleFields": {
|
|
639
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
640
|
+
"artifactType": "Manifest",
|
|
641
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
642
|
+
"type": "array",
|
|
643
|
+
"items": {
|
|
644
|
+
"type": "string"
|
|
645
|
+
}
|
|
646
|
+
},
|
|
647
|
+
"ignoredFields": {
|
|
648
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
649
|
+
"artifactType": "Manifest",
|
|
650
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
651
|
+
"type": "array",
|
|
652
|
+
"items": {
|
|
653
|
+
"type": "string"
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
"additionalProperties": false
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"type": "boolean"
|
|
661
|
+
}
|
|
662
|
+
]
|
|
663
|
+
},
|
|
630
664
|
"selectionMode": {
|
|
631
665
|
"$ref": "#/definitions/SelectionMode",
|
|
632
666
|
"description": "Allows you to enable or disable row selection and choose between single or multiple row selection.\n- Auto: This type is deprecated. Choose any of the following modes:\n- Multi (default): This type allows multiple table selections if relevant actions are available in the toolbar.\n- Single: This type allows single table selection if relevant actions are available in the toolbar.\n- None: No table selection is possible in display mode.",
|
|
@@ -1137,6 +1171,40 @@
|
|
|
1137
1171
|
"columns": {
|
|
1138
1172
|
"$ref": "#/definitions/GenericColumnsOP"
|
|
1139
1173
|
},
|
|
1174
|
+
"enableMassEdit": {
|
|
1175
|
+
"artifactType": "Manifest",
|
|
1176
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1177
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1178
|
+
"anyOf": [
|
|
1179
|
+
{
|
|
1180
|
+
"type": "object",
|
|
1181
|
+
"properties": {
|
|
1182
|
+
"visibleFields": {
|
|
1183
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1184
|
+
"artifactType": "Manifest",
|
|
1185
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1186
|
+
"type": "array",
|
|
1187
|
+
"items": {
|
|
1188
|
+
"type": "string"
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"ignoredFields": {
|
|
1192
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1193
|
+
"artifactType": "Manifest",
|
|
1194
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1195
|
+
"type": "array",
|
|
1196
|
+
"items": {
|
|
1197
|
+
"type": "string"
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
},
|
|
1201
|
+
"additionalProperties": false
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"type": "boolean"
|
|
1205
|
+
}
|
|
1206
|
+
]
|
|
1207
|
+
},
|
|
1140
1208
|
"selectionMode": {
|
|
1141
1209
|
"$ref": "#/definitions/SelectionMode",
|
|
1142
1210
|
"description": "Allows you to enable or disable row selection and choose between single or multiple row selection.\n- Auto: This type is deprecated. Choose any of the following modes:\n- Multi (default): This type allows multiple table selections if relevant actions are available in the toolbar.\n- Single: This type allows single table selection if relevant actions are available in the toolbar.\n- None: No table selection is possible in display mode.",
|
|
@@ -1241,6 +1309,40 @@
|
|
|
1241
1309
|
"columns": {
|
|
1242
1310
|
"$ref": "#/definitions/GenericColumnsOP"
|
|
1243
1311
|
},
|
|
1312
|
+
"enableMassEdit": {
|
|
1313
|
+
"artifactType": "Manifest",
|
|
1314
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1315
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1316
|
+
"anyOf": [
|
|
1317
|
+
{
|
|
1318
|
+
"type": "object",
|
|
1319
|
+
"properties": {
|
|
1320
|
+
"visibleFields": {
|
|
1321
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1322
|
+
"artifactType": "Manifest",
|
|
1323
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1324
|
+
"type": "array",
|
|
1325
|
+
"items": {
|
|
1326
|
+
"type": "string"
|
|
1327
|
+
}
|
|
1328
|
+
},
|
|
1329
|
+
"ignoredFields": {
|
|
1330
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1331
|
+
"artifactType": "Manifest",
|
|
1332
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1333
|
+
"type": "array",
|
|
1334
|
+
"items": {
|
|
1335
|
+
"type": "string"
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
},
|
|
1339
|
+
"additionalProperties": false
|
|
1340
|
+
},
|
|
1341
|
+
{
|
|
1342
|
+
"type": "boolean"
|
|
1343
|
+
}
|
|
1344
|
+
]
|
|
1345
|
+
},
|
|
1244
1346
|
"selectionMode": {
|
|
1245
1347
|
"$ref": "#/definitions/SelectionMode",
|
|
1246
1348
|
"description": "Allows you to enable or disable row selection and choose between single or multiple row selection.\n- Auto: This type is deprecated. Choose any of the following modes:\n- Multi (default): This type allows multiple table selections if relevant actions are available in the toolbar.\n- Single: This type allows single table selection if relevant actions are available in the toolbar.\n- None: No table selection is possible in display mode.",
|
|
@@ -1333,6 +1435,40 @@
|
|
|
1333
1435
|
"columns": {
|
|
1334
1436
|
"$ref": "#/definitions/GenericColumnsOP"
|
|
1335
1437
|
},
|
|
1438
|
+
"enableMassEdit": {
|
|
1439
|
+
"artifactType": "Manifest",
|
|
1440
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1441
|
+
"description": "Mass editing allows end users to simultaneously change multiple objects that share the same editable properties.",
|
|
1442
|
+
"anyOf": [
|
|
1443
|
+
{
|
|
1444
|
+
"type": "object",
|
|
1445
|
+
"properties": {
|
|
1446
|
+
"visibleFields": {
|
|
1447
|
+
"description": "The 'visibleFields' property lets you specify which fields are available in the mass edit dialog.",
|
|
1448
|
+
"artifactType": "Manifest",
|
|
1449
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1450
|
+
"type": "array",
|
|
1451
|
+
"items": {
|
|
1452
|
+
"type": "string"
|
|
1453
|
+
}
|
|
1454
|
+
},
|
|
1455
|
+
"ignoredFields": {
|
|
1456
|
+
"description": "The 'ignoredFields' property lets you hide specific fields from the mass edit dialog, even if these fields are displayed in the table.",
|
|
1457
|
+
"artifactType": "Manifest",
|
|
1458
|
+
"descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/965ef5b2895641bc9b6cd44f1bd0eb4d",
|
|
1459
|
+
"type": "array",
|
|
1460
|
+
"items": {
|
|
1461
|
+
"type": "string"
|
|
1462
|
+
}
|
|
1463
|
+
}
|
|
1464
|
+
},
|
|
1465
|
+
"additionalProperties": false
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1468
|
+
"type": "boolean"
|
|
1469
|
+
}
|
|
1470
|
+
]
|
|
1471
|
+
},
|
|
1336
1472
|
"selectionMode": {
|
|
1337
1473
|
"$ref": "#/definitions/SelectionMode",
|
|
1338
1474
|
"description": "Allows you to enable or disable row selection and choose between single or multiple row selection.\n- Auto: This type is deprecated. Choose any of the following modes:\n- Multi (default): This type allows multiple table selections if relevant actions are available in the toolbar.\n- Single: This type allows single table selection if relevant actions are available in the toolbar.\n- None: No table selection is possible in display mode.",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/ux-specification",
|
|
3
|
-
"version": "1.136.
|
|
3
|
+
"version": "1.136.4",
|
|
4
4
|
"displayName": "SAP Fiori tools - Specification",
|
|
5
5
|
"description": "SAP Fiori tools - Specification",
|
|
6
6
|
"files": [
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"bundle": "node esbuild",
|
|
22
22
|
"bundle:dev": "node esbuild --minify=false",
|
|
23
23
|
"bundle:watch": "node esbuild --watch --stats --minify=false",
|
|
24
|
-
"build": "npm-run-all -l -s clean:before -s compile -p create-json-schemas macros copy-templates -p copy-json-schemas htmlV2 htmlV4 -s bundle",
|
|
24
|
+
"build": "npm-run-all -l -s clean:before -s compile -p create-json-schemas macros copy-templates -p copy-json-schemas -s htmlV2 htmlV4 -s bundle",
|
|
25
25
|
"build:dev": "npm-run-all -l -s clean:before -s compile -p create-json-schemas copy-templates -s copy-json-schemas bundle:dev",
|
|
26
|
-
"build:doc": "npm-run-all -l -s clean:doc -s compile -
|
|
26
|
+
"build:doc": "npm-run-all -l -s clean:doc -s compile -s htmlV2 htmlV4 -s bundle",
|
|
27
27
|
"build:schemas": "npm-run-all -l -s create-json-schemas copy-json-schemas",
|
|
28
28
|
"build:snap": "yarn build:dev && yarn update-snapshots",
|
|
29
29
|
"create-json-schemas": "ts-node ./scripts/schema/index.ts ",
|
|
@@ -44,18 +44,18 @@
|
|
|
44
44
|
"test:ci": "jest --ci --forceExit --detectOpenHandles && node ../../scripts/scov.js reports/test/unit/coverage/lcov.info",
|
|
45
45
|
"update-snapshots": "jest --updateSnapshot",
|
|
46
46
|
"watch": "npm-run-all -l -s clean:before -p compile create-json-schemas macros copy-templates -p copy-json-schemas -s bundle:watch",
|
|
47
|
-
"watch:doc": "npm-run-all -l -s clean:doc -s compile -
|
|
47
|
+
"watch:doc": "npm-run-all -l -s clean:doc -s compile -s htmlV2 htmlV4 -s bundle:watch"
|
|
48
48
|
},
|
|
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.36.0",
|
|
53
53
|
"@sap-ux/vocabularies-types": "0.13.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@sap-ux/annotation-converter": "0.10.3",
|
|
57
57
|
"@sap-ux/edmx-parser": "0.8.2",
|
|
58
|
-
"@sap/ux-specification-types": "1.136.
|
|
58
|
+
"@sap/ux-specification-types": "1.136.4",
|
|
59
59
|
"@sapui5/types": "latest-1.136",
|
|
60
60
|
"@types/d3": "7.4.3",
|
|
61
61
|
"@types/jquery": "3.5.32",
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"@ui5/flexibility-utils": "0.1.3",
|
|
64
64
|
"@xml-tools/ast": "5.0.5",
|
|
65
65
|
"@xml-tools/parser": "1.0.11",
|
|
66
|
-
"axios": "1.
|
|
66
|
+
"axios": "1.11.0",
|
|
67
67
|
"copyfiles": "2.4.1",
|
|
68
68
|
"d3": "7.9.0",
|
|
69
69
|
"deepmerge": "4.3.1",
|
|
70
70
|
"ejs": "3.1.10",
|
|
71
71
|
"excel4node": "1.8.2",
|
|
72
|
-
"i18next": "
|
|
72
|
+
"i18next": "25.3.0",
|
|
73
73
|
"jquery": "3.7.1",
|
|
74
74
|
"jsdom": "25.0.1",
|
|
75
75
|
"lodash.unset": "4.5.2",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"path": "0.12.7",
|
|
78
78
|
"reflect-metadata": "0.2.2",
|
|
79
79
|
"semver": "7.7.2",
|
|
80
|
-
"typescript-json-schema": "0.
|
|
80
|
+
"typescript-json-schema": "0.65.1",
|
|
81
81
|
"xml-js": "1.6.11"
|
|
82
82
|
},
|
|
83
83
|
"husky": {
|
|
@@ -43,7 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
*/
|
|
44
44
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
45
45
|
const path_1 = require("path");
|
|
46
|
-
const
|
|
46
|
+
const fs_1 = require("fs");
|
|
47
47
|
const excel = __importStar(require("excel4node"));
|
|
48
48
|
/**
|
|
49
49
|
* Handles reference ($ref) within the schema, finds the corresponding definition.
|
|
@@ -458,13 +458,13 @@ function createSVGIcon(floorPlan) {
|
|
|
458
458
|
* @param file - The name of the file being processed.
|
|
459
459
|
* @param odataVersion - The OData version (e.g., "v2" or "v4").
|
|
460
460
|
*/
|
|
461
|
-
function generateHTMLFormat(output, file, odataVersion) {
|
|
461
|
+
async function generateHTMLFormat(output, file, odataVersion) {
|
|
462
462
|
//filter output to remove duplicated lines due to different table types (anyOf)
|
|
463
463
|
output = output.filter((e, i, a) => a.indexOf(e) === i);
|
|
464
464
|
output.shift();
|
|
465
465
|
const nameFloorPlan = file.split('.')[0].replace(/Config/g, '');
|
|
466
466
|
const rootName = __dirname.slice(0, __dirname.lastIndexOf('specification') + 13);
|
|
467
|
-
const packageJson = JSON.parse(
|
|
467
|
+
const packageJson = JSON.parse(await fs_1.promises.readFile((0, path_1.join)(rootName, 'package.json'), 'utf8'));
|
|
468
468
|
//shortens spec version
|
|
469
469
|
const specVersion = packageJson.version.includes('+') ? packageJson.version.split('+')[0] : packageJson.version;
|
|
470
470
|
const svgIcon = createSVGIcon(nameFloorPlan);
|
|
@@ -473,12 +473,12 @@ function generateHTMLFormat(output, file, odataVersion) {
|
|
|
473
473
|
//only create html if porperties exist
|
|
474
474
|
if (treeData.children.length > 0) {
|
|
475
475
|
let template;
|
|
476
|
-
let outDir;
|
|
477
476
|
try {
|
|
478
|
-
template =
|
|
477
|
+
template = await fs_1.promises.readFile(templateFilePath, 'utf8');
|
|
479
478
|
}
|
|
480
479
|
catch (e) {
|
|
481
480
|
console.log(`Error: ${e.message}`);
|
|
481
|
+
return;
|
|
482
482
|
}
|
|
483
483
|
template = template.replace(`'placeholderTreeData'`, JSON.stringify(treeData));
|
|
484
484
|
template = template.replace(`OData_version`, odataVersion.toUpperCase());
|
|
@@ -486,37 +486,35 @@ function generateHTMLFormat(output, file, odataVersion) {
|
|
|
486
486
|
if (svgIcon !== undefined) {
|
|
487
487
|
template = template.replace(`floorPlanIcon`, 'floorPlanIcon = `' + svgIcon + '`');
|
|
488
488
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
else {
|
|
493
|
-
outDir = (0, path_1.join)('dist', 'documentation', 'v4');
|
|
489
|
+
const outDir = odataVersion === 'v2' ? (0, path_1.join)('dist', 'documentation', 'v2') : (0, path_1.join)('dist', 'documentation', 'v4');
|
|
490
|
+
try {
|
|
491
|
+
await fs_1.promises.mkdir(outDir, { recursive: true });
|
|
494
492
|
}
|
|
495
|
-
|
|
496
|
-
|
|
493
|
+
catch (e) {
|
|
494
|
+
// in case rare errors occur
|
|
495
|
+
console.log(`Error: ${e.message}`);
|
|
496
|
+
return;
|
|
497
497
|
}
|
|
498
498
|
const outFile = (0, path_1.join)(outDir, odataVersion + '-' + nameFloorPlan + '.html');
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
throw err;
|
|
502
|
-
}
|
|
503
|
-
console.log(`${outFile} was successfully saved!`);
|
|
504
|
-
});
|
|
499
|
+
await fs_1.promises.writeFile(outFile, template);
|
|
500
|
+
console.log(`${outFile} was successfully saved!`);
|
|
505
501
|
}
|
|
506
502
|
}
|
|
507
|
-
function
|
|
503
|
+
async function copyStyleSheetToDocFolder() {
|
|
508
504
|
const file = 'styleDocu.css';
|
|
509
505
|
const src = (0, path_1.join)(__dirname, '..', 'scripts', 'documentation', file);
|
|
510
|
-
const
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
506
|
+
const outDir = (0, path_1.join)('dist', 'documentation');
|
|
507
|
+
const dest = (0, path_1.join)(outDir, file);
|
|
508
|
+
await fs_1.promises.mkdir(outDir, { recursive: true });
|
|
509
|
+
try {
|
|
510
|
+
// avoids EBUSY errors due to concurrent access
|
|
511
|
+
await fs_1.promises.access(dest);
|
|
512
|
+
console.log(file + ' already exists, skipping copy.');
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
// file does not exist, proceed to copy
|
|
516
|
+
await fs_1.promises.copyFile(src, dest);
|
|
517
|
+
console.log(file + ' has been copied!');
|
|
520
518
|
}
|
|
521
519
|
}
|
|
522
520
|
/**
|
|
@@ -525,16 +523,29 @@ function copyFileToFolder() {
|
|
|
525
523
|
* @param workbook - Excel workbook (excel4node format)
|
|
526
524
|
* @param version - OData version
|
|
527
525
|
*/
|
|
528
|
-
function writeToFile(workbook, version) {
|
|
526
|
+
async function writeToFile(workbook, version) {
|
|
529
527
|
const outDir = (0, path_1.join)('dist', 'documentation');
|
|
530
|
-
|
|
531
|
-
fs.mkdirSync(outDir);
|
|
532
|
-
}
|
|
528
|
+
await fs_1.promises.mkdir(outDir, { recursive: true });
|
|
533
529
|
const outFile = (0, path_1.join)(outDir, 'Specification' + version + '.xlsx');
|
|
534
530
|
workbook.write(outFile);
|
|
535
531
|
}
|
|
532
|
+
/**
|
|
533
|
+
* Reads a schema file, parses its contents, and builds the output array.
|
|
534
|
+
*
|
|
535
|
+
* @param directoryPath - The directory containing the schema files.
|
|
536
|
+
* @param file - The name of the schema file to process.
|
|
537
|
+
* @returns An object containing the parsed output array and the file name.
|
|
538
|
+
*/
|
|
539
|
+
async function getParsedOutput(directoryPath, file) {
|
|
540
|
+
const filePath = (0, path_1.join)(directoryPath, file);
|
|
541
|
+
const output = [filePath];
|
|
542
|
+
const data = await fs_1.promises.readFile(filePath, 'utf8');
|
|
543
|
+
const schema = JSON.parse(data);
|
|
544
|
+
parseSchema(schema, schema, output);
|
|
545
|
+
return { output, file };
|
|
546
|
+
}
|
|
536
547
|
/********************** Main ***************************/
|
|
537
|
-
function
|
|
548
|
+
async function generateDocumentation() {
|
|
538
549
|
const myArgs = process.argv.slice(2);
|
|
539
550
|
let version;
|
|
540
551
|
let format;
|
|
@@ -561,31 +572,29 @@ function generateDocmentation() {
|
|
|
561
572
|
}
|
|
562
573
|
if (directoryPath.length > 0) {
|
|
563
574
|
const workbook = new excel.Workbook();
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
return console.log(err);
|
|
567
|
-
}
|
|
568
|
-
files.forEach((file) => {
|
|
569
|
-
const filePath = (0, path_1.join)(directoryPath, file);
|
|
570
|
-
const output = [filePath];
|
|
571
|
-
const data = fs.readFileSync(filePath, 'utf8');
|
|
572
|
-
const schema = JSON.parse(data);
|
|
573
|
-
parseSchema(schema, schema, output);
|
|
574
|
-
if (format === 'excel') {
|
|
575
|
-
writeToExcel(workbook, output, file);
|
|
576
|
-
}
|
|
577
|
-
if (format === 'html') {
|
|
578
|
-
generateHTMLFormat(output, file, version);
|
|
579
|
-
}
|
|
580
|
-
});
|
|
575
|
+
try {
|
|
576
|
+
const files = await fs_1.promises.readdir(directoryPath);
|
|
581
577
|
if (format === 'excel') {
|
|
582
|
-
|
|
578
|
+
for (const file of files) {
|
|
579
|
+
const { output, file: fileName } = await getParsedOutput(directoryPath, file);
|
|
580
|
+
writeToExcel(workbook, output, fileName);
|
|
581
|
+
}
|
|
582
|
+
await writeToFile(workbook, version);
|
|
583
583
|
}
|
|
584
|
-
if (format === 'html') {
|
|
585
|
-
|
|
584
|
+
else if (format === 'html') {
|
|
585
|
+
await Promise.all(files.map(async (file) => {
|
|
586
|
+
const { output, file: fileName } = await getParsedOutput(directoryPath, file);
|
|
587
|
+
await generateHTMLFormat(output, fileName, version);
|
|
588
|
+
}));
|
|
589
|
+
await copyStyleSheetToDocFolder();
|
|
586
590
|
}
|
|
587
|
-
}
|
|
591
|
+
}
|
|
592
|
+
catch (err) {
|
|
593
|
+
console.log(err);
|
|
594
|
+
}
|
|
588
595
|
}
|
|
589
596
|
}
|
|
590
|
-
|
|
597
|
+
(async () => {
|
|
598
|
+
await generateDocumentation();
|
|
599
|
+
})();
|
|
591
600
|
//# sourceMappingURL=extractDocu.js.map
|