@sap/ux-specification 1.108.29 → 1.108.31
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 +62 -1
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
- package/dist/documentation/v4/v4-FreestylePage.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +98 -98
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ListReportConfig.json +3 -2
- package/dist/schemas/v2/ObjectPageConfig.json +50 -60
- package/dist/schemas/v4/ObjectPageConfig.json +74 -38
- package/dist/specification/package.json +8 -8
- package/dist/specification/src/sync/common/decoration/control.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/control.js +2 -4
- package/dist/specification/src/sync/common/decoration/control.js.map +1 -1
- package/dist/specification/src/sync/common/generate/objectPage.d.ts +4 -4
- package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/common/generate/objectPage.js +6 -6
- package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.d.ts +0 -7
- package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.js +1 -13
- package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
- package/dist/specification/src/sync/common/i18n.json +5 -1
- package/dist/specification/src/sync/common/utils.js +2 -2
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/FilterBar.js +1 -0
- package/dist/specification/src/sync/v2/export/controls/FilterBar.js.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts +0 -2
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.js +0 -20
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts +0 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js +17 -29
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js +109 -38
- package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +21 -18
- package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/utils.d.ts +31 -2
- package/dist/specification/src/sync/v2/generate/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/utils.js +61 -1
- package/dist/specification/src/sync/v2/generate/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/import/common/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/common/index.js +8 -9
- package/dist/specification/src/sync/v2/import/common/index.js.map +1 -1
- package/dist/specification/src/sync/v4/application.d.ts +1 -0
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +5 -1
- package/dist/specification/src/sync/v4/application.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +1 -4
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +0 -74
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts +0 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js +0 -10
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/RelatedApps.d.ts +11 -0
- package/dist/specification/src/sync/v4/export/controls/RelatedApps.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/export/controls/RelatedApps.js +68 -0
- package/dist/specification/src/sync/v4/export/controls/RelatedApps.js.map +1 -0
- package/dist/specification/src/sync/v4/export/controls/index.d.ts +14 -13
- package/dist/specification/src/sync/v4/export/controls/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/index.js +14 -13
- package/dist/specification/src/sync/v4/export/controls/index.js.map +1 -1
- package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/export.js +9 -16
- package/dist/specification/src/sync/v4/export/export.js.map +1 -1
- package/dist/specification/src/sync/v4/export/manifest.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/manifest.js +0 -24
- package/dist/specification/src/sync/v4/export/manifest.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +16 -13
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +50 -81
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/objectPage.js +1 -2
- package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts +1 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +11 -3
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/types/src/apiTypes.d.ts +2 -0
- package/dist/types/src/apiTypes.d.ts.map +1 -1
- package/dist/types/src/common/types.d.ts +1 -0
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js +1 -0
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/v2/controls/FilterBar.d.ts +1 -1
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts +8 -8
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +38 -5
- package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageSection.d.ts +4 -8
- package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageSection.js.map +1 -1
- package/package.json +8 -8
|
@@ -20,26 +20,20 @@ const ROOT_PROPERTIES_ORDER = [
|
|
|
20
20
|
'table',
|
|
21
21
|
'footer'
|
|
22
22
|
];
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
* @param annotationTerm "unqualified" annotation term that can be specified whithin a visualization (i.e. "LineItem" or "Chart")
|
|
26
|
-
* @param visualization one visualization of a PresentationVariant
|
|
27
|
-
* @returns empty string if the visualization does not match the annotationTerm. Otherwise the value of the visualization stripped by the reference to the ui vocabulary
|
|
28
|
-
*/
|
|
29
|
-
function retrieveNameWithoutVocabulary(annotationTerm, visualization) {
|
|
30
|
-
// check whether the value of the visualization specifies the fully qualified annotation term if yes, return the value without the vocabulary prefix, otherwise the empty string
|
|
31
|
-
const visualizationValue = visualization.value;
|
|
32
|
-
return visualizationValue.includes(ux_specification_types_1.UIVOCABULARYALPHADOT + annotationTerm) // replace includes with startsWith?
|
|
33
|
-
? visualizationValue.replace(ux_specification_types_1.UIVOCABULARYALPHADOT, '')
|
|
34
|
-
: '';
|
|
35
|
-
}
|
|
36
23
|
/**
|
|
37
24
|
* Returns LineItem and Chart annotations used for the ALP. Reproduces logic from Fiori Elements ALP implementation (function createWorkingContext in ALP specific AnnotationHelper).
|
|
38
25
|
* @param {v2.SapUiAppPageV2} v2Page - actual page in the manifest
|
|
39
26
|
* @param {EntityTypeAnnotations_UI} uIAnnotations - annotations of UI namespace of the given entityType
|
|
40
27
|
*/
|
|
41
28
|
function getLineItemAndChartAnnotation(v2Page, uIAnnotations, logger) {
|
|
42
|
-
const
|
|
29
|
+
const settings = v2Page?.component?.settings;
|
|
30
|
+
if ((0, utils_1.hasPropertyTypeError)(settings, 'qualifier', logger)) {
|
|
31
|
+
return {
|
|
32
|
+
lineItemAnnotation: undefined,
|
|
33
|
+
chartAnnotation: undefined
|
|
34
|
+
}; // return undefined in case there is an error in the settings
|
|
35
|
+
}
|
|
36
|
+
const qualifier = settings?.qualifier; // qualifier from the manifest (if it has been configured)
|
|
43
37
|
// retrieve the definition of the specified annotation for the qualifier which has been retrieved from the manifest settings
|
|
44
38
|
const getAnnotationWithQualifier = function (annotationTerm) {
|
|
45
39
|
const annotationPath = annotationTerm + (qualifier ? '#' + qualifier : '');
|
|
@@ -68,8 +62,9 @@ function getLineItemAndChartAnnotation(v2Page, uIAnnotations, logger) {
|
|
|
68
62
|
let lineItemName = ''; // the name that will be used to retrieve the LineItem from uiAnnotations
|
|
69
63
|
let chartName = ''; // the name that will be used to retrieve the Chart from uiAnnotations
|
|
70
64
|
visualizations.some(function (visualization) {
|
|
71
|
-
lineItemName =
|
|
72
|
-
|
|
65
|
+
lineItemName =
|
|
66
|
+
lineItemName || (0, utils_1.retrieveNameWithoutVocabularyFromVisualization)(types_2.FacetBase.LineItem, visualization);
|
|
67
|
+
chartName = chartName || (0, utils_1.retrieveNameWithoutVocabularyFromVisualization)(types_2.FacetBase.Chart, visualization);
|
|
73
68
|
return lineItemName && chartName; // end loop as soon as names of LineItem and Chart have both been identified
|
|
74
69
|
});
|
|
75
70
|
// If the above logic did not identify a name for the LineItem/Chart then still the corresponding annotation (but without qualifier) will be used
|
|
@@ -107,7 +102,6 @@ function addChart(appSchema, chartAnnotation) {
|
|
|
107
102
|
* Generic types are replaced by information from the app specific annotations.
|
|
108
103
|
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
109
104
|
* @param genericSchema - generic JSON schema of a list report
|
|
110
|
-
* @param entityTypeName - the base entity type of the given page
|
|
111
105
|
*/
|
|
112
106
|
function generateAnalyticalListReportSchemaV2(generateParameters, genericSchema) {
|
|
113
107
|
const appSchema = JSON.parse(JSON.stringify(genericSchema));
|
|
@@ -132,24 +126,18 @@ function generateAnalyticalListReportSchemaV2(generateParameters, genericSchema)
|
|
|
132
126
|
(0, utils_1.removeElementsFromEnum)(appSchema.definitions.TableColumnExtensionTypeV2['enum'], [
|
|
133
127
|
ux_specification_types_1.v2.TableColumnExtensionTypeV2.TreeTableColumnsExtension
|
|
134
128
|
]);
|
|
135
|
-
const entityType = generateParameters
|
|
136
|
-
if (
|
|
137
|
-
|
|
138
|
-
severity: "error" /* LogSeverity.Error */,
|
|
139
|
-
message: i18next_1.default.t('NOENTITYTYPE4SET', { entitySetName: generateParameters.entitySet?.name })
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
129
|
+
const { entityType, uIAnnotations } = (0, utils_1.getUIAnnotationForEntitySet)(generateParameters); // would log an error in case these entities are missing
|
|
130
|
+
if (uIAnnotations) {
|
|
131
|
+
// then entityType is there as well
|
|
143
132
|
// handle header actions
|
|
144
133
|
(0, utils_1.addStandardHeaderActions)(appSchema);
|
|
145
134
|
const pageKeys = [];
|
|
146
135
|
const v2Page = (0, import_1.findAnalyticalListPage)(generateParameters.manifest[ux_specification_types_1.ManifestSection.generic].pages, pageKeys, generateParameters.logger);
|
|
147
|
-
const
|
|
148
|
-
const { lineItemAnnotation, chartAnnotation } = getLineItemAndChartAnnotation(v2Page, annotations, generateParameters.logger);
|
|
136
|
+
const { lineItemAnnotation, chartAnnotation } = getLineItemAndChartAnnotation(v2Page, uIAnnotations, generateParameters.logger);
|
|
149
137
|
//handle line items
|
|
150
138
|
if (lineItemAnnotation) {
|
|
151
139
|
types_1.ALPTABLETYPES.forEach((tableType) => {
|
|
152
|
-
appSchema.definitions[tableType][ux_specification_types_1.SchemaTag.annotationPath] = (0, common_1.createAnnotationPath)(entityType
|
|
140
|
+
appSchema.definitions[tableType][ux_specification_types_1.SchemaTag.annotationPath] = (0, common_1.createAnnotationPath)(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
|
|
153
141
|
});
|
|
154
142
|
}
|
|
155
143
|
(0, utils_1.addLineItemsType)(appSchema, lineItemAnnotation, entityType);
|
|
@@ -158,7 +146,7 @@ function generateAnalyticalListReportSchemaV2(generateParameters, genericSchema)
|
|
|
158
146
|
addChart(appSchema, chartAnnotation);
|
|
159
147
|
}
|
|
160
148
|
//handle filter fields
|
|
161
|
-
const selectionFieldAnnotation =
|
|
149
|
+
const selectionFieldAnnotation = uIAnnotations.SelectionFields;
|
|
162
150
|
(0, utils_1.addSelectionFields)(appSchema, selectionFieldAnnotation, entityType);
|
|
163
151
|
//add fields for createWithParameterDialog
|
|
164
152
|
(0, common_1.addFieldsType)(appSchema, entityType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyticalListReport.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/analyticalListReport.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"analyticalListReport.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/analyticalListReport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/listReport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/listReport.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAK3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAM/E;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,EACrB,eAAe,EAAE,iBAAiB,GACnC,IAAI,CAIN;AAwGD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,kBAAkB,EAAE,2BAA2B,EAC/C,aAAa,EAAE,UAAU,GAC1B,MAAM,CAmGR"}
|
|
@@ -11,7 +11,9 @@ const i18next_1 = __importDefault(require("i18next"));
|
|
|
11
11
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
12
12
|
const extensionLogger_1 = require("../../../extensionLogger");
|
|
13
13
|
const types_1 = require("../types");
|
|
14
|
+
const types_2 = require("../../../../../types/src/common/types");
|
|
14
15
|
const ROOT_PROPERTIES_ORDER = ['filterBar', 'table', 'footer'];
|
|
16
|
+
const UIVOCABULARYDOT = ux_specification_types_1.UIVOCABULARYALPHADOT.substring(1); // reference to the ui vocabluary without leading '@' but with trailing'.'
|
|
15
17
|
/**
|
|
16
18
|
* Adds the enum types for QuickVariant and QuickVariantX, based on the entity type annotations
|
|
17
19
|
* @param {EntityType} entityType
|
|
@@ -25,6 +27,95 @@ function addEnumForVariantPaths(entityType, entitySet, appSchema, oDataServiceAV
|
|
|
25
27
|
(0, common_1.addEnumForVariantEntitySet)(oDataServiceAVT, appSchema, 'QuickVariantX');
|
|
26
28
|
}
|
|
27
29
|
exports.addEnumForVariantPaths = addEnumForVariantPaths;
|
|
30
|
+
/**
|
|
31
|
+
* Adds an enum filled with existing UI annotations for annotationPath property in FilterBar
|
|
32
|
+
* @param {EntityType} entityType
|
|
33
|
+
* @param appSchema - app specific JSOn schema
|
|
34
|
+
* @param definitionName - name of the definition in the app schema
|
|
35
|
+
*/
|
|
36
|
+
function addEnumForFilterBarAnnotationPath(entityType, appSchema, definitionName) {
|
|
37
|
+
const annoPath = appSchema.definitions[definitionName].properties.annotationPath;
|
|
38
|
+
const validAnnotations = [
|
|
39
|
+
"com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* UIAnnotationTerms.SelectionPresentationVariant */,
|
|
40
|
+
"com.sap.vocabularies.UI.v1.SelectionVariant" /* UIAnnotationTerms.SelectionVariant */,
|
|
41
|
+
"com.sap.vocabularies.UI.v1.PresentationVariant" /* UIAnnotationTerms.PresentationVariant */
|
|
42
|
+
];
|
|
43
|
+
(0, common_1.addEnumForValidAnnotations)(entityType, validAnnotations, annoPath);
|
|
44
|
+
}
|
|
45
|
+
// Helper function for getLineItemAnnotation which determines the presentation variant to be used. The parameters of both functions have identical meaning.
|
|
46
|
+
function getPresentationVariantForLineItem(uIAnnotations, settings, logger) {
|
|
47
|
+
let presentationVariant; // the presentation variant to be used to determine the LineItem
|
|
48
|
+
const annotationPath = settings?.annotationPath;
|
|
49
|
+
// Note: annotationPath (if it exists) contains the fully qualified annotation name (starting with UIVOCABULARYDOT) which would be a member of enum UIAnnotationTerms.
|
|
50
|
+
// Inside uiAnnotations the unqualified annotation names are used as keys. They can be found in enum FacetBase or obtained from the terms above by removing UIVOCABULARYDOT.
|
|
51
|
+
if (annotationPath) {
|
|
52
|
+
const isSPV = annotationPath.includes("com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* UIAnnotationTerms.SelectionPresentationVariant */);
|
|
53
|
+
const isPV = !isSPV && annotationPath.includes("com.sap.vocabularies.UI.v1.PresentationVariant" /* UIAnnotationTerms.PresentationVariant */);
|
|
54
|
+
if (isSPV || isPV) {
|
|
55
|
+
const accessor = annotationPath.replace(UIVOCABULARYDOT, '');
|
|
56
|
+
const uiAnnotation = uIAnnotations[accessor]; // the ui annotation specified by the annotationPath if it exists
|
|
57
|
+
if (uiAnnotation) {
|
|
58
|
+
if (isPV) {
|
|
59
|
+
presentationVariant = uiAnnotation;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// SPV case
|
|
63
|
+
presentationVariant = uiAnnotation[types_2.FacetBase.PresentationVariant];
|
|
64
|
+
if (presentationVariant &&
|
|
65
|
+
presentationVariant.fullyQualifiedName.includes(types_2.FacetBase.SelectionPresentationVariant)) {
|
|
66
|
+
presentationVariant = uIAnnotations[types_2.FacetBase.PresentationVariant]; // inline presentation variants are ignored, use standard presentation variant instead
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// annotationPath is pointing to a selection presentation variant or a presentation variant but the corresponding annotation does not exist
|
|
72
|
+
(0, extensionLogger_1.log)(logger, {
|
|
73
|
+
severity: "warning" /* LogSeverity.Warning */,
|
|
74
|
+
message: i18next_1.default.t('NOANNOTATIONFORPATH', { annotationPath: annotationPath })
|
|
75
|
+
});
|
|
76
|
+
// If the annotationPath has specified a non-existing selection presentation variant fall back to the standard presentation variant
|
|
77
|
+
if (isSPV) {
|
|
78
|
+
presentationVariant = uIAnnotations[types_2.FacetBase.PresentationVariant];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// annotationPath exists but does not point to a selection presentation variant or presentation variant (should point to a selection variant then)
|
|
84
|
+
presentationVariant = uIAnnotations[types_2.FacetBase.PresentationVariant]; // use standard presentation variant in this case
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
presentationVariant = uIAnnotations[types_2.FacetBase.PresentationVariant];
|
|
89
|
+
}
|
|
90
|
+
return presentationVariant;
|
|
91
|
+
}
|
|
92
|
+
// Determine the LineItemAnnotation to be used for the LR.
|
|
93
|
+
// Reproduces logic from Fiori Elements LR implementation (function createWorkingContext in LR specific AnnotationHelper).
|
|
94
|
+
function getLineItemAnnotation(uIAnnotations, settings, // an object (actually a piece of the manifest) possessing an optional property annotationPath which would define the path to the PresentationVariant
|
|
95
|
+
logger // used in case an error/warning is detected while determining the result
|
|
96
|
+
) {
|
|
97
|
+
if ((0, utils_1.hasPropertyTypeError)(settings, 'annotationPath', logger)) {
|
|
98
|
+
return undefined; // return undefined in case there is an error in the settings
|
|
99
|
+
}
|
|
100
|
+
const presentationVariant = getPresentationVariantForLineItem(uIAnnotations, settings, logger); // the presentation variant to be used to determine the LineItem (if there is one)
|
|
101
|
+
// If a PV could be determined LineItem should be defined as a visualization of the PV.
|
|
102
|
+
const visualizations = presentationVariant?.Visualizations || [];
|
|
103
|
+
let lineItemName = ''; // the name that will be used to retrieve the LineItem from uiAnnotations
|
|
104
|
+
visualizations.some(function (visualization) {
|
|
105
|
+
lineItemName = (0, utils_1.retrieveNameWithoutVocabularyFromVisualization)(types_2.FacetBase.LineItem, visualization);
|
|
106
|
+
return lineItemName; // end loop as soon as name of LineItem has been identified
|
|
107
|
+
});
|
|
108
|
+
// If the above logic did not identify a name for the LineItem then still the corresponding annotation (but without qualifier) will be used
|
|
109
|
+
lineItemName = lineItemName || types_2.FacetBase.LineItem;
|
|
110
|
+
const lineItem = uIAnnotations[lineItemName];
|
|
111
|
+
if (!lineItem) {
|
|
112
|
+
(0, extensionLogger_1.log)(logger, {
|
|
113
|
+
severity: "warning" /* LogSeverity.Warning */,
|
|
114
|
+
message: i18next_1.default.t('NOLINEITEMFORPATH', { annotationPath: lineItemName })
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return lineItem;
|
|
118
|
+
}
|
|
28
119
|
/**
|
|
29
120
|
* Generates an app specific schema for the FE V2 Listreport from the generic schema.
|
|
30
121
|
* Generic types are replaced by information from the app specific annotations.
|
|
@@ -34,63 +125,43 @@ exports.addEnumForVariantPaths = addEnumForVariantPaths;
|
|
|
34
125
|
*/
|
|
35
126
|
function generateListReportSchemaV2(generateParameters, genericSchema) {
|
|
36
127
|
const appSchema = JSON.parse(JSON.stringify(genericSchema));
|
|
37
|
-
appSchema.properties.table['anyOf']['0']['$ref'] = common_1.DEFINITION_LINK_PREFIX + types_1.MULTISELECTTABLE;
|
|
38
|
-
appSchema.properties.table['anyOf']['1']['$ref'] = common_1.DEFINITION_LINK_PREFIX + types_1.INLINEDELETETABLE;
|
|
39
|
-
appSchema.properties.table['anyOf']['2']['$ref'] = common_1.DEFINITION_LINK_PREFIX + types_1.TREETABLE;
|
|
40
|
-
appSchema.properties.table['anyOf']['3']['$ref'] = common_1.DEFINITION_LINK_PREFIX + types_1.ANALYTICALTABLE;
|
|
41
|
-
appSchema.properties.table['anyOf']['4']['$ref'] = common_1.DEFINITION_LINK_PREFIX + types_1.GRIDTABLE;
|
|
42
|
-
const responsiveTableMultiSelect = JSON.parse(JSON.stringify(genericSchema.definitions.ResponsiveTableWithMultiSelect));
|
|
43
|
-
const responsiveTableInlineDelete = JSON.parse(JSON.stringify(genericSchema.definitions.ResponsiveTableWithInlineDelete));
|
|
44
|
-
const treeTableDefinition = JSON.parse(JSON.stringify(genericSchema.definitions.TreeTable));
|
|
45
|
-
const analyticalTableDefinition = JSON.parse(JSON.stringify(genericSchema.definitions.AnalyticalTable));
|
|
46
|
-
const gridTableDefinition = JSON.parse(JSON.stringify(genericSchema.definitions.GridTable));
|
|
47
128
|
const lrLineItems = {
|
|
48
129
|
$ref: common_1.DEFINITION_LINK_PREFIX + ux_specification_types_1.DefinitionName.LineItems
|
|
49
130
|
};
|
|
50
|
-
responsiveTableMultiSelect.properties.columns = lrLineItems;
|
|
51
|
-
responsiveTableInlineDelete.properties.columns = lrLineItems;
|
|
52
|
-
treeTableDefinition.properties.columns = lrLineItems;
|
|
53
|
-
analyticalTableDefinition.properties.columns = lrLineItems;
|
|
54
|
-
gridTableDefinition.properties.columns = lrLineItems;
|
|
55
131
|
const lrToolBar = common_1.DEFINITION_LINK_PREFIX + ux_specification_types_1.DefinitionName.ToolBarLR;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
appSchema.definitions[tableType]
|
|
132
|
+
types_1.LINEITEMTABLETYPES.forEach((tableType, i) => {
|
|
133
|
+
appSchema.properties.table['anyOf'][i.toString()]['$ref'] = common_1.DEFINITION_LINK_PREFIX + tableType;
|
|
134
|
+
const tableTypeRaw = tableType.replace('<LineItems>', '');
|
|
135
|
+
const localGenericSchema = JSON.parse(JSON.stringify(genericSchema.definitions[tableTypeRaw]));
|
|
136
|
+
localGenericSchema.properties.columns = lrLineItems;
|
|
137
|
+
localGenericSchema.properties.toolBar['$ref'] = lrToolBar;
|
|
138
|
+
appSchema.definitions[tableType] = localGenericSchema;
|
|
63
139
|
});
|
|
64
|
-
const entityType = generateParameters
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
140
|
+
const { entityType, uIAnnotations } = (0, utils_1.getUIAnnotationForEntitySet)(generateParameters); // would log an error in case these entities are missing
|
|
141
|
+
if (uIAnnotations) {
|
|
142
|
+
// then entityType is there as well
|
|
143
|
+
// retrieve page definition of root page from manifest
|
|
144
|
+
const pageKeys = [];
|
|
145
|
+
const v2Page = (0, import_1.findListReportPageV2)(generateParameters.manifest[ux_specification_types_1.ManifestSection.generic].pages, pageKeys);
|
|
74
146
|
// handle standard header actions
|
|
75
147
|
(0, utils_1.addStandardHeaderActions)(appSchema);
|
|
76
148
|
//handle line items
|
|
77
|
-
const lineItemAnnotation =
|
|
149
|
+
const lineItemAnnotation = getLineItemAnnotation(uIAnnotations, v2Page?.component?.settings, generateParameters.logger);
|
|
78
150
|
if (lineItemAnnotation) {
|
|
151
|
+
const annotationPath = (0, common_1.createAnnotationPath)(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
|
|
79
152
|
types_1.LINEITEMTABLETYPES.forEach((tableType) => {
|
|
80
|
-
appSchema.definitions[tableType][ux_specification_types_1.SchemaTag.annotationPath] =
|
|
153
|
+
appSchema.definitions[tableType][ux_specification_types_1.SchemaTag.annotationPath] = annotationPath;
|
|
81
154
|
});
|
|
82
155
|
}
|
|
83
156
|
(0, utils_1.addLineItemsType)(appSchema, lineItemAnnotation, entityType);
|
|
84
157
|
//handle filter fields
|
|
85
|
-
const selectionFieldAnnotation =
|
|
158
|
+
const selectionFieldAnnotation = uIAnnotations.SelectionFields;
|
|
86
159
|
(0, utils_1.addSelectionFields)(appSchema, selectionFieldAnnotation, entityType);
|
|
87
160
|
//add fields for createWithParameterDialog
|
|
88
161
|
(0, common_1.addFieldsType)(appSchema, entityType);
|
|
89
162
|
// add entityProperties to a enum, in this case MultiEdit -> ignoredFields
|
|
90
163
|
appSchema.definitions.MultiEdit.properties.ignoredFields['items']['enum'] = [];
|
|
91
164
|
(0, utils_1.addEntityPropertiesToEnum)(appSchema.definitions.MultiEdit.properties.ignoredFields['items']['enum'], entityType);
|
|
92
|
-
const pageKeys = [];
|
|
93
|
-
const v2Page = (0, import_1.findListReportPageV2)(generateParameters.manifest[ux_specification_types_1.ManifestSection.generic].pages, pageKeys);
|
|
94
165
|
if (!v2Page) {
|
|
95
166
|
(0, extensionLogger_1.log)(generateParameters.logger, {
|
|
96
167
|
severity: "error" /* LogSeverity.Error */,
|
|
@@ -104,7 +175,7 @@ function generateListReportSchemaV2(generateParameters, genericSchema) {
|
|
|
104
175
|
}
|
|
105
176
|
(0, utils_1.addTableColumnExtensions)(appSchema, entityType, v2Page, generateParameters.manifest, generateParameters.fragments);
|
|
106
177
|
addEnumForVariantPaths(entityType, generateParameters.entitySet, appSchema, generateParameters.serviceAVT);
|
|
107
|
-
|
|
178
|
+
addEnumForFilterBarAnnotationPath(entityType, appSchema, ux_specification_types_1.DefinitionName.ListReportFilterBar);
|
|
108
179
|
(0, common_1.addEnumFieldGroupAnnotationPath)(entityType, appSchema, ux_specification_types_1.DefinitionName.MultiEditV2);
|
|
109
180
|
//Delete generic definitions
|
|
110
181
|
delete appSchema.definitions.ResponsiveTableWithMultiSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/listReport.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/listReport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/objectPage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKR,2BAA2B,EAE9B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/generate/objectPage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKR,2BAA2B,EAE9B,MAAM,6BAA6B,CAAC;AA+yBrC;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,kBAAkB,EAAE,2BAA2B,EAC/C,aAAa,EAAE,MAAM,GACtB,MAAM,CA8FR"}
|
|
@@ -61,18 +61,19 @@ function addFlexChangeForSection(appSchema, schemaSection, property, sectionType
|
|
|
61
61
|
* Callback for adding a single action to headerActions of V2
|
|
62
62
|
* @param {EntityType} entityType - current entity type
|
|
63
63
|
* @param {object} appSchema Schema of the app
|
|
64
|
-
* @param
|
|
64
|
+
* @param identification - UI.Identification annotation as present in AVT ConvertedMetadata
|
|
65
65
|
* @param headerActions - list of header actions, to be enhanced
|
|
66
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
66
67
|
*/
|
|
67
|
-
function addHeaderActionCallBackV2(entityType, appSchema, identification, headerActions,
|
|
68
|
+
function addHeaderActionCallBackV2(entityType, appSchema, identification, headerActions, generateParameters) {
|
|
68
69
|
identification?.forEach((item) => {
|
|
69
70
|
if (!item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */) {
|
|
70
|
-
const { actionName, actionId, namespace } = (0, common_1.getActionNameAndId)(item,
|
|
71
|
+
const { actionName, actionId, namespace } = (0, common_1.getActionNameAndId)(item, generateParameters.serviceAVT);
|
|
71
72
|
//actionId is used as key in V2, as this is the right part for building the full stable ID
|
|
72
73
|
if (!actionId) {
|
|
73
74
|
return;
|
|
74
75
|
}
|
|
75
|
-
const description = item.Label || actionName;
|
|
76
|
+
const description = (item.Label || actionName);
|
|
76
77
|
const actionDefinitionKey = `ObjectPageHeaderAction<${(0, common_1.prepareRef)(actionId)}>`;
|
|
77
78
|
appSchema.definitions[actionDefinitionKey] = JSON.parse(JSON.stringify(appSchema.definitions['ObjectPageHeaderAction']));
|
|
78
79
|
const convertedIdentification = item.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */}`);
|
|
@@ -261,8 +262,10 @@ function handleLineItem(generateParameters, facetKey, appSchema, facet, facets,
|
|
|
261
262
|
customColumnDefinitionKey = ensureCustomColumnDefinitionExists(appSchema, generateParameters.manifest, targetEntitySet.name, facet.entityType.name, generateParameters.serviceAVT, facet, facetKey, generateParameters.fragments);
|
|
262
263
|
}
|
|
263
264
|
for (const facetItem in facets) {
|
|
264
|
-
|
|
265
|
-
|
|
265
|
+
const facet = facets[facetItem];
|
|
266
|
+
if (facet.base === ux_specification_types_1.FacetBase.LineItem &&
|
|
267
|
+
(facet.ID === navigationProperty || facetItem.includes(navigationProperty))) {
|
|
268
|
+
(0, utils_1.addLineItemsType)(appSchema, facet.target, facet.entityType, facet.ID || facetItem, customColumnDefinitionKey);
|
|
266
269
|
}
|
|
267
270
|
}
|
|
268
271
|
}
|
|
@@ -397,7 +400,7 @@ function getSectionType(facetType, isSubSection, isHeaderFacet) {
|
|
|
397
400
|
* @return {string} reference key
|
|
398
401
|
*/
|
|
399
402
|
function getReferenceKey(facet, facetKey, sectionType) {
|
|
400
|
-
let referenceKey = facetKey;
|
|
403
|
+
let referenceKey = facet.ID || facetKey;
|
|
401
404
|
if (sectionType === (types_1.SectionTypeV2.Section || types_1.SectionTypeV2.SubSection)) {
|
|
402
405
|
referenceKey = referenceKey.replace(`@${"com.sap.vocabularies.UI.v1.Facets" /* UIAnnotationTerms.Facets */}`, facet.base);
|
|
403
406
|
}
|
|
@@ -434,7 +437,7 @@ function addSection(generateParameters, facets, facetKey, sections, appSchema, i
|
|
|
434
437
|
}
|
|
435
438
|
case types_1.SectionTypeV2.SectionTable:
|
|
436
439
|
case types_1.SectionTypeV2.SubSectionTable: {
|
|
437
|
-
handleLineItem(generateParameters,
|
|
440
|
+
handleLineItem(generateParameters, referenceKey, appSchema, facet, facets, sectionType);
|
|
438
441
|
//add fields for createWithParameterDialog
|
|
439
442
|
const floorplanSuffix = 'OP';
|
|
440
443
|
(0, common_1.addFieldsType)(appSchema, facet.entityType, floorplanSuffix);
|
|
@@ -443,39 +446,39 @@ function addSection(generateParameters, facets, facetKey, sections, appSchema, i
|
|
|
443
446
|
case types_1.SectionTypeV2.SectionChart:
|
|
444
447
|
case types_1.SectionTypeV2.SubSectionChart: {
|
|
445
448
|
//handle reference facet (if comprising chart)
|
|
446
|
-
handleSectionChart(appSchema, definitionKey, facet,
|
|
449
|
+
handleSectionChart(appSchema, definitionKey, facet, referenceKey, sectionType);
|
|
447
450
|
break;
|
|
448
451
|
}
|
|
449
452
|
case types_1.SectionTypeV2.SectionForm:
|
|
450
453
|
case types_1.SectionTypeV2.SubSectionForm: {
|
|
451
|
-
const appSchemaSection = handleFormSection(appSchema, definitionKey, facet,
|
|
454
|
+
const appSchemaSection = handleFormSection(appSchema, definitionKey, facet, referenceKey, sectionType);
|
|
452
455
|
(0, common_1.handleForm)(ux_specification_types_1.SectionType.Section, facet, appSchemaSection, appSchema, ux_specification_types_1.FioriElementsVersion.v2, facetKey);
|
|
453
456
|
break;
|
|
454
457
|
}
|
|
455
458
|
case types_1.SectionTypeV2.SectionAddress:
|
|
456
459
|
case types_1.SectionTypeV2.SectionContact: {
|
|
457
|
-
(0, common_1.handleAddressContact)(facet,
|
|
460
|
+
(0, common_1.handleAddressContact)(facet, referenceKey, sections, appSchema, ux_specification_types_1.SectionType.Section, undefined, 'V2');
|
|
458
461
|
break;
|
|
459
462
|
}
|
|
460
463
|
case types_1.SectionTypeV2.SubSectionAddress:
|
|
461
464
|
case types_1.SectionTypeV2.SubSectionContact: {
|
|
462
|
-
(0, common_1.handleAddressContact)(facet,
|
|
465
|
+
(0, common_1.handleAddressContact)(facet, referenceKey, sections, appSchema, ux_specification_types_1.SectionType.Section, ux_specification_types_1.SectionType.SubSection, 'V2');
|
|
463
466
|
break;
|
|
464
467
|
}
|
|
465
468
|
case types_1.SectionTypeV2.HeaderSectionForm:
|
|
466
469
|
case types_1.SectionTypeV2.HeaderSectionChart:
|
|
467
470
|
case types_1.SectionTypeV2.HeaderSectionAddress: {
|
|
468
|
-
handleHeaderFacet(appSchema, definitionKey, facet,
|
|
471
|
+
handleHeaderFacet(appSchema, definitionKey, facet, referenceKey, sectionType);
|
|
469
472
|
break;
|
|
470
473
|
}
|
|
471
474
|
case types_1.SectionTypeV2.HeaderSectionDataPoint: {
|
|
472
|
-
handleHeaderFacet(appSchema, definitionKey, facet,
|
|
475
|
+
handleHeaderFacet(appSchema, definitionKey, facet, referenceKey, sectionType);
|
|
473
476
|
addDataPointHeaderFacetDataType(appSchema, definitionKey, facet);
|
|
474
477
|
break;
|
|
475
478
|
}
|
|
476
479
|
default: {
|
|
477
480
|
// Other facets -> only default properties of ObjectPageSection
|
|
478
|
-
sections.properties[facetKey] = (0, common_1.createDefaultSection)(appSchema, facet,
|
|
481
|
+
sections.properties[facetKey] = (0, common_1.createDefaultSection)(appSchema, facet, referenceKey);
|
|
479
482
|
}
|
|
480
483
|
}
|
|
481
484
|
}
|
|
@@ -557,10 +560,10 @@ function addSections(generateParameters, appSchema, pages) {
|
|
|
557
560
|
* @param {EntityType} entityType - current entity type
|
|
558
561
|
* @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
|
|
559
562
|
*/
|
|
560
|
-
function addHeader(appSchema,
|
|
563
|
+
function addHeader(appSchema, generateParameters, entityType) {
|
|
561
564
|
(0, common_1.addCommonHeaderSchema)(appSchema, entityType);
|
|
562
565
|
//Add header actions
|
|
563
|
-
(0, common_1.addHeaderActions)(appSchema, entityType,
|
|
566
|
+
(0, common_1.addHeaderActions)(appSchema, entityType, generateParameters, addHeaderActionCallBackV2, undefined, true);
|
|
564
567
|
}
|
|
565
568
|
/**
|
|
566
569
|
* Adds the related facets keys 'enum' to the app schema
|
|
@@ -612,7 +615,7 @@ function generateObjectPageSchemaV2(generateParameters, genericSchema) {
|
|
|
612
615
|
return appSchema;
|
|
613
616
|
}
|
|
614
617
|
// Add header
|
|
615
|
-
addHeader(appSchema, generateParameters
|
|
618
|
+
addHeader(appSchema, generateParameters, entityType);
|
|
616
619
|
// Add sections
|
|
617
620
|
appSchema.definitions[ux_specification_types_1.DefinitionName.Sections] = {
|
|
618
621
|
type: 'object',
|