@sap/ux-specification 1.84.36 → 1.84.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +28 -2
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  3. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  4. package/dist/documentation/v2/v2-ListReport.html +1 -1
  5. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  6. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  7. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  8. package/dist/documentation/v4/v4-ListReport.html +1 -1
  9. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  10. package/dist/index-min.js +1 -1
  11. package/dist/schemas/v2/AnalyticalListPageConfig.json +9 -5
  12. package/dist/schemas/v2/ListReportConfig.json +11 -7
  13. package/dist/schemas/v2/ObjectPageConfig.json +11 -7
  14. package/dist/schemas/v4/ListReportConfig.json +22 -2
  15. package/dist/schemas/v4/ObjectPageConfig.json +36 -0
  16. package/dist/specification/v2/index-min.js +1 -1
  17. package/dist/src/apiTypes.d.ts +2 -1
  18. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +2 -3
  19. package/dist/src/specification/v2/controls/Table.d.ts +5 -2
  20. package/dist/src/specification/v2/controls/Table.js +5 -0
  21. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  22. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +22 -1
  23. package/dist/src/specification/v4/controls/ObjectPageSection.js.map +1 -1
  24. package/dist/src/specification/v4/controls/Table.d.ts +4 -0
  25. package/dist/src/sync/common/decoration/control.js +26 -21
  26. package/dist/src/sync/common/decoration/control.js.map +1 -1
  27. package/dist/src/sync/common/generate/objectPage.js +7 -7
  28. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  29. package/dist/src/sync/common/generate/utils.d.ts +39 -8
  30. package/dist/src/sync/common/generate/utils.js +89 -20
  31. package/dist/src/sync/common/generate/utils.js.map +1 -1
  32. package/dist/src/sync/common/importProject.js +20 -19
  33. package/dist/src/sync/common/importProject.js.map +1 -1
  34. package/dist/src/sync/common/types.d.ts +57 -8
  35. package/dist/src/sync/common/types.js +52 -4
  36. package/dist/src/sync/common/types.js.map +1 -1
  37. package/dist/src/sync/common/utils.d.ts +16 -11
  38. package/dist/src/sync/common/utils.js +87 -52
  39. package/dist/src/sync/common/utils.js.map +1 -1
  40. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +1 -1
  41. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -1
  42. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +2 -3
  43. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  44. package/dist/src/sync/v2/export/controls/Table.d.ts +3 -3
  45. package/dist/src/sync/v2/export/controls/Table.js +89 -48
  46. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  47. package/dist/src/sync/v2/export/export.d.ts +0 -1
  48. package/dist/src/sync/v2/export/export.js +219 -157
  49. package/dist/src/sync/v2/export/export.js.map +1 -1
  50. package/dist/src/sync/v2/export/exportPage.js +2 -1
  51. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  52. package/dist/src/sync/v2/export/manifest.d.ts +6 -0
  53. package/dist/src/sync/v2/export/manifest.js +50 -35
  54. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  55. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +1 -1
  56. package/dist/src/sync/v2/export/pages/OverviewPage.js +18 -16
  57. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  58. package/dist/src/sync/v2/generate/analyticalListReport.js +3 -3
  59. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  60. package/dist/src/sync/v2/generate/objectPage.js +33 -32
  61. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  62. package/dist/src/sync/v2/generate/utils.d.ts +5 -4
  63. package/dist/src/sync/v2/generate/utils.js +93 -90
  64. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  65. package/dist/src/sync/v2/import/app/appProvider.d.ts +9 -0
  66. package/dist/src/sync/v2/import/app/appProvider.js +36 -13
  67. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -1
  68. package/dist/src/sync/v2/import/app/ovpProvider.js +1 -1
  69. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -1
  70. package/dist/src/sync/v2/import/common/index.js +5 -5
  71. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  72. package/dist/src/sync/v2/import/pages/objectPage.js +31 -34
  73. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  74. package/dist/src/sync/v4/application.d.ts +22 -10
  75. package/dist/src/sync/v4/application.js +67 -18
  76. package/dist/src/sync/v4/application.js.map +1 -1
  77. package/dist/src/sync/v4/export/controls/Table.d.ts +4 -0
  78. package/dist/src/sync/v4/export/controls/Table.js +78 -43
  79. package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
  80. package/dist/src/sync/v4/export/controls/TableColumn.js +4 -4
  81. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  82. package/dist/src/sync/v4/export/export.js +300 -170
  83. package/dist/src/sync/v4/export/export.js.map +1 -1
  84. package/dist/src/sync/v4/export/pages/ObjectPage.js +3 -2
  85. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -1
  86. package/dist/src/sync/v4/export/types.d.ts +5 -5
  87. package/dist/src/sync/v4/generate/listReport.js +114 -70
  88. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  89. package/dist/src/sync/v4/generate/objectPage.d.ts +1 -1
  90. package/dist/src/sync/v4/generate/objectPage.js +302 -143
  91. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  92. package/dist/src/sync/v4/import/app/appProvider.js +32 -22
  93. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  94. package/dist/src/sync/v4/import/pages/objectPage.d.ts +13 -0
  95. package/dist/src/sync/v4/import/pages/objectPage.js +64 -35
  96. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  97. package/dist/src/sync/v4/import/utils.d.ts +2 -1
  98. package/dist/src/sync/v4/import/utils.js.map +1 -1
  99. package/dist/src/sync/v4/types.d.ts +2 -0
  100. package/dist/src/sync/v4/utils/StableIdHelper.js +13 -10
  101. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  102. package/dist/src/sync/v4/utils/utils.d.ts +4 -3
  103. package/dist/src/sync/v4/utils/utils.js +20 -20
  104. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  105. 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 {object} appSchema Schema of the app
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,274 @@ 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
- appSchema['definitions'][actionDefinitionKey] = {
30
- isViewNode: true,
27
+ const actionDefinitionKey = `HeaderAction<${common_2.prepareRef(actionId)}>`;
28
+ const headerAction = (appSchema.definitions[actionDefinitionKey] = {
31
29
  type: 'object',
32
30
  properties: {},
33
- description: description,
34
- annotationPath: `/${convertedIdentification}/${index}`
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.createSectionWithoutProperties(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 facetIdInSchema - key of the facet, as used in schema
46
- * @param facets - list of all facets
47
- * @param appSchema - app schema in general
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
49
75
  */
50
- function handleLineItem(facet, facetIdInSchema, facets, appSchema, oDataServiceAVT) {
51
- let navigationProperty = '', annotation = '';
52
- [navigationProperty, annotation] = facetIdInSchema.split('::');
53
- const schemaIdForOpSection = `ObjectPageSectionTableV4<${facetIdInSchema}>`;
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]));
76
+ function handleLineItem(facet, facetKey, appSchema, lineItemFacet, oDataServiceAVT) {
77
+ const lineItemId = common_2.getFacetKeyInSchema(facetKey);
78
+ const annotation = lineItemId.split('::')[1];
79
+ const tableDefinition = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageTable, facetKey, appSchema);
63
80
  if (facet.entityType && annotation) {
64
- appSchema['definitions'][idForTable].annotationPath = `/${facet.entityType.fullyQualifiedName}/${annotation}`;
81
+ tableDefinition[v4_1.SchemaTag.annotationPath] = `/${facet.entityType.fullyQualifiedName}/${annotation}`;
65
82
  }
66
- appSchema['definitions'][idForTable].properties['columns'] = {
67
- $ref: common_2.DEFINITION_LINK_PREFIX + facetIdInSchema
83
+ tableDefinition.properties.columns = {
84
+ $ref: `${common_2.DEFINITION_LINK_PREFIX}${lineItemId}`
68
85
  };
69
- appSchema['definitions'][idForTable].properties['toolBar'].$ref = `${common_2.DEFINITION_LINK_PREFIX}ObjectPageToolBar<${facetIdInSchema}>`;
86
+ tableDefinition.properties.toolBar.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBar, facetKey);
70
87
  //adjust quickVariantSelection
71
- appSchema['definitions'][idForTable].properties['quickVariantSelection'].$ref = `${common_2.DEFINITION_LINK_PREFIX}QuickVariantSelectionV4OP<${facetIdInSchema}>`;
72
- appSchema['definitions'][`QuickVariantSelectionV4OP<${facetIdInSchema}>`] = JSON.parse(JSON.stringify(appSchema['definitions']['QuickVariantSelectionV4OP']));
73
- appSchema['definitions'][`AnnotationPathAsObject<${facetIdInSchema}>`] = JSON.parse(JSON.stringify(appSchema['definitions'][v4_1.DefinitionName.AnnotationPathAsObject]));
74
- appSchema['definitions'][`QuickVariantSelectionV4OP<${facetIdInSchema}>`].properties.paths.items.$ref = `${common_2.DEFINITION_LINK_PREFIX}AnnotationPathAsObject<${facetIdInSchema}>`;
75
- common_2.addEnumForSingleTabVariant(facet.entityType, appSchema, `AnnotationPathAsObject<${facetIdInSchema}>`);
76
- for (const facetKey in facets) {
77
- if (facets[facetKey].base === common_2.FacetBase.LineItem && facetKey.includes(navigationProperty)) {
78
- utils_1.addLineItemsType(appSchema, facets[facetKey].target, facets[facetKey].entityType, oDataServiceAVT, facetIdInSchema, v4_1.DefinitionName.ObjectPageTableColumn);
79
- }
88
+ tableDefinition.properties.quickVariantSelection.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.QuickVariantSelectionV4OP, facetKey);
89
+ const tableQVS = common_2.parseSchemaDefinition(v4_1.DefinitionName.QuickVariantSelectionV4OP, facetKey, appSchema);
90
+ tableQVS.properties.paths['items'].$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.AnnotationPathAsObject, facetKey);
91
+ common_2.parseSchemaDefinition(v4_1.DefinitionName.AnnotationPathAsObject, facetKey, appSchema);
92
+ common_2.addEnumForSingleTabVariant(facet.entityType, appSchema, `${v4_1.DefinitionName.AnnotationPathAsObject}<${lineItemId}>`);
93
+ utils_1.addLineItemsType(appSchema, lineItemFacet['target'], lineItemFacet['entityType'], oDataServiceAVT, lineItemId, v4_1.DefinitionName.ObjectPageTableColumn);
94
+ return tableDefinition;
95
+ }
96
+ /**
97
+ * Adds definitions for table section in object page sections to the app schema
98
+ * @param {FacetConfig} facet - current facet.
99
+ * @param {string} facetKey - facet key.
100
+ * @param {Definition} appSchema - app specific schema that potentially gets enhanced.
101
+ * @param {object} lineItemFacet - current lineItem facet
102
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
103
+ * @param {SapUiAppPageV4} v4Page Current page in manifest
104
+ * @param {Definition} sections - schema of current sections definition.
105
+ * @returns {object} sectionTable - section of app schema containing added table section
106
+ */
107
+ function handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, sections) {
108
+ if (sections) {
109
+ sections.properties[facetKey] = {
110
+ $ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionTableV4, facetKey)
111
+ };
80
112
  }
