@sap/ux-specification 1.96.101 → 1.96.103
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 +57 -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 +248 -251
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ApplicationV2.json +42 -12
- package/dist/schemas/v2/ListReportNewConfig.json +135 -0
- package/dist/schemas/v2/ObjectPageConfig.json +12 -5
- package/dist/schemas/v4/ApplicationV4.json +30 -15
- package/dist/schemas/v4/BuildingBlocksConfig.json +4 -6
- package/dist/specification/package.json +16 -16
- 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 +63 -7
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.d.ts +65 -4
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +138 -8
- package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
- package/dist/specification/src/sync/common/distTagEvaluator.d.ts +7 -0
- package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
- package/dist/specification/src/sync/common/distTagEvaluator.js +10 -0
- package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +17 -18
- package/dist/specification/src/sync/common/generate/objectPage.js +3 -1
- package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.d.ts +13 -4
- package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.js +35 -20
- package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
- package/dist/specification/src/sync/common/i18n.json +13 -1
- package/dist/specification/src/sync/common/utils.d.ts +64 -0
- package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/utils.js +147 -1
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/application.d.ts +1 -0
- package/dist/specification/src/sync/v2/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/application.js +18 -0
- package/dist/specification/src/sync/v2/application.js.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.js +15 -4
- package/dist/specification/src/sync/v2/export/exportPage.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 +6 -12
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/export/factory.d.ts +26 -0
- package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/factory.js +3 -3
- package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts +1 -0
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.js +11 -0
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js +46 -1
- package/dist/specification/src/sync/v2/generate/listReport.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/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +63 -13
- package/dist/specification/src/sync/v2/generate/objectPage.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 +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/MultiViewSingleTable.d.ts +22 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js +124 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +55 -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 +152 -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 +3 -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 +3 -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 +32 -13
- package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +23 -0
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +67 -0
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts +3 -2
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.js +14 -2
- package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -2
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.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/export/pages/ListReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js +2 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +107 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js +374 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/listReport.d.ts +100 -2
- package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/listReport.js +174 -109
- 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 +55 -10
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
- package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts +15 -4
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +54 -6
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/types/src/common/types.d.ts +110 -1
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js +6 -0
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
- package/dist/types/src/v2/application.d.ts +18 -0
- package/dist/types/src/v2/application.d.ts.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts +4 -4
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
- package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +10 -1
- package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
- package/package.json +16 -16
|
@@ -4,13 +4,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.addSelectionFields = addSelectionFields;
|
|
7
|
+
exports.getVisualFilters = getVisualFilters;
|
|
8
|
+
exports.addVisualFilters = addVisualFilters;
|
|
9
|
+
exports.applyCustomFilterFields = applyCustomFilterFields;
|
|
7
10
|
exports.analyzeViewAnnotation = analyzeViewAnnotation;
|
|
11
|
+
exports.addALPViews = addALPViews;
|
|
12
|
+
exports.addTagsToView = addTagsToView;
|
|
13
|
+
exports.addLRViewParts = addLRViewParts;
|
|
14
|
+
exports.getDefaultAnnotationPath = getDefaultAnnotationPath;
|
|
15
|
+
exports.addHeaderActions = addHeaderActions;
|
|
16
|
+
exports.addManifestPathsToPropertiesLR = addManifestPathsToPropertiesLR;
|
|
8
17
|
exports.generateListReportSchemaV4 = generateListReportSchemaV4;
|
|
9
18
|
const utils_1 = require("../utils/utils");
|
|
19
|
+
const utils_2 = require("../utils/utils");
|
|
10
20
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
11
21
|
const i18next_1 = __importDefault(require("i18next"));
|
|
12
22
|
const extensionLogger_1 = require("../../../extensionLogger");
|
|
13
23
|
const common_1 = require("../../common");
|
|
24
|
+
const Page_1 = require("../sync-rules/Page");
|
|
25
|
+
const App_1 = require("../sync-rules/App");
|
|
26
|
+
const AppSchema_1 = require("../sync-rules/AppSchema");
|
|
27
|
+
const ListReportUtils_1 = require("./ListReportUtils");
|
|
14
28
|
const ROOT_PROPERTIES_ORDER = ['header', 'filterBar', 'chart', 'table'];
|
|
15
29
|
const UILINEITEM = '@UI.LineItem';
|
|
16
30
|
/**
|
|
@@ -153,7 +167,7 @@ function applyCustomFilterFields(appSchema, selectionFieldsDefinition, v4Page) {
|
|
|
153
167
|
selectionFieldsDefinition.additionalProperties = {
|
|
154
168
|
$ref: `#/definitions/${ux_specification_types_1.DefinitionName.CustomFilterField}`
|
|
155
169
|
};
|
|
156
|
-
(0,
|
|
170
|
+
(0, utils_2.addCustomFilterFieldDefinition)(appSchema, selectionFieldsDefinition, v4Page);
|
|
157
171
|
const customSectionDefinition = appSchema.definitions[ux_specification_types_1.DefinitionName.CustomFilterFieldPosition];
|
|
158
172
|
if (typeof customSectionDefinition === 'object') {
|
|
159
173
|
(0, common_1.addDescriptiveEnumDefinition)(appSchema, selectionFieldsDefinition, {
|
|
@@ -405,7 +419,7 @@ function addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annot
|
|
|
405
419
|
}
|
|
406
420
|
else {
|
|
407
421
|
// Add message about unexisting annotation path
|
|
408
|
-
(0, common_1.addMessageToSchema)(chartView, i18next_1.default.t('UNEXISTING_ANNOTATION_PATH'));
|
|
422
|
+
(0, common_1.addMessageToSchema)(chartView, { text: i18next_1.default.t('UNEXISTING_ANNOTATION_PATH') });
|
|
409
423
|
}
|
|
410
424
|
}
|
|
411
425
|
chartView[ux_specification_types_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
|
|
@@ -478,7 +492,7 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
|
|
|
478
492
|
oDataServiceAVT: generateParameters.serviceAVT,
|
|
479
493
|
lineItemId: ux_specification_types_1.DefinitionName.LineItems
|
|
480
494
|
};
|
|
481
|
-
(0,
|
|
495
|
+
(0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.ViewTableColumn);
|
|
482
496
|
if (target) {
|
|
483
497
|
appSchema.definitions[ux_specification_types_1.DefinitionName.ALPTable][ux_specification_types_1.SchemaTag.annotationPath] = target;
|
|
484
498
|
}
|
|
@@ -487,11 +501,17 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
|
|
|
487
501
|
tableView[ux_specification_types_1.SchemaTag.key] = 'secondary';
|
|
488
502
|
tableView[ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.key, value: 'secondary' }];
|
|
489
503
|
}
|
|
490
|
-
(0,
|
|
504
|
+
(0, utils_2.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger);
|
|
491
505
|
// Table toolbar actions with custom actions
|
|
492
506
|
const schemaIdForToolbarActions = `${ux_specification_types_1.DefinitionName.Actions}<${(0, common_1.prepareRef)(ux_specification_types_1.DefinitionName.LineItems)}>`;
|
|
493
|
-
(0,
|
|
494
|
-
(0,
|
|
507
|
+
(0, utils_2.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForToolbarActions);
|
|
508
|
+
(0, utils_2.addEnumForActionAnchor)(appSchema, schemaIdForToolbarActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
|
|
509
|
+
// Add "manifestPath" for table properties
|
|
510
|
+
addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.DefinitionName.ALPTable, tableDefinition, {
|
|
511
|
+
pageName: v4Page.id,
|
|
512
|
+
manifest: generateParameters.manifest,
|
|
513
|
+
targetAnnotation
|
|
514
|
+
});
|
|
495
515
|
}
|
|
496
516
|
/**
|
|
497
517
|
* Modifies the app schema, adds the right line chart settings.
|
|
@@ -545,13 +565,15 @@ function addViewChart(inputParameters, UIAnnotations, appSchema, viewsDefinition
|
|
|
545
565
|
/**
|
|
546
566
|
* Modifies the app schema, adds the right line item settings as derived from the visualization.
|
|
547
567
|
*
|
|
548
|
-
* @param inputParameters -
|
|
549
|
-
* @param viewsDefinition -
|
|
550
|
-
* @param visualization - visualization
|
|
551
|
-
* @param templateAnnotation -
|
|
552
|
-
* @param {GenerateAppSchemaParameters} generateParameters -
|
|
568
|
+
* @param {ViewsParameters} inputParameters - The parameters required for generating and defining the line items in the view schema.
|
|
569
|
+
* @param {Definition} viewsDefinition - The existing schema definition for views that will be updated with new view line items.
|
|
570
|
+
* @param {string} visualization - The visualization format or mode for the line items, used to determine the associated annotations.
|
|
571
|
+
* @param {string} templateAnnotation - The template annotation to infer metadata for the line items.
|
|
572
|
+
* @param {GenerateAppSchemaParameters} generateParameters - Parameters essential for schema generation, including OData service metadata.
|
|
573
|
+
* @param {Page} page - The page object representing the context in which the view is being generated.
|
|
574
|
+
* @returns {void} No return value.
|
|
553
575
|
*/
|
|
554
|
-
function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation,
|
|
576
|
+
function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, { serviceAVT, entityType }, page) {
|
|
555
577
|
const tableId = `${ux_specification_types_1.DefinitionName.LRTableView}<${inputParameters.viewKey}>`;
|
|
556
578
|
const viewId = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
|
|
557
579
|
const lrTableView = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.LRTableView, inputParameters.viewKey, inputParameters.appSchema);
|
|
@@ -581,9 +603,8 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
|
|
|
581
603
|
appSchema: inputParameters.appSchema,
|
|
582
604
|
lineItemAnnotation: inputParameters.targetEntityType?.annotations.UI[annotationTerm],
|
|
583
605
|
entityType: inputParameters.targetEntityType,
|
|
584
|
-
oDataServiceAVT:
|
|
585
|
-
lineItemId: viewId
|
|
586
|
-
entitySet: lrTableView['entitySet']
|
|
606
|
+
oDataServiceAVT: serviceAVT,
|
|
607
|
+
lineItemId: viewId
|
|
587
608
|
};
|
|
588
609
|
let columnDefinitionName = ux_specification_types_1.DefinitionName.ViewTableColumn;
|
|
589
610
|
// handle basic columns and basic actions for view with different entity set (remove properties)
|
|
@@ -597,7 +618,13 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
|
|
|
597
618
|
const originalActionRef = `${ux_specification_types_1.DefinitionName.ViewTableColumnAction}`;
|
|
598
619
|
definitions[actionRef] = createEmptyProperties(definitions[originalActionRef]);
|
|
599
620
|
}
|
|
600
|
-
(0,
|
|
621
|
+
(0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, columnDefinitionName, !lrTableView['entitySet'] ? ux_specification_types_1.DefinitionName.ViewCustomColumn : undefined, !lrTableView['entitySet'] ? ux_specification_types_1.DefinitionName.ViewCustomAction : undefined);
|
|
622
|
+
// Add "manifestPath" for table properties
|
|
623
|
+
addManifestPathsToPropertiesLR(inputParameters.appSchema, ux_specification_types_1.DefinitionName.LRTableView, lrTableView, {
|
|
624
|
+
pageName: page.getPage().id,
|
|
625
|
+
manifest: page.getApp().manifest,
|
|
626
|
+
targetAnnotation: inputParameters.targetAnnotation
|
|
627
|
+
});
|
|
601
628
|
}
|
|
602
629
|
/**
|
|
603
630
|
* Adds the schema tags to a given view.
|
|
@@ -639,19 +666,19 @@ function getTargetEntityType(entitySet, view, generateParameters) {
|
|
|
639
666
|
* Adds view custom extensions - custom column and custom action definitions.
|
|
640
667
|
*
|
|
641
668
|
* @param commonInputParameters - list of input parameters as collected by the calling instance
|
|
642
|
-
* @param generateParameters - list of API input parameters
|
|
643
669
|
* @param visualization - visualization of the annotation
|
|
644
670
|
* @param v4Page - the given page in manifest
|
|
671
|
+
* @param logger - extension logger
|
|
645
672
|
*/
|
|
646
|
-
function addViewCustomExtensions(commonInputParameters,
|
|
673
|
+
function addViewCustomExtensions(commonInputParameters, visualization, v4Page, logger) {
|
|
647
674
|
const sectionId = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${commonInputParameters.viewKey}`;
|
|
648
675
|
const navigationProperty = commonInputParameters.navPropName ? `${commonInputParameters.navPropName}/` : '';
|
|
649
676
|
const sectionIdInManifest = `${navigationProperty}@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}${visualization.split(ux_specification_types_1.Visualization.LineItem)[1]}`;
|
|
650
677
|
const viewColumnDefinition = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewCustomColumn, sectionId, commonInputParameters.appSchema);
|
|
651
678
|
(0, common_1.addDefinitionRef)(viewColumnDefinition.properties.position, ux_specification_types_1.DefinitionName.ViewPosition, sectionId);
|
|
652
679
|
(0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewPosition, sectionId, commonInputParameters.appSchema);
|
|
653
|
-
(0,
|
|
654
|
-
(0,
|
|
680
|
+
(0, utils_2.addCustomColumnDefinition)(commonInputParameters.appSchema, v4Page, logger, `${ux_specification_types_1.DefinitionName.ViewCustomColumn}<${sectionId}>`, sectionId, sectionIdInManifest);
|
|
681
|
+
(0, utils_2.addFragmentEnumForAnchor)(commonInputParameters.appSchema, sectionId, v4Page, `${ux_specification_types_1.DefinitionName.ViewPosition}<${sectionId}>`, sectionIdInManifest);
|
|
655
682
|
// Remove generic position
|
|
656
683
|
if (commonInputParameters.appSchema.definitions.Position) {
|
|
657
684
|
delete commonInputParameters.appSchema.definitions.Position;
|
|
@@ -659,14 +686,14 @@ function addViewCustomExtensions(commonInputParameters, generateParameters, visu
|
|
|
659
686
|
// Table toolbar actions with custom actions
|
|
660
687
|
const schemaIdForToolbarActions = `${ux_specification_types_1.DefinitionName.Actions}<${sectionId}>`;
|
|
661
688
|
const customActionDefinitionKey = `${ux_specification_types_1.DefinitionName.ViewCustomAction}<${sectionId}>`;
|
|
662
|
-
(0,
|
|
689
|
+
(0, utils_2.addCustomActionDefinition)(commonInputParameters.appSchema, v4Page, logger, customActionDefinitionKey, schemaIdForToolbarActions, sectionIdInManifest);
|
|
663
690
|
// Anchor selection
|
|
664
691
|
(0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewCustomActionPosition, sectionId, commonInputParameters.appSchema);
|
|
665
692
|
const customActionPositionDefinitionKey = `${ux_specification_types_1.DefinitionName.ViewCustomActionPosition}<${sectionId}>`;
|
|
666
693
|
const customActionDefinition = commonInputParameters.appSchema.definitions[customActionDefinitionKey];
|
|
667
694
|
customActionDefinition.properties.position.$ref =
|
|
668
695
|
`${common_1.DEFINITION_LINK_PREFIX}${customActionPositionDefinitionKey}`;
|
|
669
|
-
(0,
|
|
696
|
+
(0, utils_2.addEnumForActionAnchor)(commonInputParameters.appSchema, schemaIdForToolbarActions, customActionPositionDefinitionKey);
|
|
670
697
|
}
|
|
671
698
|
/**
|
|
672
699
|
* Handles manifest properties for given view definition excluding passed ones.
|
|
@@ -706,19 +733,22 @@ function createEmptyProperties(definition) {
|
|
|
706
733
|
*
|
|
707
734
|
* @param {string} visualization - visualization of the annotation
|
|
708
735
|
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
709
|
-
* @param
|
|
710
|
-
* @param
|
|
711
|
-
* @param
|
|
712
|
-
* @param
|
|
713
|
-
* @param
|
|
736
|
+
* @param commonInputParameters - list of input parameters as collected by the calling instance
|
|
737
|
+
* @param generateParameters - list of API input parameters
|
|
738
|
+
* @param generateParameters.serviceAVT - OData service AVT information
|
|
739
|
+
* @param generateParameters.entityType - entity type of the current page
|
|
740
|
+
* @param generateParameters.logger - extension logger
|
|
741
|
+
* @param page - the current page object
|
|
742
|
+
* @param uiAnnotations - UI annotations of the given entityType
|
|
743
|
+
* @param view - the given view
|
|
714
744
|
*/
|
|
715
|
-
function addLRViewParts(visualization, viewsDefinition, commonInputParameters,
|
|
745
|
+
function addLRViewParts(visualization, viewsDefinition, commonInputParameters, { serviceAVT, entityType, logger }, page, uiAnnotations, view) {
|
|
716
746
|
if (visualization?.indexOf(ux_specification_types_1.Visualization.LineItem) > -1) {
|
|
717
747
|
//Add Line item view
|
|
718
|
-
addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation,
|
|
748
|
+
addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, { serviceAVT, entityType }, page);
|
|
719
749
|
// add custom extensions only for views with same entitySet as project (for versions < 1.108)
|
|
720
750
|
if (view['entitySet'] === undefined) {
|
|
721
|
-
addViewCustomExtensions(commonInputParameters,
|
|
751
|
+
addViewCustomExtensions(commonInputParameters, visualization, page.getPage(), logger);
|
|
722
752
|
}
|
|
723
753
|
else {
|
|
724
754
|
// else handle root properties of current view
|
|
@@ -754,10 +784,10 @@ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, g
|
|
|
754
784
|
* @param appSchema - app-specific JSON schema
|
|
755
785
|
* @param viewsPaths - views' paths' section in the manifest
|
|
756
786
|
* @param generateParameters - list of API input parameters
|
|
757
|
-
* @param
|
|
787
|
+
* @param page - the current page object
|
|
758
788
|
* @param tableDefinitionName - The name of the table definition in the schema
|
|
759
789
|
*/
|
|
760
|
-
function addLRViews(appSchema, viewsPaths, generateParameters,
|
|
790
|
+
function addLRViews(appSchema, viewsPaths, generateParameters, page, tableDefinitionName) {
|
|
761
791
|
const tableDefinition = appSchema.definitions[tableDefinitionName];
|
|
762
792
|
tableDefinition.properties = {
|
|
763
793
|
annotationPath: tableDefinition.properties.annotationPath,
|
|
@@ -788,7 +818,7 @@ function addLRViews(appSchema, viewsPaths, generateParameters, v4Page, tableDefi
|
|
|
788
818
|
title,
|
|
789
819
|
entitySet: view['entitySet']
|
|
790
820
|
};
|
|
791
|
-
addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters,
|
|
821
|
+
addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, page, uiAnnotations, view);
|
|
792
822
|
addTagsToView(viewsDefinition, viewKey, namespace, view);
|
|
793
823
|
}
|
|
794
824
|
}
|
|
@@ -835,18 +865,18 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
|
|
|
835
865
|
oDataServiceAVT: generateParameters.serviceAVT,
|
|
836
866
|
lineItemId: annotationTermInSchema
|
|
837
867
|
};
|
|
838
|
-
(0,
|
|
868
|
+
(0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.TableColumn, ux_specification_types_1.DefinitionName.CustomColumn, ux_specification_types_1.DefinitionName.CustomTableAction);
|
|
839
869
|
const annotationTermQualifier = annotationTerm.split('#')?.[1];
|
|
840
870
|
const sectionIdInManifest = annotationTermQualifier
|
|
841
871
|
? `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}#${annotationTermQualifier}`
|
|
842
872
|
: `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
|
|
843
|
-
(0,
|
|
844
|
-
(0,
|
|
873
|
+
(0, utils_2.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger, undefined, annotationTermInSchema, sectionIdInManifest);
|
|
874
|
+
(0, utils_2.addFragmentEnumForAnchor)(appSchema, annotationTermInSchema, v4Page, undefined, sectionIdInManifest);
|
|
845
875
|
// Table toolbar actions with custom actions
|
|
846
876
|
const schemaIdForToolbarActions = `${ux_specification_types_1.DefinitionName.Actions}<${annotationTermInSchema}>`;
|
|
847
877
|
const customColumnDefinitionName = (0, common_1.getCustomExtensionDefinitionName)(appSchema, annotationTermInSchema, ux_specification_types_1.DefinitionName.CustomTableAction);
|
|
848
|
-
(0,
|
|
849
|
-
(0,
|
|
878
|
+
(0, utils_2.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, (0, common_1.getDefinitionKey)(customColumnDefinitionName), schemaIdForToolbarActions, sectionIdInManifest);
|
|
879
|
+
(0, utils_2.addEnumForActionAnchor)(appSchema, schemaIdForToolbarActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
|
|
850
880
|
}
|
|
851
881
|
else {
|
|
852
882
|
tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.ToolBarLR}`;
|
|
@@ -867,17 +897,23 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
|
|
|
867
897
|
oDataServiceAVT: generateParameters.serviceAVT,
|
|
868
898
|
lineItemId: ux_specification_types_1.DefinitionName.LineItems
|
|
869
899
|
};
|
|
870
|
-
(0,
|
|
871
|
-
(0,
|
|
872
|
-
(0,
|
|
900
|
+
(0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.TableColumn, ux_specification_types_1.DefinitionName.CustomColumn, ux_specification_types_1.DefinitionName.CustomTableAction);
|
|
901
|
+
(0, utils_2.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger);
|
|
902
|
+
(0, utils_2.addFragmentEnumForAnchor)(appSchema, ux_specification_types_1.DefinitionName.LineItems, v4Page);
|
|
873
903
|
if (lineItemAnnotation && !v4Page.options?.settings?.views?.paths) {
|
|
874
904
|
tableDefinition[ux_specification_types_1.SchemaTag.annotationPath] = (0, common_1.createAnnotationPath)(generateParameters.entityType?.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
|
|
875
905
|
}
|
|
876
906
|
// Table toolbar actions with custom actions
|
|
877
907
|
const schemaIdForActions = `${ux_specification_types_1.DefinitionName.Actions}<${(0, common_1.prepareRef)(ux_specification_types_1.DefinitionName.LineItems)}>`;
|
|
878
|
-
(0,
|
|
879
|
-
(0,
|
|
908
|
+
(0, utils_2.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForActions);
|
|
909
|
+
(0, utils_2.addEnumForActionAnchor)(appSchema, schemaIdForActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
|
|
880
910
|
}
|
|
911
|
+
// Add "manifestPath" for table properties
|
|
912
|
+
addManifestPathsToPropertiesLR(appSchema, tableDefinitionName, tableDefinition, {
|
|
913
|
+
pageName: v4Page.id,
|
|
914
|
+
manifest: generateParameters.manifest,
|
|
915
|
+
targetAnnotation
|
|
916
|
+
});
|
|
881
917
|
}
|
|
882
918
|
/**
|
|
883
919
|
* Checks for the default annotation path to use for LR table.
|
|
@@ -899,39 +935,6 @@ function getDefaultAnnotationPath(v4Page, entityType, templateType) {
|
|
|
899
935
|
entityType?.annotations.UI?.PresentationVariant?.term);
|
|
900
936
|
}
|
|
901
937
|
}
|
|
902
|
-
/**
|
|
903
|
-
* Add views to schema (LR or ALP).
|
|
904
|
-
*
|
|
905
|
-
* @param appSchema - app-specific JSON schema
|
|
906
|
-
* @param v4Page - actual page in the manifest
|
|
907
|
-
* @param generateParameters - list of API input parameters
|
|
908
|
-
* @param alias - The alias of the OData annotations
|
|
909
|
-
*/
|
|
910
|
-
function addTableAndViews(appSchema, v4Page, generateParameters, alias) {
|
|
911
|
-
const viewsPaths = v4Page.options?.settings?.views?.paths;
|
|
912
|
-
const entityType = generateParameters.entityType;
|
|
913
|
-
const defaultAnnotation = getDefaultAnnotationPath(v4Page, generateParameters.entityType, generateParameters.templateType);
|
|
914
|
-
const tableDefinitionName = (0, utils_1.alignSchemaWithTemplateType)(appSchema, generateParameters);
|
|
915
|
-
// Add filter bar
|
|
916
|
-
addFilterBar(entityType, appSchema, v4Page, alias);
|
|
917
|
-
if (generateParameters.templateType === ux_specification_types_1.TemplateType.ListReportObjectPageV4) {
|
|
918
|
-
adaptTableDefinition(appSchema, generateParameters, defaultAnnotation, v4Page, alias, tableDefinitionName);
|
|
919
|
-
if (viewsPaths) {
|
|
920
|
-
delete appSchema.definitions['LineItems'];
|
|
921
|
-
delete appSchema.definitions['ToolBar<LineItems>'];
|
|
922
|
-
delete appSchema.definitions['Actions<LineItems>'];
|
|
923
|
-
addLRViews(appSchema, viewsPaths, generateParameters, v4Page, tableDefinitionName);
|
|
924
|
-
}
|
|
925
|
-
else if (!v4Page.options?.settings?.views) {
|
|
926
|
-
appSchema.definitions.MultiTableModeV4.properties = {};
|
|
927
|
-
}
|
|
928
|
-
appSchema.properties[ux_specification_types_1.PropertyName.chart][ux_specification_types_1.SchemaTag.hidden] = true;
|
|
929
|
-
}
|
|
930
|
-
else if (generateParameters.templateType === ux_specification_types_1.TemplateType.AnalyticalListPageV4) {
|
|
931
|
-
addALPViews(appSchema, viewsPaths, generateParameters, defaultAnnotation, v4Page, tableDefinitionName);
|
|
932
|
-
(0, utils_1.addFragmentEnumForAnchor)(appSchema, ux_specification_types_1.DefinitionName.LineItems, v4Page);
|
|
933
|
-
}
|
|
934
|
-
}
|
|
935
938
|
/**
|
|
936
939
|
* Adds header actions to schema (LR or ALP).
|
|
937
940
|
*
|
|
@@ -951,12 +954,100 @@ function addHeaderActions(appSchema, v4Page, logger) {
|
|
|
951
954
|
const customActionDefinition = appSchema.definitions[customActionDefinitionKey];
|
|
952
955
|
customActionDefinition[ux_specification_types_1.SchemaTag.isViewNode] = true;
|
|
953
956
|
customActionDefinition.description = 'Custom Action';
|
|
954
|
-
(0,
|
|
957
|
+
(0, utils_2.addHeaderFooterCustomActionDefinition)(appSchema, v4Page, logger, customActionDefinitionKey, headerActionsDefinitionKey);
|
|
955
958
|
const facetKey = ux_specification_types_1.DefinitionName.CustomHeaderActionPosition;
|
|
956
959
|
(0, common_1.parseSchemaDefinition)(facetKey, facetKey, appSchema, false);
|
|
957
960
|
// Anchor selection
|
|
958
961
|
customActionDefinition.properties.position.$ref = `${common_1.DEFINITION_LINK_PREFIX}${facetKey}`;
|
|
959
|
-
(0,
|
|
962
|
+
(0, utils_2.addEnumForActionAnchor)(appSchema, headerActionsDefinitionKey, facetKey);
|
|
963
|
+
}
|
|
964
|
+
/**
|
|
965
|
+
* Adds 'manifestPath' to each property in a definition based on metadata sync rules.
|
|
966
|
+
*
|
|
967
|
+
* @param appSchema - Full schema.
|
|
968
|
+
* @param definitionName - The name of the definition/class whose properties are being processed.
|
|
969
|
+
* @param definition - The definition object containing property schemas.
|
|
970
|
+
* @param pathParams - Additional context required to compute manifest paths.
|
|
971
|
+
*/
|
|
972
|
+
function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams) {
|
|
973
|
+
let targetAnnotation = undefined;
|
|
974
|
+
if (pathParams.targetAnnotation) {
|
|
975
|
+
const annotationParts = pathParams.targetAnnotation?.split('/');
|
|
976
|
+
targetAnnotation = annotationParts[annotationParts.length - 1];
|
|
977
|
+
}
|
|
978
|
+
else {
|
|
979
|
+
// Default annotation path
|
|
980
|
+
targetAnnotation = `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
|
|
981
|
+
}
|
|
982
|
+
(0, utils_1.addManifestPathsToProperties)(appSchema, definitionName, definition, {
|
|
983
|
+
...pathParams,
|
|
984
|
+
pathsParts: [targetAnnotation, '', targetAnnotation]
|
|
985
|
+
});
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* Adds 'manifestPath' to static nodes in schema.
|
|
989
|
+
*
|
|
990
|
+
* @param appSchema - Full schema.
|
|
991
|
+
* @param pathParams - Additional context required to compute manifest paths.
|
|
992
|
+
*/
|
|
993
|
+
function addManifestPathsToStaticNodes(appSchema, pathParams) {
|
|
994
|
+
// Root level - rules stored on page class level
|
|
995
|
+
addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.PageTypeV4.ListReport, appSchema, pathParams);
|
|
996
|
+
// Other definitions
|
|
997
|
+
const definitions = [ux_specification_types_1.DefinitionName.FilterBar, ux_specification_types_1.DefinitionName.MultiTableModeV4];
|
|
998
|
+
for (const definitionName of definitions) {
|
|
999
|
+
const definition = appSchema.definitions?.[definitionName];
|
|
1000
|
+
if (typeof definition === 'object') {
|
|
1001
|
+
addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams);
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Class to generate the List Report page schema.
|
|
1007
|
+
*/
|
|
1008
|
+
class ListReportPage {
|
|
1009
|
+
/**
|
|
1010
|
+
* Constructor for ListReportPage.
|
|
1011
|
+
*
|
|
1012
|
+
* @param generateParameters - parameters for generating the app schema
|
|
1013
|
+
* @param schema - generic JSON schema of the List Report page
|
|
1014
|
+
* @param templateName - name of the template
|
|
1015
|
+
* @param contextPath - context path of the page
|
|
1016
|
+
*/
|
|
1017
|
+
constructor(generateParameters, schema, templateName, contextPath) {
|
|
1018
|
+
this.schema = new AppSchema_1.AppSchema(schema);
|
|
1019
|
+
this.app = (0, App_1.createApp)(generateParameters.manifest, generateParameters.serviceAVT, generateParameters.logger);
|
|
1020
|
+
this.page = new Page_1.Page(this.app, { name: templateName, type: generateParameters.templateType }, generateParameters.entitySet, contextPath);
|
|
1021
|
+
}
|
|
1022
|
+
/**
|
|
1023
|
+
* Cleans up the schema by hiding specific properties and removing unnecessary definitions.
|
|
1024
|
+
*/
|
|
1025
|
+
cleanup() {
|
|
1026
|
+
this.schema.hide(this.schema.getRootProperty([ux_specification_types_1.PropertyName.defaultTemplateAnnotationPath]));
|
|
1027
|
+
this.schema.cleanup(['GenericColumns', 'Action']);
|
|
1028
|
+
(0, common_1.updatePropertyIndices)(this.schema.getSchema(), ROOT_PROPERTIES_ORDER);
|
|
1029
|
+
}
|
|
1030
|
+
/**
|
|
1031
|
+
* Generates the finalized schema for the List Report page.
|
|
1032
|
+
*
|
|
1033
|
+
* @returns The finalized schema for List Report page
|
|
1034
|
+
*/
|
|
1035
|
+
generate() {
|
|
1036
|
+
new ListReportUtils_1.GeneralListReportSettings(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1037
|
+
if (!this.page.getPage()) {
|
|
1038
|
+
return this.schema.finalize();
|
|
1039
|
+
}
|
|
1040
|
+
new ListReportUtils_1.Header(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1041
|
+
new ListReportUtils_1.FilterBar(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1042
|
+
new ListReportUtils_1.TableAndViews(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1043
|
+
// Add "manifestPath" for properties in static nodes
|
|
1044
|
+
addManifestPathsToStaticNodes(this.schema.getSchema(), {
|
|
1045
|
+
pageName: this.page.getPage().id,
|
|
1046
|
+
manifest: this.app.getManifest()
|
|
1047
|
+
});
|
|
1048
|
+
this.cleanup();
|
|
1049
|
+
return this.schema.finalize();
|
|
1050
|
+
}
|
|
960
1051
|
}
|
|
961
1052
|
/**
|
|
962
1053
|
* Generates an app specific schema for the FE V4 ListReport from the generic schema.
|
|
@@ -969,37 +1060,11 @@ function addHeaderActions(appSchema, v4Page, logger) {
|
|
|
969
1060
|
* @returns {object} application-specific schema of the list report
|
|
970
1061
|
*/
|
|
971
1062
|
function generateListReportSchemaV4(generateParameters, genericSchema, templateName, contextPath) {
|
|
972
|
-
const
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
//enum for annotation path as part of QuickVariantSelection
|
|
977
|
-
(0, common_1.addEnumForSingleTabVariant)(entityType, appSchema, ux_specification_types_1.DefinitionName.AnnotationPathAsObject);
|
|
978
|
-
if (generateParameters.manifest) {
|
|
979
|
-
//Find page in targets
|
|
980
|
-
const pages = generateParameters.manifest[ux_specification_types_1.ManifestSection.ui5].routing
|
|
981
|
-
.targets;
|
|
982
|
-
if (!pages) {
|
|
983
|
-
(0, extensionLogger_1.log)(generateParameters.logger, {
|
|
984
|
-
severity: "error" /* LogSeverity.Error */,
|
|
985
|
-
message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
|
|
986
|
-
location: {
|
|
987
|
-
path: ux_specification_types_1.MANIFESTPATH,
|
|
988
|
-
range: [ux_specification_types_1.ManifestSection.generic]
|
|
989
|
-
}
|
|
990
|
-
});
|
|
991
|
-
return appSchema;
|
|
992
|
-
}
|
|
993
|
-
const v4Page = (0, utils_1.findPageV4)(pages, templateName, generateParameters.entitySet, contextPath);
|
|
994
|
-
if (!v4Page) {
|
|
995
|
-
return appSchema;
|
|
996
|
-
}
|
|
997
|
-
addHeaderActions(appSchema, v4Page, generateParameters.logger);
|
|
998
|
-
addTableAndViews(appSchema, v4Page, generateParameters, alias);
|
|
1063
|
+
const listReport = new ListReportPage(generateParameters, genericSchema, templateName, contextPath);
|
|
1064
|
+
if (!listReport.app.getManifest()) {
|
|
1065
|
+
listReport.cleanup();
|
|
1066
|
+
return listReport.schema.finalize();
|
|
999
1067
|
}
|
|
1000
|
-
|
|
1001
|
-
delete appSchema.definitions.Action;
|
|
1002
|
-
(0, common_1.updatePropertyIndices)(appSchema, ROOT_PROPERTIES_ORDER);
|
|
1003
|
-
return appSchema;
|
|
1068
|
+
return listReport.generate();
|
|
1004
1069
|
}
|
|
1005
1070
|
//# sourceMappingURL=listReport.js.map
|