@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.
- package/CHANGELOG.md +38 -4
- package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
- package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
- package/dist/documentation/v2/v2-ListReport.html +1 -1
- package/dist/documentation/v2/v2-ObjectPage.html +1 -1
- package/dist/documentation/v2/v2-OverviewPage.html +1 -1
- package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
- package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
- package/dist/documentation/v4/v4-ListReport.html +1 -1
- package/dist/documentation/v4/v4-ObjectPage.html +1 -1
- package/dist/index-min.js +1 -1
- package/dist/schemas/v2/AnalyticalListPageConfig.json +86 -11
- package/dist/schemas/v2/ListReportConfig.json +86 -11
- package/dist/schemas/v2/ObjectPageConfig.json +265 -53
- package/dist/schemas/v2/OverviewPageConfig.json +0 -28
- package/dist/schemas/v4/ObjectPageConfig.json +22 -0
- package/dist/specification/v2/index-min.js +1 -1
- package/dist/src/apiTypes.d.ts +8 -0
- package/dist/src/specification/v2/controls/Card.d.ts +0 -8
- package/dist/src/specification/v2/controls/Card.js.map +1 -1
- package/dist/src/specification/v2/controls/{DataField.d.ts → Field.d.ts} +2 -2
- package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
- package/dist/src/specification/v2/controls/Field.js.map +1 -0
- package/dist/src/specification/v2/controls/FormAction.d.ts +43 -0
- package/dist/src/specification/v2/controls/FormAction.js +20 -0
- package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
- package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
- package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
- package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
- package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
- package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +20 -0
- package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +25 -15
- package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
- package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +8 -4
- package/dist/src/specification/v2/controls/ObjectPageTable.js.map +1 -1
- package/dist/src/specification/v2/controls/Table.d.ts +4 -3
- package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
- package/dist/src/specification/v2/controls/index.d.ts +4 -1
- package/dist/src/specification/v2/controls/index.js +1 -0
- package/dist/src/specification/v2/controls/index.js.map +1 -1
- package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
- package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +11 -0
- package/dist/src/specification/v4/controls/ObjectPageFooter.js +3 -0
- package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +1 -0
- package/dist/src/specification/v4/controls/index.d.ts +1 -0
- package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +2 -1
- package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +2 -1
- package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +1 -1
- package/dist/src/sync/common/decoration/control.js +34 -19
- package/dist/src/sync/common/decoration/control.js.map +1 -1
- package/dist/src/sync/common/generate/objectPage.d.ts +31 -2
- package/dist/src/sync/common/generate/objectPage.js +185 -20
- package/dist/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/src/sync/common/import/utils.d.ts +6 -0
- package/dist/src/sync/common/import/utils.js +21 -0
- package/dist/src/sync/common/import/utils.js.map +1 -1
- package/dist/src/sync/common/importProject.js +62 -60
- package/dist/src/sync/common/importProject.js.map +1 -1
- package/dist/src/sync/common/types.d.ts +5 -2
- package/dist/src/sync/common/types.js +4 -0
- package/dist/src/sync/common/types.js.map +1 -1
- package/dist/src/sync/common/utils.d.ts +4 -3
- package/dist/src/sync/common/utils.js +76 -81
- package/dist/src/sync/common/utils.js.map +1 -1
- package/dist/src/sync/v2/application.d.ts +1 -0
- package/dist/src/sync/v2/application.js +3 -0
- package/dist/src/sync/v2/application.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Card.d.ts +0 -2
- package/dist/src/sync/v2/export/controls/Card.js +0 -14
- package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
- package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +6 -6
- package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
- package/dist/src/sync/v2/export/controls/FilterBar.d.ts +1 -2
- package/dist/src/sync/v2/export/controls/FilterBar.js +2 -4
- package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
- package/dist/src/sync/v2/export/controls/FormAction.d.ts +15 -0
- package/dist/src/sync/v2/export/controls/FormAction.js +133 -0
- package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +4 -1
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js +13 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -1
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +5 -1
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +42 -3
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +32 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +144 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +5 -4
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js +16 -4
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Table.d.ts +12 -4
- package/dist/src/sync/v2/export/controls/Table.js +84 -37
- package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
- package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
- package/dist/src/sync/v2/export/controls/index.js +3 -1
- package/dist/src/sync/v2/export/controls/index.js.map +1 -1
- package/dist/src/sync/v2/export/export.js +125 -86
- package/dist/src/sync/v2/export/export.js.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
- package/dist/src/sync/v2/generate/analyticalListReport.js +12 -13
- package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/src/sync/v2/generate/generate.js +28 -6
- package/dist/src/sync/v2/generate/generate.js.map +1 -1
- package/dist/src/sync/v2/generate/listReport.d.ts +3 -10
- package/dist/src/sync/v2/generate/listReport.js +7 -12
- package/dist/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
- package/dist/src/sync/v2/generate/objectPage.js +199 -151
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v2/generate/utils.d.ts +1 -2
- package/dist/src/sync/v2/generate/utils.js +5 -0
- package/dist/src/sync/v2/generate/utils.js.map +1 -1
- package/dist/src/sync/v2/import/pages/objectPage.js +162 -88
- package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v2/types.d.ts +12 -0
- package/dist/src/sync/v2/types.js +11 -0
- package/dist/src/sync/v2/types.js.map +1 -1
- package/dist/src/sync/v4/application.js +10 -10
- package/dist/src/sync/v4/application.js.map +1 -1
- package/dist/src/sync/v4/export/export.js +156 -134
- package/dist/src/sync/v4/export/export.js.map +1 -1
- package/dist/src/sync/v4/export/manifest.js +96 -76
- package/dist/src/sync/v4/export/manifest.js.map +1 -1
- package/dist/src/sync/v4/generate/generate.js +10 -2
- package/dist/src/sync/v4/generate/generate.js.map +1 -1
- package/dist/src/sync/v4/generate/objectPage.d.ts +3 -6
- package/dist/src/sync/v4/generate/objectPage.js +87 -94
- package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v4/import/app/appProvider.js +108 -80
- package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
- package/dist/src/sync/v4/import/fragment.js +41 -46
- package/dist/src/sync/v4/import/fragment.js.map +1 -1
- package/dist/src/sync/v4/utils/utils.js +1 -1
- package/dist/src/sync/v4/utils/utils.js.map +1 -1
- package/package.json +4 -5
- package/dist/src/specification/v2/controls/DataField.js.map +0 -1
- package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
- 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,
|
|
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 =
|
|
18
|
-
? fieldReferenceId
|
|
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 =
|
|
21
|
-
|
|
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;
|
|
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 (
|
|
52
|
-
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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(
|
|
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,
|
|
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
|
|
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 {
|
|
118
|
-
* @param {
|
|
119
|
-
* @param {
|
|
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(
|
|
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,
|
|
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
|
|
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,
|
|
154
|
-
|
|
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,
|
|
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
|
|
158
|
+
appSchemas[schemaFile.filename] = generate_1.generateListReportSchemaV2(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
|
|
165
159
|
}
|
|
166
160
|
/*--- Object Pages ----*/
|
|
167
|
-
generateObjectPageSchemasV2(
|
|
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,
|
|
175
|
-
const entityTypeName = entitySet
|
|
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
|
|
172
|
+
appSchemas[schemaFile.filename] = generate_1.generateAnalyticalListReportSchemaV2(generateParameters, genericSchemas[genericSchemaFile.filename], entityTypeName);
|
|
179
173
|
}
|
|
180
174
|
/*--- Object Pages ----*/
|
|
181
|
-
generateObjectPageSchemasV2(
|
|
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,
|
|
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,
|
|
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,
|
|
204
|
+
appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, generateParameters.serviceAVT, generateParameters.logger);
|
|
213
205
|
}
|
|
214
206
|
/*--- Object Pages ----*/
|
|
215
|
-
generateObjectPageSchemasV4(
|
|
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,
|
|
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,
|
|
219
|
+
appSchemas[schemaFile.filename] = generate_2.generateListReportSchemaV4(genericSchemas[genericSchemaFile.filename], entityTypeName, generateParameters.serviceAVT, generateParameters.logger);
|
|
228
220
|
}
|
|
229
221
|
/*--- Object Pages ----*/
|
|
230
|
-
generateObjectPageSchemasV4(
|
|
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(
|
|
245
|
-
const genericSchemas = await getGenericSchemas(templateType, fioriElementsVersion);
|
|
246
|
-
if (fioriElementsVersion === common_1.FioriElementsVersion.v4) {
|
|
247
|
-
return generateAppSchemasV4(genericSchemas, uiEntityTypes,
|
|
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,
|
|
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
|
|
316
|
-
const
|
|
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(
|
|
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(
|
|
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
|
}
|