@sap/ux-specification 1.84.129 → 1.84.131

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 (191) hide show
  1. package/CHANGELOG.md +466 -399
  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-ListReport.html +2 -2
  10. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  11. package/dist/index-min.js +182 -180
  12. package/dist/index-min.js.map +4 -4
  13. package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
  14. package/dist/schemas/v2/ListReportConfig.json +5 -5
  15. package/dist/schemas/v2/ListReportNewConfig.json +1 -1
  16. package/dist/schemas/v2/ObjectPageConfig.json +5 -5
  17. package/dist/specification/package.json +12 -9
  18. package/dist/specification/scripts/extractDocu.js +18 -1
  19. package/dist/specification/scripts/extractDocu.js.map +1 -1
  20. package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
  21. package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
  22. package/dist/specification/scripts/generate-validity-report.js +320 -0
  23. package/dist/specification/scripts/generate-validity-report.js.map +1 -0
  24. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +501 -0
  25. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
  26. package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
  27. package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
  28. package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
  29. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  30. package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
  31. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  32. package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
  33. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
  34. package/dist/specification/src/sync/common/decoration/index.js +1 -0
  35. package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
  36. package/dist/specification/src/sync/common/dist_tag.json +8 -3
  37. package/dist/specification/src/sync/common/i18n.json +2 -1
  38. package/dist/specification/src/sync/common/importProject.d.ts.map +1 -1
  39. package/dist/specification/src/sync/common/importProject.js +2 -0
  40. package/dist/specification/src/sync/common/importProject.js.map +1 -1
  41. package/dist/specification/src/sync/common/utils.d.ts +35 -7
  42. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  43. package/dist/specification/src/sync/common/utils.js +224 -21
  44. package/dist/specification/src/sync/common/utils.js.map +1 -1
  45. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  46. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
  47. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  48. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  49. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +48 -0
  50. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  51. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
  53. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  54. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  55. package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
  56. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  57. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -8
  58. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  59. package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
  60. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  61. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  62. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
  63. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  64. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  65. package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
  66. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  67. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  68. package/dist/specification/src/sync/v2/import/importPage.js +5 -6
  69. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  70. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
  71. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  72. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
  73. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  74. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
  75. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  76. package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
  77. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  78. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  79. package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
  80. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  81. package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
  82. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  83. package/dist/specification/src/sync/v2/import/utils.js +37 -0
  84. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  85. package/dist/specification/src/sync/v2/utils.d.ts +12 -2
  86. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  87. package/dist/specification/src/sync/v2/utils.js +19 -2
  88. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  89. package/dist/specification/src/sync/v4/application.d.ts +39 -4
  90. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  91. package/dist/specification/src/sync/v4/application.js +67 -6
  92. package/dist/specification/src/sync/v4/application.js.map +1 -1
  93. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
  94. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  95. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
  96. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  97. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  98. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
  99. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
  100. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  101. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +19 -6
  102. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  103. package/dist/specification/src/sync/v4/export/controls/Table.js +24 -8
  104. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  105. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  106. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
  107. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  108. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
  109. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  110. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +2 -1
  111. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  112. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  113. package/dist/specification/src/sync/v4/export/export.js +38 -8
  114. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  115. package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
  116. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  117. package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
  118. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
  119. package/dist/specification/src/sync/v4/generate/index.js +1 -1
  120. package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
  121. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +72 -0
  122. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
  123. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +299 -0
  124. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
  125. package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +24 -14
  126. package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
  127. package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +135 -130
  128. package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
  129. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  130. package/dist/specification/src/sync/v4/generate/objectPage.js +99 -16
  131. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  132. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  133. package/dist/specification/src/sync/v4/import/pages/listReport.js +15 -9
  134. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  135. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
  136. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
  137. package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
  138. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
  139. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
  140. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
  141. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
  142. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
  143. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
  144. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
  145. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
  146. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
  147. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
  148. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
  149. package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
  150. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
  151. package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
  152. package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
  153. package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
  154. package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
  155. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
  156. package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
  157. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
  158. package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
  159. package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
  160. package/dist/specification/src/sync/v4/utils/index.js +18 -0
  161. package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
  162. package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
  163. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  164. package/dist/specification/src/sync/v4/utils/utils.js +19 -4
  165. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  166. package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +549 -0
  167. package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
  168. package/dist/specification/test/test-utils/utils.d.ts +55 -0
  169. package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
  170. package/dist/specification/test/test-utils/utils.js +346 -0
  171. package/dist/specification/test/test-utils/utils.js.map +1 -0
  172. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +274 -0
  173. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
  174. package/dist/specification/test/unit/decorators/validity-test-utils.js +583 -0
  175. package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
  176. package/dist/types/src/apiTypes.d.ts +2 -3
  177. package/dist/types/src/apiTypes.d.ts.map +1 -1
  178. package/dist/types/src/apiTypes.js.map +1 -1
  179. package/dist/types/src/common/types.d.ts +126 -13
  180. package/dist/types/src/common/types.d.ts.map +1 -1
  181. package/dist/types/src/common/types.js +5 -1
  182. package/dist/types/src/common/types.js.map +1 -1
  183. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
  184. package/dist/types/src/v2/controls/Table.d.ts +1 -1
  185. package/package.json +13 -10
  186. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -74
  187. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
  188. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -262
  189. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
  190. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
  191. package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
