@sap/ux-specification 1.90.24 → 1.90.25

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 (74) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  3. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  4. package/dist/documentation/v2/v2-ListReport.html +1 -1
  5. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  6. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  7. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  8. package/dist/documentation/v4/v4-ListReport.html +1 -1
  9. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  10. package/dist/index-min.js +1 -1
  11. package/dist/schemas/v4/ListReportConfig.json +11 -1
  12. package/dist/src/project.js +11 -3
  13. package/dist/src/project.js.map +1 -1
  14. package/dist/src/specification/v4/controls/Table.d.ts +4 -0
  15. package/dist/src/specification/v4/pages/ListReportConfig.d.ts +6 -1
  16. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +1 -0
  17. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js.map +1 -1
  18. package/dist/src/sync/common/decoration/control.js +1 -1
  19. package/dist/src/sync/common/decoration/control.js.map +1 -1
  20. package/dist/src/sync/common/generate/objectPage.d.ts +5 -4
  21. package/dist/src/sync/common/generate/objectPage.js +62 -61
  22. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  23. package/dist/src/sync/common/generate/utils.d.ts +7 -7
  24. package/dist/src/sync/common/generate/utils.js +34 -32
  25. package/dist/src/sync/common/generate/utils.js.map +1 -1
  26. package/dist/src/sync/common/types.d.ts +49 -23
  27. package/dist/src/sync/common/types.js +50 -22
  28. package/dist/src/sync/common/types.js.map +1 -1
  29. package/dist/src/sync/v2/export/controls/Fragment.js +2 -2
  30. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  31. package/dist/src/sync/v2/export/export.js +3 -3
  32. package/dist/src/sync/v2/export/export.js.map +1 -1
  33. package/dist/src/sync/v2/export/exportPage.js +1 -1
  34. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  35. package/dist/src/sync/v2/export/manifest.d.ts +16 -0
  36. package/dist/src/sync/v2/export/manifest.js +27 -1
  37. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  38. package/dist/src/sync/v2/generate/analyticalListReport.js +9 -9
  39. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  40. package/dist/src/sync/v2/generate/listReport.js +1 -1
  41. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  42. package/dist/src/sync/v2/generate/objectPage.js +11 -11
  43. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  44. package/dist/src/sync/v2/generate/utils.js +34 -33
  45. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  46. package/dist/src/sync/v2/import/common/index.js +1 -1
  47. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  48. package/dist/src/sync/v2/import/pages/objectPage.js +4 -6
  49. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  50. package/dist/src/sync/v2/import/pages/overviewPage.js +1 -1
  51. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  52. package/dist/src/sync/v2/import/utils.js +1 -1
  53. package/dist/src/sync/v2/import/utils.js.map +1 -1
  54. package/dist/src/sync/v4/application.js +1 -1
  55. package/dist/src/sync/v4/application.js.map +1 -1
  56. package/dist/src/sync/v4/export/controls/Table.d.ts +1 -0
  57. package/dist/src/sync/v4/export/controls/Table.js +9 -1
  58. package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
  59. package/dist/src/sync/v4/export/export.js +58 -53
  60. package/dist/src/sync/v4/export/export.js.map +1 -1
  61. package/dist/src/sync/v4/export/pages/ListReport.d.ts +1 -0
  62. package/dist/src/sync/v4/export/pages/ListReport.js +7 -0
  63. package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -1
  64. package/dist/src/sync/v4/generate/listReport.js +175 -105
  65. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  66. package/dist/src/sync/v4/generate/objectPage.js +11 -11
  67. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  68. package/dist/src/sync/v4/import/pages/listReport.js +35 -27
  69. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  70. package/dist/src/sync/v4/utils/utils.d.ts +6 -7
  71. package/dist/src/sync/v4/utils/utils.js +33 -23
  72. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  73. package/dist/test/unit/export/manifest.test.d.ts +1 -0
  74. package/package.json +1 -1
@@ -19,7 +19,7 @@ function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation) {
19
19
  const selectionFieldsDefinition = appSchema['definitions'].SelectionFields;
20
20
  selectionFieldsDefinition.additionalProperties = false;
21
21
  selectionFieldsDefinition.properties = {};
22
- selectionFieldsDefinition.annotationPath = common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */);
22
+ selectionFieldsDefinition[v4_1.SchemaTag.annotationPath] = common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */);
23
23
  if (!selectionFieldsAnnotation) {
24
24
  return;
25
25
  }
@@ -31,11 +31,11 @@ function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation) {
31
31
  description = common_1.getLabelForPropertyPath(selectionField, entityType);
32
32
  }
33
33
  selectionFieldsDefinition['properties'][fieldDefinition] = {
34
- $ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition,
35
- propertyIndex: i
34
+ $ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition
36
35
  };
36
+ selectionFieldsDefinition['properties'][fieldDefinition][v4_1.SchemaTag.propertyIndex] = i;
37
37
  const dataType = common_1.determineDataType(selectionField);
