@sap/ux-specification 1.71.42 → 1.71.46

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 (124) hide show
  1. package/CHANGELOG.md +83 -10
  2. package/README.md +4 -4
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/index-min.js +1 -1
  9. package/dist/schemas/v2/AnalyticalListPageConfig.json +76 -6
  10. package/dist/schemas/v2/ApplicationV2.json +2 -0
  11. package/dist/schemas/v2/ListReportConfig.json +75 -5
  12. package/dist/schemas/v2/ObjectPageConfig.json +278 -85
  13. package/dist/schemas/v2/OverviewPageConfig.json +13 -33
  14. package/dist/scripts/to-json-schema.js +9 -1
  15. package/dist/scripts/to-json-schema.js.map +1 -1
  16. package/dist/specification/v2/index-min.js +1 -1
  17. package/dist/src/apiTypes.d.ts +8 -0
  18. package/dist/src/specification/v2/ApplicationV2.d.ts +2 -0
  19. package/dist/src/specification/v2/controls/AnalyticalListPageChart.d.ts +1 -1
  20. package/dist/src/specification/v2/controls/Card.d.ts +9 -12
  21. package/dist/src/specification/v2/controls/Card.js +0 -3
  22. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  23. package/dist/src/specification/v2/controls/Field.d.ts +10 -0
  24. package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
  25. package/dist/src/specification/v2/controls/Field.js.map +1 -0
  26. package/dist/src/specification/v2/controls/FormAction.d.ts +38 -0
  27. package/dist/src/specification/v2/controls/FormAction.js +15 -0
  28. package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
  29. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
  30. package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
  31. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
  32. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
  33. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +21 -5
  34. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.js +0 -5
  35. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.js.map +1 -1
  36. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +21 -11
  37. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  38. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +4 -1
  39. package/dist/src/specification/v2/controls/Table.d.ts +4 -0
  40. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  41. package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
  42. package/dist/src/specification/v2/controls/index.d.ts +4 -1
  43. package/dist/src/specification/v2/controls/index.js +1 -1
  44. package/dist/src/specification/v2/controls/index.js.map +1 -1
  45. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
  46. package/dist/src/sync/common/decoration/control.d.ts +8 -1
  47. package/dist/src/sync/common/decoration/control.js +58 -17
  48. package/dist/src/sync/common/decoration/control.js.map +1 -1
  49. package/dist/src/sync/common/generate/objectPage.d.ts +41 -1
  50. package/dist/src/sync/common/generate/objectPage.js +210 -32
  51. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  52. package/dist/src/sync/common/import/utils.d.ts +6 -0
  53. package/dist/src/sync/common/import/utils.js +21 -0
  54. package/dist/src/sync/common/import/utils.js.map +1 -1
  55. package/dist/src/sync/common/importProject.js +45 -39
  56. package/dist/src/sync/common/importProject.js.map +1 -1
  57. package/dist/src/sync/common/types.d.ts +11 -3
  58. package/dist/src/sync/common/types.js +8 -0
  59. package/dist/src/sync/common/types.js.map +1 -1
  60. package/dist/src/sync/common/utils.d.ts +2 -1
  61. package/dist/src/sync/common/utils.js +81 -82
  62. package/dist/src/sync/common/utils.js.map +1 -1
  63. package/dist/src/sync/v2/export/controls/Card.d.ts +4 -3
  64. package/dist/src/sync/v2/export/controls/Card.js +16 -9
  65. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  66. package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
  67. package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +7 -7
  68. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  69. package/dist/src/sync/v2/export/controls/FormAction.d.ts +15 -0
  70. package/dist/src/sync/v2/export/controls/FormAction.js +127 -0
  71. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  72. package/dist/src/sync/v2/export/controls/Fragment.js +5 -6
  73. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  74. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +1 -1
  75. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -1
  76. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +6 -2
  77. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +43 -4
  78. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  79. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +25 -0
  80. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +113 -0
  81. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  82. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +4 -5
  83. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  84. package/dist/src/sync/v2/export/controls/Table.d.ts +8 -1
  85. package/dist/src/sync/v2/export/controls/Table.js +72 -16
  86. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  87. package/dist/src/sync/v2/export/controls/TableColumn.js +1 -1
  88. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  89. package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
  90. package/dist/src/sync/v2/export/controls/index.js +3 -1
  91. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  92. package/dist/src/sync/v2/export/export.js +130 -91
  93. package/dist/src/sync/v2/export/export.js.map +1 -1
  94. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
  95. package/dist/src/sync/v2/generate/analyticalListReport.js +13 -16
  96. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  97. package/dist/src/sync/v2/generate/generate.js +28 -6
  98. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  99. package/dist/src/sync/v2/generate/listReport.d.ts +3 -9
  100. package/dist/src/sync/v2/generate/listReport.js +20 -23
  101. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  102. package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
  103. package/dist/src/sync/v2/generate/objectPage.js +194 -139
  104. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  105. package/dist/src/sync/v2/generate/utils.d.ts +1 -2
  106. package/dist/src/sync/v2/generate/utils.js +8 -3
  107. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  108. package/dist/src/sync/v2/import/pages/listReport.js +3 -2
  109. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  110. package/dist/src/sync/v2/import/pages/objectPage.js +173 -102
  111. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  112. package/dist/src/sync/v2/import/pages/overviewPage.js +0 -2
  113. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  114. package/dist/src/sync/v2/types.d.ts +16 -0
  115. package/dist/src/sync/v2/types.js +15 -0
  116. package/dist/src/sync/v2/types.js.map +1 -1
  117. package/dist/src/sync/v4/utils/StableIdHelper.d.ts +0 -3
  118. package/dist/src/sync/v4/utils/StableIdHelper.js +9 -11
  119. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  120. package/package.json +4 -5
  121. package/dist/src/specification/v2/controls/DataField.d.ts +0 -7
  122. package/dist/src/specification/v2/controls/DataField.js.map +0 -1
  123. package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
  124. package/dist/src/sync/v2/export/controls/DataField.js.map +0 -1