113
+ const sectionTable = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionTableV4, facetKey, appSchema);
114
+ common_2.addSectionTitleAndDescription(facet, sectionTable, common_2.getFacetKeyInSchema(facetKey));
115
+ sectionTable[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
116
+ sectionTable.properties.table['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageTable, facetKey);
117
+ const table = handleLineItem(facet, facetKey, appSchema, lineItemFacet, generateParameters.serviceAVT);
118
+ return { sectionTable, table };
81
119
  }
82
120
  /**
83
121
  * Adds definitions for Identification and Form facet items in object page sections to the app schema
84
- * @param {FacetConfigs} facet - current facet.
122
+ * @param {FacetConfig} facet - current facet.
85
123
  * @param {string} facetKey - facet key.
86
124
  * @param {object} sections - schema of current sections definition.
87
125
  * @param {object} appSchema - app specific schema that potentially gets enhanced.
88
126
  * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
89
- * @param {SectionType} formDefinitionKey - key to identify new definition
90
127
  */
91
- function handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix, formDefinitionKey) {
128
+ function handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix) {
129
+ let definitionType;
130
+ if (sectionPrefix === v4_1.SectionType.Section) {
131
+ definitionType = v4_1.DefinitionName.ObjectPageSectionForm;
132
+ }
133
+ else if (sectionPrefix === v4_1.SectionType.HeaderSection) {
134
+ definitionType = v4_1.DefinitionName.ObjectPageHeaderSectionForm;
135
+ }
92
136
  sections['properties'][facetKey] = {
93
- $ref: `${common_2.DEFINITION_LINK_PREFIX}${formDefinitionKey}`
137
+ $ref: common_2.getFacetDefinitionLink(definitionType, facetKey)
94
138
  };
95
- appSchema['definitions'][formDefinitionKey] = JSON.parse(JSON.stringify(appSchema['definitions'][`ObjectPage${sectionPrefix}Form`]));
139
+ const formSection = common_2.parseSchemaDefinition(definitionType, facetKey, appSchema);
96
140
  if (!facet.ID) {
97
- appSchema['definitions'][formDefinitionKey]['properties'] = {};
141
+ formSection.properties = {};
98
142
  }
99
- common_2.addSectionTitleAndDescription(facet, appSchema['definitions'][formDefinitionKey], facetKey);
100
- appSchema['definitions'][formDefinitionKey][v4_1.SchemaTag.annotationPath] = facet.annotationPath;
101
- appSchema['definitions'][formDefinitionKey][v4_1.SchemaTag.isViewNode] = true;
143
+ common_2.addSectionTitleAndDescription(facet, formSection, facetKey);
144
+ formSection[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
145
+ formSection[v4_1.SchemaTag.isViewNode] = true;
102
146
  const withActions = facet.base === common_2.FacetBase.Identification && facetKey.indexOf('#') < 0 ? false : true;
103
- common_2.handleForm(sectionPrefix, facet, appSchema['definitions'][formDefinitionKey], appSchema, common_1.FioriElementsVersion.v4, withActions);
147
+ common_2.handleForm(sectionPrefix, facet, formSection, appSchema, common_1.FioriElementsVersion.v4, withActions);
104
148
  }
105
149
  /**
106
- * Adds definitions for DataPoint items in object page sections to the app schema
107
- * @param {FacetConfigs} facet - current facet.
150
+ * Adds definitions for header sections (DataPoint, Chart) in object page sections to the app schema
151
+ * @param {FacetConfig} facet - current facet.
108
152
  * @param {string} facetKey - facet key.
109
153
  * @param {object} sections - schema of current sections definition.
110
154
  * @param {object} appSchema - app specific schema that potentially gets enhanced.
111
- * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
112
155
  * @param {SectionType} facetDefinitionKey - key to identify new definition
113
156
  */
114
- function handleChartAndDataPoint(facet, facetKey, sections, appSchema, facetDefinitionKey) {
157
+ function handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey) {
115
158
  sections['properties'][facetKey] = {
116
159
  $ref: `${common_2.DEFINITION_LINK_PREFIX}${facetDefinitionKey}`
117
160
  };
118
- appSchema['definitions'][facetDefinitionKey] = JSON.parse(JSON.stringify(appSchema['definitions'][`CommonHeaderFacetSettings`]));
119
- common_2.addTargetTitleAndSectionDescription(facet, appSchema['definitions'][facetDefinitionKey], facetKey);
120
- appSchema['definitions'][facetDefinitionKey][v4_1.SchemaTag.annotationPath] = facet.annotationPath;
121
- appSchema['definitions'][facetDefinitionKey][v4_1.SchemaTag.dataType] = common_2.determineDataTypeOfTarget(facet === null || facet === void 0 ? void 0 : facet.target);
122
- appSchema['definitions'][facetDefinitionKey][v4_1.SchemaTag.isViewNode] = true;
161
+ const sectionFacet = common_2.parseSchemaDefinition(v4_1.DefinitionName.CommonHeaderFacetSettings, facetDefinitionKey, appSchema, false);
162
+ common_2.addTargetTitleAndSectionDescription(facet, sectionFacet, facetKey);
163
+ sectionFacet[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
164
+ sectionFacet[v4_1.SchemaTag.dataType] = common_2.determineDataTypeOfTarget(facet === null || facet === void 0 ? void 0 : facet.target);
165
+ sectionFacet[v4_1.SchemaTag.isViewNode] = true;
166
+ }
167
+ /**
168
+ * Adds definitions for Chart items in object page sections to the app schema
169
+ * @param {FacetConfig | Chart | object} facet - current facet.
170
+ * @param {string} facetKey - facet key.
171
+ * @param {object} appSchema - app specific schema that potentially gets enhanced.
172
+ * @param {EntityType} entityType - current entity type
173
+ */
174
+ function handleChartActions(facet, facetKey, appSchema, entityType) {
175
+ const actions = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBarActions, facetKey, appSchema);
176
+ actions.additionalProperties = false;
177
+ actions.properties = {};
178
+ if (facet.Actions) {
179
+ let i = 0;
180
+ facet.Actions.forEach((actionRecord) => {
181
+ const description = common_2.getDataFieldDescription(actionRecord, entityType);
182
+ const prefix = actionRecord.$Type.split(v4_1.UIVOCABULARYDOT)[1];
183
+ const actionId = actionRecord.Action.replace('/', '??');
184
+ const toolBarActionsProperty = (actions.properties[`${prefix}::${actionRecord.Action}`] = {
185
+ $ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBarAction, actionId),
186
+ description
187
+ });
188
+ toolBarActionsProperty[v4_1.SchemaTag.propertyIndex] = i;
189
+ toolBarActionsProperty[v4_1.SchemaTag.annotationType] = actionRecord.$Type;
190
+ const toolBarAction = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBarAction, common_2.prepareRef(actionId), appSchema);
191
+ toolBarAction[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(actionRecord);
192
+ toolBarAction[v4_1.SchemaTag.dataType] = common_2.determineDataType(actionRecord);
193
+ toolBarAction.properties = {};
194
+ i++;
195
+ });
196
+ }
197
+ return actions;
198
+ }
199
+ /**
200
+ * Adds definitions for Chart items in object page sections to the app schema
201
+ * @param {FacetConfig | Chart | object} facet - current facet.
202
+ * @param {string} facetKey - facet key.
203
+ * @param {object} appSchema - app specific schema that potentially gets enhanced.
204
+ * @param {EntityType} entityType - current entity type
205
+ */
206
+ function handleChart(facet, facetKey, appSchema, entityType) {
207
+ const chart = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageChart, facetKey, appSchema);
208
+ chart[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(facet);
209
+ chart[v4_1.SchemaTag.dataType] = common_2.determineDataTypeOfTarget(facet.target || facet);
210
+ chart[v4_1.SchemaTag.isViewNode] = true;
211
+ chart.properties.toolBar['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBar, facetKey);
212
+ const chartToolBar = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageToolBar, facetKey, appSchema);
213
+ chartToolBar.properties.actions['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageToolBarActions, facetKey);
214
+ const chartActions = handleChartActions(facet, facetKey, appSchema, entityType);
215
+ return { chart, chartActions };
216
+ }
217
+ /**
218
+ * Adds definitions for Chart section in object page sections to the app schema
219
+ * @param {FacetConfig} facet - current facet.
220
+ * @param {string} facetKey - facet key.
221
+ * @param {object} appSchema - app specific schema that potentially gets enhanced.
222
+ * @param {object} sections - schema of current sections definition.
223
+ * @param {EntityType} entityType - current entity type
224
+ */
225
+ function handleSectionChart(facet, facetKey, appSchema, sections, entityType = facet.entityType) {
226
+ if (sections) {
227
+ sections.properties[facetKey] = {
228
+ $ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionChart, facetKey)
229
+ };
230
+ }
231
+ const sectionChart = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionChart, facetKey, appSchema);
232
+ sectionChart[v4_1.SchemaTag.annotationPath] = common_2.getFacetAnnotationPath(facet);
233
+ sectionChart.properties.chart['$ref'] = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageChart, facetKey);
234
+ const { chart, chartActions } = handleChart(facet.target || facet, facetKey, appSchema, entityType);
235
+ return { sectionChart, chart, chartActions };
236
+ }
237
+ /**
238
+ * Adds definitions for presentation variants in object page sections to the app schema
239
+ * @param {FacetConfig} facet - the given facet from the UI annotations
240
+ * @param {string} facetKey - key of the facet, as used in annotation
241
+ * @param {Definition} appSchema - app schema in general
242
+ * @param {object} sections - schema of current sections definition.
243
+ * @param {GenerateSchemaParameters} generateParameters - list of API input parameters
244
+ * @param {SapUiAppPageV4} v4Page Current page in manifest
245
+ */
246
+ function handleSectionPresentationVariant(facet, facetKey, appSchema, sections, generateParameters) {
247
+ var _a;
248
+ const facetTarget = facet.target.Visualizations
249
+ ? (_a = facet.target.Visualizations[0]) === null || _a === void 0 ? void 0 : _a.$target : undefined;
250
+ if (facetTarget) {
251
+ const [namespace, target] = facet.target[v4_1.SchemaTag.fullyQualifiedName].split('@');
252
+ const visualizationKey = `@${facetTarget.fullyQualifiedName.split('@')[1]}`;
253
+ sections.properties[`${facetKey}<${visualizationKey}>`] = {
254
+ $ref: common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionPresentationVariant, visualizationKey)
255
+ };
256
+ const sectionDefinition = common_2.parseSchemaDefinition(v4_1.DefinitionName.ObjectPageSectionPresentationVariant, visualizationKey, appSchema);
257
+ delete sectionDefinition.additionalProperties;
258
+ common_2.addTargetTitleAndSectionDescription(facet, sectionDefinition, facetKey);
259
+ sectionDefinition[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
260
+ sectionDefinition[v4_1.SchemaTag.isViewNode] = true;
261
+ const annotationPath = `/${namespace}/@${target}`;
262
+ const visualizationType = visualizationKey.split(v4_1.UIVOCABULARYDOT)[1];
263
+ if (visualizationType.startsWith('Chart')) {
264
+ sectionDefinition.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionChart, visualizationKey);
265
+ const { sectionChart, chart } = handleSectionChart(facetTarget, visualizationKey, appSchema, undefined, facet.entityType);
266
+ sectionChart[v4_1.SchemaTag.annotationPath] = annotationPath;
267
+ chart[v4_1.SchemaTag.annotationPath] = `/${namespace}/${visualizationKey}`;
268
+ }
269
+ else if (visualizationType.startsWith('LineItem')) {
270
+ sectionDefinition.$ref = common_2.getFacetDefinitionLink(v4_1.DefinitionName.ObjectPageSectionTableV4, visualizationKey);
271
+ const { sectionTable, table } = handleSectionTable(facet, visualizationKey, appSchema, { target: facetTarget, entityType: facet.entityType }, generateParameters);
272
+ sectionTable[v4_1.SchemaTag.annotationPath] = annotationPath;
273
+ table[v4_1.SchemaTag.annotationPath] = `/${namespace}/${visualizationKey}`;
274
+ }
275
+ }
123
276
  }
