@sap/ux-specification 1.90.12 → 1.90.13

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 (139) hide show
  1. package/CHANGELOG.md +38 -4
  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-AnalyticalListPage.html +1 -1
  8. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  9. package/dist/documentation/v4/v4-ListReport.html +1 -1
  10. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  11. package/dist/index-min.js +1 -1
  12. package/dist/schemas/v2/AnalyticalListPageConfig.json +86 -11
  13. package/dist/schemas/v2/ListReportConfig.json +86 -11
  14. package/dist/schemas/v2/ObjectPageConfig.json +265 -53
  15. package/dist/schemas/v2/OverviewPageConfig.json +0 -28
  16. package/dist/schemas/v4/ObjectPageConfig.json +22 -0
  17. package/dist/specification/v2/index-min.js +1 -1
  18. package/dist/src/apiTypes.d.ts +8 -0
  19. package/dist/src/specification/v2/controls/Card.d.ts +0 -8
  20. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  21. package/dist/src/specification/v2/controls/{DataField.d.ts → Field.d.ts} +2 -2
  22. package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
  23. package/dist/src/specification/v2/controls/Field.js.map +1 -0
  24. package/dist/src/specification/v2/controls/FormAction.d.ts +43 -0
  25. package/dist/src/specification/v2/controls/FormAction.js +20 -0
  26. package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
  27. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
  28. package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
  29. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
  30. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
  31. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +20 -0
  32. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +25 -15
  33. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  34. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +8 -4
  35. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +1 -1
  36. package/dist/src/specification/v2/controls/Table.d.ts +4 -3
  37. package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
  38. package/dist/src/specification/v2/controls/index.d.ts +4 -1
  39. package/dist/src/specification/v2/controls/index.js +1 -0
  40. package/dist/src/specification/v2/controls/index.js.map +1 -1
  41. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
  42. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +11 -0
  43. package/dist/src/specification/v4/controls/ObjectPageFooter.js +3 -0
  44. package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +1 -0
  45. package/dist/src/specification/v4/controls/index.d.ts +1 -0
  46. package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +2 -1
  47. package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +2 -1
  48. package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +1 -1
  49. package/dist/src/sync/common/decoration/control.js +34 -19
  50. package/dist/src/sync/common/decoration/control.js.map +1 -1
  51. package/dist/src/sync/common/generate/objectPage.d.ts +31 -2
  52. package/dist/src/sync/common/generate/objectPage.js +185 -20
  53. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  54. package/dist/src/sync/common/import/utils.d.ts +6 -0
  55. package/dist/src/sync/common/import/utils.js +21 -0
  56. package/dist/src/sync/common/import/utils.js.map +1 -1
  57. package/dist/src/sync/common/importProject.js +62 -60
  58. package/dist/src/sync/common/importProject.js.map +1 -1
  59. package/dist/src/sync/common/types.d.ts +5 -2
  60. package/dist/src/sync/common/types.js +4 -0
  61. package/dist/src/sync/common/types.js.map +1 -1
  62. package/dist/src/sync/common/utils.d.ts +4 -3
  63. package/dist/src/sync/common/utils.js +76 -81
  64. package/dist/src/sync/common/utils.js.map +1 -1
  65. package/dist/src/sync/v2/application.d.ts +1 -0
  66. package/dist/src/sync/v2/application.js +3 -0
  67. package/dist/src/sync/v2/application.js.map +1 -1
  68. package/dist/src/sync/v2/export/controls/Card.d.ts +0 -2
  69. package/dist/src/sync/v2/export/controls/Card.js +0 -14
  70. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  71. package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
  72. package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +6 -6
  73. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  74. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +1 -2
  75. package/dist/src/sync/v2/export/controls/FilterBar.js +2 -4
  76. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  77. package/dist/src/sync/v2/export/controls/FormAction.d.ts +15 -0
  78. package/dist/src/sync/v2/export/controls/FormAction.js +133 -0
  79. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  80. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +4 -1
  81. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +13 -0
  82. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -1
  83. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +5 -1
  84. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +42 -3
  85. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  86. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +32 -0
  87. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +144 -0
  88. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  89. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +5 -4
  90. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +16 -4
  91. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  92. package/dist/src/sync/v2/export/controls/Table.d.ts +12 -4
  93. package/dist/src/sync/v2/export/controls/Table.js +84 -37
  94. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  95. package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
  96. package/dist/src/sync/v2/export/controls/index.js +3 -1
  97. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  98. package/dist/src/sync/v2/export/export.js +125 -86
  99. package/dist/src/sync/v2/export/export.js.map +1 -1
  100. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
  101. package/dist/src/sync/v2/generate/analyticalListReport.js +12 -13
  102. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  103. package/dist/src/sync/v2/generate/generate.js +28 -6
  104. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  105. package/dist/src/sync/v2/generate/listReport.d.ts +3 -10
  106. package/dist/src/sync/v2/generate/listReport.js +7 -12
  107. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  108. package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
  109. package/dist/src/sync/v2/generate/objectPage.js +199 -151
  110. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  111. package/dist/src/sync/v2/generate/utils.d.ts +1 -2
  112. package/dist/src/sync/v2/generate/utils.js +5 -0
  113. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  114. package/dist/src/sync/v2/import/pages/objectPage.js +162 -88
  115. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  116. package/dist/src/sync/v2/types.d.ts +12 -0
  117. package/dist/src/sync/v2/types.js +11 -0
  118. package/dist/src/sync/v2/types.js.map +1 -1
  119. package/dist/src/sync/v4/application.js +10 -10
  120. package/dist/src/sync/v4/application.js.map +1 -1
  121. package/dist/src/sync/v4/export/export.js +156 -134
  122. package/dist/src/sync/v4/export/export.js.map +1 -1
  123. package/dist/src/sync/v4/export/manifest.js +96 -76
  124. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  125. package/dist/src/sync/v4/generate/generate.js +10 -2
  126. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  127. package/dist/src/sync/v4/generate/objectPage.d.ts +3 -6
  128. package/dist/src/sync/v4/generate/objectPage.js +87 -94
  129. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  130. package/dist/src/sync/v4/import/app/appProvider.js +108 -80
  131. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  132. package/dist/src/sync/v4/import/fragment.js +41 -46
  133. package/dist/src/sync/v4/import/fragment.js.map +1 -1
  134. package/dist/src/sync/v4/utils/utils.js +1 -1
  135. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  136. package/package.json +4 -5
  137. package/dist/src/specification/v2/controls/DataField.js.map +0 -1
  138. package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
  139. package/dist/src/sync/v2/export/controls/DataField.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