@@ -47,6 +47,13 @@ function escapeId(sParam) {
47
47
  });
48
48
  }
49
49
  exports.escapeId = escapeId;
50
+ /**
51
+ * Binding Change values, will be added on object pages */
52
+ var BindingValue;
53
+ (function (BindingValue) {
54
+ BindingValue["Editable"] = "{ui>/editable}";
55
+ BindingValue["NotEditable"] = "{= !${ui>/editable}}";
56
+ })(BindingValue = exports.BindingValue || (exports.BindingValue = {}));
50
57
  /**
51
58
  * Export rule for table columns
52
59
  * @param baseId - base ID, first part of the stable ID
@@ -65,7 +72,8 @@ exports.buildColumnControlId = (baseId, idBreadcrumbs, breadcrumbs, controlType,
65
72
  if (breadcrumb === 'sections') {
66
73
  sectionId = localBreadcrumbs[index + 1];
67
74
  if (sectionId.indexOf('LineItem') !== -1) {
68
- return (localBreadcrumbs[index + 1] = exports.convertSectionId(sectionId, title) + '::Table');
75
+ localBreadcrumbs[index + 1] = exports.convertSectionId(sectionId, title) + '::Table';
76
+ return localBreadcrumbs[index + 1];
69
77
  }
70
78
  }
71
79
  }
@@ -98,34 +106,60 @@ exports.buildColumnControlId = (baseId, idBreadcrumbs, breadcrumbs, controlType,
98
106
  }
99
107
  return escapeId(fullId);
100
108
  };
101
- exports.addPatternForBindingChangeOfEnum = (schema, definition, propertyName) => {
109
+ /**
110
+ * Determines the valid pattern for a binding change
111
+ * @param schemaDefinition - definition in the JSON schema
112
+ * @returns the pattern as string
113
+ */
114
+ function determinePattern(schemaDefinition) {
115
+ let pattern = types_1.BindingPropertyRegexAsString;
116
+ if (schemaDefinition.enum) {
117
+ let enumPattern;
118
+ schemaDefinition.enum.forEach((enumValue) => {
119
+ if (!enumValue.toString().startsWith('{')) {
120
+ enumPattern = enumPattern ? enumPattern + '|' + enumValue.toString() : enumValue.toString();
121
+ }
122
+ });
123
+ pattern = `^(${enumPattern})$|${pattern}`;
124
+ }
125
+ if (schemaDefinition['type'] && schemaDefinition['type'] === 'boolean') {
126
+ pattern = `^(false|true)$|${pattern}`;
127
+ }
128
+ return pattern;
129
+ }
130
+ /**
131
+ * Reuseable function for strings that allow binding changes
132
+ * @param schema - the complete JSON schema
133
+ * @param definition - definition in the JSON schema, to be updated
134
+ * @param propertyName - property in the properties' list of the given definition
135
+ * @param bindingValues - values that shall be added to the resulting enum
136
+ */
137
+ const addPatternForBindingChangeOfEnum = (schema, definition, propertyName, bindingValues) => {
102
138
  const propertyList = definition && definition['properties'];
103
139
  if (propertyList[propertyName].pattern) {
104
140
  return; //as already processed
105
141
  }
106
142
  const originalDefinition = propertyList[propertyName];
107
- let targetDefinition;
108
- let pattern = types_1.BindingPropertyRegexAsString;
109
- if (originalDefinition.$ref) {
110
- targetDefinition = schema['definitions'][originalDefinition.$ref.split(utils_1.DEFINITION_LINK_PREFIX)[1]];
111
- }
112
- else {
113
- targetDefinition = originalDefinition;
114
- }
143
+ let resultDefinition = originalDefinition;
144
+ const targetDefinition = originalDefinition.$ref
145
+ ? schema['definitions'][originalDefinition.$ref.split(utils_1.DEFINITION_LINK_PREFIX)[1]]
146
+ : originalDefinition;
115
147
  const description = originalDefinition.description ? originalDefinition.description : targetDefinition.description;
116
- if (targetDefinition.enum) {
117
- let enumPattern;
118
- targetDefinition.enum.forEach((enumValue) => {
119
- if (!enumValue.toString().startsWith('{')) {
120
- enumPattern = enumPattern ? enumPattern + '|' + enumValue.toString() : enumValue.toString();
148
+ const pattern = determinePattern(targetDefinition);
149
+ if (targetDefinition['type'] && targetDefinition['type'] === 'boolean') {
150
+ resultDefinition = { enum: [false, true] };
151
+ }
152
+ if (bindingValues && resultDefinition['enum']) {
153
+ bindingValues.forEach((value) => {
154
+ if (resultDefinition['enum'].indexOf(value) === -1) {
155
+ resultDefinition['enum'].push(value);
121
156
  }
122
157
  });
123
- pattern = '^(' + enumPattern + ')$|' + pattern;
124
158
  }
125
159
  propertyList[propertyName] = {
126
160
  pattern: pattern,
127
161
  anyOf: [
128
- originalDefinition,
162
+ resultDefinition,
129
163
  {
130
164
  type: 'string'
131
165
  }
@@ -136,4 +170,11 @@ exports.addPatternForBindingChangeOfEnum = (schema, definition, propertyName) =>
136
170
  delete originalDefinition.description;
137
171
  }
138
172
  };
173
+ exports.addPatternForBindingChangeOfEnumLR = (schema, definition, propertyName) => {
174
+ addPatternForBindingChangeOfEnum(schema, definition, propertyName);
175
+ };
176
+ exports.addPatternForBindingChangeOfEnumOP = (schema, definition, propertyName) => {
177
+ const bindingValues = Object.values(BindingValue);
178
+ addPatternForBindingChangeOfEnum(schema, definition, propertyName, bindingValues);
179
+ };
139
180
  //# sourceMappingURL=control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { ConverterOutput, EntityType } from '@sap-ux/vocabularies-types';
2
+ import { FioriElementsVersion } from '../../../specification/common';
1
3
  import { FacetConfig, SectionType } from '..';
2
4
  /**
3
5
  * Adds definitions for forms in object page sections to the app schema
@@ -6,4 +8,42 @@ import { FacetConfig, SectionType } from '..';
6
8
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
7
9
  * @param {object} appSchema - app specific schema that gets enhanced
8
10
  */
9
- export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: object, appSchema: object, isV2?: boolean): void;
11
+ export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: object, appSchema: object, version: FioriElementsVersion, withActions?: boolean): void;
12
+ /**
13
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list
14
+ * @param annotationIdentifier - annotation ID or reference
15
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
16
+ * @returns the converted string
17
+ */
18
+ export declare function replaceAlias(annotationIdentifier: string, oDataServiceAVT: ConverterOutput): string;
19
+ /**
20
+ * Common routine to determine the name and the ID of a header action
21
+ * @param action - action as given by AVT
22
+ * @param entityType - entity type by AVT
23
+ * @returns an object comprising action name and action id
24
+ */
25
+ export declare function getActionNameAndId(action: string, entityType: EntityType): {
26
+ actionName: string;
27
+ actionId: string;
28
+ };
29
+ /**
30
+ * Add Object Page Footer Action Buttons to app-specific schema
31
+ *
32
+ * @param {object} appSchema Schema of the app
33
+ * @param {EntityType} entityType - current entity type
34
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
35
+ */
36
+ export declare function addFooterActions(appSchema: object, entityType: EntityType, oDataServiceAVT: ConverterOutput): void;
37
+ /**
38
+ * Add Object Page Header Action Buttons to app-specific schema
39
+ * @param {object} appSchema Schema of the app
40
+ * @param {EntityType} entityType - current entity type
41
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
42
+ */
43
+ export declare function addHeaderActions(appSchema: object, entityType: EntityType, oDataServiceAVT: ConverterOutput, addHeaderActionCallBack: any): void;
44
+ /**
45
+ * Adds common Object Page Header definitions to the app schema
46
+ * @param appSchema - app-specific JSOn schema
47
+ * @param entityType - current entity Type
48
+ */
49
+ export declare function addCommonHeaderSchema(appSchema: object, entityType: EntityType): void;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
4
+ const common_1 = require("../../../specification/common");
4
5
  const __1 = require("..");
5
6
  /**
6
7
  * Adds a field definition to the app specific schema
@@ -11,24 +12,29 @@ const __1 = require("..");
11
12
  * @param {string} key - current field key
12
13
  * @param {SectionType} section - current section of the object page
13
14
  */
14
- function addField(sectionType, appSchema, field, targetID, key, section, isV2) {
15
+ function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true) {
15
16
  var _a, _b, _c, _d, _e;
16
17
  const fieldReferenceId = StableIdHelper_1.getStableIdPartFromDataField(field);
17
- const fieldReference = isV2 && fieldReferenceId && fieldReferenceId.includes('::')
18
- ? fieldReferenceId.split('::')[1]
18
+ const fieldReference = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
19
+ ? fieldReferenceId
20
+ .split('::')
21
+ .splice(1)
22
+ .join('::')
19
23
  : fieldReferenceId;
20
- const fieldReferenceType = isV2 && fieldReferenceId && fieldReferenceId.includes('::') ? fieldReferenceId.split('::')[0] : undefined;
21
- const fieldDefinition = isV2
24
+ const fieldReferenceType = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
25
+ ? fieldReferenceId.split('::')[0].replace('DataField', 'Field')
26
+ : undefined;
27
+ const fieldDefinition = version === common_1.FioriElementsVersion.v2
22
28
  ? `${fieldReferenceType}<${targetID}::${fieldReference}>`
23
29
  : `${targetID}::${fieldReference}`;
24
- const fieldsDefinition = `${sectionType}Fields<${targetID}>`;
25
- const actionsDefinition = `${sectionType}Actions<${targetID}>`;
30
+ const fieldsDefinition = __1.prepareRef(`${sectionType}Fields<${targetID}>`);
31
+ const actionsDefinition = __1.prepareRef(`${sectionType}Actions<${targetID}>`);
26
32
  if (!field || !field.$Type) {
27
- return; // ToDo: Actions to be interpreted as Header or Footer Actions
33
+ return;
28
34
  }
29
- else if (field.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction' ||
30
- field.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation') {
31
- if (sectionType === __1.SectionType.Section) {
35
+ else if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
36
+ field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
37
+ if (withActions && sectionType === __1.SectionType.Section) {
32
38
  appSchema['definitions'][actionsDefinition]['properties'][fieldReference] = {
33
39
  $ref: __1.DEFINITION_LINK_PREFIX + fieldDefinition,
34
40
  propertyIndex: parseInt(key)
@@ -46,16 +52,41 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2) {
46
52
  isViewNode: true,
47
53
  properties: {},
48
54
  description: __1.getDatafieldDescription(field, section.entityType),
49
- additionalProperties: false
55
+ additionalProperties: false,
56
+ annotationType: field.$Type
50
57
  };
51
- if (field.$Type === 'com.sap.vocabularies.UI.v1.DataField' && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['DataField'])) {
52
- appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['DataField']['properties'];
58
+ if (version === common_1.FioriElementsVersion.v2 && appSchema['definitions']['Field']) {
59
+ switch (field.$Type) {
60
+ case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
61
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
62
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
63
+ appSchema['definitions'][fieldDefinition]['properties'] =
64
+ appSchema['definitions']['Field']['properties'];
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['FormAction'])) {
70
+ appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['FormAction']['properties'];
53
71
  }
54
72
  if ((_c = (_b = field['Value']) === null || _b === void 0 ? void 0 : _b.$target) === null || _c === void 0 ? void 0 : _c.type) {
55
- appSchema['definitions'][fieldDefinition].dataType = (_e = (_d = field['Value']) === null || _d === void 0 ? void 0 : _d.$target) === null || _e === void 0 ? void 0 : _e.type;
73
+ appSchema['definitions'][fieldDefinition].dataType = (_e = (_d = field['Value']) === null || _d === void 0 ? void 0 : _d.$target) === null || _e === void 0 ? void 0 : _e.type.replace('Edm.', '');
56
74
  }
57
75
  appSchema['definitions'][fieldDefinition].annotationPath = `/${section.entityType.fullyQualifiedName}/${field.fullyQualifiedName.split(section.entityType.fullyQualifiedName)[1]}`;
58
76
  }
77
+ function determineTargetIdOfForm(section) {
78
+ let targetID;
79
+ if (section.target && section.target['qualifier'] && section.entityType) {
80
+ targetID = `${section.entityType.name}::${section.base}::${section.target['qualifier']}`;
81
+ }
82
+ else if (section.entityType) {
83
+ targetID = `${section.entityType.name}::${section.base}`;
84
+ }
85
+ else {
86
+ targetID = section.ID;
87
+ }
88
+ return targetID;
89
+ }
59
90
  /**
60
91
  * Adds definitions for forms in object page sections to the app schema
61
92
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
@@ -63,23 +94,18 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2) {
63
94
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
64
95
  * @param {object} appSchema - app specific schema that gets enhanced
65
96
  */
66
- function handleForm(sectionType, section, appSchemaSection, appSchema, isV2) {
97
+ function handleForm(sectionType, section, appSchemaSection, appSchema, version, withActions = true) {
98
+ var _a;
67
99
  if (!section.target) {
68
100
  return;
69
101
  }
70
- const targetID = section.target && section.target['qualifier'] && section.entityType
71
- ? section.entityType['name'] + '::' + section.target['qualifier']
72
- : section.entityType
73
- ? section.entityType.name
74
- : section.ID;
75
- const formDefinition = `${sectionType}Form<${targetID}>`;
76
- const fieldsDefinition = `${sectionType}Fields<${targetID}>`;
77
- const actionsDefinition = `${sectionType}Actions<${targetID}>`;
102
+ const targetID = determineTargetIdOfForm(section);
103
+ const formDefinition = __1.prepareRef(`${sectionType}Form<${targetID}>`);
104
+ const fieldsDefinition = __1.prepareRef(`${sectionType}Fields<${targetID}>`);
105
+ const actionsDefinition = __1.prepareRef(`${sectionType}Actions<${targetID}>`);
78
106
  // Form definition
79
- appSchemaSection['properties']['form'] = {
80
- $ref: __1.DEFINITION_LINK_PREFIX + formDefinition
81
- };
82
- if (sectionType === __1.SectionType.Section) {
107
+ appSchemaSection['properties']['form'] = { $ref: __1.DEFINITION_LINK_PREFIX + formDefinition };
108
+ if (sectionType === __1.SectionType.Section && withActions) {
83
109
  appSchema['definitions'][formDefinition] = {
84
110
  type: 'object',
85
111
  properties: {
@@ -111,7 +137,7 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2) {
111
137
  additionalProperties: false
112
138
  };
113
139
  }
114
- if (section.entityType && section.entityType.name) {
140
+ if ((_a = section.entityType) === null || _a === void 0 ? void 0 : _a.name) {
115
141
  appSchema['definitions'][formDefinition].annotationPath = __1.createAnnotationPath(section.entityType.fullyQualifiedName, section.target['term'], section.target['qualifier']);
116
142
  }
117
143
  // Fields definition
@@ -123,20 +149,172 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2) {
123
149
  additionalProperties: false
124
150
  };
125
151
  // Add fields
126
- if (section.base === 'Identification') {
152
+ if (section.base === __1.FacetBase.Identification) {
127
153
  for (const key in section.target) {
128
154
  const field = section.target[key];
129
155
  if (field) {
130
- addField(sectionType, appSchema, field, targetID, key, section, isV2);
156
+ addField(sectionType, appSchema, field, targetID, key, section, version, withActions);
131
157
  }
132
158
  }
133
159
  }
134
160
  else {
135
161
  for (const key in section.target['Data']) {
136
162
  const field = section.target['Data'][key];
137
- addField(sectionType, appSchema, field, targetID, key, section, isV2);
163
+ addField(sectionType, appSchema, field, targetID, key, section, version);
138
164
  }
139
165
  }
140
166
  }
141
167
  exports.handleForm = handleForm;
168
+ /**
169
+ * Replaces an alias in an annotation ID or reference, based on the AVT references' list
170
+ * @param annotationIdentifier - annotation ID or reference
171
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
172
+ * @returns the converted string
173
+ */
174
+ function replaceAlias(annotationIdentifier, oDataServiceAVT) {
175
+ const potentialAlias = annotationIdentifier.indexOf('.') > -1 ? annotationIdentifier.split('.')[0] : undefined;
176
+ let result = annotationIdentifier;
177
+ if (potentialAlias) {
178
+ const reference = oDataServiceAVT.references.find((ref) => {
179
+ return ref.alias === potentialAlias;
180
+ });
181
+ if (reference) {
182
+ result = annotationIdentifier.replace(potentialAlias, reference.namespace);
183
+ }
184
+ }
185
+ return result;
186
+ }
187
+ exports.replaceAlias = replaceAlias;
188
+ /**
189
+ * Common routine to determine the name and the ID of a header action
190
+ * @param action - action as given by AVT
191
+ * @param entityType - entity type by AVT
192
+ * @returns an object comprising action name and action id
193
+ */
194
+ function getActionNameAndId(action, entityType) {
195
+ let separatorIndex = action.lastIndexOf('/');
196
+ if (separatorIndex === -1) {
197
+ separatorIndex = action.lastIndexOf('.');
198
+ }
199
+ let actionName, actionId;
200
+ if (separatorIndex > -1) {
201
+ actionName = action.substr(separatorIndex + 1);
202
+ actionId = action.substr(0, separatorIndex) + '::' + actionName;
203
+ }
204
+ else {
205
+ actionName = action;
206
+ const namespace = entityType.fullyQualifiedName.split(entityType.name)[0];
207
+ actionId = namespace.substr(0, namespace.length - 1) + '::' + actionName;
208
+ }
209
+ return { actionName, actionId };
210
+ }
211
+ exports.getActionNameAndId = getActionNameAndId;
212
+ /**
213
+ * Add Object Page Footer Action Buttons to app-specific schema
214
+ *
215
+ * @param {object} appSchema Schema of the app
216
+ * @param {EntityType} entityType - current entity type
217
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
218
+ */
219
+ function addFooterActions(appSchema, entityType, oDataServiceAVT) {
220
+ appSchema['definitions']['ObjectPageFooter'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageFooter<GenericFooterActions>']));
221
+ // Change reference of footer
222
+ appSchema['properties']['footer'] = {
223
+ $ref: `${__1.DEFINITION_LINK_PREFIX}ObjectPageFooter`
224
+ };
225
+ // Add action to configuration
226
+ appSchema['definitions']['ObjectPageFooter'].properties['actions'] = {
227
+ $ref: `${__1.DEFINITION_LINK_PREFIX}FooterActions`
228
+ };
229
+ const footerActions = (appSchema['definitions']['FooterActions'] = {
230
+ type: 'object',
231
+ properties: {},
232
+ description: 'Actions',
233
+ additionalProperties: false,
234
+ isViewNode: true
235
+ });
236
+ const alias = __1.findAlias(__1.UIVOCABULARY, oDataServiceAVT);
237
+ const actionAnnotation = alias &&
238
+ entityType.annotations &&
239
+ entityType.annotations[alias] &&
240
+ entityType.annotations[alias].Identification;
241
+ if (actionAnnotation) {
242
+ const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
243
+ footerActions['annotationPath'] = `/${convertedIdentification}`;
244
+ actionAnnotation.forEach((item, index) => {
245
+ if (item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
246
+ const { actionName, actionId } = getActionNameAndId(item.Action, entityType);
247
+ const description = item.Label || actionName;
248
+ const actionDefinitionKey = __1.prepareRef(`FooterAction<${actionId}>`);
249
+ appSchema['definitions'][actionDefinitionKey] = {
250
+ isViewNode: true,
251
+ type: 'object',
252
+ properties: {},
253
+ description: description,
254
+ annotationPath: `/${convertedIdentification}/${index}`
255
+ };
256
+ footerActions.properties[actionId] = {
257
+ $ref: `${__1.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
258
+ };
259
+ }
260
+ });
261
+ }
262
+ else {
263
+ footerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
264
+ }
265
+ delete appSchema['definitions']['GenericFooterActions'];
266
+ delete appSchema['definitions']['FooterAction'];
267
+ delete appSchema['definitions']['ObjectPageFooter<GenericFooterActions>'];
268
+ }
269
+ exports.addFooterActions = addFooterActions;
270
+ /**
271
+ * Add Object Page Header Action Buttons to app-specific schema
272
+ * @param {object} appSchema Schema of the app
273
+ * @param {EntityType} entityType - current entity type
274
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
275
+ */
276
+ function addHeaderActions(appSchema, entityType, oDataServiceAVT,
277
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
278
+ addHeaderActionCallBack) {
279
+ appSchema['definitions']['ObjectPageHeader'].properties['actions'] = {
280
+ $ref: `${__1.DEFINITION_LINK_PREFIX}HeaderActions`
281
+ };
282
+ const headerActions = (appSchema['definitions']['HeaderActions'] = {
283
+ type: 'object',
284
+ properties: {},
285
+ description: 'Actions',
286
+ additionalProperties: false,
287
+ isViewNode: true
288
+ });
289
+ const alias = __1.findAlias(__1.UIVOCABULARY, oDataServiceAVT);
290
+ const identification = alias &&
291
+ entityType.annotations &&
292
+ entityType.annotations[alias] &&
293
+ entityType.annotations[alias].Identification;
294
+ if (identification) {
295
+ headerActions['annotationPath'] =
296
+ '/' +
297
+ identification.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
298
+ identification.forEach(addHeaderActionCallBack(entityType, appSchema, identification, headerActions, oDataServiceAVT));
299
+ }
300
+ else {
301
+ headerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
302
+ }
303
+ delete appSchema['definitions']['GenericActions'];
304
+ delete appSchema['definitions']['ObjectPageHeader<GenericActions>'];
305
+ }
306
+ exports.addHeaderActions = addHeaderActions;
307
+ /**
308
+ * Adds common Object Page Header definitions to the app schema
309
+ * @param appSchema - app-specific JSOn schema
310
+ * @param entityType - current entity Type
311
+ */
312
+ function addCommonHeaderSchema(appSchema, entityType) {
313
+ appSchema['properties']['header'] = {
314
+ $ref: __1.DEFINITION_LINK_PREFIX + 'ObjectPageHeader'
315
+ };
316
+ appSchema['definitions']['ObjectPageHeader'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageHeader<GenericActions>']));
317
+ appSchema['definitions']['ObjectPageHeader'].annotationPath = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderInfo" /* HeaderInfo */}`;
318
+ }
319
+ exports.addCommonHeaderSchema = addCommonHeaderSchema;
142
320
  //# sourceMappingURL=objectPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectPage.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/objectPage.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,9 @@ export declare function importProperty(syncRule: SyncRule, manifestSection: {},
20
20
  * @param {ExtensionLogger} logger - Logger class for logging messages
21
21
  */
22
22
  export declare function checkDeprecatedProperties(deprecatedProperties: DeprecatedProperties[], manifestSection: {}, path: string, logger?: ExtensionLogger): void;
23
+ /**
24
+ * get title of the section (Facet ID)
25
+ * @param schemaSection - Section in manifest.json
26
+ * @param jsonSchema - app specific schema
27
+ */
28
+ export declare function getSectionTitle(schemaSection: object, jsonSchema: object): string;
@@ -51,4 +51,25 @@ function checkDeprecatedProperties(deprecatedProperties, manifestSection, path,
51
51
  }
52
52
  }
53
53
  exports.checkDeprecatedProperties = checkDeprecatedProperties;
54
+ /**
55
+ * get title of the section (Facet ID)
56
+ * @param schemaSection - Section in manifest.json
57
+ * @param jsonSchema - app specific schema
58
+ */
59
+ function getSectionTitle(schemaSection, jsonSchema) {
60
+ if (schemaSection['$ref'] && !schemaSection['title']) {
61
+ const refTitle = jsonSchema['definitions'][schemaSection['$ref'].split(__1.DEFINITION_LINK_PREFIX)[1]];
62
+ getSectionTitle(refTitle, jsonSchema);
63
+ }
64
+ else if (schemaSection['title'] && schemaSection['title'].startsWith(__1.FacetTitlePrefix)) {
65
+ return schemaSection['title'].split(__1.FacetTitlePrefix)[1];
66
+ }
67
+ else if (schemaSection['title']) {
68
+ return schemaSection['title'];
69
+ }
70
+ else {
71
+ return undefined;
72
+ }
73
+ }
74
+ exports.getSectionTitle = getSectionTitle;
54
75
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":";;AAAA,2BAA2E;AAC3E,8DAA4D;AAG5D;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC1B,QAAkB,EAClB,eAAmB,EACnB,WAAmB,EACnB,UAAkC,EAClC,SAAkB;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC;IAEzD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;QACtD,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;KACJ;SAAM,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;QACnD,UAAU,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1D;AACL,CAAC;AAlBD,wCAkBC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,oBAA4C,EAC5C,eAAmB,EACnB,IAAY,EACZ,MAAwB;IAExB,IAAI,eAAe,IAAI,oBAAoB,EAAE;QACzC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAC/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE;gBACZ,qBAAG,CAAC,MAAM,EAAE;oBACR,QAAQ,yBAAqB;oBAC7B,OAAO,EAAE,wBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC9C,QAAQ,EAAE;wBACN,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;qBACzB;iBACJ,CAAC,CAAC;gBACH,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;KACJ;AACL,CAAC;AAtBD,8DAsBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/import/utils.ts"],"names":[],"mappings":";;AAAA,2BAAqH;AACrH,8DAA4D;AAG5D;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC1B,QAAkB,EAClB,eAAmB,EACnB,WAAmB,EACnB,UAAkC,EAClC,SAAkB;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC;IAEzD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;QACtD,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;KACJ;SAAM,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;QACnD,UAAU,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1D;AACL,CAAC;AAlBD,wCAkBC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,oBAA4C,EAC5C,eAAmB,EACnB,IAAY,EACZ,MAAwB;IAExB,IAAI,eAAe,IAAI,oBAAoB,EAAE;QACzC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAC/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE;gBACZ,qBAAG,CAAC,MAAM,EAAE;oBACR,QAAQ,yBAAqB;oBAC7B,OAAO,EAAE,wBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC9C,QAAQ,EAAE;wBACN,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;qBACzB;iBACJ,CAAC,CAAC;gBACH,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;KACJ;AACL,CAAC;AAtBD,8DAsBC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,aAAqB,EAAE,UAAkB;IACrE,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,0BAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KACzC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,oBAAgB,CAAC,EAAE;QACtF,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,oBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;QAC/B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;KACjC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAXD,0CAWC"}