124
277
  /**
125
278
  * Adds definitions for Address and Contact items in object page sections to the app schema
126
- * @param {FacetConfigs} facet - current facet.
279
+ * @param {FacetConfig} facet - current facet.
127
280
  * @param {string} facetKey - facet key.
128
281
  * @param {object} sections - schema of current sections definition.
129
282
  * @param {object} appSchema - app specific schema that potentially gets enhanced.
130
283
  * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
131
- * @param {SectionType} facetDefinitionKey - key to identify new definition
132
284
  */
133
- function handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix, facetDefinitionKey) {
134
- sections['properties'][facetKey] = {
135
- $ref: `${common_2.DEFINITION_LINK_PREFIX}${facetDefinitionKey}`
285
+ function handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix) {
286
+ const definitionName = `ObjectPage${sectionPrefix}${facet.base}`;
287
+ sections.properties[facetKey] = {
288
+ $ref: common_2.getFacetDefinitionLink(definitionName, facetKey)
136
289
  };
137
- appSchema['definitions'][facetDefinitionKey] = JSON.parse(JSON.stringify(appSchema['definitions'][`ObjectPage${sectionPrefix}${facet.base}`]));
138
- common_2.addSectionTitleAndDescription(facet, appSchema['definitions'][facetDefinitionKey], facetKey);
139
- appSchema['definitions'][facetDefinitionKey][v4_1.SchemaTag.annotationPath] = facet.annotationPath;
140
- appSchema['definitions'][facetDefinitionKey][v4_1.SchemaTag.isViewNode] = true;
290
+ const definition = common_2.parseSchemaDefinition(definitionName, facetKey, appSchema);
291
+ common_2.addSectionTitleAndDescription(facet, definition, facetKey);
292
+ definition[v4_1.SchemaTag.annotationPath] = facet.annotationPath;
293
+ definition[v4_1.SchemaTag.isViewNode] = true;
141
294
  }
142
295
  /**
143
296
  * Creates a section definition in app schema.
@@ -146,54 +299,56 @@ function handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefi
146
299
  * @param {string} facetKey - facet key.
147
300
  * @param {object} sections - schema of current sections definition.
148
301
  * @param {object} appSchema - app specific schema that potentially gets enhanced.
149
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
150
302
  * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
151
303
  * @param {SapUiAppPageV4} v4Page Current page in manifest
152
304
  */
153
305
  function addSection(generateParameters, facets, facetKey, sections, appSchema, sectionPrefix, v4Page) {
154
306
  const facet = facets[facetKey];
155
- const facetKeyInSchema = facetKey.replace('#', '::');
156
- if (facet.base === 'CollectionFacet') {
157
- //handle collection facets
158
- sections['properties'][facetKey] = common_2.createSectionWithoutProperties(facet, facetKey);
159
- sections['properties'][facetKey].properties = {
160
- subsections: {
161
- additionalProperties: false,
162
- type: 'object',
163
- properties: {},
164
- annotationPath: facet.annotationPath,
165
- isViewNode: true,
166
- description: 'Subsections'
307
+ const facetDefinitionKey = `ObjectPage${sectionPrefix}${facet.base}<${common_2.getFacetKeyInSchema(facetKey)}>`;
308
+ switch (facet.base) {
309
+ case common_2.FacetBase.PresentationVariant: {
310
+ handleSectionPresentationVariant(facet, facetKey, appSchema, sections, generateParameters);
311
+ break;
312
+ }
313
+ case common_2.FacetBase.CollectionFacet: {
314
+ handleCollection(facet, facetKey, appSchema, sections, sectionPrefix, generateParameters, v4Page);
315
+ break;
316
+ }
317
+ case common_2.FacetBase.LineItem: {
318
+ if (sectionPrefix === v4_1.SectionType.Section) {
319
+ const lineItemFacet = facets[facetKey];
320
+ handleSectionTable(facet, facetKey, appSchema, lineItemFacet, generateParameters, sections);
321
+ break;
167
322
  }
168
- };
169
- const subSections = sections['properties'][facetKey].properties.subsections;
170
- for (const key in facet['facets']) {
171
- addSection(generateParameters, facet['facets'], key, subSections, appSchema, sectionPrefix, v4Page);
323
+ /* tslint:disable:no-fallthrough */
324
+ // fall through
325
+ }
326
+ case common_2.FacetBase.Form:
327
+ case common_2.FacetBase.Identification: {
328
+ handleFormIdentification(facet, facetKey, sections, appSchema, sectionPrefix);
329
+ break;
330
+ }
331
+ case common_2.FacetBase.DataPoint: {
332
+ handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey);
333
+ break;
334
+ }
335
+ case common_2.FacetBase.Chart: {
336
+ if (sectionPrefix === v4_1.SectionType.HeaderSection) {
337
+ handleHeaderFacet(facet, facetKey, sections, appSchema, facetDefinitionKey);
338
+ }
339
+ else if (sectionPrefix === v4_1.SectionType.Section) {
340
+ handleSectionChart(facet, facetKey, appSchema, sections);
341
+ }
342
+ break;
343
+ }
344
+ case common_2.FacetBase.Address:
345
+ case common_2.FacetBase.Contact: {
346
+ handleAddressContact(facet, facetKey, sections, appSchema, sectionPrefix);
347
+ break;
348
+ }
349
+ default: {
350
+ sections['properties'][facetKey] = common_2.createSectionWithoutProperties(facet, facetKey);
172
351
  }
173
- }
174
- else if (facet.base === common_2.FacetBase.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
352
  }
198
353
  }
199
354
  /**
@@ -207,16 +362,16 @@ function addSections(generateParameters, appSchema, entityType, v4Page) {
207
362
  // Get facet annotations
208
363
  const facets = common_2.getObjectPageFacets(entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, common_1.FioriElementsVersion.v4, generateParameters.logger);
209
364
  if (!facets) {
210
- delete appSchema['definitions']['ObjectPageSubSections'];
365
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSubSections];
211
366
  return;
212
367
  }
213
- const sections = appSchema['definitions']['Sections'];
368
+ const sections = appSchema.definitions[v4_1.DefinitionName.Sections];
214
369
  for (const facetKey in facets) {
215
370
  addSection(generateParameters, facets, facetKey, sections, appSchema, v4_1.SectionType.Section, v4Page);
216
371
  }
217
372
  // Custom sections as part of sections
218
- if (appSchema['definitions']['CustomSections']) {
219
- sections.properties = Object.assign(Object.assign({}, sections.properties), appSchema['definitions']['CustomSections'].properties);
373
+ if (appSchema.definitions[v4_1.DefinitionName.CustomSections]) {
374
+ sections.properties = Object.assign(Object.assign({}, sections.properties), appSchema.definitions[v4_1.DefinitionName.CustomSections].properties);
220
375
  }
221
376
  }
222
377
  /**
@@ -229,7 +384,7 @@ function addSections(generateParameters, appSchema, entityType, v4Page) {
229
384
  function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
230
385
  // Get facet annotations
231
386
  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['definitions']['HeaderSections'];
387
+ const sections = appSchema.definitions[v4_1.DefinitionName.HeaderSections];
233
388
  sections.properties = {};
234
389
  sections.additionalProperties = false;
235
390
  if (!facets) {
@@ -239,11 +394,11 @@ function addHeaderSections(generateParameters, appSchema, entityType, v4Page) {
239
394
  addSection(generateParameters, facets, facetKey, sections, appSchema, v4_1.SectionType.HeaderSection, v4Page);
240
395
  }
241
396
  //delete generic definitions
242
- delete appSchema['definitions']['ObjectPageHeaderSectionForm'];
243
- delete appSchema['definitions']['ObjectPageHeaderSectionChart'];
244
- delete appSchema['definitions']['ObjectPageHeaderSectionDataPoint'];
245
- delete appSchema['definitions']['ObjectPageHeaderSectionContact'];
246
- delete appSchema['definitions']['ObjectPageHeaderSectionAddress'];
397
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionForm];
398
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionChart];
399
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionDataPoint];
400
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionContact];
401
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageHeaderSectionAddress];
247
402
  }
248
403
  /**
249
404
  * Adds the related facets keys 'enum' to the app schema
@@ -279,7 +434,7 @@ function addRelatedFacetKeysType(generateParameters, schema, entityType, entityS
279
434
  });
280
435
  }
281
436
  // Update schema definition
282
- common_2.addDefinitionForRelatedFacetKeys(schema, ['ObjectPageCustomSectionFragment'], facetSections, [
437
+ common_2.addDefinitionForRelatedFacetKeys(schema, [v4_1.DefinitionName.ObjectPageCustomSectionFragment], facetSections, [
283
438
  'ID',
284
439
  'label',
285
440
  'key'
@@ -299,7 +454,7 @@ function addHeader(generateParameters, appSchema, entityType, v4Page) {
299
454
  // Add header actions
300
455
  common_2.addHeaderActions(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT, addHeaderActionCallBackV4);
301
456
  // Add header sections
302
- appSchema['definitions']['HeaderSections'][v4_1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderFacets" /* HeaderFacets */}`;
457
+ appSchema.definitions[v4_1.DefinitionName.HeaderSections][v4_1.SchemaTag.annotationPath] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderFacets" /* HeaderFacets */}`;
303
458
  addHeaderSections(generateParameters, appSchema, entityType, v4Page);
304
459
  }
305
460
  /**
@@ -315,8 +470,8 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
315
470
  var _a, _b;
316
471
  const appSchema = JSON.parse(JSON.stringify(genericSchema));
317
472
  // Change reference to generated sections
318
- appSchema['properties']['sections'] = {
319
- $ref: common_2.DEFINITION_LINK_PREFIX + 'Sections'
473
+ appSchema.properties.sections = {
474
+ $ref: `${common_2.DEFINITION_LINK_PREFIX}${v4_1.DefinitionName.Sections}`
320
475
  };
321
476
  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
477
  if (!entitySet) {
@@ -341,13 +496,13 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
341
496
  return appSchema;
342
497
  }
343
498
  //initialize sections
344
- appSchema['definitions']['Sections'] = {
499
+ const sections = (appSchema.definitions[v4_1.DefinitionName.Sections] = {
345
500
  type: 'object',
346
501
  properties: {},
347
502
  additionalProperties: false,
348
- isViewNode: true,
349
- description: 'Sections'
350
- };
503
+ description: v4_1.DefinitionName.Sections
504
+ });
505
+ sections[v4_1.SchemaTag.isViewNode] = true;
351
506
  if (entitySet) {
352
507
  const pages = generateParameters.manifest[common_1.ManifestSection.ui5].routing.targets;
353
508
  if (!pages) {
@@ -368,7 +523,8 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
368
523
  // Add Header
369
524
  addHeader(generateParameters, appSchema, entityType, v4Page);
370
525
  // Add sections
371
- appSchema['definitions']['Sections'][v4_1.SchemaTag.annotationPath] = `/${entitySet.entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
526
+ sections[v4_1.SchemaTag.isViewNode] = true;
527
+ sections[v4_1.SchemaTag.annotationPath] = `/${entitySet.entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
372
528
  addSections(generateParameters, appSchema, entityType, v4Page);
373
529
  // Custom Section facets
374
530
  addRelatedFacetKeysType(generateParameters, appSchema, entityType, entitySet.name, pages);
@@ -376,20 +532,23 @@ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTyp
376
532
  common_2.addFooterActions(appSchema, entityType, generateParameters === null || generateParameters === void 0 ? void 0 : generateParameters.serviceAVT);
377
533
  }
378
534
  // Delete generic definitions from schema
379
- delete appSchema['definitions']['GenericSections'];
380
- delete appSchema['definitions']['ObjectPageSubSections'];
381
- delete appSchema['definitions']['ObjectPageTable'];
382
- delete appSchema['definitions']['GenericColumnsOP'];
383
- delete appSchema['definitions']['CommonHeaderFacetSettings'];
384
- delete appSchema['definitions']['ObjectPageSectionTableV4'];
385
- delete appSchema['definitions']['ObjectPageSectionForm'];
386
- delete appSchema['definitions']['ObjectPageSectionDataPoint'];
387
- delete appSchema['definitions']['ObjectPageSectionAddress'];
388
- delete appSchema['definitions']['ObjectPageSectionContact'];
389
- delete appSchema['definitions']['ObjectPageToolBar'];
390
- delete appSchema['definitions']['ObjectPageToolBarActions'];
391
- delete appSchema['definitions']['ObjectPageToolBarAction'];
392
- delete appSchema['definitions']['QuickVariantSelectionV4OP'];
535
+ delete appSchema.definitions[v4_1.DefinitionName.CommonHeaderFacetSettings];
536
+ delete appSchema.definitions[v4_1.DefinitionName.GenericColumnsOP];
537
+ delete appSchema.definitions[v4_1.DefinitionName.GenericSections];
538
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageChart];
539
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionAddress];
540
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionChart];
541
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionContact];
542
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionDataPoint];
543
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionForm];
544
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionTableV4];
545
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSectionPresentationVariant];
546
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageSubSections];
547
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageTable];
548
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBar];
549
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBarAction];
550
+ delete appSchema.definitions[v4_1.DefinitionName.ObjectPageToolBarActions];
551
+ delete appSchema.definitions[v4_1.DefinitionName.QuickVariantSelectionV4OP];
393
552
  return appSchema;
394
553
  }
395
554
  exports.generateObjectPageSchemaV4 = generateObjectPageSchemaV4;