38
- appSchema['definitions'][fieldDefinition] = Object.assign({ type: 'object', properties: {}, description, annotationPath: `${selectionFieldsDefinition.annotationPath}/${i}`, isViewNode: true, additionalProperties: false, annotationType: selectionField === null || selectionField === void 0 ? void 0 : selectionField.type }, (dataType && { dataType }));
38
+ appSchema['definitions'][fieldDefinition] = Object.assign({ type: 'object', properties: {}, description, annotationPath: `${selectionFieldsDefinition[v4_1.SchemaTag.annotationPath]}/${i}`, isViewNode: true, additionalProperties: false, annotationType: selectionField === null || selectionField === void 0 ? void 0 : selectionField.type }, (dataType && { dataType }));
39
39
  i++;
40
40
  });
41
41
  }
@@ -52,7 +52,8 @@ function convertVisualization(visualization, alias) {
52
52
  return visualization;
53
53
  }
54
54
  function defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType) {
55
- const actions = (appSchema.definitions[schemaIdForActions] = JSON.parse(JSON.stringify(appSchema.definitions['Actions'])));
55
+ appSchema.definitions[schemaIdForActions] = JSON.parse(JSON.stringify(appSchema.definitions['Actions']));
56
+ const actions = appSchema.definitions[schemaIdForActions];
56
57
  actions.properties = {};
57
58
  actions.additionalProperties = false;
58
59
  const chartAnnotation = annotations[targetAnnotation === null || targetAnnotation === void 0 ? void 0 : targetAnnotation.split(`${common_1.UIVOCABULARY}.`)[1]];
@@ -62,30 +63,32 @@ function defineActions(appSchema, schemaIdForActions, annotations, targetAnnotat
62
63
  const actionDefinition = common_1.prepareRef(`${v4_1.DefinitionName.ChartToolBarAction}<${actionRecord.Action}>`);
63
64
  const description = common_1.getDatafieldDescription(actionRecord, entityType);
64
65
  const prefix = actionRecord.$Type.split(`${common_1.UIVOCABULARY}.`)[1];
65
- actions['properties'][`${prefix}::${actionRecord.Action}`] = {
66
+ const action = (actions.properties[`${prefix}::${actionRecord.Action}`] = {
66
67
  $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
67
- description,
68
- propertyIndex: i,
69
- annotationType: actionRecord.$Type,
70
- annotationPath: `/${actionRecord.fullyQualifiedName}`
71
- };
68
+ description
69
+ });
70
+ //Add tags
71
+ action[v4_1.SchemaTag.propertyIndex] = i;
72
+ action[v4_1.SchemaTag.annotationType] = actionRecord.$Type;
73
+ action[v4_1.SchemaTag.annotationPath] = `/${actionRecord.fullyQualifiedName}`;
72
74
  //as ChartToolBarAction is an empty objec, copy ViewToolBarAction and remove properties
73
- appSchema['definitions'][actionDefinition] = JSON.parse(JSON.stringify(appSchema['definitions'][v4_1.DefinitionName.ViewToolBarAction]));
74
- appSchema['definitions'][actionDefinition]['properties'] = {};
75
- appSchema['definitions'][actionDefinition]['annotationPath'] = actionRecord.fullyQualifiedName;
75
+ appSchema.definitions[actionDefinition] = JSON.parse(JSON.stringify(appSchema.definitions[v4_1.DefinitionName.ViewToolBarAction]));
76
+ appSchema.definitions[actionDefinition].properties = {};
77
+ appSchema.definitions[actionDefinition][v4_1.SchemaTag.annotationPath] = actionRecord.fullyQualifiedName;
76
78
  i++;
77
79
  });
78
80
  }
79
81
  }
80
82
  /**
81
- * Finds the right visualization for the given view
82
- * @param viewKey - view key (primary, secondary, or anything else)
83
+ * Finds the right visualization for a given view
83
84
  * @param allVisualizations - list of visualizations for the given (S)PV
84
85
  * @param alias - alias definition for the relevant namespace
85
86
  * @param namespace - namespace for the UI annotations
87
+ * @param viewKey - view key: primary, secondary, or anything else; may also be undefined. The first visualization is taken in this case.
88
+ * @param visualizationType - allows to find the right visualization if there are many.
86
89
  * @returns the value of the first fitting visualization
87
90
  */