@@ -1,12 +1,27 @@
1
- import { TemplateType, Visualization } from '@sap/ux-specification-types';
2
- import type { v4, GenerateAppSchemaParameters, ExtensionLogger } from '@sap/ux-specification-types';
1
+ import { Visualization } from '@sap/ux-specification-types';
2
+ import type { ExtensionLogger, v4, GenerateAppSchemaParameters } from '@sap/ux-specification-types';
3
3
  import type { AnnotationTerm, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
4
4
  import type { SelectionFields } from '@sap-ux/vocabularies-types/vocabularies/UI';
5
- import { type ManifestPathParams } from '../../common';
5
+ import { type ManifestPathParams } from '../../../common';
6
6
  import type { Definition } from 'typescript-json-schema';
7
- import { Page } from '../sync-rules/Page';
7
+ import type { PageConfig, App } from '../../sync-rules';
8
+ import { Page } from '../../sync-rules';
8
9
  /**
9
- * Adds the selection fields to the app schema, as properties of the FilterBar
10
+ * Configuration interface for List Report pages.
11
+ * Extends the base PageConfig with List Report specific properties.
12
+ */
13
+ export interface ListReportPageConfig extends PageConfig {
14
+ isALP?: boolean;
15
+ defaultAnnotation?: string;
16
+ views?: v4.SapUi5Views;
17
+ }
18
+ /**
19
+ * Type alias for a Page with ListReportPageConfig configuration.
20
+ */
21
+ export type LRPage = Page<ListReportPageConfig>;
22
+ /**
23
+ * Adds the selection fields to the app schema, as properties of the FilterBar.
24
+ *
10
25
  * @param {EntityType} entityType - the entity type as part of the AVT ConvertedMetadata
11
26
  * @param {Definition} appSchema - the app specific schema that shall get enhanced
12
27
  * @param {AnnotationTerm<SelectionFields>} selectionFieldsAnnotation - the UI.SelectionField annotation
@@ -68,17 +83,11 @@ export declare function addTagsToView(viewsDefinition: Definition, viewKey: stri
68
83
  * @param generateParameters.entityType - entity type of the current page
69
84
  * @param generateParameters.logger - extension logger
70
85
  * @param page - the current page object
86
+ * @param app - the application object containing manifest and other app-specific information.
71
87
  * @param uiAnnotations - UI annotations of the given entityType
72
88
  * @param view - the given view
73
89
  */
74
- export declare function addLRViewParts(visualization: string, viewsDefinition: Definition, commonInputParameters: ViewsParameters, { serviceAVT, entityType, logger }: Partial<GenerateAppSchemaParameters>, page: Page, uiAnnotations: object, view: object): void;
75
- /**
76
- * Checks for the default annotation path to use for LR table
77
- * @param {SapUiAppPageV4} v4Page - actual page in the manifest
78
- * @param {EntityType} entityType - actual entity type (AVT information)
79
- * @returns {string} annotation term
80
- */
81
- export declare function getDefaultAnnotationPath(v4Page: v4.SapUiAppPageV4, entityType: EntityType, templateType: TemplateType): string | undefined;
90
+ export declare function addLRViewParts(visualization: string, viewsDefinition: Definition, commonInputParameters: ViewsParameters, { serviceAVT, entityType, logger }: Partial<GenerateAppSchemaParameters>, page: Page, app: App, uiAnnotations: object, view: object): void;
82
91
  /**
83
92
  * Adds 'manifestPath' to each property in a definition based on metadata sync rules.
84
93
  *
@@ -86,8 +95,9 @@ export declare function getDefaultAnnotationPath(v4Page: v4.SapUiAppPageV4, enti
86
95
  * @param definitionName - The name of the definition/class whose properties are being processed.
87
96
  * @param definition - The definition object containing property schemas.
88
97
  * @param pathParams - Additional context required to compute manifest paths.
98
+ * @param handleRelative - A flag indicating whether to use relative paths for definition properties.
89
99
  */
90
- export declare function addManifestPathsToPropertiesLR(appSchema: Definition, definitionName: string | undefined, definition: Definition, pathParams: ManifestPathParams): void;
100
+ export declare function addManifestPathsToPropertiesLR(appSchema: Definition, definitionName: string | undefined, definition: Definition, pathParams: ManifestPathParams, handleRelative?: boolean): void;
91
101
  /**
92
102
  * Generates an app specific schema for the FE V4 ListReport from the generic schema.
93
103
  * Generic types are replaced by information from the app specific annotations.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v4/generate/list-report/listReport.ts"],"names":[],"mappings":"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"}
@@ -8,28 +8,29 @@ exports.analyzeViewAnnotation = analyzeViewAnnotation;
8
8
  exports.addALPViews = addALPViews;
9
9
  exports.addTagsToView = addTagsToView;
10
10
  exports.addLRViewParts = addLRViewParts;
11
- exports.getDefaultAnnotationPath = getDefaultAnnotationPath;
12
11
  exports.addManifestPathsToPropertiesLR = addManifestPathsToPropertiesLR;
13
12
  exports.generateListReportSchemaV4 = generateListReportSchemaV4;
14
- const utils_1 = require("../utils/utils");
13
+ const utils_1 = require("../../utils");
14
+ const utils_2 = require("../../utils");
15
15
  const ux_specification_types_1 = require("@sap/ux-specification-types");
16
16
  const i18next_1 = __importDefault(require("i18next"));
17
- const extensionLogger_1 = require("../../../extensionLogger");
18
- const common_1 = require("../../common");
19
- const Page_1 = require("../sync-rules/Page");
20
- const App_1 = require("../sync-rules/App");
21
- const AppSchema_1 = require("../sync-rules/AppSchema");
17
+ const extensionLogger_1 = require("../../../../extensionLogger");
18
+ const common_1 = require("../../../common");
19
+ const sync_rules_1 = require("../../sync-rules");
22
20
  const ListReportUtils_1 = require("./ListReportUtils");
21
+ const controls_1 = require("../../export/controls");
23
22
  const ROOT_PROPERTIES_ORDER = ['filterBar', 'chart', 'table'];
24
23
  const UILINEITEM = '@UI.LineItem';
25
24
  /**
26
- * Adds the selection fields to the app schema, as properties of the FilterBar
25
+ * Adds the selection fields to the app schema, as properties of the FilterBar.
26
+ *
27
27
  * @param {EntityType} entityType - the entity type as part of the AVT ConvertedMetadata
28
28
  * @param {Definition} appSchema - the app specific schema that shall get enhanced
29
29
  * @param {AnnotationTerm<SelectionFields>} selectionFieldsAnnotation - the UI.SelectionField annotation
30
30
  * @param {Definition} [selectionFieldsDefinition] - Schema definitions of selection fields
31
31
  */
32
32
  function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation, selectionFieldsDefinition) {
33
+ // No @validity check needed here
33
34
  if (!selectionFieldsDefinition) {
34
35
  selectionFieldsDefinition = appSchema.definitions.SelectionFields;
35
36
  selectionFieldsDefinition.additionalProperties = false;
@@ -41,8 +42,9 @@ function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation, se
41
42
  if (selectionFieldsAnnotation) {
42
43
  let i = 0;
43
44
  selectionFieldsAnnotation?.forEach((selectionField) => {
45
+ const value = selectionField.value ?? `UnknownField${i}`;
44
46
  let description = selectionField.value;
45
- const fieldDefinition = 'SelectionField::' + (0, common_1.prepareRef)(selectionField.value);
47
+ const fieldDefinition = 'SelectionField::' + (0, common_1.prepareRef)(value);
46
48
  if (selectionField.type === 'PropertyPath') {
47
49
  description = (0, common_1.getLabelForPropertyPath)(selectionField, entityType);
48
50
  }
@@ -58,10 +60,14 @@ function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation, se
58
60
  additionalProperties: false,
59
61
  ...(dataType && { dataType })
60
62
  };
63
+ if (selectionField.value === undefined) {
64
+ // Add message about unresolvable value for selection field
65
+ (0, common_1.addMessageToSchema)(appSchema.definitions[fieldDefinition], {
66
+ text: i18next_1.default.t('UNRESOLVABLE_VALUE_OF_SELECTION_FIELD')
67
+ });
68
+ }
61
69
  appSchema.definitions[fieldDefinition][ux_specification_types_1.SchemaTag.isViewNode] = true;
62
- appSchema.definitions[fieldDefinition][ux_specification_types_1.SchemaTag.keys] = [
63
- { name: ux_specification_types_1.SchemaKeyName.value, value: `${selectionField.value}` }
64
- ];
70
+ appSchema.definitions[fieldDefinition][ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.value, value: `${value}` }];
65
71
  if (selectionField.$target?.fullyQualifiedName.indexOf('@') > -1) {
66
72
  appSchema.definitions[fieldDefinition][ux_specification_types_1.SchemaTag.target] = selectionField.$target.fullyQualifiedName
67
73
  .split('@')[0]
@@ -100,6 +106,8 @@ function defineActions(appSchema, schemaIdForActions, annotations, targetAnnotat
100
106
  action[ux_specification_types_1.SchemaTag.annotationPath] = `/${actionRecord.fullyQualifiedName}`;
101
107
  //as ChartToolBarAction is an empty object, copy ViewToolBarAction and remove properties
102
108
  appSchema.definitions[actionDefinition] = JSON.parse(JSON.stringify(appSchema.definitions[ux_specification_types_1.DefinitionName.ViewToolBarAction]));
109
+ // Instantiate for @validity check
110
+ new controls_1.ViewToolBarAction().init();
103
111
  appSchema.definitions[actionDefinition].properties = {};
104
112
  appSchema.definitions[actionDefinition][ux_specification_types_1.SchemaTag.annotationPath] = actionRecord.fullyQualifiedName;
105
113
  i++;
@@ -265,6 +273,8 @@ function addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annot
265
273
  chartView[ux_specification_types_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
266
274
  chartView[ux_specification_types_1.SchemaTag.key] = 'primary';
267
275
  chartView[ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.key, value: 'primary' }];
276
+ // Instantiate for @validity check
277
+ new controls_1.ALPChart().init();
268
278
  }
269
279
  /**
270
280
  * Adds the ALP views to the app-specific schema
@@ -330,7 +340,7 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
330
340
  oDataServiceAVT: generateParameters.serviceAVT,
331
341
  lineItemId: ux_specification_types_1.DefinitionName.LineItems
332
342
  };
333
- (0, utils_1.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.ViewTableColumn);
343
+ (0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.ViewTableColumn);
334
344
  if (target) {
335
345
  appSchema.definitions[ux_specification_types_1.DefinitionName.ALPTable][ux_specification_types_1.SchemaTag.annotationPath] = target;
336
346
  }
@@ -343,7 +353,7 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
343
353
  addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.DefinitionName.ALPTable, tableDefinition, {
344
354
  pageName: v4Page.id,
345
355
  manifest: generateParameters.manifest,
346
- targetAnnotation
356
+ targetAnnotation: target
347
357
  });
348
358
  }
349
359
  /**
@@ -380,18 +390,31 @@ function addViewChartDefinitions(inputParameters, annotations) {
380
390
  * @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
381
391
  * @param viewKey - view key
382
392
  * @param title - view title
393
+ * @param page - Represents the page in the application's structure where the view line items are to be added.
394
+ * @param app - Represents the overall application structure, providing access to the manifest.
383
395
  */
384
- function addViewChart(inputParameters, UIAnnotations, appSchema, viewsDefinition, viewKey, title) {
396
+ function addViewChart(inputParameters, UIAnnotations, appSchema, viewsDefinition, viewKey, title, page, app) {
385
397
  const idForChart = addViewChartDefinitions(inputParameters, UIAnnotations);
386
- appSchema.definitions[idForChart].properties.annotationPath[ux_specification_types_1.SchemaTag.hidden] = true;
387
- appSchema.definitions[idForChart].properties.index[ux_specification_types_1.SchemaTag.hidden] = true;
388
- appSchema.definitions[idForChart].properties.entitySet[ux_specification_types_1.SchemaTag.hidden] = true;
398
+ const chartViewDefinition = appSchema.definitions[idForChart];
399
+ chartViewDefinition.properties.annotationPath[ux_specification_types_1.SchemaTag.hidden] = true;
400
+ chartViewDefinition.properties.index[ux_specification_types_1.SchemaTag.hidden] = true;
401
+ chartViewDefinition.properties.entitySet[ux_specification_types_1.SchemaTag.hidden] = true;
389
402
  const titleOnHover = `Chart View (key: ${viewKey})`;
390
403
  viewsDefinition.properties[viewKey] = {
391
404
  $ref: `${common_1.DEFINITION_LINK_PREFIX}${idForChart}`,
392
405
  description: title ? title : titleOnHover,
393
406
  title: titleOnHover
394
407
  };
408
+ // Add "manifestPath" for table properties
409
+ addManifestPathsToPropertiesLR(inputParameters.appSchema, ux_specification_types_1.DefinitionName.LRChartView, chartViewDefinition, {
410
+ pageName: page.target.id,
411
+ manifest: app.manifest,
412
+ targetAnnotation: inputParameters.targetAnnotation,
413
+ viewConfig: {
414
+ key: viewKey,
415
+ entitySet: inputParameters.entitySet
416
+ }
417
+ }, true);
395
418
  }
396
419
  /**
397
420
  * Empties properties for given definition.
@@ -411,17 +434,21 @@ function createEmptyProperties(definition) {
411
434
  /**
412
435
  * Modifies the app schema, adds the right line item settings as derived from the visualization.
413
436
  *
414
- * @param {ViewsParameters} inputParameters - The parameters required for generating and defining the line items in the view schema.
415
- * @param {Definition} viewsDefinition - The existing schema definition for views that will be updated with new view line items.
416
- * @param {string} visualization - The visualization format or mode for the line items, used to determine the associated annotations.
417
- * @param {string} templateAnnotation - The template annotation to infer metadata for the line items.
418
- * @param {GenerateAppSchemaParameters} generateParameters - Parameters essential for schema generation, including OData service metadata.
419
- * @param {Page} page - The page object representing the context in which the view is being generated.
420
- * @returns {void} No return value.
437
+ * @param {ViewsParameters} inputParameters - Parameters containing details needed for the view line item addition, including the app schema, view key, and target annotation.
438
+ * @param {Definition} viewsDefinition - The definition object to which the view line items will be added.
439
+ * @param {string} visualization - The specific visualization type, typically used to determine the annotation term.
440
+ * @param {string} templateAnnotation - Annotation path or type related to the template.
441
+ * @param generateParameters - list of API input parameters
442
+ * @param generateParameters.serviceAVT - OData service AVT information
443
+ * @param generateParameters.entityType - entity type of the current page
444
+ * @param {Page} page - Represents the page in the application's structure where the view line items are to be added.
445
+ * @param app - the application object containing manifest and other app-specific information.
446
+ * @param {ExtensionLogger} logger - Logger for recording informational or error messages during the schema adjustment process.
421
447
  */
422
- function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, { serviceAVT, entityType }, page) {
448
+ function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, { serviceAVT, entityType }, page, app, logger) {
423
449
  const tableId = `${ux_specification_types_1.DefinitionName.LRTableView}<${inputParameters.viewKey}>`;
424
- const viewId = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
450
+ const schemaIdForColumns = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
451
+ const schemaIdForActions = `${ux_specification_types_1.DefinitionName.Actions}<${schemaIdForColumns}>`;
425
452
  const lrTableView = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.LRTableView, inputParameters.viewKey, inputParameters.appSchema);
426
453
  delete lrTableView[ux_specification_types_1.SchemaTag.isViewNode];
427
454
  lrTableView[ux_specification_types_1.SchemaTag.annotationPath] = inputParameters.targetAnnotation;
@@ -432,14 +459,14 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
432
459
  lrTableView['entitySet'] = inputParameters.entitySet;
433
460
  }
434
461
  //Copy toolbar
435
- (0, common_1.addDefinitionRef)(lrTableView.properties.toolBar, ux_specification_types_1.DefinitionName.ToolBar, viewId);
462
+ (0, common_1.addDefinitionRef)(lrTableView.properties.toolBar, ux_specification_types_1.DefinitionName.ToolBar, schemaIdForColumns);
436
463
  const title = `Table View (key: ${inputParameters.viewKey})`;
437
464
  viewsDefinition.properties[inputParameters.viewKey] = {
438
465
  $ref: `${common_1.DEFINITION_LINK_PREFIX}${tableId}`,
439
466
  description: inputParameters.title || title,
440
467
  title
441
468
  };
442
- (0, common_1.addDefinitionRef)(lrTableView.properties.columns, viewId);
469
+ (0, common_1.addDefinitionRef)(lrTableView.properties.columns, schemaIdForColumns);
443
470
  lrTableView.properties.annotationPath[ux_specification_types_1.SchemaTag.hidden] = true;
444
471
  lrTableView.properties.index[ux_specification_types_1.SchemaTag.hidden] = true;
445
472
  lrTableView.properties.entitySet[ux_specification_types_1.SchemaTag.hidden] = true;
@@ -450,7 +477,7 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
450
477
  lineItemAnnotation: inputParameters.targetEntityType?.annotations.UI[annotationTerm],
451
478
  entityType: inputParameters.targetEntityType,
452
479
  oDataServiceAVT: serviceAVT,
453
- lineItemId: viewId
480
+ lineItemId: schemaIdForColumns
454
481
  };
455
482
  let columnDefinitionName = ux_specification_types_1.DefinitionName.ViewTableColumn;
456
483
  // handle basic columns and basic actions for view with different entity set (remove properties)
@@ -464,13 +491,18 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
464
491
  const originalActionRef = `${ux_specification_types_1.DefinitionName.ViewTableColumnAction}`;
465
492
  definitions[actionRef] = createEmptyProperties(definitions[originalActionRef]);
466
493
  }
467
- (0, utils_1.addLineItemsTypeToSchema)(dataForLineItem, columnDefinitionName);
468
- // Add "manifestPath" for table properties
494
+ (0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, columnDefinitionName);
469
495
  addManifestPathsToPropertiesLR(inputParameters.appSchema, ux_specification_types_1.DefinitionName.LRTableView, lrTableView, {
470
- pageName: page.getPage().id,
471
- manifest: page.getApp().manifest,
472
- targetAnnotation: inputParameters.targetAnnotation
473
- });
496
+ pageName: page.target.id,
497
+ manifest: app.manifest,
498
+ targetAnnotation: inputParameters.targetAnnotation,
499
+ viewConfig: {
500
+ key: inputParameters.viewKey,
501
+ entitySet: inputParameters.entitySet
502
+ }
503
+ }, true);
504
+ // Add "manifestPath" for view actions
505
+ (0, ListReportUtils_1.addManifestPathsToDefinitionPropertiesLR)(inputParameters.appSchema, page.target.id, schemaIdForActions, app.getManifest(), inputParameters.targetAnnotation, inputParameters.entitySet);
474
506
  }