4
+ const common_1 = require("../../../specification/common");
4
5
  const __1 = require("..");
5
6
  /**
6
7
  * Adds a field definition to the app specific schema
@@ -11,20 +12,25 @@ const __1 = require("..");
11
12
  * @param {string} key - current field key
12
13
  * @param {SectionType} section - current section of the object page
13
14
  */
14
- function addField(sectionType, appSchema, field, targetID, key, section, isV2, withActions = true) {
15
+ function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true) {
15
16
  var _a, _b, _c, _d, _e;
16
17
  const fieldReferenceId = StableIdHelper_1.getStableIdPartFromDataField(field);
17
- const fieldReference = isV2 && fieldReferenceId && fieldReferenceId.includes('::')
18
- ? fieldReferenceId.split('::')[1]
18
+ const fieldReference = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
19
+ ? fieldReferenceId
20
+ .split('::')
21
+ .splice(1)
22
+ .join('::')
19
23
  : fieldReferenceId;
20
- const fieldReferenceType = isV2 && fieldReferenceId && fieldReferenceId.includes('::') ? fieldReferenceId.split('::')[0] : undefined;
21
- const fieldDefinition = isV2
24
+ const fieldReferenceType = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
25
+ ? fieldReferenceId.split('::')[0].replace('DataField', 'Field')
26
+ : undefined;
27
+ const fieldDefinition = version === common_1.FioriElementsVersion.v2
22
28
  ? `${fieldReferenceType}<${targetID}::${fieldReference}>`
23
29
  : `${targetID}::${fieldReference}`;
24
30
  const fieldsDefinition = `${sectionType}Fields<${targetID}>`;
25
31
  const actionsDefinition = `${sectionType}Actions<${targetID}>`;
26
32
  if (!field || !field.$Type) {
27
- return; // ToDo: Actions to be interpreted as Header or Footer Actions
33
+ return;
28
34
  }
29
35
  else if (field.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction' ||
30
36
  field.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation') {
@@ -48,14 +54,50 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2, w
48
54
  description: __1.getDatafieldDescription(field, section.entityType),
49
55
  additionalProperties: false
50
56
  };
51
- if (field.$Type === 'com.sap.vocabularies.UI.v1.DataField' && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['DataField'])) {
52
- appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['DataField']['properties'];
57
+ if (version === common_1.FioriElementsVersion.v4 && appSchema['definitions']['Field']) {
58
+ switch (field.$Type) {
59
+ case 'com.sap.vocabularies.UI.v1.DataField':
60
+ case 'com.sap.vocabularies.UI.v1.DataFieldForAnnotation':
61
+ case 'com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath':
62
+ case 'com.sap.vocabularies.UI.v1.DataFieldWithUrl': {
63
+ appSchema['definitions'][fieldDefinition]['properties'] =
64
+ appSchema['definitions']['Field']['properties'];
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ else if (version === common_1.FioriElementsVersion.v2 && appSchema['definitions']['Field']) {
70
+ switch (field.$Type) {
71
+ case 'com.sap.vocabularies.UI.v1.DataField':
72
+ case 'com.sap.vocabularies.UI.v1.DataFieldForAnnotation':
73
+ case 'com.sap.vocabularies.UI.v1.DataFieldWithUrl': {
74
+ appSchema['definitions'][fieldDefinition]['properties'] =
75
+ appSchema['definitions']['Field']['properties'];
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ if (field.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction' && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['FormAction'])) {
81
+ appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['FormAction']['properties'];
53
82
  }
54
83
  if ((_c = (_b = field['Value']) === null || _b === void 0 ? void 0 : _b.$target) === null || _c === void 0 ? void 0 : _c.type) {
55
84
  appSchema['definitions'][fieldDefinition].dataType = (_e = (_d = field['Value']) === null || _d === void 0 ? void 0 : _d.$target) === null || _e === void 0 ? void 0 : _e.type;
56
85
  }
57
86
  appSchema['definitions'][fieldDefinition].annotationPath = `/${section.entityType.fullyQualifiedName}/${field.fullyQualifiedName.split(section.entityType.fullyQualifiedName)[1]}`;
58
87
  }
88
+ function determineTargetIdOfForm(section) {
89
+ let targetID;
90
+ if (section.target && section.target['qualifier'] && section.entityType) {
91
+ targetID = `${section.entityType.name}::${section.base}::${section.target['qualifier']}`;
92
+ }
93
+ else if (section.entityType) {
94
+ targetID = `${section.entityType.name}::${section.base}`;
95
+ }
96
+ else {
97
+ targetID = section.ID;
98
+ }
99
+ return targetID;
100
+ }
59
101
  /**
60
102
  * Adds definitions for forms in object page sections to the app schema
61
103
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
@@ -63,22 +105,17 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2, w
63
105
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
64
106
  * @param {object} appSchema - app specific schema that gets enhanced
65
107
  */
66
- function handleForm(sectionType, section, appSchemaSection, appSchema, isV2, withActions = true) {
108
+ function handleForm(sectionType, section, appSchemaSection, appSchema, version, withActions = true) {
109
+ var _a;
67
110
  if (!section.target) {
68
111
  return;
69
112
  }
70
- const targetID = section.target && section.target['qualifier'] && section.entityType
71
- ? section.entityType.name + '::' + section.base + '::' + section.target['qualifier']
72
- : section.entityType
73
- ? section.entityType.name + '::' + section.base
74
- : section.ID;
113
+ const targetID = determineTargetIdOfForm(section);
75
114
  const formDefinition = `${sectionType}Form<${targetID}>`;
76
115
  const fieldsDefinition = `${sectionType}Fields<${targetID}>`;
77
116
  const actionsDefinition = `${sectionType}Actions<${targetID}>`;
78
117
  // Form definition
79
- appSchemaSection['properties']['form'] = {
80
- $ref: __1.DEFINITION_LINK_PREFIX + formDefinition
81
- };
118
+ appSchemaSection['properties']['form'] = { $ref: __1.DEFINITION_LINK_PREFIX + formDefinition };
82
119
  if (sectionType === __1.SectionType.Section && withActions) {
83
120
  appSchema['definitions'][formDefinition] = {
84
121
  type: 'object',
@@ -111,7 +148,7 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2, wit
111
148
  additionalProperties: false
112
149
  };
113
150
  }
114
- if (section.entityType && section.entityType.name) {
151
+ if ((_a = section.entityType) === null || _a === void 0 ? void 0 : _a.name) {
115
152
  appSchema['definitions'][formDefinition].annotationPath = __1.createAnnotationPath(section.entityType.fullyQualifiedName, section.target['term'], section.target['qualifier']);
116
153
  }
117
154
  // Fields definition
@@ -127,18 +164,38 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2, wit
127
164
  for (const key in section.target) {
128
165
  const field = section.target[key];
129
166
  if (field) {
130
- addField(sectionType, appSchema, field, targetID, key, section, isV2, withActions);
167
+ addField(sectionType, appSchema, field, targetID, key, section, version, withActions);
131
168
  }
132
169
  }
133
170
  }
134
171
  else {
135
172
  for (const key in section.target['Data']) {
136
173
  const field = section.target['Data'][key];
137
- addField(sectionType, appSchema, field, targetID, key, section, isV2);
174
+ addField(sectionType, appSchema, field, targetID, key, section, version);
138
175
  }
139
176
  }
140
177
  }
141
178
  exports.handleForm = handleForm;
179
+ /**
180
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list
181
+ * @param annotationIdentifier - annotation ID or reference
182
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
183
+ * @returns the converted string
184
+ */
185
+ function replaceAlias(annotationIdentifier, oDataServiceAVT) {
186
+ const potentialAlias = annotationIdentifier.indexOf('.') > -1 ? annotationIdentifier.split('.')[0] : undefined;
187
+ let result = annotationIdentifier;
188
+ if (potentialAlias) {
189
+ const reference = oDataServiceAVT.references.find((ref) => {
190
+ return ref.alias === potentialAlias;
191
+ });
192
+ if (reference) {
193
+ result = annotationIdentifier.replace(potentialAlias, reference.namespace);
194
+ }
195
+ }
196
+ return result;
197
+ }
198
+ exports.replaceAlias = replaceAlias;
142
199
  /**
143
200
  * Common routine to determine the name and the ID of a header action
144
201
  * @param action - action as given by AVT
@@ -163,4 +220,112 @@ function getActionNameAndId(action, entityType) {
163
220
  return { actionName, actionId };
164
221
  }
165
222
  exports.getActionNameAndId = getActionNameAndId;
223
+ /**
224
+ * Add Object Page Footer Action Buttons to app-specific schema
225
+ *
226
+ * @param {object} appSchema Schema of the app
227
+ * @param {EntityType} entityType - current entity type
228
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
229
+ */
230
+ function addFooterActions(appSchema, entityType, oDataServiceAVT) {
231
+ appSchema['definitions']['ObjectPageFooter'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageFooter<GenericFooterActions>']));
232
+ // Change reference of footer
233
+ appSchema['properties']['footer'] = {
234
+ $ref: __1.DEFINITION_LINK_PREFIX + 'ObjectPageFooter'
235
+ };
236
+ // Add action to configuration
237
+ appSchema['definitions']['ObjectPageFooter'].properties['actions'] = {
238
+ $ref: `${__1.DEFINITION_LINK_PREFIX}FooterActions`
239
+ };
240
+ const footerActions = (appSchema['definitions']['FooterActions'] = {
241
+ type: 'object',
242
+ properties: {},
243
+ description: 'Actions',
244
+ additionalProperties: false,
245
+ isViewNode: true
246
+ });
247
+ const alias = __1.findAlias(__1.UIVOCABULARY, oDataServiceAVT);
248
+ const actionAnnotation = alias &&
249
+ entityType.annotations &&
250
+ entityType.annotations[alias] &&
251
+ entityType.annotations[alias].Identification;
252
+ if (actionAnnotation) {
253
+ const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
254
+ footerActions['annotationPath'] = `/${convertedIdentification}`;
255
+ actionAnnotation.forEach((item, index) => {
256
+ if (item['Determining'] && item.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction') {
257
+ const { actionName, actionId } = getActionNameAndId(item.Action, entityType);
258
+ const description = item.Label || actionName;
259
+ const actionDefinitionKey = `FooterAction<${actionId}>`;
260
+ appSchema['definitions'][actionDefinitionKey] = {
261
+ isViewNode: true,
262
+ type: 'object',
263
+ properties: {},
264
+ description: description,
265
+ annotationPath: `/${convertedIdentification}/${index}`
266
+ };
267
+ footerActions.properties[actionId] = {
268
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
269
+ };
270
+ }
271
+ });
272
+ }
273
+ else {
274
+ footerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
275
+ }
276
+ delete appSchema['definitions']['GenericFooterActions'];
277
+ delete appSchema['definitions']['FooterAction'];
278
+ delete appSchema['definitions']['ObjectPageFooter<GenericFooterActions>'];
279
+ }
280
+ exports.addFooterActions = addFooterActions;
281
+ /**
282
+ * Add Object Page Header Action Buttons to app-specific schema
283
+ * @param {object} appSchema Schema of the app
284
+ * @param {EntityType} entityType - current entity type
285
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
286
+ */
287
+ function addHeaderActions(appSchema, entityType, oDataServiceAVT,
288
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
289
+ addHeaderActionCallBack) {
290
+ appSchema['definitions']['ObjectPageHeader'].properties['actions'] = {
291
+ $ref: `${__1.DEFINITION_LINK_PREFIX}HeaderActions`
292
+ };
293
+ const headerActions = (appSchema['definitions']['HeaderActions'] = {
294
+ type: 'object',
295
+ properties: {},
296
+ description: 'Actions',
297
+ additionalProperties: false,
298
+ isViewNode: true
299
+ });
300
+ const alias = __1.findAlias(__1.UIVOCABULARY, oDataServiceAVT);
301
+ const identification = alias &&
302
+ entityType.annotations &&
303
+ entityType.annotations[alias] &&
304
+ entityType.annotations[alias].Identification;
305
+ if (identification) {
306
+ headerActions['annotationPath'] =
307
+ '/' +
308
+ identification.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
309
+ identification.forEach(addHeaderActionCallBack(entityType, appSchema, identification, headerActions, oDataServiceAVT));
310
+ }
311
+ else {
312
+ headerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
313
+ }
314
+ delete appSchema['definitions']['GenericActions'];
315
+ delete appSchema['definitions']['ObjectPageHeader<GenericActions>'];
316
+ }
317
+ exports.addHeaderActions = addHeaderActions;
318
+ /**
319
+ * Adds common Object Page Header definitions to the app schema
320
+ * @param appSchema - app-specific JSOn schema
321
+ * @param entityType - current entity Type
322
+ */
323
+ function addCommonHeaderSchema(appSchema, entityType) {
324
+ appSchema['properties']['header'] = {
325
+ $ref: __1.DEFINITION_LINK_PREFIX + 'ObjectPageHeader'
326
+ };
327
+ appSchema['definitions']['ObjectPageHeader'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageHeader<GenericActions>']));
328
+ appSchema['definitions']['ObjectPageHeader'].annotationPath = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderInfo" /* HeaderInfo */}`;
329
+ }
330
+ exports.addCommonHeaderSchema = addCommonHeaderSchema;
166
331
  //# sourceMappingURL=objectPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,9 @@ export declare function importProperty(syncRule: SyncRule, manifestSection: {},
20
20
  * @param {ExtensionLogger} logger - Logger class for logging messages
21
21
  */
22
22
  export declare function checkDeprecatedProperties(deprecatedProperties: DeprecatedProperties[], manifestSection: {}, path: string, logger?: ExtensionLogger): void;
23
+ /**
24
+ * get title of the section (Facet ID)
25
+ * @param schemaSection - Section in manifest.json
26
+ * @param jsonSchema - app specific schema
27
+ */
28
+ export declare function getSectionTitle(schemaSection: object, jsonSchema: object): string;
@@ -51,4 +51,25 @@ function checkDeprecatedProperties(deprecatedProperties, manifestSection, path,
51
51
  }
52
52
  }
53
53
  exports.checkDeprecatedProperties = checkDeprecatedProperties;
54
+ /**
55
+ * get title of the section (Facet ID)
56
+ * @param schemaSection - Section in manifest.json
57
+ * @param jsonSchema - app specific schema
58
+ */
59
+ function getSectionTitle(schemaSection, jsonSchema) {
60
+ if (schemaSection['$ref'] && !schemaSection['title']) {
61
+ const refTitle = jsonSchema['definitions'][schemaSection['$ref'].split(__1.DEFINITION_LINK_PREFIX)[1]];
62
+ getSectionTitle(refTitle, jsonSchema);
63
+ }
64
+ else if (schemaSection['title'] && schemaSection['title'].startsWith(__1.FacetTitlePrefix)) {
65
+ return schemaSection['title'].split(__1.FacetTitlePrefix)[1];
66
+ }
67
+ else if (schemaSection['title']) {
68
+ return schemaSection['title'];
69
+ }
70
+ else {
71
+ return undefined;
72
+ }
73
+ }
74
+ exports.getSectionTitle = getSectionTitle;
54
75
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":";;AAAA,2BAA2E;AAC3E,8DAA4D;AAG5D;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC1B,QAAkB,EAClB,eAAmB,EACnB,WAAmB,EACnB,UAAkC,EAClC,SAAkB;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC;IAEzD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;QACtD,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;KACJ;SAAM,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;QACnD,UAAU,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1D;AACL,CAAC;AAlBD,wCAkBC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,oBAA4C,EAC5C,eAAmB,EACnB,IAAY,EACZ,MAAwB;IAExB,IAAI,eAAe,IAAI,oBAAoB,EAAE;QACzC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAC/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE;gBACZ,qBAAG,CAAC,MAAM,EAAE;oBACR,QAAQ,yBAAqB;oBAC7B,OAAO,EAAE,wBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC9C,QAAQ,EAAE;wBACN,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;qBACzB;iBACJ,CAAC,CAAC;gBACH,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;KACJ;AACL,CAAC;AAtBD,8DAsBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":";;AAAA,2BAAqH;AACrH,8DAA4D;AAG5D;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC1B,QAAkB,EAClB,eAAmB,EACnB,WAAmB,EACnB,UAAkC,EAClC,SAAkB;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC;IAEzD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;QACtD,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;KACJ;SAAM,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;QACnD,UAAU,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1D;AACL,CAAC;AAlBD,wCAkBC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,oBAA4C,EAC5C,eAAmB,EACnB,IAAY,EACZ,MAAwB;IAExB,IAAI,eAAe,IAAI,oBAAoB,EAAE;QACzC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAC/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE;gBACZ,qBAAG,CAAC,MAAM,EAAE;oBACR,QAAQ,yBAAqB;oBAC7B,OAAO,EAAE,wBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC9C,QAAQ,EAAE;wBACN,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;qBACzB;iBACJ,CAAC,CAAC;gBACH,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;KACJ;AACL,CAAC;AAtBD,8DAsBC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,aAAqB,EAAE,UAAkB;IACrE,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,0BAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KACzC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,oBAAgB,CAAC,EAAE;QACtF,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,oBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;QAC/B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;KACjC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAXD,0CAWC"}
@@ -94,40 +94,35 @@ function getEntitySetByEntitySetName(entitySetName, oDataServiceAVT) {
94
94
  exports.getEntitySetByEntitySetName = getEntitySetByEntitySetName;
95
95
  /**
96
96
  * The function generates one app schema per entitySet that is linked with an object page in V2
97
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
97
98
  * @param {Schema} genericSchemas - The generic schemas
98
- * @param {Manifest} manifest - manifest.json of the given app
99
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
100
99
  * @param {Schema} appSchemas - the list of app schemas that shall get extended
101
- * @param {FileData[]} [fragments] - array with XML fragments
102
- * @param {ExtensionLogger} logger - Logger class for logging messages
103
100
  */
104
- function generateObjectPageSchemasV2(genericSchemas, manifest, oDataServiceAVT, appSchemas, fragments, logger) {
105
- const allPages = appProvider_1.getPages(manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_OBJECT_PAGE);
101
+ function generateObjectPageSchemasV2(generateParameters, genericSchemas, appSchemas) {
102
+ const allPages = appProvider_1.getPages(generateParameters.manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_OBJECT_PAGE);
106
103
  for (const page in allPages) {
107
104
  const entitySetName = allPages[page].entitySet;
108
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
105
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
109
106
  const entityTypeName = entitySet && entitySet.entityType && entitySet.entityType.name;
110
107
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ObjectPage, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
111
108
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ObjectPage);
112
- appSchemas[schemaFile.filename] = generate_1.generateObjectPageSchemaV2(genericSchemas[genericSchemaFile.filename], entityTypeName, oDataServiceAVT, manifest, fragments, logger);
109
+ appSchemas[schemaFile.filename] = generate_1.generateObjectPageSchemaV2(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
113
110
  }
114
111
  }
115
112
  /**
116
113
  * The function generates one app schema per entitySet that is linked with an object page in V4
117
- * @param {Schema} genericSchemas - The generic schemas
118
- * @param {Manifest} manifest - manifest.json of the given app
119
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
120
- * @param {Schema} appSchemas - the list of app schemas that shall get extended
121
- * @param {ExtensionLogger} logger - Logger class for logging messages
114
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
115
+ * @param {Schemas} genericSchemas - The generic schemas
116
+ * @param {Schemas} appSchemas - the list of app schemas that shall get extended
122
117
  */
123
- function generateObjectPageSchemasV4(genericSchemas, manifest, oDataServiceAVT, appSchemas, logger) {
118
+ function generateObjectPageSchemasV4(generateParameters, genericSchemas, appSchemas) {
124
119
  var _a;
125
- const pages = appProvider_2.getPages(manifest, pageV4.FE_TEMPLATE_V4_OBJECT_PAGE);
120
+ const pages = appProvider_2.getPages(generateParameters.manifest, pageV4.FE_TEMPLATE_V4_OBJECT_PAGE);
126
121
  for (const page in pages) {
127
122
  const entitySetName = pages[page].options.settings.entitySet;
128
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
123
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
129
124
  if (!entitySet) {
130
- extensionLogger_1.log(logger, {
125
+ extensionLogger_1.log(generateParameters.logger, {
131
126
  severity: "error" /* Error */,
132
127
  message: i18next_1.default.t('ENTITYSETNOTFOUND', { entitySet: entitySetName }),
133
128
  location: {
@@ -138,116 +133,110 @@ function generateObjectPageSchemasV4(genericSchemas, manifest, oDataServiceAVT,
138
133
  const entityTypeName = entitySet && (entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType) && ((_a = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType) === null || _a === void 0 ? void 0 : _a.name);
139
134
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ObjectPage, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
140
135
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ObjectPage);
141
- appSchemas[schemaFile.filename] = generate_2.generateObjectPageSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, oDataServiceAVT, manifest);
136
+ appSchemas[schemaFile.filename] = generate_2.generateObjectPageSchemaV4(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
142
137
  }
143
138
  }
144
139
  /**
145
140
  * Generates all app specific schemas for a Fiori Elements V2 application
141
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
146
142
  * @param {Schemas} genericSchemas - The generic schemas
147
143
  * @param {UiEntityTypes} uiEntityTypes - list of all entity types, as comprised in oDataServiceAVT
148
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
149
- * @param {Manifest} manifest - manifest.json of the given app
150
144
  * @param {TemplateType} templateType - the given Fiori Elements' template type
151
- * @param {ExtensionLogger} logger - Logger class for logging messages
152
145
  */
153
- function generateAppSchemasV2(genericSchemas, uiEntityTypes, oDataServiceAVT, manifest, templateType, fragments, logger) {
154
- const appSchemas = {}, entityTypes = oDataServiceAVT && oDataServiceAVT.entityTypes;
146
+ function generateAppSchemasV2(generateParameters, genericSchemas, uiEntityTypes, templateType) {
147
+ var _a;
148
+ const appSchemas = {};
155
149
  if (templateType === utils_1.TemplateType.ListReportObjectPageV2 && uiEntityTypes) {
156
150
  /*--- List Report ----*/
157
- const allPages = appProvider_1.getPages(manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_LIST_REPORT);
151
+ const allPages = appProvider_1.getPages(generateParameters.manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_LIST_REPORT);
158
152
  for (const page in allPages) {
159
153
  const entitySetName = allPages[page].entitySet;
160
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
154
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
161
155
  const entityTypeName = entitySet && entitySet.entityType && entitySet.entityType.name;
162
156
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ListReport, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
163
157
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ListReport);
164
- appSchemas[schemaFile.filename] = generate_1.generateListReportSchemaV2(genericSchemas[genericSchemaFile.filename], entityTypeName, entityTypes, manifest, fragments, logger);
158
+ appSchemas[schemaFile.filename] = generate_1.generateListReportSchemaV2(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
165
159
  }
166
160
  /*--- Object Pages ----*/
167
- generateObjectPageSchemasV2(genericSchemas, manifest, oDataServiceAVT, appSchemas, fragments, logger);
161
+ generateObjectPageSchemasV2(generateParameters, genericSchemas, appSchemas);
168
162
  }
169
163
  else if (templateType === utils_1.TemplateType.AnalyticalListPageV2 && uiEntityTypes) {
170
164
  /*--- Analytical List Page ----*/
171
- const allPages = appProvider_1.getPages(manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_ALP);
165
+ const allPages = appProvider_1.getPages(generateParameters.manifest[common_1.ManifestSection.generic].pages, pageV2.FE_TEMPLATE_V2_ALP);
172
166
  for (const page in allPages) {
173
167
  const entitySetName = allPages[page].entitySet;
174
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
175
- const entityTypeName = entitySet && entitySet.entityType && entitySet.entityType.name;
168
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
169
+ const entityTypeName = (_a = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType) === null || _a === void 0 ? void 0 : _a.name;
176
170
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.AnalyticalListPage, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
177
171
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.AnalyticalListPage);
178
- appSchemas[schemaFile.filename] = generate_1.generateAnalyticalListReportSchemaV2(genericSchemas[genericSchemaFile.filename], entityTypeName, entityTypes, manifest, fragments, logger);
172
+ appSchemas[schemaFile.filename] = generate_1.generateAnalyticalListReportSchemaV2(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
179
173
  }
180
174
  /*--- Object Pages ----*/
181
- generateObjectPageSchemasV2(genericSchemas, manifest, oDataServiceAVT, appSchemas, fragments, logger);
175
+ generateObjectPageSchemasV2(generateParameters, genericSchemas, appSchemas);
182
176
  }
183
177
  else if (templateType === utils_1.TemplateType.OverviewPageV2) {
184
178
  /*--- Overview Page ----*/
185
179
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.OverviewPage);
186
180
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.OverviewPage);
187
- appSchemas[schemaFile.filename] = generate_1.generateOVPInterfaceV2(genericSchemas[genericSchemaFile.filename], manifest);
181
+ appSchemas[schemaFile.filename] = generate_1.generateOVPInterfaceV2(genericSchemas[genericSchemaFile.filename], generateParameters.manifest);
188
182
  }
189
183
  return Object.assign(Object.assign({}, genericSchemas), appSchemas);
190
184
  }
191
185
  /**
192
186
  * Generates all app specific schemas for a Fiori Elements V4 application
187
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
193
188
  * @param {Schemas} genericSchemas - The generic schemas
194
189
  * @param {UiEntityTypes} uiEntityTypes - list of all entity types, as comprised in oDataServiceAVT
195
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
196
- * @param {Manifest} manifest - manifest.json of the given app
197
190
  * @param {TemplateType} templateType - the given Fiori Elements' template type
198
- * @param {ExtensionLogger} logger - Logger class for logging messages
199
191
  */
200
- function generateAppSchemasV4(genericSchemas, uiEntityTypes, oDataServiceAVT, manifest, templateType, logger) {
192
+ function generateAppSchemasV4(generateParameters, genericSchemas, uiEntityTypes, templateType) {
201
193
  const appSchemas = {};
202
194
  if (uiEntityTypes) {
203
195
  if (templateType === utils_1.TemplateType.ListReportObjectPageV4) {
204
196
  /*--- List Report ----*/
205
- const pages = appProvider_2.getPages(manifest, pageV4.FE_TEMPLATE_V4_LIST_REPORT);
197
+ const pages = appProvider_2.getPages(generateParameters.manifest, pageV4.FE_TEMPLATE_V4_LIST_REPORT);
206
198
  for (const page in pages) {
207
199
  const entitySetName = pages[page].options.settings.entitySet;
208
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
200
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
209
201
  const entityTypeName = entitySet && entitySet.entityType && entitySet.entityType.name;
210
202
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ListReport, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
211
203
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.ListReport);
212
- appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, oDataServiceAVT, logger);
204
+ appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, generateParameters.serviceAVT, generateParameters.logger);
213
205
  }
214
206
  /*--- Object Pages ----*/
215
- generateObjectPageSchemasV4(genericSchemas, manifest, oDataServiceAVT, appSchemas);
207
+ generateObjectPageSchemasV4(generateParameters, genericSchemas, appSchemas);
216
208
  }
217
209
  else if (templateType === utils_1.TemplateType.AnalyticalListPageV4) {
218
210
  /*--- Analytical List Page ----*/
219
- const pages = appProvider_2.getPages(manifest, pageV4.FE_TEMPLATE_V4_ALP);
211
+ const pages = appProvider_2.getPages(generateParameters.manifest, pageV4.FE_TEMPLATE_V4_ALP);
220
212
  for (const page in pages) {
221
213
  const entitySetName = pages[page].options.settings.entitySet;
222
- const entitySet = getEntitySetByEntitySetName(entitySetName, oDataServiceAVT);
214
+ const entitySet = getEntitySetByEntitySetName(entitySetName, generateParameters.serviceAVT);
223
215
  const entityTypeName = entitySet && entitySet.entityType && entitySet.entityType.name;
224
216
  const schemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.AnalyticalListPage, (entitySet === null || entitySet === void 0 ? void 0 : entitySet.name) || entitySetName);
225
217
  const genericSchemaFile = utils_1.getSchemaFilePath(common_1.SchemaType.AnalyticalListPage);
226
218
  //As of now, the LR logic can also be applied to ALP
227
- appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, oDataServiceAVT, logger);
219
+ appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, generateParameters.serviceAVT, generateParameters.logger);
228
220
  }
229
221
  /*--- Object Pages ----*/
230
- generateObjectPageSchemasV4(genericSchemas, manifest, oDataServiceAVT, appSchemas, logger);
222
+ generateObjectPageSchemasV4(generateParameters, genericSchemas, appSchemas);
231
223
  }
232
224
  }
233
225
  return Object.assign(Object.assign({}, genericSchemas), appSchemas);
234
226
  }
235
227
  /**
236
228
  * Generates app specific schemas by adding annotation information to copies of the generic schemas, thus replacing all generic definitions.
229
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
237
230
  * @param {UiEntityTypes} uiEntityTypes - list of all entity types from the service metadata
238
- * @param {FioriElementsVersion} fioriElementsVersion - version of Fiori Element (V2 or V4)
239
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
240
- * @param manifest - manifest.json file content of the app in JSON format
241
231
  * @param templateType - type of the Fiori Elements' template
242
- * @param {ExtensionLogger} logger - Logger class for logging messages
243
232
  */
244
- async function generateAppSchemas(uiEntityTypes, fioriElementsVersion, oDataServiceAVT, manifest, templateType, fragments, logger) {
245
- const genericSchemas = await getGenericSchemas(templateType, fioriElementsVersion);
246
- if (fioriElementsVersion === common_1.FioriElementsVersion.v4) {
247
- return generateAppSchemasV4(genericSchemas, uiEntityTypes, oDataServiceAVT, manifest, templateType, logger);
233
+ async function generateAppSchemas(generateParameters, uiEntityTypes, templateType) {
234
+ const genericSchemas = await getGenericSchemas(templateType, generateParameters.fioriElementsVersion);
235
+ if (generateParameters.fioriElementsVersion === common_1.FioriElementsVersion.v4) {
236
+ return generateAppSchemasV4(generateParameters, genericSchemas, uiEntityTypes, templateType);
248
237
  }
249
238
  else {
250
- return generateAppSchemasV2(genericSchemas, uiEntityTypes, oDataServiceAVT, manifest, templateType, fragments, logger);
239
+ return generateAppSchemasV2(generateParameters, genericSchemas, uiEntityTypes, templateType);
251
240
  }
252
241
  }
253
242
  /**
@@ -312,13 +301,19 @@ async function importProjectSchema(importProjectParameters) {
312
301
  // Initialize i18next
313
302
  i18n_1.initI18n();
314
303
  let files = [];
315
- const { manifest, annotations, fragments, logger } = importProjectParameters;
316
- const fioriElementsVersion = utils_1.getVersionFromManifest(manifest);
317
- const service = utils_1.parseAndMergeAndConvert(annotations, logger);
304
+ const fioriElementsVersion = utils_1.getVersionFromManifest(importProjectParameters.manifest);
305
+ const service = utils_1.parseAndMergeAndConvert(importProjectParameters.annotations, importProjectParameters.logger);
318
306
  const uiEntityTypes = getAnnotationsForUi(service);
319
- const templateType = utils_1.getTemplateTypeFromManifest(manifest, fioriElementsVersion, logger);
307
+ const templateType = utils_1.getTemplateTypeFromManifest(importProjectParameters.manifest, fioriElementsVersion, importProjectParameters.logger);
308
+ const generateParameters = {
309
+ manifest: importProjectParameters.manifest,
310
+ serviceAVT: service,
311
+ fragments: importProjectParameters.fragments,
312
+ fioriElementsVersion,
313
+ logger: importProjectParameters.logger
314
+ };
320
315
  if (templateType) {
321
- const appSchemas = await generateAppSchemas(uiEntityTypes, fioriElementsVersion, service, manifest, templateType, fragments, logger);
316
+ const appSchemas = await generateAppSchemas(generateParameters, uiEntityTypes, templateType);
322
317
  files = getFileList(appSchemas);
323
318
  }
324
319
  return files;
@@ -336,10 +331,17 @@ async function importProjectSchemaAndConfig(importProjectParameters) {
336
331
  const { manifest, annotations, flex, fragments, logger } = importProjectParameters;
337
332
  const fioriElementsVersion = utils_1.getVersionFromManifest(manifest);
338
333
  const oDataServiceAVT = utils_1.parseAndMergeAndConvert(annotations, logger);
334
+ const generateParameters = {
335
+ manifest: importProjectParameters.manifest,
336
+ serviceAVT: oDataServiceAVT,
337
+ fragments: importProjectParameters.fragments,
338
+ fioriElementsVersion,
339
+ logger: importProjectParameters.logger
340
+ };
339
341
  const uiEntityTypes = getAnnotationsForUi(oDataServiceAVT);
340
342
  const templateType = utils_1.getTemplateTypeFromManifest(manifest, fioriElementsVersion, logger);
341
343
  if (templateType) {
342
- const appSchemas = await generateAppSchemas(uiEntityTypes, fioriElementsVersion, oDataServiceAVT, manifest, templateType, fragments, logger);
344
+ const appSchemas = await generateAppSchemas(generateParameters, uiEntityTypes, templateType);
343
345
  configFiles = importConfigs(manifest, flex, appSchemas, templateType, fragments);
344
346
  files = getFileList(appSchemas, configFiles);
345
347
  }