@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.
Files changed (179) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +248 -251
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/ApplicationV2.json +42 -12
  16. package/dist/schemas/v2/ListReportNewConfig.json +135 -0
  17. package/dist/schemas/v2/ObjectPageConfig.json +12 -5
  18. package/dist/schemas/v4/ApplicationV4.json +30 -15
  19. package/dist/schemas/v4/BuildingBlocksConfig.json +4 -6
  20. package/dist/specification/package.json +16 -16
  21. package/dist/specification/scripts/macros/schema.d.ts +7 -0
  22. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  23. package/dist/specification/scripts/macros/schema.js +61 -14
  24. package/dist/specification/scripts/macros/schema.js.map +1 -1
  25. package/dist/specification/scripts/macros/types.d.ts +1 -0
  26. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  27. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  28. package/dist/specification/scripts/schema/to-json-schema.js +63 -7
  29. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  30. package/dist/specification/src/sync/common/decoration/decorators.d.ts +65 -4
  31. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  32. package/dist/specification/src/sync/common/decoration/decorators.js +138 -8
  33. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  34. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +7 -0
  35. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  36. package/dist/specification/src/sync/common/distTagEvaluator.js +10 -0
  37. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  38. package/dist/specification/src/sync/common/dist_tag.json +17 -18
  39. package/dist/specification/src/sync/common/generate/objectPage.js +3 -1
  40. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  41. package/dist/specification/src/sync/common/generate/utils.d.ts +13 -4
  42. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  43. package/dist/specification/src/sync/common/generate/utils.js +35 -20
  44. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  45. package/dist/specification/src/sync/common/i18n.json +13 -1
  46. package/dist/specification/src/sync/common/utils.d.ts +64 -0
  47. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  48. package/dist/specification/src/sync/common/utils.js +147 -1
  49. package/dist/specification/src/sync/common/utils.js.map +1 -1
  50. package/dist/specification/src/sync/v2/application.d.ts +1 -0
  51. package/dist/specification/src/sync/v2/application.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v2/application.js +18 -0
  53. package/dist/specification/src/sync/v2/application.js.map +1 -1
  54. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
  55. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v2/export/exportPage.js +15 -4
  57. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
  58. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  59. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +6 -12
  60. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  61. package/dist/specification/src/sync/v2/export/factory.d.ts +26 -0
  62. package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -1
  63. package/dist/specification/src/sync/v2/export/factory.js +3 -3
  64. package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
  65. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts +1 -0
  66. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -1
  67. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js +11 -0
  68. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
  69. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  70. package/dist/specification/src/sync/v2/generate/listReport.js +46 -1
  71. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  72. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
  73. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
  74. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  75. package/dist/specification/src/sync/v2/generate/objectPage.js +63 -13
  76. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  77. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
  78. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  79. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
  80. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  81. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
  82. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
  83. package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
  84. package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
  85. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
  86. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
  87. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
  88. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
  89. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
  90. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
  91. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts +22 -0
  92. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts.map +1 -0
  93. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js +124 -0
  94. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js.map +1 -0
  95. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +55 -0
  96. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
  97. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +152 -0
  98. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
  99. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +3 -0
  100. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
  101. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +3 -0
  102. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
  103. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
  104. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
  105. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
  106. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
  107. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  108. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +32 -13
  109. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  110. package/dist/specification/src/sync/v2/utils.d.ts +23 -0
  111. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v2/utils.js +67 -0
  113. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  114. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +3 -2
  115. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  116. package/dist/specification/src/sync/v4/export/controls/Header.js +14 -2
  117. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  118. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
  119. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  120. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -2
  121. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  122. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  123. package/dist/specification/src/sync/v4/export/fpmCustomPage.js +13 -3
  124. package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  125. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  126. package/dist/specification/src/sync/v4/export/pages/ListReport.js +2 -1
  127. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  128. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +107 -0
  129. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -0
  130. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +374 -0
  131. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -0
  132. package/dist/specification/src/sync/v4/generate/listReport.d.ts +100 -2
  133. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  134. package/dist/specification/src/sync/v4/generate/listReport.js +174 -109
  135. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  136. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  137. package/dist/specification/src/sync/v4/generate/objectPage.js +55 -10
  138. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  139. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
  140. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
  141. package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
  142. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
  143. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
  144. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
  145. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
  146. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
  147. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
  148. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
  149. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
  150. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
  151. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
  152. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
  153. package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
  154. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
  155. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
  156. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
  157. package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
  158. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
  159. package/dist/specification/src/sync/v4/utils/utils.d.ts +15 -4
  160. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  161. package/dist/specification/src/sync/v4/utils/utils.js +54 -6
  162. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  163. package/dist/types/src/common/types.d.ts +110 -1
  164. package/dist/types/src/common/types.d.ts.map +1 -1
  165. package/dist/types/src/common/types.js +6 -0
  166. package/dist/types/src/common/types.js.map +1 -1
  167. package/dist/types/src/common/webapp/manifest/Manifest.d.ts +1 -1
  168. package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
  169. package/dist/types/src/v2/application.d.ts +18 -0
  170. package/dist/types/src/v2/application.d.ts.map +1 -1
  171. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  172. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +4 -4
  173. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
  174. package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
  175. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +10 -1
  176. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -1
  177. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  178. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
  179. 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, utils_1.addCustomFilterFieldDefinition)(appSchema, selectionFieldsDefinition, v4Page);
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, utils_1.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.ViewTableColumn);
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, utils_1.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger);
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, utils_1.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForToolbarActions);
494
- (0, utils_1.addEnumForActionAnchor)(appSchema, schemaIdForToolbarActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
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 - list of input parameters as collected by the calling instance
549
- * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
550
- * @param visualization - visualization from the given (S)PV
551
- * @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
552
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
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, generateParameters) {
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: generateParameters.serviceAVT,
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, utils_1.addLineItemsTypeToSchema)(dataForLineItem, columnDefinitionName, !lrTableView['entitySet'] ? ux_specification_types_1.DefinitionName.ViewCustomColumn : undefined, !lrTableView['entitySet'] ? ux_specification_types_1.DefinitionName.ViewCustomAction : undefined);
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, generateParameters, visualization, v4Page) {
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, utils_1.addCustomColumnDefinition)(commonInputParameters.appSchema, v4Page, generateParameters.logger, `${ux_specification_types_1.DefinitionName.ViewCustomColumn}<${sectionId}>`, sectionId, sectionIdInManifest);
654
- (0, utils_1.addFragmentEnumForAnchor)(commonInputParameters.appSchema, sectionId, v4Page, `${ux_specification_types_1.DefinitionName.ViewPosition}<${sectionId}>`, sectionIdInManifest);
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, utils_1.addCustomActionDefinition)(commonInputParameters.appSchema, v4Page, generateParameters.logger, customActionDefinitionKey, schemaIdForToolbarActions, sectionIdInManifest);
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, utils_1.addEnumForActionAnchor)(commonInputParameters.appSchema, schemaIdForToolbarActions, customActionPositionDefinitionKey);
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 {object} commonInputParameters - list of input parameters as collected by the calling instance
710
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
711
- * @param {SapUiAppPageV4} v4Page - the given page in manifest
712
- * @param {object} uiAnnotations - UI annotations of the given entityType
713
- * @param {object} view - the given view
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, generateParameters, v4Page, uiAnnotations, view) {
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, generateParameters);
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, generateParameters, visualization, v4Page);
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 v4Page - the given page in manifest
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, v4Page, tableDefinitionName) {
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, v4Page, uiAnnotations, view);
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, utils_1.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.TableColumn, ux_specification_types_1.DefinitionName.CustomColumn, ux_specification_types_1.DefinitionName.CustomTableAction);
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, utils_1.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger, undefined, annotationTermInSchema, sectionIdInManifest);
844
- (0, utils_1.addFragmentEnumForAnchor)(appSchema, annotationTermInSchema, v4Page, undefined, sectionIdInManifest);
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, utils_1.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, (0, common_1.getDefinitionKey)(customColumnDefinitionName), schemaIdForToolbarActions, sectionIdInManifest);
849
- (0, utils_1.addEnumForActionAnchor)(appSchema, schemaIdForToolbarActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
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, utils_1.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.TableColumn, ux_specification_types_1.DefinitionName.CustomColumn, ux_specification_types_1.DefinitionName.CustomTableAction);
871
- (0, utils_1.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger);
872
- (0, utils_1.addFragmentEnumForAnchor)(appSchema, ux_specification_types_1.DefinitionName.LineItems, v4Page);
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, utils_1.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForActions);
879
- (0, utils_1.addEnumForActionAnchor)(appSchema, schemaIdForActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
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, utils_1.addHeaderFooterCustomActionDefinition)(appSchema, v4Page, logger, customActionDefinitionKey, headerActionsDefinitionKey);
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, utils_1.addEnumForActionAnchor)(appSchema, headerActionsDefinitionKey, facetKey);
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 appSchema = JSON.parse(JSON.stringify(genericSchema));
973
- const entityType = generateParameters.entityType;
974
- const alias = generateParameters.serviceAVT && (0, common_1.findAlias)(ux_specification_types_1.UIVOCABULARY, generateParameters.serviceAVT);
975
- appSchema.properties[ux_specification_types_1.PropertyName.defaultTemplateAnnotationPath][ux_specification_types_1.SchemaTag.hidden] = true;
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
- delete appSchema.definitions.GenericColumns;
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