475
507
  /**
476
508
  * Adds the schema tags to a given view
@@ -488,24 +520,6 @@ function addTagsToView(viewsDefinition, viewKey, namespace, view) {
488
520
  viewsDefinition.properties[viewKey][ux_specification_types_1.SchemaTag.key] = viewKey;
489
521
  viewsDefinition.properties[viewKey][ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.key, value: viewKey }];
490
522
  }
491
- /**
492
- * Adjusts the entity type if a different entity set is maintained for a view
493
- * @param {EntitySet} entitySet - actual entity set (AVT information)
494
- * @param view - the current view in manifest
495
- * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
496
- * @returns the target entity type
497
- */
498
- function getTargetEntityType(entitySet, view, generateParameters) {
499
- let targetEntityType = generateParameters.entityType;
500
- let viewEntitySet = entitySet;
501
- if (view['entitySet'] && view['entitySet'] !== entitySet.name) {
502
- viewEntitySet = generateParameters.serviceAVT?.entitySets.find((es) => {
503
- return es.name === view['entitySet'];
504
- });
505
- targetEntityType = viewEntitySet.entityType;
506
- }
507
- return targetEntityType;
508
- }
509
523
  /**
510
524
  * Handles manifest properties for given view definition excluding passed ones.
511
525
  * @param {Definition} definition - the given definition
@@ -515,7 +529,9 @@ function handleViewProperties(definition, validProperties) {
515
529
  const { properties } = definition;
516
530
  if (properties) {
517
531
  for (const i in properties) {
518
- if (properties[i]['artifactType'] === ux_specification_types_1.ArtifactType.Manifest && validProperties.indexOf(i) === -1) {
532
+ if (!properties[i]['hidden'] &&
533
+ properties[i]['artifactType'] === ux_specification_types_1.ArtifactType.Manifest &&
534
+ validProperties.indexOf(i) === -1) {
519
535
  delete properties[i];
520
536
  }
521
537
  }
@@ -532,13 +548,15 @@ function handleViewProperties(definition, validProperties) {
532
548
  * @param generateParameters.entityType - entity type of the current page
533
549
  * @param generateParameters.logger - extension logger
534
550
  * @param page - the current page object
551
+ * @param app - the application object containing manifest and other app-specific information.
535
552
  * @param uiAnnotations - UI annotations of the given entityType
536
553
  * @param view - the given view
537
554
  */