88
- function findTheRightVisualization(viewKey, allVisualizations, alias, namespace) {
91
+ function findTheRightVisualization(allVisualizations, alias, namespace, viewKey, visualizationType) {
89
92
  var _a;
90
93
  let visualization, visualizationObject, targetAnnotation;
91
94
  if (allVisualizations) {
@@ -96,11 +99,16 @@ function findTheRightVisualization(viewKey, allVisualizations, alias, namespace)
96
99
  }
97
100
  else if (viewKey === 'secondary') {
98
101
  visualizationObject = allVisualizations.find((vis) => {
99
- return vis['value'].indexOf('LineItem') > -1;
102
+ return vis['value'].indexOf(v4_1.FacetBase.LineItem) > -1;
100
103
  });
101
104
  }
102
105
  else {
103
- visualizationObject = allVisualizations[0];
106
+ if (visualizationType) {
107
+ visualizationObject = allVisualizations.find((v) => v['value'].indexOf(visualizationType) > -1);
108
+ }
109
+ else {
110
+ visualizationObject = allVisualizations[0];
111
+ }
104
112
  }
105
113
  visualization = convertVisualization(visualizationObject === null || visualizationObject === void 0 ? void 0 : visualizationObject['value'], alias);
106
114
  if ((_a = visualizationObject === null || visualizationObject === void 0 ? void 0 : visualizationObject['$target']) === null || _a === void 0 ? void 0 : _a.fullyQualifiedName) {
@@ -113,70 +121,81 @@ function findTheRightVisualization(viewKey, allVisualizations, alias, namespace)
113
121
  return { visualization, targetAnnotation };
114
122
  }
115
123
  /**
116
- * The view annotationPath must be analyzed, to find the right target annotation and visualization
117
- * @param view - given view entry in manifest
124
+ * An annotationPath must be analyzed, to find the right target annotation and visualization
125
+ * @param annotationPath - given annotationPath
118
126
  * @param uIAnnotations - annotations of UI namespace of the given entityType
119
- * @param viewKey - allows to distinguish the different view or visualization types
127
+ * @param viewKey - allows to distinguish the different view types (LR or ALP)
128
+ * @param visualizationType - allows to find the right visualization if there are many.
120
129
  * @returns { visualization: string describing the visualization of the annotation,
121
130
  * targetAnnotation: the target annotation behind the visualization }
122
131
  */
123
- function analyzeViewAnnotation(view, uIAnnotations, generateParameters, viewKey) {
124
- var _a;
132
+ function analyzeViewAnnotation(annotationPath, uIAnnotations, generateParameters, viewKey, visualizationType) {
125
133
  let namespace = undefined;
126
- const annotationInManifest = (_a = view === null || view === void 0 ? void 0 : view['annotationPath']) === null || _a === void 0 ? void 0 : _a.split(`${common_1.UIVOCABULARY}.`)[1];
127
- const annotationAVT = uIAnnotations[annotationInManifest];
134
+ const annotationInManifest = annotationPath === null || annotationPath === void 0 ? void 0 : annotationPath.split(`${common_1.UIVOCABULARY}.`)[1];
135
+ const annotationAVT = annotationInManifest && uIAnnotations[annotationInManifest];
128
136
  if (!annotationAVT) {
129
137
  return { visualization: undefined, targetAnnotation: undefined, namespace };
130
138
  }
131
139
  namespace = annotationAVT.fullyQualifiedName.split('@com.sap.vocabularies.UI.v1.')[0];
132
140
  const alias = common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
133
141
  if (annotationInManifest.startsWith('PresentationVariant')) {
134
- const { visualization, targetAnnotation } = findTheRightVisualization(viewKey, annotationAVT.Visualizations, alias, namespace);
142
+ const { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.Visualizations, alias, namespace, viewKey, visualizationType);
135
143
  return { visualization, targetAnnotation, namespace };
136
144
  }
137
145
  else if (annotationInManifest.startsWith('SelectionPresentationVariant')) {
138
- const { visualization, targetAnnotation } = findTheRightVisualization(viewKey, annotationAVT.PresentationVariant.Visualizations, alias, namespace);
146
+ const { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.PresentationVariant.Visualizations, alias, namespace, viewKey, visualizationType);
139
147
  return { visualization, targetAnnotation, namespace };
140
148
  }
141
- else if (annotationInManifest.startsWith('LineItem')) {
149
+ else if (annotationInManifest.startsWith(v4_1.FacetBase.LineItem)) {
142
150
  const visualization = '@UI.LineItem';
143
- const targetAnnotation = `/${namespace}/@${view['annotationPath']}`;
151
+ const targetAnnotation = `/${namespace}/@${annotationPath}`;
144
152
  return { visualization, targetAnnotation, namespace };
145
153
  }
146
154
  else if (annotationInManifest.startsWith('Chart')) {
147
155
  const visualization = '@UI.Chart';
148
- const targetAnnotation = `/${namespace}/@${view['annotationPath']}`;
156
+ const targetAnnotation = `/${namespace}/@${annotationPath}`;
149
157
  return { visualization, targetAnnotation, namespace };
150
158
  }
151
159
  }
152
160
  /**
153
- * Add ALP views to the app-specific schema
161
+ * Adds the ALP chart view to the app-specific schema
162
+ * @param {Definition} appSchema - app-specific JSON schema
163
+ * @param targetAnnotation - target annotation of the chart view, as determined by analyzeViewAnnotation
164
+ * @param {Array<Object>} viewsPaths - views' paths' section in the manifest
165
+ * @param annotations - UI annotations, as determined by AVT
166
+ */
167
+ function addALPChartView(appSchema, targetAnnotation, viewsPaths, annotations) {
168
+ const chartView = appSchema.definitions[v4_1.DefinitionName.ALPChartView];
169
+ appSchema.definitions[v4_1.DefinitionName.ALPChart] = JSON.parse(JSON.stringify(chartView));
170
+ delete appSchema.definitions[v4_1.DefinitionName.ALPChart][v4_1.SchemaTag.isViewNode];
171
+ appSchema.definitions[v4_1.DefinitionName.ALPChart][v4_1.SchemaTag.annotationPath] = targetAnnotation;
172
+ appSchema.definitions[v4_1.DefinitionName.ALPChart].properties.annotationPath[v4_1.SchemaTag.hidden] = true;
173
+ delete chartView.properties;
174
+ chartView.additionalProperties = false;
175
+ chartView.description = `Chart (key: primary)`;
176
+ chartView.title = `Chart`;
177
+ chartView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ALPChart}`;
178
+ const viewAnnotation = viewsPaths[0]['primary'][0].annotationPath.split('com.sap.vocabularies.UI.v1.')[1];
179
+ const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
180
+ chartView[v4_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
181
+ chartView[v4_1.SchemaTag.artifactType] = common_1.ArtifactType.Manifest;
182
+ chartView[v4_1.SchemaTag.key] = 'primary';
183
+ }
184
+ /**
185
+ * Adds the ALP views to the app-specific schema
154
186
  * @param {Definition} appSchema - app-specific JSON schema
155
187
  * @param {Array<Object>} viewsPaths - views' paths' section in the manifest
156
188
  * @param {EntityType} entityType - actual entity type of the page's entitySet
157
189
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
190
+ * @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
158
191
  */
159
- function addALPViews(appSchema, viewsPaths, entityType, generateParameters) {
160
- var _a, _b, _c, _d;
192
+ function addALPViews(appSchema, viewsPaths, entityType, generateParameters, templateAnnotation) {
193
+ var _a, _b, _c, _d, _e, _f;
161
194
  const annotations = entityType.annotations.UI;
162
195
  //1. Chart View
163
- const { visualization, targetAnnotation } = analyzeViewAnnotation((_b = (_a = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _a === void 0 ? void 0 : _a['primary']) === null || _b === void 0 ? void 0 : _b[0], annotations, generateParameters, 'primary');
196
+ const { visualization, targetAnnotation } = analyzeViewAnnotation((_c = (_b = (_a = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _a === void 0 ? void 0 : _a['primary']) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c[v4_1.SchemaTag.annotationPath], annotations, generateParameters, 'primary');
164
197
  if (visualization && visualization.indexOf('Chart') > -1) {
165
- const chartView = appSchema.definitions[v4_1.DefinitionName.ALPChartView];
166
- appSchema.definitions[v4_1.DefinitionName.ALPChart] = JSON.parse(JSON.stringify(chartView));
167
- delete appSchema.definitions[v4_1.DefinitionName.ALPChart]['isViewNode'];
168
- appSchema.definitions[v4_1.DefinitionName.ALPChart]['annotationPath'] = targetAnnotation;
169
- appSchema.definitions[v4_1.DefinitionName.ALPChart].properties.annotationPath['hidden'] = true;
170
- delete chartView.properties;
171
- chartView.additionalProperties = false;
172
- chartView.description = `Chart (key: primary)`;
173
- chartView.title = `Chart`;
174
- chartView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ALPChart}`;
175
- const viewAnnotation = viewsPaths[0]['primary'][0].annotationPath.split('com.sap.vocabularies.UI.v1.')[1];
176
- const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
177
- chartView['annotationPath'] = `/${pathParts[0]}/@${pathParts[1]}`;
178
- chartView['artifactType'] = common_1.ArtifactType.Manifest;
179
- chartView['key'] = 'primary';
198
+ addALPChartView(appSchema, targetAnnotation, viewsPaths, annotations);
180
199
  }
181
200
  // Copy toolbar
182
201
  const schemaIdForActions = `Actions<ALPChart>`;
@@ -184,23 +203,23 @@ function addALPViews(appSchema, viewsPaths, entityType, generateParameters) {
184
203
  common_1.DEFINITION_LINK_PREFIX + schemaIdForActions;
185
204
  defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType);
186
205
  //2. Table View
187
- const { visualization: tableVisualization, targetAnnotation: target } = analyzeViewAnnotation((_d = (_c = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _c === void 0 ? void 0 : _c['secondary']) === null || _d === void 0 ? void 0 : _d[0], annotations, generateParameters, 'secondary');
206
+ const { visualization: tableVisualization, targetAnnotation: target } = analyzeViewAnnotation((_f = (_e = (_d = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _d === void 0 ? void 0 : _d['secondary']) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f[v4_1.SchemaTag.annotationPath], annotations, generateParameters, 'secondary');
188
207
  const tableDefinitionName = utils_1.alignSchemaWithTemplateType(appSchema, generateParameters);
189
208
  const tableDefinition = appSchema.definitions[tableDefinitionName];
190
- if (tableVisualization) {
209
+ if (tableVisualization || templateAnnotation) {
191
210
  tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBarLR}`;
192
211
  // Switch from generic column to specific definition
193
212
  tableDefinition.properties['columns'] = {
194
- $ref: common_1.DEFINITION_LINK_PREFIX + 'LineItems'
213
+ $ref: common_1.DEFINITION_LINK_PREFIX + v4_1.DefinitionName.LineItems
195
214
  };
196
- tableDefinition.properties.annotationPath['hidden'] = true;
215
+ tableDefinition.properties.annotationPath[v4_1.SchemaTag.hidden] = true;
197
216
  }
198
217
  else {
199
218
  tableDefinition.properties = {};
200
219
  }
201
220
  const tableView = appSchema.definitions[v4_1.DefinitionName.ALPTableView];
202
221
  appSchema.definitions[v4_1.DefinitionName.ALPTable] = JSON.parse(JSON.stringify(tableView));
203
- delete appSchema.definitions[v4_1.DefinitionName.ALPTable]['isViewNode'];
222
+ delete appSchema.definitions[v4_1.DefinitionName.ALPTable][v4_1.SchemaTag.isViewNode];
204
223
  tableView.additionalProperties = false;
205
224
  tableView.description = `Table (key: secondary)`;
206
225
  tableView.title = `Table`;
@@ -208,39 +227,45 @@ function addALPViews(appSchema, viewsPaths, entityType, generateParameters) {
208
227
  delete tableView.properties;
209
228
  tableView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ALPTable}`;
210
229
  }
211
- else {
230
+ else if (!templateAnnotation) {
212
231
  tableView.properties = {};
213
232
  }
214
- tableView['artifactType'] = common_1.ArtifactType.Manifest;
215
- if (tableVisualization && tableVisualization.indexOf('LineItem') > -1) {
216
- const annotationTerm = tableVisualization.split('.')[1];
217
- utils_1.addLineItemsType(appSchema, entityType.annotations.UI[annotationTerm], entityType, generateParameters.serviceAVT);
218
- appSchema.definitions[v4_1.DefinitionName.ALPTable]['annotationPath'] = target;
219
- const viewAnnotation = viewsPaths[0]['secondary'][0].annotationPath.split('com.sap.vocabularies.UI.v1.')[1];
233
+ tableView[v4_1.SchemaTag.artifactType] = common_1.ArtifactType.Manifest;
234
+ let annotationTerm, viewAnnotation;
235
+ if (tableVisualization && tableVisualization.indexOf(v4_1.FacetBase.LineItem) > -1) {
236
+ annotationTerm = tableVisualization.split('.')[1];
237
+ viewAnnotation = viewsPaths[0]['secondary'][0].annotationPath.split('com.sap.vocabularies.UI.v1.')[1];
238
+ }
239
+ else if (templateAnnotation) {
240
+ annotationTerm = viewAnnotation = templateAnnotation.split('com.sap.vocabularies.UI.v1.')[1];
241
+ }
242
+ if (annotationTerm) {
243
+ utils_1.addLineItemsType(appSchema, entityType.annotations.UI[annotationTerm], entityType, generateParameters.serviceAVT, v4_1.DefinitionName.LineItems, v4_1.DefinitionName.ViewTableColumn);
244
+ appSchema.definitions[v4_1.DefinitionName.ALPTable][v4_1.SchemaTag.annotationPath] = target;
220
245
  const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
221
- tableView['annotationPath'] = `/${pathParts[0]}/@${pathParts[1]}`;
222
- tableView['key'] = 'secondary';
246
+ tableView[v4_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
247
+ tableView[v4_1.SchemaTag.key] = 'secondary';
223
248
  }
224
249
  }
225
250
  function copyTableDefinitions(viewKey, appSchema, targetAnnotation, navPropName) {
226
251
  const idForTable = `${v4_1.DefinitionName.LRTableView}<${viewKey}>`;
227
252
  appSchema.definitions[idForTable] = JSON.parse(JSON.stringify(appSchema.definitions[v4_1.DefinitionName.LRTableView]));
228
- delete appSchema.definitions[idForTable]['isViewNode'];
229
- appSchema.definitions[idForTable]['annotationPath'] = targetAnnotation;
253
+ delete appSchema.definitions[idForTable][v4_1.SchemaTag.isViewNode];
254
+ appSchema.definitions[idForTable][v4_1.SchemaTag.annotationPath] = targetAnnotation;
230
255
  if (navPropName) {
231
256
  appSchema.definitions[idForTable]['navigationProperty'] = navPropName;
232
257
  }
233
258
  //Copy toolbar
234
259
  //const idForToolbar = `${DefinitionName.ToolBar}<${viewKey}>`;
235
260
  //appSchema.definitions[idForToolbar] = JSON.parse(JSON.stringify(appSchema.definitions[DefinitionName.ToolBar]));
236
- appSchema.definitions[idForTable]['properties'].toolBar.$ref = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBar}<LineItemsOfView::${viewKey}>`;
261
+ appSchema.definitions[idForTable]['properties'].toolBar.$ref = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBar}<${v4_1.DefinitionName.LineItemsOfView}::${viewKey}>`;
237
262
  return idForTable;
238
263
  }
239
264
  function copyChartDefinitions(viewKey, appSchema, targetAnnotation, navPropName, annotations, entityType) {
240
265
  const idForChart = `${v4_1.DefinitionName.LRChartView}<${viewKey}>`;
241
266
  appSchema.definitions[idForChart] = JSON.parse(JSON.stringify(appSchema.definitions[v4_1.DefinitionName.LRChartView]));
242
- delete appSchema.definitions[idForChart]['isViewNode'];
243
- appSchema.definitions[idForChart]['annotationPath'] = targetAnnotation;
267
+ delete appSchema.definitions[idForChart][v4_1.SchemaTag.isViewNode];
268
+ appSchema.definitions[idForChart][v4_1.SchemaTag.annotationPath] = targetAnnotation;
244
269
  if (navPropName) {
245
270
  appSchema.definitions[idForChart]['navigationProperty'] = navPropName;
246
271
  }
@@ -261,8 +286,9 @@ function copyChartDefinitions(viewKey, appSchema, targetAnnotation, navPropName,
261
286
  * @param {EntityType} entityType - actual entity type of the page's entitySet
262
287
  * @param {EntitySet} entitySet - actual entity set (AVT information)
263
288
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
289
+ * @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
264
290
  */
265
- function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters) {
291
+ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, templateAnnotation) {
266
292
  var _a;
267
293
  if (!viewsPaths) {
268
294
  return;
@@ -270,10 +296,9 @@ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParame
270
296
  const viewsDefinition = appSchema.definitions.MultiTableModeV4;
271
297
  for (let index = 0; index < viewsPaths.length; index++) {
272
298
  const view = viewsPaths[index];
273
- if (!view['key']) {
299
+ if (!view[v4_1.SchemaTag.key]) {
274
300
  continue;
275
301
  }
276
- const viewKey = view['key'].replace('#', '::');
277
302
  let targetEntityType = entityType;
278
303
  let viewEntitySet = entitySet;
279
304
  let navPropName = undefined;
@@ -284,34 +309,38 @@ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParame
284
309
  targetEntityType = viewEntitySet.entityType;
285
310
  }
286
311
  const annotations = targetEntityType.annotations.UI;
287
- const { visualization, targetAnnotation, namespace } = analyzeViewAnnotation(view, annotations, generateParameters, view['key']);
312
+ const { visualization, targetAnnotation, namespace } = analyzeViewAnnotation(view === null || view === void 0 ? void 0 : view[v4_1.SchemaTag.annotationPath], annotations, generateParameters, view[v4_1.SchemaTag.key]);
288
313
  if (view['entitySet']) {
289
314
  navPropName = (_a = entityType.navigationProperties.find((np) => {
290
315
  return np.targetTypeName === namespace;
291
316
  })) === null || _a === void 0 ? void 0 : _a.name;
292
317
  }
293
318
  //Add Line item view
294
- if (visualization && visualization.indexOf('LineItem') > -1) {
319
+ const viewKey = common_1.prepareRef(view[v4_1.SchemaTag.key]);
320
+ if (templateAnnotation || (visualization && visualization.indexOf(v4_1.Visualization.LineItem) > -1)) {
295
321
  //Copy table
296
- const idForTable = copyTableDefinitions(viewKey, appSchema, targetAnnotation, navPropName);
322
+ const tableDefinitionName = copyTableDefinitions(viewKey, appSchema, targetAnnotation, navPropName);
297
323
  viewsDefinition.properties[viewKey] = {
298
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${idForTable}`,
324
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${tableDefinitionName}`,
299
325
  description: `Table View (key: ${viewKey})`,
300
326
  title: `Table View (${viewKey})`
301
327
  };
302
- appSchema['definitions'][idForTable].properties.columns = {
303
- $ref: `${common_1.DEFINITION_LINK_PREFIX}LineItemsOfView::${viewKey}`
328
+ appSchema.definitions[tableDefinitionName].properties.columns = {
329
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.LineItemsOfView}::${viewKey}`
304
330
  };
305
- appSchema['definitions'][idForTable].properties.annotationPath['hidden'] = true;
306
- appSchema['definitions'][idForTable].properties.entitySet['hidden'] = true;
307
- const annotationTerm = visualization.split('.')[1];
308
- utils_1.addLineItemsType(appSchema, targetEntityType.annotations.UI[annotationTerm], targetEntityType, generateParameters.serviceAVT, v4_1.DefinitionName.ViewTableColumn, `LineItemsOfView::${viewKey}`);
331
+ appSchema.definitions[tableDefinitionName].properties.annotationPath[v4_1.SchemaTag.hidden] =
332
+ true;
333
+ appSchema.definitions[tableDefinitionName].properties.entitySet[v4_1.SchemaTag.hidden] = true;
334
+ const annotationTerm = visualization
335
+ ? visualization.split('.')[1]
336
+ : templateAnnotation.split('com.sap.vocabularies.UI.v1.')[1];
337
+ utils_1.addLineItemsType(appSchema, targetEntityType.annotations.UI[annotationTerm], targetEntityType, generateParameters.serviceAVT, `${v4_1.DefinitionName.LineItemsOfView}::${viewKey}`, v4_1.DefinitionName.ViewTableColumn);
309
338
  }
310
339
  else if (visualization && visualization.indexOf('Chart') > -1) {
311
340
  //Add Chart view
312
341
  const idForChart = copyChartDefinitions(viewKey, appSchema, targetAnnotation, navPropName, annotations, targetEntityType);
313
- appSchema['definitions'][idForChart].properties.annotationPath['hidden'] = true;
314
- appSchema['definitions'][idForChart].properties.entitySet['hidden'] = true;
342
+ appSchema.definitions[idForChart].properties.annotationPath[v4_1.SchemaTag.hidden] = true;
343
+ appSchema.definitions[idForChart].properties.entitySet[v4_1.SchemaTag.hidden] = true;
315
344
  viewsDefinition.properties[viewKey] = {
316
345
  $ref: `${common_1.DEFINITION_LINK_PREFIX}${idForChart}`,
317
346
  description: `Chart View (key: ${viewKey})`,
@@ -326,13 +355,13 @@ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParame
326
355
  additionalProperties: false
327
356
  };
328
357
  }
329
- viewsDefinition.properties[viewKey]['isViewNode'] = true;
330
- viewsDefinition.properties[viewKey]['propertyIndex'] = index;
331
- viewsDefinition.properties[viewKey]['annotationPath'] = namespace
332
- ? `/${namespace}/@${view['annotationPath']}`
358
+ viewsDefinition.properties[viewKey][v4_1.SchemaTag.isViewNode] = true;
359
+ viewsDefinition.properties[viewKey][v4_1.SchemaTag.propertyIndex] = index;
360
+ viewsDefinition.properties[viewKey][v4_1.SchemaTag.annotationPath] = namespace
361
+ ? `/${namespace}/@${view[v4_1.SchemaTag.annotationPath]}`
333
362
  : undefined;
334
- viewsDefinition.properties[viewKey]['artifactType'] = common_1.ArtifactType.Manifest;
335
- viewsDefinition.properties[viewKey]['key'] = viewKey;
363
+ viewsDefinition.properties[viewKey][v4_1.SchemaTag.artifactType] = common_1.ArtifactType.Manifest;
364
+ viewsDefinition.properties[viewKey][v4_1.SchemaTag.key] = viewKey;
336
365
  }
337
366
  }
338
367
  /**
@@ -344,14 +373,59 @@ function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParame
344
373
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
345
374
  */
346
375
  function addViews(appSchema, v4Page, entityType, entitySet, generateParameters) {
347
- var _a, _b, _c;
376
+ var _a, _b, _c, _d, _e;
348
377
  const viewsPaths = (_c = (_b = (_a = v4Page.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.views) === null || _c === void 0 ? void 0 : _c.paths;
378
+ const templateAnnotation = (_e = (_d = v4Page.options) === null || _d === void 0 ? void 0 : _d.settings) === null || _e === void 0 ? void 0 : _e.defaultTemplateAnnotationPath;
349
379
  if (generateParameters.templateType === common_1.TemplateType.ListReportObjectPageV4) {
350
- addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters);
351
- appSchema.properties['chart']['hidden'] = true;
380
+ addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, templateAnnotation);
381
+ appSchema.properties['chart'][v4_1.SchemaTag.hidden] = true;
352
382
  }
353
383
  else if (generateParameters.templateType === common_1.TemplateType.AnalyticalListPageV4) {
354
- addALPViews(appSchema, viewsPaths, entityType, generateParameters);
384
+ addALPViews(appSchema, viewsPaths, entityType, generateParameters, templateAnnotation);
385
+ }
386
+ }
387
+ /**
388
+ * Adapts the table definition in schema.
389
+ * If defaultTemplateAnnotationPath is present, evaluates the SelectionPresentationVariant.
390
+ * @param {SapUiAppPageV4} v4Page - the given page in manifest
391
+ * @param {EntityType} entityType - the current entity type, as defined in AVT
392
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
393
+ * @param appSchema - the app-specific JSON schema
394
+ * @param alias - alias definition for the UI vocabulary
395
+ */
396
+ function adaptTableDefinition(v4Page, entityType, generateParameters, appSchema, alias) {
397
+ var _a, _b, _c, _d;
398
+ //here: tableDefinitionName = DefinitionName.Table
399
+ const tableDefinitionName = utils_1.alignSchemaWithTemplateType(appSchema, generateParameters);
400
+ const templateAnnotation = (_b = (_a = v4Page.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.defaultTemplateAnnotationPath;
401
+ if (templateAnnotation) {
402
+ const { visualization, targetAnnotation, namespace } = analyzeViewAnnotation(templateAnnotation, entityType.annotations.UI, generateParameters, undefined, v4_1.Visualization.LineItem);
403
+ if (visualization) {
404
+ const annotationTerm = visualization.split('.')[1];
405
+ const annotationTermInSchema = `${v4_1.DefinitionName.LineItems}OfSPV::${common_1.prepareRef(annotationTerm)}`;
406
+ appSchema.definitions[`${tableDefinitionName}SPV`] = JSON.parse(JSON.stringify(appSchema.definitions[tableDefinitionName]));
407
+ delete appSchema.definitions[`${tableDefinitionName}SPV`][v4_1.SchemaTag.isViewNode];
408
+ appSchema.definitions[`${tableDefinitionName}SPV`].properties['toolBar']['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBar}<${annotationTermInSchema}>`;
409
+ appSchema.definitions[tableDefinitionName]['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${tableDefinitionName}SPV`;
410
+ delete appSchema.definitions[`${tableDefinitionName}`].properties;
411
+ appSchema.definitions[`${tableDefinitionName}`][v4_1.SchemaTag.annotationPath] = `/${namespace}/@${templateAnnotation}`;
412
+ // Switch from generic column to specific definition
413
+ appSchema.definitions[`${tableDefinitionName}SPV`].properties['columns'] = {
414
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${annotationTermInSchema}`
415
+ };
416
+ appSchema.definitions[`${tableDefinitionName}SPV`][v4_1.SchemaTag.annotationPath] = targetAnnotation;
417
+ const lineItemAnnotation = entityType.annotations.UI[annotationTerm];
418
+ utils_1.addLineItemsType(appSchema, lineItemAnnotation, entityType, generateParameters.serviceAVT, annotationTermInSchema);
419
+ }
420
+ }
421
+ else {
422
+ const tableDefinition = appSchema.definitions[tableDefinitionName];
423
+ tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBarLR}`;
424
+ // Switch from generic column to specific definition
425
+ tableDefinition.properties['columns'] = {
426
+ $ref: common_1.DEFINITION_LINK_PREFIX + v4_1.DefinitionName.LineItems
427
+ };
428
+ utils_1.addLineItemsType(appSchema, (_d = (_c = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _c === void 0 ? void 0 : _c[alias]) === null || _d === void 0 ? void 0 : _d.LineItem, entityType, generateParameters.serviceAVT, v4_1.DefinitionName.LineItems);
355
429
  }
356
430
  }
357
431
  /**
@@ -365,24 +439,16 @@ function addViews(appSchema, v4Page, entityType, entitySet, generateParameters)
365
439
  * @returns {object} application-specific schema of the list report
366
440
  */
367
441
  function generateListReportSchemaV4(generateParameters, genericSchema, entitySet, templateName) {
368
- var _a, _b, _c, _d;
442
+ var _a, _b;
369
443
  const appSchema = JSON.parse(JSON.stringify(genericSchema));
370
444
  const entityType = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType;
371
445
  const alias = common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
372
446
  //Add selection fields
373
447
  const selectionFieldAnnotation = (_b = (_a = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _a === void 0 ? void 0 : _a[alias]) === null || _b === void 0 ? void 0 : _b.SelectionFields;
374
448
  addSelectionFields(entityType, appSchema, selectionFieldAnnotation);
449
+ appSchema.properties['defaultTemplateAnnotationPath'][v4_1.SchemaTag.hidden] = true;
450
+ //enum for annotation path as part of QuickVarianSelection
375
451
  common_1.addEnumForSingleTabVariant(entityType, appSchema, v4_1.DefinitionName.AnnotationPathAsObject);
376
- if (generateParameters.templateType === common_1.TemplateType.ListReportObjectPageV4) {
377
- utils_1.addLineItemsType(appSchema, (_d = (_c = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _c === void 0 ? void 0 : _c[alias]) === null || _d === void 0 ? void 0 : _d.LineItem, entityType, generateParameters.serviceAVT);
378
- const tableDefinitionName = utils_1.alignSchemaWithTemplateType(appSchema, generateParameters);
379
- const tableDefinition = appSchema.definitions[tableDefinitionName];
380
- tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.ToolBarLR}`;
381
- // Switch from generic column to specific definition
382
- tableDefinition.properties['columns'] = {
383
- $ref: common_1.DEFINITION_LINK_PREFIX + 'LineItems'
384
- };
385
- }
386
452
  if (generateParameters.manifest) {
387
453
  //Find page in targets
388
454
  const pages = generateParameters.manifest[__1.ManifestSection.ui5].routing.targets;
@@ -401,6 +467,10 @@ function generateListReportSchemaV4(generateParameters, genericSchema, entitySet
401
467
  if (!v4Page) {
402
468
  return appSchema;
403
469
  }
470
+ if (generateParameters.templateType === common_1.TemplateType.ListReportObjectPageV4) {
471
+ //LR table definition
472
+ adaptTableDefinition(v4Page, entityType, generateParameters, appSchema, alias);
473
+ }
404
474
  // Handle LR & ALP views
405
475
  addViews(appSchema, v4Page, entityType, entitySet, generateParameters);
406
476
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../src/sync/v4/generate/listReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../src/sync/v4/generate/listReport.ts"],"names":[],"mappings":"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"}