@sap/ux-specification 1.84.35 → 1.84.38
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 +69 -24
- 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-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 +9 -5
- package/dist/schemas/v2/ListReportConfig.json +11 -7
- package/dist/schemas/v2/ObjectPageConfig.json +195 -7
- package/dist/schemas/v4/ListReportConfig.json +34 -4
- package/dist/schemas/v4/ObjectPageConfig.json +36 -0
- package/dist/specification/v2/index-min.js +1 -1
- package/dist/src/apiTypes.d.ts +2 -1
- package/dist/src/project.d.ts +1 -0
- package/dist/src/project.js +13 -5
- package/dist/src/project.js.map +1 -1
- package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +40 -7
- package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
- package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +2 -3
- package/dist/src/specification/v2/controls/Table.d.ts +5 -2
- package/dist/src/specification/v2/controls/Table.js +5 -0
- package/dist/src/specification/v2/controls/Table.js.map +1 -1
- package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +22 -1
- package/dist/src/specification/v4/controls/ObjectPageSection.js.map +1 -1
- package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +0 -14
- package/dist/src/specification/v4/controls/Table.d.ts +12 -29
- package/dist/src/specification/v4/pages/ListReportConfig.d.ts +6 -1
- package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +1 -0
- package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js.map +1 -1
- package/dist/src/sync/common/decoration/control.d.ts +1 -1
- package/dist/src/sync/common/decoration/control.js +27 -22
- package/dist/src/sync/common/decoration/control.js.map +1 -1
- package/dist/src/sync/common/generate/objectPage.d.ts +5 -4
- package/dist/src/sync/common/generate/objectPage.js +67 -66
- package/dist/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/src/sync/common/generate/utils.d.ts +53 -12
- package/dist/src/sync/common/generate/utils.js +139 -46
- package/dist/src/sync/common/generate/utils.js.map +1 -1
- package/dist/src/sync/common/import/utils.d.ts +3 -2
- package/dist/src/sync/common/import/utils.js +11 -6
- package/dist/src/sync/common/import/utils.js.map +1 -1
- package/dist/src/sync/common/importProject.js +20 -19
- package/dist/src/sync/common/importProject.js.map +1 -1
- package/dist/src/sync/common/types.d.ts +105 -26
- package/dist/src/sync/common/types.js +101 -22
- package/dist/src/sync/common/types.js.map +1 -1
- package/dist/src/sync/common/utils.d.ts +17 -12
- package/dist/src/sync/common/utils.js +132 -88
- package/dist/src/sync/common/utils.js.map +1 -1
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +1 -1
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Fragment.js +2 -2
- package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +26 -14
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +57 -5
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +2 -3
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Table.d.ts +3 -3
- package/dist/src/sync/v2/export/controls/Table.js +89 -48
- package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
- package/dist/src/sync/v2/export/export.d.ts +0 -1
- package/dist/src/sync/v2/export/export.js +222 -160
- package/dist/src/sync/v2/export/export.js.map +1 -1
- package/dist/src/sync/v2/export/exportPage.js +35 -34
- package/dist/src/sync/v2/export/exportPage.js.map +1 -1
- package/dist/src/sync/v2/export/manifest.d.ts +22 -0
- package/dist/src/sync/v2/export/manifest.js +77 -36
- package/dist/src/sync/v2/export/manifest.js.map +1 -1
- package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +1 -1
- package/dist/src/sync/v2/export/pages/OverviewPage.js +18 -16
- package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.js +10 -10
- package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/src/sync/v2/generate/listReport.js +1 -1
- package/dist/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.js +57 -43
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v2/generate/utils.d.ts +5 -4
- package/dist/src/sync/v2/generate/utils.js +73 -69
- package/dist/src/sync/v2/generate/utils.js.map +1 -1
- package/dist/src/sync/v2/import/app/appProvider.d.ts +9 -0
- package/dist/src/sync/v2/import/app/appProvider.js +36 -13
- package/dist/src/sync/v2/import/app/appProvider.js.map +1 -1
- package/dist/src/sync/v2/import/app/ovpProvider.js +1 -1
- package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -1
- package/dist/src/sync/v2/import/common/index.js +6 -6
- package/dist/src/sync/v2/import/common/index.js.map +1 -1
- package/dist/src/sync/v2/import/pages/objectPage.js +93 -101
- package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v2/import/pages/overviewPage.js +1 -1
- package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
- package/dist/src/sync/v2/import/utils.js +1 -1
- package/dist/src/sync/v2/import/utils.js.map +1 -1
- package/dist/src/sync/v2/types.d.ts +8 -3
- package/dist/src/sync/v2/types.js +6 -2
- package/dist/src/sync/v2/types.js.map +1 -1
- package/dist/src/sync/v4/application.d.ts +22 -10
- package/dist/src/sync/v4/application.js +68 -19
- package/dist/src/sync/v4/application.js.map +1 -1
- package/dist/src/sync/v4/export/controls/Table.d.ts +5 -0
- package/dist/src/sync/v4/export/controls/Table.js +91 -50
- package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
- package/dist/src/sync/v4/export/controls/TableColumn.js +4 -4
- package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
- package/dist/src/sync/v4/export/export.js +287 -150
- package/dist/src/sync/v4/export/export.js.map +1 -1
- package/dist/src/sync/v4/export/manifest.js +25 -6
- package/dist/src/sync/v4/export/manifest.js.map +1 -1
- package/dist/src/sync/v4/export/pages/ListReport.d.ts +1 -0
- package/dist/src/sync/v4/export/pages/ListReport.js +7 -0
- package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -1
- package/dist/src/sync/v4/export/pages/ObjectPage.js +3 -2
- package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -1
- package/dist/src/sync/v4/export/types.d.ts +5 -5
- package/dist/src/sync/v4/generate/listReport.js +304 -156
- package/dist/src/sync/v4/generate/listReport.js.map +1 -1
- package/dist/src/sync/v4/generate/objectPage.d.ts +1 -1
- package/dist/src/sync/v4/generate/objectPage.js +288 -147
- package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v4/import/app/appProvider.js +32 -22
- package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
- package/dist/src/sync/v4/import/pages/listReport.js +54 -37
- package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
- package/dist/src/sync/v4/import/pages/objectPage.d.ts +13 -0
- package/dist/src/sync/v4/import/pages/objectPage.js +64 -35
- package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v4/import/utils.d.ts +2 -1
- package/dist/src/sync/v4/import/utils.js.map +1 -1
- package/dist/src/sync/v4/types.d.ts +2 -0
- package/dist/src/sync/v4/utils/StableIdHelper.js +13 -10
- package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
- package/dist/src/sync/v4/utils/utils.d.ts +7 -7
- package/dist/src/sync/v4/utils/utils.js +43 -32
- package/dist/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/test/unit/export/manifest.test.d.ts +1 -0
- package/package.json +2 -2
|
@@ -3,18 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const i18next_1 = __importDefault(require("i18next"));
|
|
7
|
+
const extensionLogger_1 = require("../../../extensionLogger");
|
|
6
8
|
const common_1 = require("../../../specification/common");
|
|
7
9
|
const v4_1 = require("../../../v4");
|
|
8
10
|
const common_2 = require("../../common");
|
|
9
11
|
const utils_1 = require("../utils/utils");
|
|
10
|
-
const i18next_1 = __importDefault(require("i18next"));
|
|
11
|
-
const extensionLogger_1 = require("../../../extensionLogger");
|
|
12
12
|
/**
|
|
13
13
|
* Callback for adding a single action to headerActions of V4
|
|
14
14
|
* @param {EntityType} entityType - current entity type
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {Definition} appSchema Schema of the app
|
|
16
16
|
* @param actionAnnotation - annotation as present in AVT ConverterOutput
|
|
17
|
-
* @param headerActions - list of header actions, to be enhanced
|
|
17
|
+
* @param {Definition} headerActions - list of header actions, to be enhanced
|
|
18
18
|
* @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
|
|
19
19
|
*/
|
|
20
20
|
function addHeaderActionCallBackV4(entityType, appSchema, actionAnnotation, headerActions, oDataServiceAVT) {
|
|
@@ -23,121 +23,258 @@ function addHeaderActionCallBackV4(entityType, appSchema, actionAnnotation, head
|
|
|
23
23
|
item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
|
|
24
24
|
const action = common_2.replaceAlias(item.Action, oDataServiceAVT);
|
|
25
25
|
const { actionName, actionId } = common_2.getActionNameAndId(action, entityType);
|
|
26
|
-
const description = item.Label || actionName;
|
|
27
|
-
const actionDefinitionKey = `HeaderAction<${common_2.prepareRef(actionId)}>`;
|
|
28
26
|
const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const actionDefinitionKey = `HeaderAction<${common_2.prepareRef(actionId)}>`;
|
|
28
|
+
const headerAction = (appSchema.definitions[actionDefinitionKey] = {
|
|
31
29
|
type: 'object',
|
|
32
30
|
properties: {},
|
|
33
|
-
description:
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
description: item.Label || actionName
|
|
32
|
+
});
|
|
33
|
+
headerAction[v4_1.SchemaTag.isViewNode] = true;
|
|
34
|
+
headerAction[v4_1.SchemaTag.annotationPath] = `/${convertedIdentification}/${index}`;
|
|
36
35
|
headerActions.properties[actionId] = {
|
|
37
36
|
$ref: `${common_2.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
};
|
|
41
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Adds definitions for collections in object page sections to the app schema
|
|
43
|
+
* @param {FacetConfig} facet - the given facet from the UI annotations
|
|
44
|
+
* @param {string} facetKey - key of the facet, as used in annotation
|
|
45
|
+
* @param {Definition} appSchema - app schema in general
|
|
46
|
+
* @param {Definition} sections - schema of current sections definition.
|
|
47
|
+
* @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
|
|
48
|
+
* @param {GenerateSchemaParameters} generateParameters - list of API input parameters
|
|
49
|
+
* @param {SapUiAppPageV4} v4Page Current page in manifest
|
|
50
|
+
*/
|
|
51
|
+
function handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page) {
|
|
52
|
+
const collectionFacet = (sections.properties[facetKey] = common_2.createDefaultSection(appSchema, facet, facetKey));
|
|
53
|
+
collectionFacet.properties = {
|
|
54
|
+
subsections: {
|
|
55
|
+
additionalProperties: false,
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {},
|
|
58
|
+
description: 'Subsections'
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const subSections = collectionFacet.properties.subsections;
|
|
62
|
+
subSections[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
|
|
63
|
+
subSections[v4_1.SchemaTag.isViewNode] = true;
|
|
64
|
+
for (const key in facet.facets) {
|
|
65
|
+
addSection(generateParameters, facet.facets, key, subSections, appSchema, sectionPrefix, v4Page);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
42
68
|
/**
|
|
43
69
|
* Adds definitions for line items in object page sections to the app schema
|
|
44
|
-
* @param facet - the given facet from the UI annotations
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
70
|
+
* @param {FacetConfig} facet - the given facet from the UI annotations
|
|
71
|
+
* @param {string} facetKey - key of the facet, as used in annotation
|
|
72
|
+
* @param {Definition} appSchema - app schema in general
|
|
73
|
+
* @param {object} lineItemFacet - current lineItem facet
|
|
48
74
|
* @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
|
|
75
|
+
* @param {SapUiAppPageV4} v4Page Current page in manifest
|
|
76
|
+
* @param {ExtensionLogger} logger - logger for exceptions
|
|
49
77
|
*/
|
|
50
|
-
function handleLineItem(facet,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
appSchema['definitions'][schemaIdForOpSection] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageSectionTableV4']));
|
|
55
|
-
const schemaIdForTable = `ObjectPageTable<${facetIdInSchema}>`;
|
|
56
|
-
appSchema['definitions'][schemaIdForOpSection].properties.table.$ref = `${common_2.DEFINITION_LINK_PREFIX}${schemaIdForTable}`;
|
|
57
|
-
appSchema['definitions'][schemaIdForTable] = JSON.parse(JSON.stringify(appSchema['definitions'][v4_1.DefinitionName.ObjectPageTable]));
|
|
58
|
-
appSchema['definitions'][schemaIdForOpSection].annotationPath = facet.annotationPath;
|
|
59
|
-
common_2.addSectionTitleAndDescription(facet, appSchema['definitions'][schemaIdForOpSection], facetIdInSchema);
|
|
60
|
-
appSchema['definitions'][schemaIdForOpSection].properties.table.$ref = `${common_2.DEFINITION_LINK_PREFIX}ObjectPageTable<${facetIdInSchema}>`;
|
|
61
|
-
const idForTable = `ObjectPageTable<${facetIdInSchema}>`;
|
|
62
|
-
appSchema['definitions'][idForTable] = JSON.parse(JSON.stringify(appSchema['definitions'][v4_1.DefinitionName.ObjectPageTable]));
|
|
78
|
+
function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceAVT) {
|
|
79
|
+
const lineItemId = common_2.getFacetKeyInSchema(facetKey);
|
|
80
|
+
const annotation = lineItemId.split('::')[1];
|
|
81
|
+
const tableDefinition = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageTable, facetKey, appSchema);
|
|
63
82
|
if (facet.entityType && annotation) {
|
|
64
|
-
|
|
83
|
+
tableDefinition[v4_1.SchemaTag.annotationPath] = `/${facet.entityType.fullyQualifiedName}/${annotation}`;
|
|
65
84
|
}
|
|
66
|
-
|
|
67
|
-
$ref: common_2.DEFINITION_LINK_PREFIX
|
|
85
|
+
tableDefinition.properties.columns = {
|
|
86
|
+
$ref: `${common_2.DEFINITION_LINK_PREFIX}${lineItemId}`
|
|
68
87
|
};
|
|
69
|
-
|
|
88
|
+
tableDefinition.properties.toolBar.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBar, facetKey);
|
|
70
89
|
//adjust quickVariantSelection
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
common_2.addEnumForSingleTabVariant(facet.entityType, appSchema,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
90
|
+
tableDefinition.properties.quickVariantSelection.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.QuickVariantSelectionV4OP, facetKey);
|
|
91
|
+
const tableQVS = common_2.parseSchemaDefinition(v4_1.DefinitionName.QuickVariantSelectionV4OP, facetKey, appSchema);
|
|
92
|
+
tableQVS.properties.paths['items'].$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.AnnotationPathAsObject, facetKey);
|
|
93
|
+
common_2.parseSchemaDefinition(v4_1.DefinitionName.AnnotationPathAsObject, facetKey, appSchema);
|
|
94
|
+
common_2.addEnumForSingleTabVariant(facet.entityType, appSchema, `${v4_1.DefinitionName.AnnotationPathAsObject}<${lineItemId}>`);
|
|
95
|
+
utils_1.addLineItemsType(appSchema, lineItemFacet['target'], lineItemFacet['entityType'], oDataServiceAVT, lineItemId, v4_1.DefinitionName.ObjectPageTableColumn);
|
|
96
|
+
return tableDefinition;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Adds definitions for table section in object page sections to the app schema
|
|
100
|
+
* @param {FacetConfig} facet - current facet.
|
|
101
|
+
* @param {string} facetKey - facet key.
|
|
102
|
+
* @param {Definition} appSchema - app specific schema that potentially gets enhanced.
|
|
103
|
+
* @param {object} lineItemFacet - current lineItem facet
|
|
104
|
+
* @param {GenerateSchemaParameters} generateParameters - list of API input parameters
|
|
105
|
+
* @param {SapUiAppPageV4} v4Page Current page in manifest
|
|
106
|
+
* @param {Definition} sections - schema of current sections definition.
|
|
107
|
+
* @returns {object} sectionTable - section of app schema containing added table section
|
|
108
|
+
*/
|
|
109
|
+
function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, sections) {
|
|
110
|
+
if (sections) {
|
|
111
|
+
sections.properties[facetKey] = {
|
|
112
|
+
$ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionTableV4, facetKey)
|
|
113
|
+
};
|
|
80
114
|
}
|
|
115
|
+
const sectionTable = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionTableV4, facetKey, appSchema);
|
|
116
|
+
common_2.addSectionTitleAndDescription(facet, sectionTable, common_2.getFacetKeyInSchema(facetKey));
|
|
117
|
+
sectionTable[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
|
|
118
|
+
sectionTable.properties.table['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageTable, facetKey);
|
|
119
|
+
const table = handleLineItem(facet, facetKey, appSchema, lineItemFacet, generateParameters.serviceAVT);
|
|
120
|
+
return { sectionTable, table };
|
|
81
121
|
}
|
|
82
122
|
/**
|
|
83
123
|
* Adds definitions for Identification and Form facet items in object page sections to the app schema
|
|
84
|
-
* @param {
|
|
124
|
+
* @param {FacetConfig} facet - current facet.
|
|
85
125
|
* @param {string} facetKey - facet key.
|
|
86
126
|
* @param {object} sections - schema of current sections definition.
|
|
87
127
|
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
88
128
|
* @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
|
|
89
|
-
* @param {SectionType} formDefinitionKey - key to identify new definition
|
|
90
129
|
*/
|
|
91
|
-
function handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix
|
|
130
|
+
function handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix) {
|
|
131
|
+
let definitionType;
|
|
132
|
+
if (sectionPrefix === v4_1.SectionType.Section) {
|
|
133
|
+
definitionType = v4_1.DefinitionName.ObjectPageSectionForm;
|
|
134
|
+
}
|
|
135
|
+
else if (sectionPrefix === v4_1.SectionType.HeaderSection) {
|
|
136
|
+
definitionType = v4_1.DefinitionName.ObjectPageHeaderSectionForm;
|
|
137
|
+
}
|
|
92
138
|
sections['properties'][facetKey] = {
|
|
93
|
-
$ref:
|
|
139
|
+
$ref: common_2.getFacetDefinitionLink(definitionType, facetKey)
|
|
94
140
|
};
|
|
95
|
-
|
|
141
|
+
const formSection = common_2.parseSchemaDefinition(definitionType, facetKey, appSchema);
|
|
96
142
|
if (!facet.ID) {
|
|
97
|
-
|
|
143
|
+
formSection.properties = {};
|
|
98
144
|
}
|
|
99
|
-
common_2.addSectionTitleAndDescription(facet,
|
|
100
|
-
|
|
101
|
-
|
|
145
|
+
common_2.addSectionTitleAndDescription(facet, formSection, facetKey);
|
|
146
|
+
formSection[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
|
|
147
|
+
formSection[v4_1.SchemaTag.isViewNode] = true;
|
|
102
148
|
const withActions = facet.base === common_2.FacetBase.Identification && facetKey.indexOf('#') < 0 ? false : true;
|
|
103
|
-
common_2.handleForm(sectionPrefix, facet,
|
|
149
|
+
common_2.handleForm(sectionPrefix, facet, formSection, appSchema, common_1.FioriElementsVersion.v4, withActions);
|
|
104
150
|
}
|
|
105
151
|
/**
|
|
106
|
-
* Adds definitions for DataPoint
|
|
107
|
-
* @param {
|
|
152
|
+
* Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema
|
|
153
|
+
* @param {FacetConfig} facet - current facet.
|
|
108
154
|
* @param {string} facetKey - facet key.
|
|
109
155
|
* @param {object} sections - schema of current sections definition.
|
|
110
156
|
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
111
|
-
* @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
|
|
112
157
|
* @param {SectionType} facetDefinitionKey - key to identify new definition
|
|
113
158
|
*/
|
|
114
|
-
function
|
|
159
|
+
function handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey) {
|
|
115
160
|
sections['properties'][facetKey] = {
|
|
116
161
|
$ref: `${common_2.DEFINITION_LINK_PREFIX}${facetDefinitionKey}`
|
|
117
162
|
};
|
|
118
|
-
|
|
119
|
-
common_2.addTargetTitleAndSectionDescription(facet,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
163
|
+
const sectionFacet = common_2.parseSchemaDefinition(v4_1.DefinitionName.CommonHeaderFacetSettings, facetDefinitionKey, appSchema, false);
|
|
164
|
+
common_2.addTargetTitleAndSectionDescription(facet, sectionFacet, facetKey);
|
|
165
|
+
sectionFacet[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
|
|
166
|
+
sectionFacet[v4_1.SchemaTag.dataType] = common_2.determineDataTypeOfTarget(facet === null || facet === void 0 ? void 0 : facet.target);
|
|
167
|
+
sectionFacet[v4_1.SchemaTag.isViewNode] = true;
|
|
123
168
|
}
|
|
124
169
|
/**
|
|
125
|
-
* Adds definitions for
|
|
126
|
-
* @param {
|
|
170
|
+
* Adds definitions for Chart items in object page sections to the app schema
|
|
171
|
+
* @param {FacetConfig | Chart | object} facet - current facet.
|
|
127
172
|
* @param {string} facetKey - facet key.
|
|
128
|
-
* @param {object} sections - schema of current sections definition.
|
|
129
173
|
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
130
|
-
* @param {
|
|
131
|
-
* @param {SectionType} facetDefinitionKey - key to identify new definition
|
|
174
|
+
* @param {EntityType} entityType - current entity type
|
|
132
175
|
*/
|
|
133
|
-
function
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
176
|
+
function handleChartActions(facet, facetKey, appSchema, entityType) {
|
|
177
|
+
const actions = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBarActions, facetKey, appSchema);
|
|
178
|
+
actions.additionalProperties = false;
|
|
179
|
+
actions.properties = {};
|
|
180
|
+
if (facet.Actions) {
|
|
181
|
+
let i = 0;
|
|
182
|
+
facet.Actions.forEach((actionRecord) => {
|
|
183
|
+
const description = common_2.getDataFieldDescription(actionRecord, entityType);
|
|
184
|
+
const prefix = actionRecord.$Type.split(v4_1.UIVOCABULARYDOT)[1];
|
|
185
|
+
const actionId = actionRecord.Action.replace('/', '??');
|
|
186
|
+
const toolBarActionsProperty = (actions.properties[`${prefix}::${actionRecord.Action}`] = {
|
|
187
|
+
$ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBarAction, actionId),
|
|
188
|
+
description
|
|
189
|
+
});
|
|
190
|
+
toolBarActionsProperty[v4_1.SchemaTag.propertyIndex] = i;
|
|
191
|
+
toolBarActionsProperty[v4_1.SchemaTag.annotationType] = actionRecord.$Type;
|
|
192
|
+
const toolBarAction = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBarAction, common_2.prepareRef(actionId), appSchema);
|
|
193
|
+
toolBarAction[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(actionRecord);
|
|
194
|
+
toolBarAction[v4_1.SchemaTag.dataType] = common_2.determineDataType(actionRecord);
|
|
195
|
+
toolBarAction.properties = {};
|
|
196
|
+
i++;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return actions;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Adds definitions for Chart items in object page sections to the app schema
|
|
203
|
+
* @param {FacetConfig | Chart | object} facet - current facet.
|
|
204
|
+
* @param {string} facetKey - facet key.
|
|
205
|
+
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
206
|
+
* @param {EntityType} entityType - current entity type
|
|
207
|
+
*/
|
|
208
|
+
function handleChart(facet, facetKey, appSchema, entityType) {
|
|
209
|
+
const chart = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageChart, facetKey, appSchema);
|
|
210
|
+
chart[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(facet);
|
|
211
|
+
chart[v4_1.SchemaTag.dataType] = common_2.determineDataTypeOfTarget(facet.target || facet);
|
|
212
|
+
chart[v4_1.SchemaTag.isViewNode] = true;
|
|
213
|
+
chart.properties.toolBar['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBar, facetKey);
|
|
214
|
+
const chartToolBar = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBar, facetKey, appSchema);
|
|
215
|
+
chartToolBar.properties.actions['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBarActions, facetKey);
|
|
216
|
+
const chartActions = handleChartActions(facet, facetKey, appSchema, entityType);
|
|
217
|
+
return { chart, chartActions };
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Adds definitions for Chart section in object page sections to the app schema
|
|
221
|
+
* @param {FacetConfig} facet - current facet.
|
|
222
|
+
* @param {string} facetKey - facet key.
|
|
223
|
+
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
224
|
+
* @param {object} sections - schema of current sections definition.
|
|
225
|
+
* @param {EntityType} entityType - current entity type
|
|
226
|
+
*/
|
|
227
|
+
function handleSectionChart(facet, facetKey, appSchema, sections, entityType = facet.entityType) {
|
|
228
|
+
if (sections) {
|
|
229
|
+
sections.properties[facetKey] = {
|
|
230
|
+
$ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionChart, facetKey)
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
const sectionChart = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionChart, facetKey, appSchema);
|
|
234
|
+
sectionChart[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(facet);
|
|
235
|
+
sectionChart.properties.chart['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageChart, facetKey);
|
|
236
|
+
const { chart, chartActions } = handleChart(facet.target || facet, facetKey, appSchema, entityType);
|
|
237
|
+
return { sectionChart, chart, chartActions };
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Adds definitions for presentation variants in object page sections to the app schema
|
|
241
|
+
* @param {FacetConfig} facet - the given facet from the UI annotations
|
|
242
|
+
* @param {string} facetKey - key of the facet, as used in annotation
|
|
243
|
+
* @param {Definition} appSchema - app schema in general
|
|
244
|
+
* @param {object} sections - schema of current sections definition.
|
|
245
|
+
* @param {GenerateSchemaParameters} generateParameters - list of API input parameters
|
|
246
|
+
* @param {SapUiAppPageV4} v4Page Current page in manifest
|
|
247
|
+
*/
|
|
248
|
+
function handleSectionPresentationVariant(facet, facetKey, appSchema, sections, generateParameters) {
|
|
249
|
+
var _a;
|
|
250
|
+
const facetTarget = facet.target.Visualizations
|
|
251
|
+
? (_a = facet.target.Visualizations[0]) === null || _a === void 0 ? void 0 : _a.$target : undefined;
|
|
252
|
+
if (facetTarget) {
|
|
253
|
+
const [namespace, target] = facet.target[v4_1.SchemaTag.fullyQualifiedName].split('@');
|
|
254
|
+
const visualizationKey = `@${facetTarget.fullyQualifiedName.split('@')[1]}`;
|
|
255
|
+
sections.properties[`${facetKey}<${visualizationKey}>`] = {
|
|
256
|
+
$ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionPresentationVariant, visualizationKey)
|
|
257
|
+
};
|
|
258
|
+
const sectionDefinition = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionPresentationVariant, visualizationKey, appSchema);
|
|
259
|
+
delete sectionDefinition.additionalProperties;
|
|
260
|
+
common_2.addTargetTitleAndSectionDescription(facet, sectionDefinition, facetKey);
|
|
261
|
+
sectionDefinition[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
|
|
262
|
+
sectionDefinition[v4_1.SchemaTag.isViewNode] = true;
|
|
263
|
+
const annotationPath = `/${namespace}/@${target}`;
|
|
264
|
+
const visualizationType = visualizationKey.split(v4_1.UIVOCABULARYDOT)[1];
|
|
265
|
+
if (visualizationType.startsWith('Chart')) {
|
|
266
|
+
sectionDefinition.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionChart, visualizationKey);
|
|
267
|
+
const { sectionChart, chart } = handleSectionChart(facetTarget, visualizationKey, appSchema, undefined, facet.entityType);
|
|
268
|
+
sectionChart[v4_1.SchemaTag.annotationPath] = annotationPath;
|
|
269
|
+
chart[v4_1.SchemaTag.annotationPath] = `/${namespace}/${visualizationKey}`;
|
|
270
|
+
}
|
|
271
|
+
else if (visualizationType.startsWith('LineItem')) {
|
|
272
|
+
sectionDefinition.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionTableV4, visualizationKey);
|
|
273
|
+
const { sectionTable, table } = handleSectionTable(facet, visualizationKey, appSchema, { target: facetTarget, entityType: facet.entityType }, generateParameters);
|
|
274
|
+
sectionTable[v4_1.SchemaTag.annotationPath] = annotationPath;
|
|
275
|
+
table[v4_1.SchemaTag.annotationPath] = `/${namespace}/${visualizationKey}`;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
141
278
|
}
|
|
142
279
|
/**
|
|
143
280
|
* Creates a section definition in app schema.
|
|
@@ -146,54 +283,54 @@ function handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefi
|
|
|
146
283
|
* @param {string} facetKey - facet key.
|
|
147
284
|
* @param {object} sections - schema of current sections definition.
|
|
148
285
|
* @param {object} appSchema - app specific schema that potentially gets enhanced.
|
|
149
|
-
* @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
|
|
150
286
|
* @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
|
|
151
287
|
* @param {SapUiAppPageV4} v4Page Current page in manifest
|
|
152
288
|
*/
|
|
153
289
|
function addSection(generateParameters, facets, facetKey, sections, appSchema, sectionPrefix, v4Page) {
|
|
154
290
|
const facet = facets[facetKey];
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
291
|
+
const facetDefinitionKey = `ObjectPage${sectionPrefix}${facet.base}<${common_2.getFacetKeyInSchema(facetKey)}>`;
|
|
292
|
+
switch (facet.base) {
|
|
293
|
+
case common_2.FacetBase.PresentationVariant: {
|
|
294
|
+
handleSectionPresentationVariant(facet, facetKey, appSchema, sections, generateParameters);
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
case common_2.FacetBase.CollectionFacet: {
|
|
298
|
+
handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page);
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
case common_2.FacetBase.LineItem: {
|
|
302
|
+
if (sectionPrefix === v4_1.SectionType.Section) {
|
|
303
|
+
const lineItemFacet = facets[facetKey];
|
|
304
|
+
handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, sections);
|
|
167
305
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
case common_2.FacetBase.Form:
|
|
309
|
+
case common_2.FacetBase.Identification: {
|
|
310
|
+
handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix);
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
case common_2.FacetBase.DataPoint: {
|
|
314
|
+
handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey);
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
case common_2.FacetBase.Chart: {
|
|
318
|
+
if (sectionPrefix === v4_1.SectionType.HeaderSection) {
|
|
319
|
+
handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey);
|
|
320
|
+
}
|
|
321
|
+
else if (sectionPrefix === v4_1.SectionType.Section) {
|
|
322
|
+
handleSectionChart(facet, facetKey, appSchema, sections);
|
|
323
|
+
}
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
case common_2.FacetBase.Address:
|
|
327
|
+
case common_2.FacetBase.Contact: {
|
|
328
|
+
common_2.handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix);
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
default: {
|
|
332
|
+
sections['properties'][facetKey] = common_2.createDefaultSection(appSchema, facet, facetKey);
|
|
172
333
|
}
|
|
173
|
-
}
|
|
174
|
-
else if (facet.base === 'LineItem' && sectionPrefix === v4_1.SectionType.Section) {
|
|
175
|
-
const tableDefinitionKey = `ObjectPage${sectionPrefix}TableV4<${facetKeyInSchema}>`;
|
|
176
|
-
//handle reference facet (if comprising line item)
|
|
177
|
-
sections['properties'][facetKey] = {
|
|
178
|
-
$ref: `${common_2.DEFINITION_LINK_PREFIX}${tableDefinitionKey}`
|
|
179
|
-
};
|
|
180
|
-
handleLineItem(facet, facetKeyInSchema, facets, appSchema, generateParameters.serviceAVT);
|
|
181
|
-
}
|
|
182
|
-
else if (facet.base === common_2.FacetBase.Form || facet.base === common_2.FacetBase.Identification) {
|
|
183
|
-
const formDefinitionKey = `ObjectPage${sectionPrefix}Form<${facetKeyInSchema}>`;
|
|
184
|
-
handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix, formDefinitionKey);
|
|
185
|
-
}
|
|
186
|
-
else if (facet.base === common_2.FacetBase.DataPoint ||
|
|
187
|
-
(facet.base === common_2.FacetBase.Chart && sectionPrefix === v4_1.SectionType.HeaderSection)) {
|
|
188
|
-
const facetDefinitionKey = `ObjectPage${sectionPrefix}${facet.base}<${facetKeyInSchema}>`;
|
|
189
|
-
handleChartAndDataPoint(facet, facetKey, sections, appSchema, facetDefinitionKey);
|
|
190
|
-
}
|
|
191
|
-
else if (facet.base === common_2.FacetBase.Address || facet.base === common_2.FacetBase.Contact) {
|
|
192
|
-
const facetDefinitionKey = `ObjectPage${sectionPrefix}${facet.base}<${facetKeyInSchema}>`;
|
|
193
|
-
handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix, facetDefinitionKey);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
sections['properties'][facetKey] = common_2.createSectionWithoutProperties(facet, facetKey);
|
|
197
334
|
}
|
|
198
335
|
}
|
|
199
336
|
/**
|
|
@@ -207,16 +344,16 @@ function addSections(generateParameters, appSchema, entityType, v4Page) {
|
|
|
207
344
|
// Get facet annotations
|
|
208
345
|
const facets = common_2.getObjectPageFacets(entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, common_1.FioriElementsVersion.v4, generateParameters.logger);
|
|
209
346
|
if (!facets) {
|
|
210
|
-
delete appSchema
|
|
347
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSubSections];
|
|
211
348
|
return;
|
|
212
349
|
}
|
|
213
|
-
const sections = appSchema
|
|
350
|
+
const sections = appSchema.definitions[v4_1.DefinitionName.Sections];
|
|
214
351
|
for (const facetKey in facets) {
|
|
215
352
|
addSection(generateParameters, facets, facetKey, sections, appSchema, v4_1.SectionType.Section, v4Page);
|
|
216
353
|
}
|
|
217
354
|
// Custom sections as part of sections
|
|
218
|
-
if (appSchema
|
|
219
|
-
sections.properties = Object.assign(Object.assign({}, sections.properties), appSchema
|
|
355
|
+
if (appSchema.definitions[v4_1.DefinitionName.CustomSections]) {
|
|
356
|
+
sections.properties = Object.assign(Object.assign({}, sections.properties), appSchema.definitions[v4_1.DefinitionName.CustomSections].properties);
|
|
220
357
|
}
|
|
221
358
|
}
|
|
222
359
|
/**
|
|
@@ -229,7 +366,7 @@ function addSections(generateParameters, appSchema, entityType, v4Page) {
|
|
|
229
366
|
function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
|
|
230
367
|
// Get facet annotations
|
|
231
368
|
const facets = common_2.getObjectPageHeaderFacets(entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, common_1.FioriElementsVersion.v4, generateParameters.logger);
|
|
232
|
-
const sections = appSchema
|
|
369
|
+
const sections = appSchema.definitions[v4_1.DefinitionName.HeaderSections];
|
|
233
370
|
sections.properties = {};
|
|
234
371
|
sections.additionalProperties = false;
|
|
235
372
|
if (!facets) {
|
|
@@ -239,11 +376,11 @@ function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
|
|
|
239
376
|
addSection(generateParameters, facets, facetKey, sections, appSchema, v4_1.SectionType.HeaderSection, v4Page);
|
|
240
377
|
}
|
|
241
378
|
//delete generic definitions
|
|
242
|
-
delete appSchema
|
|
243
|
-
delete appSchema
|
|
244
|
-
delete appSchema
|
|
245
|
-
delete appSchema
|
|
246
|
-
delete appSchema
|
|
379
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionForm];
|
|
380
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionChart];
|
|
381
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionDataPoint];
|
|
382
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionContact];
|
|
383
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionAddress];
|
|
247
384
|
}
|
|
248
385
|
/**
|
|
249
386
|
* Adds the related facets keys 'enum' to the app schema
|
|
@@ -279,7 +416,7 @@ function addRelatedFacetKeysType(generateParameters, schema, entityType, entityS
|
|
|
279
416
|
});
|
|
280
417
|
}
|
|
281
418
|
// Update schema definition
|
|
282
|
-
common_2.addDefinitionForRelatedFacetKeys(schema, [
|
|
419
|
+
common_2.addDefinitionForRelatedFacetKeys(schema, [v4_1.DefinitionName.ObjectPageCustomSectionFragment], facetSections, [
|
|
283
420
|
'ID',
|
|
284
421
|
'label',
|
|
285
422
|
'key'
|
|
@@ -299,7 +436,7 @@ function addHeader(generateParameters, appSchema, entityType, v4Page) {
|
|
|
299
436
|
// Add header actions
|
|
300
437
|
common_2.addHeaderActions(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, addHeaderActionCallBackV4);
|
|
301
438
|
// Add header sections
|
|
302
|
-
appSchema
|
|
439
|
+
appSchema.definitions[v4_1.DefinitionName.HeaderSections][v4_1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderFacets" /* HeaderFacets */}`;
|
|
303
440
|
addHeaderSections(generateParameters, appSchema, entityType, v4Page);
|
|
304
441
|
}
|
|
305
442
|
/**
|
|
@@ -315,8 +452,8 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
|
|
|
315
452
|
var _a, _b;
|
|
316
453
|
const appSchema = JSON.parse(JSON.stringify(genericSchema));
|
|
317
454
|
// Change reference to generated sections
|
|
318
|
-
appSchema
|
|
319
|
-
$ref: common_2.DEFINITION_LINK_PREFIX
|
|
455
|
+
appSchema.properties.sections = {
|
|
456
|
+
$ref: `${common_2.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.Sections}`
|
|
320
457
|
};
|
|
321
458
|
const entitySet = (_b = (_a = generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT) === null || _a === void 0 ? void 0 : _a.entitySets) === null || _b === void 0 ? void 0 : _b.find((es) => es.entityType.name === entityTypeName);
|
|
322
459
|
if (!entitySet) {
|
|
@@ -341,13 +478,13 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
|
|
|
341
478
|
return appSchema;
|
|
342
479
|
}
|
|
343
480
|
//initialize sections
|
|
344
|
-
appSchema
|
|
481
|
+
const sections = (appSchema.definitions[v4_1.DefinitionName.Sections] = {
|
|
345
482
|
type: 'object',
|
|
346
483
|
properties: {},
|
|
347
484
|
additionalProperties: false,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
485
|
+
description: v4_1.DefinitionName.Sections
|
|
486
|
+
});
|
|
487
|
+
sections[v4_1.SchemaTag.isViewNode] = true;
|
|
351
488
|
if (entitySet) {
|
|
352
489
|
const pages = generateParameters.manifest[common_1.ManifestSection.ui5].routing.targets;
|
|
353
490
|
if (!pages) {
|
|
@@ -368,7 +505,8 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
|
|
|
368
505
|
// Add Header
|
|
369
506
|
addHeader(generateParameters, appSchema, entityType, v4Page);
|
|
370
507
|
// Add sections
|
|
371
|
-
|
|
508
|
+
sections[v4_1.SchemaTag.isViewNode] = true;
|
|
509
|
+
sections[v4_1.SchemaTag.annotationPath] = `/${entitySet.entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
|
|
372
510
|
addSections(generateParameters, appSchema, entityType, v4Page);
|
|
373
511
|
// Custom Section facets
|
|
374
512
|
addRelatedFacetKeysType(generateParameters, appSchema, entityType, entitySet.name, pages);
|
|
@@ -376,20 +514,23 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
|
|
|
376
514
|
common_2.addFooterActions(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT);
|
|
377
515
|
}
|
|
378
516
|
// Delete generic definitions from schema
|
|
379
|
-
delete appSchema
|
|
380
|
-
delete appSchema
|
|
381
|
-
delete appSchema
|
|
382
|
-
delete appSchema
|
|
383
|
-
delete appSchema
|
|
384
|
-
delete appSchema
|
|
385
|
-
delete appSchema
|
|
386
|
-
delete appSchema
|
|
387
|
-
delete appSchema
|
|
388
|
-
delete appSchema
|
|
389
|
-
delete appSchema
|
|
390
|
-
delete appSchema
|
|
391
|
-
delete appSchema
|
|
392
|
-
delete appSchema
|
|
517
|
+
delete appSchema.definitions[v4_1.DefinitionName.CommonHeaderFacetSettings];
|
|
518
|
+
delete appSchema.definitions[v4_1.DefinitionName.GenericColumnsOP];
|
|
519
|
+
delete appSchema.definitions[v4_1.DefinitionName.GenericSections];
|
|
520
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageChart];
|
|
521
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionAddress];
|
|
522
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionChart];
|
|
523
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionContact];
|
|
524
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionDataPoint];
|
|
525
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionForm];
|
|
526
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionTableV4];
|
|
527
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionPresentationVariant];
|
|
528
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSubSections];
|
|
529
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageTable];
|
|
530
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBar];
|
|
531
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBarAction];
|
|
532
|
+
delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBarActions];
|
|
533
|
+
delete appSchema.definitions[v4_1.DefinitionName.QuickVariantSelectionV4OP];
|
|
393
534
|
return appSchema;
|
|
394
535
|
}
|
|
395
536
|
exports.generateObjectPageSchemaV4 = generateObjectPageSchemaV4;
|