538
- function addLRViewParts(visualization, viewsDefinition, commonInputParameters, { serviceAVT, entityType, logger }, page, uiAnnotations, view) {
555
+ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, { serviceAVT, entityType, logger }, page, app, uiAnnotations, view) {
539
556
  if (visualization?.indexOf(ux_specification_types_1.Visualization.LineItem) > -1) {
540
557
  //Add Line item view
541
- addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, { serviceAVT, entityType }, page);
558
+ addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, { serviceAVT, entityType }, page, app, logger);
559
+ // add custom extensions only for views with same entitySet as project (for versions < 1.108)
542
560
  if (view['entitySet'] !== undefined) {
543
561
  // handle root properties of current view if entity set is different
544
562
  handleViewProperties(commonInputParameters.appSchema.definitions[`${ux_specification_types_1.DefinitionName.LRTableView}<${view['key']}>`], ['visible']);
@@ -546,7 +564,7 @@ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, {
546
564
  }
547
565
  else if (visualization?.indexOf('Chart') > -1) {
548
566
  //Add Chart view
549
- addViewChart(commonInputParameters, uiAnnotations, commonInputParameters.appSchema, viewsDefinition, commonInputParameters.viewKey, commonInputParameters.title);
567
+ addViewChart(commonInputParameters, uiAnnotations, commonInputParameters.appSchema, viewsDefinition, commonInputParameters.viewKey, commonInputParameters.title, page, app);
550
568
  }
551
569
  else if (view['template']) {
552
570
  const titleOnHover = view['label'] || `Custom View (key: ${commonInputParameters.viewKey})`;
@@ -567,50 +585,6 @@ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, {
567
585
  };
568
586
  }
569
587
  }
570
- /**
571
- * Add list report views to the app-specific schema.
572
- *
573
- * @param appSchema - app-specific JSON schema
574
- * @param viewsPaths - views' paths' section in the manifest
575
- * @param generateParameters - list of API input parameters
576
- * @param page - the current page object
577
- * @param tableDefinitionName - The name of the table definition in the schema
578
- */
579
- function addLRViews(appSchema, viewsPaths, generateParameters, page, tableDefinitionName) {
580
- const tableDefinition = appSchema.definitions[tableDefinitionName];
581
- tableDefinition.properties = {
582
- annotationPath: tableDefinition.properties.annotationPath,
583
- initialLoad: tableDefinition.properties.initialLoad,
584
- views: tableDefinition.properties.views
585
- };
586
- const viewsDefinition = appSchema.definitions.MultiTableModeV4;
587
- for (const view of viewsPaths) {
588
- if (!view[ux_specification_types_1.SchemaTag.key]) {
589
- continue;
590
- }
591
- let navPropName = undefined;
592
- const targetEntityType = getTargetEntityType(generateParameters.entitySet, view, generateParameters);
593
- const uiAnnotations = targetEntityType?.annotations.UI;
594
- const { visualization, targetAnnotation, namespace, title } = analyzeViewAnnotation(view?.[ux_specification_types_1.SchemaTag.annotationPath], uiAnnotations, view[ux_specification_types_1.SchemaTag.key], undefined, generateParameters.logger);
595
- if (view['entitySet']) {
596
- navPropName = generateParameters.entityType.navigationProperties.find((np) => {
597
- return np.targetTypeName === namespace;
598
- })?.name;
599
- }
600
- const viewKey = (0, common_1.prepareRef)(view[ux_specification_types_1.SchemaTag.key]);
601
- const commonInputParameters = {
602
- viewKey,
603
- appSchema,
604
- targetAnnotation,
605
- navPropName,
606
- targetEntityType,
607
- title,
608
- entitySet: view['entitySet']
609
- };
610
- addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, page, uiAnnotations, view);
611
- addTagsToView(viewsDefinition, viewKey, namespace, view);
612
- }
613
- }
614
588
  /**
615
589
  * Adapts the table definition in schema.
616
590
  * Evaluates the path depending on if defaultTemplateAnnotationPath or Selection-/PresentationVariant is present.
@@ -652,7 +626,7 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
652
626
  oDataServiceAVT: generateParameters.serviceAVT,
653
627
  lineItemId: annotationTermInSchema
654
628
  };
655
- (0, utils_1.addLineItemsTypeToSchema)(dataForLineItem);
629
+ (0, utils_2.addLineItemsTypeToSchema)(dataForLineItem);
656
630
  }
657
631
  else {
658
632
  tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${ux_specification_types_1.DefinitionName.ToolBarLR}`;
@@ -673,7 +647,7 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
673
647
  oDataServiceAVT: generateParameters.serviceAVT,
674
648
  lineItemId: ux_specification_types_1.DefinitionName.LineItems
675
649
  };
676
- (0, utils_1.addLineItemsTypeToSchema)(dataForLineItem);
650
+ (0, utils_2.addLineItemsTypeToSchema)(dataForLineItem);
677
651
  if (lineItemAnnotation && !v4Page.options?.settings?.views?.paths) {
678
652
  tableDefinition[ux_specification_types_1.SchemaTag.annotationPath] = (0, common_1.createAnnotationPath)(generateParameters.entityType?.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
679
653
  }
@@ -686,17 +660,18 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
686
660
  });
687
661
  }
688
662
  /**
689
- * Checks for the default annotation path to use for LR table
690
- * @param {SapUiAppPageV4} v4Page - actual page in the manifest
691
- * @param {EntityType} entityType - actual entity type (AVT information)
692
- * @returns {string} annotation term
663
+ * Checks for the default annotation path to use for LR table.
664
+ *
665
+ * @param page - the current page object
666
+ * @returns annotation term
693
667
  */
694
- function getDefaultAnnotationPath(v4Page, entityType, templateType) {
695
- if (v4Page.options.settings?.views?.paths && templateType === ux_specification_types_1.TemplateType.ListReportObjectPageV4) {
668
+ function getDefaultAnnotationPath(page) {
669
+ const { entity: { type: entityType }, template: { type: templateType }, target } = page;
670
+ if (target?.options?.settings?.views?.paths && templateType === ux_specification_types_1.TemplateType.ListReportObjectPageV4) {
696
671
  return;
697
672
  }
698
- if (v4Page.options.settings?.defaultTemplateAnnotationPath) {
699
- return v4Page.options.settings.defaultTemplateAnnotationPath;
673
+ if (target?.options?.settings?.defaultTemplateAnnotationPath) {
674
+ return target?.options?.settings.defaultTemplateAnnotationPath;
700
675
  }
701
676
  if (templateType === ux_specification_types_1.TemplateType.ListReportObjectPageV4) {
702
677
  return (entityType?.annotations.UI?.SelectionPresentationVariant?.term ||
@@ -710,8 +685,9 @@ function getDefaultAnnotationPath(v4Page, entityType, templateType) {
710
685
  * @param definitionName - The name of the definition/class whose properties are being processed.
711
686
  * @param definition - The definition object containing property schemas.
712
687
  * @param pathParams - Additional context required to compute manifest paths.
688
+ * @param handleRelative - A flag indicating whether to use relative paths for definition properties.
713
689
  */
714
- function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams) {
690
+ function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams, handleRelative = false) {
715
691
  let targetAnnotation = undefined;
716
692
  if (pathParams.targetAnnotation) {
717
693
  const annotationParts = pathParams.targetAnnotation?.split('/');
@@ -721,10 +697,19 @@ function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, p
721
697
  // Default annotation path
722
698
  targetAnnotation = `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
723
699
  }
700
+ const entitySet = pathParams.viewConfig?.entitySet;
701
+ if (entitySet) {
702
+ targetAnnotation = entitySet ? `/${entitySet}/${targetAnnotation}` : targetAnnotation;
703
+ }
724
704
  (0, utils_1.addManifestPathsToProperties)(appSchema, definitionName, definition, {
725
705
  ...pathParams,
726
- pathsParts: [targetAnnotation, '', targetAnnotation]
727
- });
706
+ pathsParts: [
707
+ pathParams.sectionId ? undefined : targetAnnotation,
708
+ pathParams.columnKey ? pathParams.columnKey : '',
709
+ targetAnnotation,
710
+ pathParams.viewConfig
711
+ ]
712
+ }, handleRelative);
728
713
  }
729
714
  /**
730
715
  * Adds 'manifestPath' to static nodes in schema.
@@ -733,6 +718,8 @@ function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, p
733
718
  * @param pathParams - Additional context required to compute manifest paths.
734
719
  */
735
720
  function addManifestPathsToStaticNodes(appSchema, pathParams) {
721
+ // Add "manifestPath" for current page
722
+ appSchema['manifestPath'] = (0, utils_1.getPageManifestPath)(pathParams);
736
723
  // Root level - rules stored on page class level
737
724
  addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.PageTypeV4.ListReport, appSchema, pathParams);
738
725
  // Other definitions
@@ -757,17 +744,24 @@ class ListReportPage {
757
744
  * @param contextPath - context path of the page
758
745
  */
759
746
  constructor(generateParameters, schema, templateName) {
760
- this.schema = new AppSchema_1.AppSchema(schema);
761
- this.app = (0, App_1.createApp)(generateParameters.manifest, generateParameters.serviceAVT, generateParameters.logger);
762
- this.page = new Page_1.Page(this.app, { name: templateName, type: generateParameters.templateType }, generateParameters.entitySet);
747
+ const template = { name: templateName, type: generateParameters.templateType };
748
+ this.appSchema = new sync_rules_1.AppSchema(schema);
749
+ this.app = (0, sync_rules_1.createApp)(generateParameters.manifest, generateParameters.serviceAVT, generateParameters.logger);
750
+ this.page = new sync_rules_1.Page(this.app, template, generateParameters.entitySet, generateParameters.entityType);
751
+ this.logger = this.app.logger;
752
+ this.page.addConfig({
753
+ isALP: template.type === ux_specification_types_1.TemplateType.AnalyticalListPageV4,
754
+ views: this.page.target?.options?.settings.views,
755
+ defaultAnnotation: getDefaultAnnotationPath(this.page)
756
+ });
763
757
  }
764
758
  /**
765
759
  * Cleans up the schema by hiding specific properties and removing unnecessary definitions.
766
760
  */
767
761
  cleanup() {
768
- this.schema.hide(this.schema.getRootProperty([ux_specification_types_1.PropertyName.defaultTemplateAnnotationPath]));
769
- this.schema.cleanup(['GenericColumns', 'Action']);
770
- (0, common_1.updatePropertyIndices)(this.schema.getSchema(), ROOT_PROPERTIES_ORDER);
762
+ this.appSchema.hide(this.appSchema.getRootProperty([ux_specification_types_1.PropertyName.defaultTemplateAnnotationPath]));
763
+ this.appSchema.cleanup(['GenericColumns', 'Action']);
764
+ (0, common_1.updatePropertyIndices)(this.appSchema.get(), ROOT_PROPERTIES_ORDER);
771
765
  }
772
766
  /**
773
767
  * Generates the finalized schema for the List Report page.
@@ -775,19 +769,30 @@ class ListReportPage {
775
769
  * @returns The finalized schema for List Report page
776
770
  */
777
771
  generate() {
778
- new ListReportUtils_1.GeneralListReportSettings(this.schema, this.page, this.app.getLogger());
779
- if (!this.page.getPage()) {
780
- return this.schema.finalize();
772
+ const params = {
773
+ appSchema: this.appSchema,
774
+ app: this.app,
775
+ page: this.page,
776
+ logger: this.logger
777
+ };
778
+ new ListReportUtils_1.GeneralListReportSettings(params).init();
779
+ if (!this.page.target) {
780
+ return this.appSchema.get();
781
781
  }
782
- new ListReportUtils_1.FilterBar(this.schema, this.page, this.app.getLogger()).instantiate();
783
- new ListReportUtils_1.TableAndViews(this.schema, this.page, this.app.getLogger()).instantiate();
782
+ new ListReportUtils_1.FilterBar(params).init();
783
+ new ListReportUtils_1.TableAndViews(params).init();
784
784
  // Add "manifestPath" for properties in static nodes
785
- addManifestPathsToStaticNodes(this.schema.getSchema(), {
786
- pageName: this.page.getPage().id,
785
+ addManifestPathsToStaticNodes(this.appSchema.get(), {
786
+ pageName: this.page.target.id,
787
787
  manifest: this.app.getManifest()
788
788
  });
789
+ // Add "manifestPath" for custom header actions
790
+ const definitionNames = [ux_specification_types_1.DefinitionName.HeaderActions];
791
+ definitionNames.forEach((definitionName) => {
792
+ (0, ListReportUtils_1.addManifestPathsToDefinitionPropertiesLR)(this.appSchema.get(), this.page.target.id, definitionName, this.app.getManifest());
793
+ });
789
794
  this.cleanup();
790
- return this.schema.finalize();
795
+ return this.appSchema.get();
791
796
  }
792
797
  }
793
798
  /**
@@ -804,7 +809,7 @@ function generateListReportSchemaV4(generateParameters, genericSchema, entitySet
804
809
  const listReport = new ListReportPage(generateParameters, genericSchema, templateName);
805
810
  if (!listReport.app.getManifest()) {
806
811
  listReport.cleanup();
807
- return listReport.schema.finalize();
812
+ return listReport.appSchema.get();
808
813
  }
809
814
  return listReport.generate();
810
815
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../../../src/sync/v4/generate/list-report/listReport.ts"],"names":[],"mappings":"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"}