@sap/ux-specification 1.71.43 → 1.71.47

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 (112) hide show
  1. package/CHANGELOG.md +71 -8
  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/index-min.js +1 -1
  8. package/dist/schemas/v2/AnalyticalListPageConfig.json +75 -5
  9. package/dist/schemas/v2/ListReportConfig.json +75 -5
  10. package/dist/schemas/v2/ObjectPageConfig.json +229 -46
  11. package/dist/schemas/v2/OverviewPageConfig.json +0 -28
  12. package/dist/scripts/to-json-schema.js +9 -1
  13. package/dist/scripts/to-json-schema.js.map +1 -1
  14. package/dist/specification/v2/index-min.js +1 -1
  15. package/dist/src/apiTypes.d.ts +8 -0
  16. package/dist/src/specification/v2/controls/Card.d.ts +0 -8
  17. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  18. package/dist/src/specification/v2/controls/{DataField.d.ts → Field.d.ts} +2 -2
  19. package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
  20. package/dist/src/specification/v2/controls/Field.js.map +1 -0
  21. package/dist/src/specification/v2/controls/FormAction.d.ts +38 -0
  22. package/dist/src/specification/v2/controls/FormAction.js +15 -0
  23. package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
  24. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
  25. package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
  26. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
  27. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
  28. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +20 -0
  29. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +21 -11
  30. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  31. package/dist/src/specification/v2/controls/Table.d.ts +4 -0
  32. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  33. package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
  34. package/dist/src/specification/v2/controls/index.d.ts +4 -1
  35. package/dist/src/specification/v2/controls/index.js +1 -0
  36. package/dist/src/specification/v2/controls/index.js.map +1 -1
  37. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
  38. package/dist/src/sync/common/decoration/control.js +34 -19
  39. package/dist/src/sync/common/decoration/control.js.map +1 -1
  40. package/dist/src/sync/common/generate/index.d.ts +1 -0
  41. package/dist/src/sync/common/generate/index.js +1 -0
  42. package/dist/src/sync/common/generate/index.js.map +1 -1
  43. package/dist/src/sync/common/generate/objectPage.d.ts +31 -2
  44. package/dist/src/sync/common/generate/objectPage.js +183 -29
  45. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  46. package/dist/src/sync/common/generate/utils.d.ts +59 -0
  47. package/dist/src/sync/common/generate/utils.js +192 -0
  48. package/dist/src/sync/common/generate/utils.js.map +1 -0
  49. package/dist/src/sync/common/import/utils.d.ts +6 -0
  50. package/dist/src/sync/common/import/utils.js +21 -0
  51. package/dist/src/sync/common/import/utils.js.map +1 -1
  52. package/dist/src/sync/common/importProject.js +45 -39
  53. package/dist/src/sync/common/importProject.js.map +1 -1
  54. package/dist/src/sync/common/types.d.ts +7 -3
  55. package/dist/src/sync/common/types.js +4 -0
  56. package/dist/src/sync/common/types.js.map +1 -1
  57. package/dist/src/sync/common/utils.d.ts +3 -23
  58. package/dist/src/sync/common/utils.js +90 -162
  59. package/dist/src/sync/common/utils.js.map +1 -1
  60. package/dist/src/sync/v2/export/controls/Card.d.ts +0 -2
  61. package/dist/src/sync/v2/export/controls/Card.js +0 -14
  62. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  63. package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
  64. package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +6 -6
  65. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  66. package/dist/src/sync/v2/export/controls/FormAction.d.ts +15 -0
  67. package/dist/src/sync/v2/export/controls/FormAction.js +127 -0
  68. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  69. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +5 -1
  70. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +42 -3
  71. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  72. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +25 -0
  73. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +113 -0
  74. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  75. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +1 -2
  76. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  77. package/dist/src/sync/v2/export/controls/Table.d.ts +8 -1
  78. package/dist/src/sync/v2/export/controls/Table.js +69 -13
  79. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  80. package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
  81. package/dist/src/sync/v2/export/controls/index.js +3 -1
  82. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  83. package/dist/src/sync/v2/export/export.js +126 -86
  84. package/dist/src/sync/v2/export/export.js.map +1 -1
  85. package/dist/src/sync/v2/export/exportPage.js +3 -2
  86. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  87. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
  88. package/dist/src/sync/v2/generate/analyticalListReport.js +13 -13
  89. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  90. package/dist/src/sync/v2/generate/generate.js +28 -6
  91. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  92. package/dist/src/sync/v2/generate/listReport.d.ts +11 -9
  93. package/dist/src/sync/v2/generate/listReport.js +22 -12
  94. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  95. package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
  96. package/dist/src/sync/v2/generate/objectPage.js +189 -141
  97. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  98. package/dist/src/sync/v2/generate/utils.d.ts +1 -2
  99. package/dist/src/sync/v2/generate/utils.js +8 -3
  100. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  101. package/dist/src/sync/v2/import/pages/objectPage.js +172 -98
  102. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  103. package/dist/src/sync/v2/types.d.ts +12 -0
  104. package/dist/src/sync/v2/types.js +11 -0
  105. package/dist/src/sync/v2/types.js.map +1 -1
  106. package/dist/src/sync/v4/utils/StableIdHelper.d.ts +0 -3
  107. package/dist/src/sync/v4/utils/StableIdHelper.js +9 -11
  108. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  109. package/package.json +5 -5
  110. package/dist/src/specification/v2/controls/DataField.js.map +0 -1
  111. package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
  112. package/dist/src/sync/v2/export/controls/DataField.js.map +0 -1
@@ -19,7 +19,7 @@ function handleActionRecord(appSchema, entityType, actions, lineItemPath, lineIt
19
19
  // Action but not inline action
20
20
  if (lineItemRecord.Determining !== true) {
21
21
  //no footer bar -> toolbar action
22
- const actionDefinition = `ToolBarAction<${lineItemRecord.Action}>`;
22
+ const actionDefinition = `ToolBarAction<${common_1.prepareRef(lineItemRecord.Action)}>`;
23
23
  const description = common_1.getDatafieldDescription(lineItemRecord, entityType);
24
24
  actions['properties'][`DataFieldForAction::${lineItemRecord.Action}`] = {
25
25
  $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
@@ -54,8 +54,8 @@ function addLineItemsType(appSchema, lineItemAnnotation, entityType, lineItemId,
54
54
  if (lineItemAnnotation) {
55
55
  let i = 0;
56
56
  lineItemAnnotation.forEach((lineItemRecord) => {
57
- if (lineItemRecord.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation' ||
58
- (lineItemRecord.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction' &&
57
+ if (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */ ||
58
+ (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ &&
59
59
  (lineItemRecord.Inline !== true || lineItemRecord.Determining === true))) {
60
60
  handleActionRecord(appSchema, entityType, actions, lineItemPath, lineItemRecord, i);
61
61
  }
@@ -247,6 +247,7 @@ function processSingleProperty(metaDataDefinition, schema, pageType, factory, pr
247
247
  if (propertyDefinition.type === 'object' || propertyDefinition.$ref) {
248
248
  const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, propertyDefinition, propertyKey, factory, pageType);
249
249
  if (nextDefinition) {
250
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
250
251
  processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
251
252
  }
252
253
  }
@@ -254,6 +255,7 @@ function processSingleProperty(metaDataDefinition, schema, pageType, factory, pr
254
255
  propertyDefinition['anyOf'].forEach((element) => {
255
256
  const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
256
257
  if (nextDefinition) {
258
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
257
259
  processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
258
260
  }
259
261
  });
@@ -274,6 +276,7 @@ function processProperties(schema, schemaDefinition, metaDataDefinition, propert
274
276
  schemaDefinition[propertiesSection]['anyOf'].forEach((element) => {
275
277
  const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
276
278
  if (nextDefinition) {
279
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
277
280
  processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
278
281
  }
279
282
  });
@@ -284,6 +287,7 @@ function processProperties(schema, schemaDefinition, metaDataDefinition, propert
284
287
  propertyDefinition['anyOf'].forEach((element) => {
285
288
  const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
286
289
  if (nextDefinition) {
290
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
287
291
  processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
288
292
  }
289
293
  });
@@ -292,6 +296,7 @@ function processProperties(schema, schemaDefinition, metaDataDefinition, propert
292
296
  if (propertyKey === '$ref') {
293
297
  const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, schemaDefinition[propertiesSection], propertyKey, factory, pageType);
294
298
  if (nextDefinition) {
299
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
295
300
  processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
296
301
  }
297
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const v2_1 = require("../../../../v2");
7
- const common_1 = require("../../../common");
8
7
  const table_1 = require("../controls/table");
9
8
  const extensionLogger_1 = require("../../../../extensionLogger");
10
9
  const utils_1 = require("../utils");
11
- const common_2 = require("../../../common");
10
+ const common_1 = require("../../../common");
12
11
  const manifest_1 = require("../../export/manifest");
13
12
  const sapUiPageV2_1 = require("../.../../../../../specification/v2/webapp/manifest/sapUiPageV2");
14
13
  const i18next_1 = __importDefault(require("i18next"));
15
14
  const i18n_1 = require("../../../../i18n/i18n");
16
- const common_3 = require("../../../../specification/common");
15
+ const common_2 = require("../../../../specification/common");
17
16
  const listReport_1 = require("../pages/listReport");
18
17
  const factory_1 = require("../../export/factory");
18
+ const types_1 = require("../../types");
19
19
  /**
20
20
  * Prepares the list of flex changes
21
21
  * @param change - the flex change (UI Adaptation)
@@ -28,21 +28,21 @@ function prepareFlexChanges(changes, entitySet, logger) {
28
28
  changes.forEach((changeString) => {
29
29
  var _a, _b;
30
30
  try {
31
- const change = common_2.parseChangeString(changeString);
31
+ const change = common_1.parseChangeString(changeString);
32
32
  if (change && ((_a = change.controlId) === null || _a === void 0 ? void 0 : _a.includes(sapUiPageV2_1.FE_TEMPLATE_V2_OBJECT_PAGE)) && ((_b = change.controlId) === null || _b === void 0 ? void 0 : _b.includes(entitySet))) {
33
33
  let selectorId = change.controlId.split('--')[1].replace(/:3a:3a/g, '::');
34
34
  const complexIdMatch = new RegExp('.+DataField.+:::sSmartTableId::.+');
35
35
  if (complexIdMatch.exec(selectorId) !== null) {
36
36
  selectorId = selectorId.split('template:::TableColumn:::')[1];
37
37
  }
38
- const idParts = selectorId.split(':::');
38
+ const selectorIdParts = selectorId.split(':::');
39
39
  let id, facetID;
40
- if (idParts.length === 1) {
41
- const lastIdParts = idParts[0].split('-');
40
+ if (selectorIdParts.length === 1) {
41
+ const lastIdParts = selectorIdParts[0].split('-');
42
42
  id = lastIdParts[lastIdParts.length - 1];
43
- if (idParts[0].indexOf('com.sap.vocabularies.UI.v1.LineItem') >= 0 ||
44
- idParts[0].indexOf('UI.LineItem') >= 0 ||
45
- idParts[0].indexOf('::Table') >= 0) {
43
+ if (selectorIdParts[0].indexOf("com.sap.vocabularies.UI.v1.LineItem" /* LineItem */) >= 0 ||
44
+ selectorIdParts[0].indexOf('UI.LineItem') >= 0 ||
45
+ selectorIdParts[0].indexOf('::Table') >= 0) {
46
46
  facetID = lastIdParts[0]
47
47
  .split('::Table')[0]
48
48
  .split('::responsiveTable')[0]
@@ -52,7 +52,6 @@ function prepareFlexChanges(changes, entitySet, logger) {
52
52
  const idParts = id.split('::');
53
53
  if (idParts.length > 1) {
54
54
  facetID = idParts[0];
55
- id = idParts[1];
56
55
  }
57
56
  else if (lastIdParts[0].indexOf('::') > -1) {
58
57
  facetID = lastIdParts[0].split('::')[0];
@@ -60,22 +59,19 @@ function prepareFlexChanges(changes, entitySet, logger) {
60
59
  }
61
60
  }
62
61
  else if (selectorId.indexOf('sSmartTableId') >= 0) {
63
- id = selectorId;
64
- for (let index = 0; index < idParts.length; index++) {
65
- const element = idParts[index];
62
+ for (const element of selectorIdParts) {
66
63
  if (element.startsWith('sSmartTableId')) {
67
64
  facetID = element
68
65
  .split('sSmartTableId::')[1]
69
66
  .split('::Table')[0]
70
67
  .split('/responsiveTable')[0]
71
- .replace('::com.sap.vocabularies.UI.v1.LineItem', '/@com.sap.vocabularies.UI.v1.LineItem');
68
+ .replace(`::${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`, `/@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`);
72
69
  break;
73
70
  }
74
71
  }
75
72
  }
76
73
  else {
77
- facetID = idParts[0];
78
- id = idParts[1];
74
+ facetID = selectorIdParts[0];
79
75
  }
80
76
  selectorId = selectorId
81
77
  .replace(/:2f/g, '/')
@@ -105,19 +101,37 @@ function prepareFlexChanges(changes, entitySet, logger) {
105
101
  });
106
102
  return result;
107
103
  }
104
+ const addFlexToConfig = (config, propertyKey, flexChange) => {
105
+ config[propertyKey] = flexChange;
106
+ };
107
+ const getSectionType = (schemaSection) => {
108
+ let reference;
109
+ if (schemaSection['$ref']) {
110
+ reference = schemaSection['$ref'].includes('<') ? schemaSection['$ref'].split('<')[0] : schemaSection['$ref'];
111
+ return reference.replace(common_1.DEFINITION_LINK_PREFIX, '');
112
+ }
113
+ else if (schemaSection['properties']['subsections']['$ref']) {
114
+ reference = schemaSection['properties']['subsections']['$ref'];
115
+ reference = reference.includes('<') ? reference.split('<')[0] : reference;
116
+ return reference.replace(common_1.DEFINITION_LINK_PREFIX, '');
117
+ }
118
+ else if (schemaSection['properties']['subsections']) {
119
+ return types_1.SectionTypeV2.SubSection;
120
+ }
121
+ };
108
122
  /**
109
123
  * Transfers settings from manifest and flexChanges to object page config
110
124
  * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
111
125
  * @param configPart - part of the configuration to be filled
112
- * @param manifest - manifest.json of the app
113
126
  * @param schemaDefinition - current section of the app specific schema
114
127
  * @param pageKeys - list of page keys (comprises the one entry describing the given page)
115
128
  * @param flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
116
129
  * @param sectionId - ID of the given section (optional)
117
- * @param sectionTitle - title of the section (Facet ID)
130
+ * @param sectionTitle - title of the section (optional)
118
131
  * @param actionId - ID of the given action (optional)
119
132
  */
120
133
  function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefinition, pageKeys, flexChanges, sectionId, sectionTitle, actionId) {
134
+ var _a;
121
135
  if (!schemaDefinition) {
122
136
  return;
123
137
  }
@@ -128,18 +142,16 @@ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefi
128
142
  }
129
143
  const unescapedId = sectionId && sectionId.replace(/::@com.sap.vocabularies/g, v2_1.VOCWITHSLASH);
130
144
  for (const propertyKey in schemaDefinition['properties'] || schemaDefinition) {
131
- const syncRule = common_2.getReflectMetadata(configPart, propertyKey);
145
+ const syncRule = common_1.getReflectMetadata(configPart, propertyKey);
132
146
  if (syncRule || propertyKey === 'columns') {
133
147
  if (propertyKey === 'columns' || (syncRule && syncRule.flex)) {
134
148
  if (sectionId) {
135
149
  for (const selector in flexChanges) {
136
- if ((flexChanges[selector].propertyId === propertyKey ||
137
- (propertyKey === 'columns' &&
138
- flexChanges[selector].controlType === common_1.ControlType.TableColumn)) &&
139
- flexChanges[selector].facetId &&
140
- (flexChanges[selector].facetId === sectionId ||
141
- flexChanges[selector].facetId === unescapedId ||
142
- flexChanges[selector].facetId === sectionTitle)) {
150
+ const flexChange = flexChanges[selector];
151
+ const propertyIdMatch = flexChange.propertyId === propertyKey;
152
+ const isTableColumn = propertyKey === 'columns' && flexChange.controlType === common_1.ControlType.TableColumn;
153
+ const facetIds = [sectionId, unescapedId, sectionTitle];
154
+ if ((propertyIdMatch || isTableColumn) && facetIds.indexOf(flexChange === null || flexChange === void 0 ? void 0 : flexChange.facetId) > -1) {
143
155
  table_1.addFlexForTable(configPart, flexChanges[selector], importParameters.jsonSchema);
144
156
  }
145
157
  }
@@ -147,13 +159,32 @@ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefi
147
159
  else {
148
160
  for (const selector in flexChanges) {
149
161
  const flexChange = flexChanges[selector];
150
- if ((!actionId || selector.endsWith(actionId)) &&
151
- ((flexChange.propertyId === propertyKey && !flexChanges[selector].facetId) ||
152
- (flexChange.propertyId === propertyKey && flexChange.facetId === 'action') ||
153
- (flexChange.propertyId === propertyKey &&
154
- flexChange.controlType ===
155
- schemaDefinition['properties'][flexChange.propertyId].controlType))) {
156
- configPart[propertyKey] = flexChange.newValue;
162
+ const actionIdMatch = !actionId || new RegExp(`.*${actionId}\\d?$`).test(selector);
163
+ const propertyIdMatch = flexChange.propertyId === propertyKey;
164
+ const schemaControlType = (_a = schemaDefinition['properties'][flexChange.propertyId]) === null || _a === void 0 ? void 0 : _a.controlType;
165
+ const controlTypeMatch = flexChange.controlType === schemaControlType;
166
+ if (!flexChange.facetId && actionIdMatch && propertyIdMatch) {
167
+ addFlexToConfig(configPart, propertyKey, flexChange.newValue);
168
+ break;
169
+ }
170
+ else if (flexChange.facetId === 'action' &&
171
+ !sectionTitle &&
172
+ actionIdMatch &&
173
+ propertyIdMatch) {
174
+ // Actions
175
+ addFlexToConfig(configPart, propertyKey, flexChange.newValue);
176
+ break;
177
+ }
178
+ else if (!sectionTitle && actionIdMatch && propertyIdMatch && controlTypeMatch) {
179
+ addFlexToConfig(configPart, propertyKey, flexChange.newValue);
180
+ break;
181
+ }
182
+ else if (selector.includes(sectionTitle) &&
183
+ actionIdMatch &&
184
+ propertyIdMatch &&
185
+ controlTypeMatch) {
186
+ // Sections
187
+ addFlexToConfig(configPart, propertyKey, flexChange.newValue);
157
188
  break;
158
189
  }
159
190
  }
@@ -185,7 +216,7 @@ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefi
185
216
  if (deprecated) {
186
217
  extensionLogger_1.log(importParameters.logger, {
187
218
  severity: "warning" /* Warning */,
188
- message: common_2.getTextForDeprecated(key, deprecated),
219
+ message: common_1.getTextForDeprecated(key, deprecated),
189
220
  location: {
190
221
  path: 'webapp/manifest.json/',
191
222
  range: path.split('/')
@@ -212,13 +243,13 @@ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefi
212
243
  */
213
244
  function fillFields(importParameters, escapedId, fieldProperties, configPart, factory, pageKeys, flexChanges) {
214
245
  let fieldId;
215
- configPart[escapedId]['form'] = { fields: {} };
246
+ configPart[escapedId]['form']['fields'] = {};
216
247
  for (const fieldProperty in fieldProperties) {
217
248
  fieldId = fieldProperty.includes('::')
218
249
  ? fieldProperty.split('::')[1] + '::GroupElement'
219
250
  : fieldProperty + '::GroupElement';
220
- configPart[escapedId]['form']['fields'][fieldProperty] = factory.createInstance(common_3.PageType.ObjectPage, 'DataField');
221
- transferSettingsAndFlexChanges(importParameters, configPart[escapedId]['form']['fields'][fieldProperty], importParameters.jsonSchema['definitions']['DataField'], pageKeys, flexChanges, undefined, undefined, fieldId);
251
+ configPart[escapedId]['form']['fields'][fieldProperty] = factory.createInstance(common_2.PageType.ObjectPage, 'Field');
252
+ transferSettingsAndFlexChanges(importParameters, configPart[escapedId]['form']['fields'][fieldProperty], importParameters.jsonSchema['definitions']['Field'], pageKeys, flexChanges, undefined, undefined, fieldId);
222
253
  if (Object.keys(configPart[escapedId]['form']['fields'][fieldProperty]).length === 0) {
223
254
  delete configPart[escapedId]['form']['fields'][fieldProperty];
224
255
  }
@@ -226,12 +257,6 @@ function fillFields(importParameters, escapedId, fieldProperties, configPart, fa
226
257
  if (Object.keys(configPart[escapedId]['form']['fields']).length === 0) {
227
258
  delete configPart[escapedId]['form']['fields'];
228
259
  }
229
- if (Object.keys(configPart[escapedId]['form']).length === 0) {
230
- delete configPart[escapedId]['form'];
231
- }
232
- if (Object.keys(configPart[escapedId]).length === 0) {
233
- delete configPart[escapedId];
234
- }
235
260
  }
236
261
  /**
237
262
  * Fill table settings in config.json
@@ -244,10 +269,11 @@ function fillFields(importParameters, escapedId, fieldProperties, configPart, fa
244
269
  * @param pageKeys - list of page keys (comprises the one entry describing the given page)
245
270
  * @param logger - Logger class for logging messages
246
271
  * @param sectionId - ID of the current section
272
+ * @param sectionType - Section type (Sub/Section Table)
247
273
  */
248
- function fillTableInConfig(importParameters, manifestSettings, flexChanges, factory, configPart, pageKeys, sectionId) {
274
+ function fillTableInConfig(importParameters, manifestSettings, flexChanges, factory, configPart, pageKeys, sectionId, sectionType) {
249
275
  const escapedSectionId = sectionId.replace(/\/@/g, '::');
250
- const schemaSection = importParameters.jsonSchema['definitions']['ObjectPageSectionTableV2<' + escapedSectionId + '>'];
276
+ const schemaSection = importParameters.jsonSchema['definitions'][`${sectionType}<${sectionId}>`];
251
277
  const sectionTitle = schemaSection.title ? schemaSection.title.split(v2_1.FacetTitlePrefix)[1] : undefined;
252
278
  const manifestKey = escapedSectionId.replace('@com.sap', 'com.sap');
253
279
  const manifestSection = manifestSettings && manifestSettings.sections && manifestSettings.sections[manifestKey];
@@ -260,8 +286,9 @@ function fillTableInConfig(importParameters, manifestSettings, flexChanges, fact
260
286
  : 'ResponsiveTable'
261
287
  : 'ResponsiveTable';
262
288
  //Instantiate metadata
263
- const OPtable = factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPage' + tableType);
264
- configPart[escapedSectionId] = { table: OPtable };
289
+ const OPtable = factory.createInstance(common_2.PageType.ObjectPage, `ObjectPage${tableType}`);
290
+ configPart[escapedSectionId] = factory.createInstance(common_2.PageType.ObjectPage, sectionType, { table: {} });
291
+ configPart[escapedSectionId]['table'] = OPtable;
265
292
  let localJsonSchema;
266
293
  const schemaDefinitions = importParameters.jsonSchema['definitions'];
267
294
  if (tableType) {
@@ -270,6 +297,7 @@ function fillTableInConfig(importParameters, manifestSettings, flexChanges, fact
270
297
  else {
271
298
  localJsonSchema = schemaDefinitions['ObjectPageResponsiveTable<' + escapedSectionId + '>'];
272
299
  }
300
+ transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId], schemaSection, pageKeys, flexChanges, undefined, sectionTitle);
273
301
  transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId]['table'], localJsonSchema, pageKeys, flexChanges, sectionId, sectionTitle);
274
302
  }
275
303
  }
@@ -293,7 +321,36 @@ function fillCustomColumnsInConfig(importParameters, escapedSectionId, sectionTi
293
321
  key: sectionTitle || escapedSectionId.replace('@', ''),
294
322
  target: customColumnTarget
295
323
  };
296
- listReport_1.addFragments(configPart[escapedSectionId], importParameters.manifest, v2Page, common_3.PageType.ObjectPage, importParameters.fragments, objectPageSectionData);
324
+ listReport_1.addFragments(configPart[escapedSectionId], importParameters.manifest, v2Page, common_2.PageType.ObjectPage, importParameters.fragments, objectPageSectionData);
325
+ }
326
+ }
327
+ /**
328
+ * Fills the action of the configuration
329
+ * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
330
+ * @param actionProperties - current properties' list (of action)
331
+ * @param configPart - the given part of the object page config
332
+ * @param actionInstance - type of action that should be initiated
333
+ * @param {MetadataInstanceInterface} factory - factory, for generating the access to reflect-metadata
334
+ * @param pageKeys - list of page keys (comprises the one entry describing the given page)
335
+ * @param flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
336
+ */
337
+ function fillActions(importParameters, actionProperties, configPart, factory, pageKeys, flexChanges, sectionId) {
338
+ let actionId, configActionId;
339
+ configPart['actions'] = {};
340
+ const actionType = sectionId ? 'FormAction' : 'HeaderAction';
341
+ if (flexChanges.constructor === Object && Object.keys(flexChanges).length !== 0) {
342
+ for (const actionProperty in actionProperties) {
343
+ configActionId = actionProperty.replace(/@/g, '::');
344
+ actionId = (sectionId ? `${actionProperty}${sectionId}` : actionProperty).replace(/@/g, '::');
345
+ configPart['actions'][configActionId] = factory.createInstance(common_2.PageType.ObjectPage, actionType);
346
+ transferSettingsAndFlexChanges(importParameters, configPart['actions'][configActionId], importParameters.jsonSchema['definitions'][actionType], pageKeys, flexChanges, undefined, undefined, actionId);
347
+ if (sectionId && Object.keys(configPart['actions'][configActionId]).length === 0) {
348
+ delete configPart['actions'][configActionId];
349
+ }
350
+ }
351
+ }
352
+ if (sectionId && Object.keys(configPart['actions']).length === 0) {
353
+ delete configPart['actions'];
297
354
  }
298
355
  }
299
356
  /**
@@ -308,66 +365,83 @@ function fillCustomColumnsInConfig(importParameters, escapedSectionId, sectionTi
308
365
  * @param {ObjectPageConfig} objectPageConfig - page config object.
309
366
  */
310
367
  function fillSectionsInConfig(importParameters, sectionProperties, manifestSettings, configPart, factory, pageKeys, flexChanges, v2Page, objectPageConfig) {
368
+ var _a, _b;
311
369
  let sectionTitle;
312
370
  for (const sectionId in sectionProperties) {
313
371
  const escapedSectionId = sectionId.replace(/\/@/g, '::');
314
372
  let schemaSection = sectionProperties[sectionId];
315
373
  if (schemaSection['$ref'] &&
316
- schemaSection['$ref'].startsWith(common_2.DEFINITION_LINK_PREFIX + 'ObjectPageSectionTableV2')) {
317
- fillTableInConfig(importParameters, manifestSettings, flexChanges, factory, configPart, pageKeys, sectionId);
374
+ (getSectionType(schemaSection) === types_1.SectionTypeV2.SectionTable ||
375
+ getSectionType(schemaSection) === types_1.SectionTypeV2.SubSectionTable)) {
376
+ const sectionType = getSectionType(schemaSection);
377
+ fillTableInConfig(importParameters, manifestSettings, flexChanges, factory, configPart, pageKeys, sectionId, sectionType);
318
378
  // Custom column ref
319
379
  fillCustomColumnsInConfig(importParameters, escapedSectionId, sectionTitle, configPart, v2Page);
320
380
  }
321
- else if (schemaSection['properties'] && schemaSection['properties']['subsections']) {
322
- // Section with subsections
323
- configPart[escapedSectionId] = {
324
- subsections: {}
325
- };
326
- schemaSection = importParameters.jsonSchema['definitions']['ObjectPageSectionV2<' + escapedSectionId + '>'];
327
- sectionTitle = schemaSection.title ? schemaSection.title.split(v2_1.FacetTitlePrefix)[1] : undefined;
328
- fillSectionsInConfig(importParameters, schemaSection['properties'], manifestSettings, configPart[escapedSectionId]['subsections'], factory, pageKeys, flexChanges, v2Page, objectPageConfig);
329
- }
330
381
  else if (schemaSection['$ref'] &&
331
- schemaSection['$ref'] === common_2.DEFINITION_LINK_PREFIX + 'ObjectPageSectionChartV2') {
332
- schemaSection = importParameters.jsonSchema['definitions']['ObjectPageSectionChartV2'];
333
- sectionTitle = schemaSection.title ? schemaSection.title.split(v2_1.FacetTitlePrefix)[1] : undefined;
382
+ (getSectionType(schemaSection) === types_1.SectionTypeV2.SectionChart ||
383
+ getSectionType(schemaSection) === types_1.SectionTypeV2.SubSectionChart)) {
384
+ // Section without subsections
385
+ const sectionType = getSectionType(schemaSection);
386
+ schemaSection = importParameters.jsonSchema['definitions'][`${sectionType}<${sectionId}>`];
387
+ const sectionTitle = common_1.getSectionTitle(schemaSection, importParameters.jsonSchema);
334
388
  const manifestKey = escapedSectionId.replace('@com.sap', 'com.sap');
335
389
  const manifestSection = manifestSettings && manifestSettings.sections && manifestSettings.sections[manifestKey];
336
- const chartConfig = factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageChart');
337
- configPart[escapedSectionId] = { chart: chartConfig };
390
+ configPart[escapedSectionId] = factory.createInstance(common_2.PageType.ObjectPage, sectionType, { chart: {} });
391
+ configPart[escapedSectionId]['chart'] = factory.createInstance(common_2.PageType.ObjectPage, 'ObjectPageChart');
338
392
  if (manifestSection || flexChanges) {
393
+ transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId], schemaSection, pageKeys, flexChanges, undefined, sectionTitle);
339
394
  transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId]['chart'], importParameters.jsonSchema['definitions']['ObjectPageChart'], pageKeys, flexChanges, sectionId, sectionTitle);
340
395
  }
341
396
  }
342
397
  else if (schemaSection['$ref'] &&
343
- schemaSection['$ref'] === common_2.DEFINITION_LINK_PREFIX + 'ObjectPageForm' + '<' + sectionId + '>') {
344
- const formId = importParameters.jsonSchema['definitions'][`ObjectPageForm<${sectionId}>`]['properties']['form']['$ref'].replace(`${common_2.DEFINITION_LINK_PREFIX}SectionForm`, '');
398
+ (getSectionType(schemaSection) === types_1.SectionTypeV2.SectionForm ||
399
+ getSectionType(schemaSection) === types_1.SectionTypeV2.SubSectionForm)) {
400
+ const sectionType = getSectionType(schemaSection);
401
+ schemaSection = importParameters.jsonSchema['definitions'][`${sectionType}<${sectionId}>`];
402
+ const sectionTitle = common_1.getSectionTitle(schemaSection, importParameters.jsonSchema);
403
+ const formId = schemaSection['properties']['form']['$ref'].split('SectionForm')[1];
404
+ configPart[escapedSectionId] = factory.createInstance(common_2.PageType.ObjectPage, sectionType, { form: {} });
405
+ if (flexChanges) {
406
+ transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId], schemaSection, pageKeys, flexChanges, undefined, sectionTitle);
407
+ }
408
+ const formActions = importParameters.jsonSchema['definitions'][`SectionActions${formId}`];
409
+ if (formActions['properties']) {
410
+ fillActions(importParameters, formActions.properties, configPart[escapedSectionId]['form'], factory, pageKeys, flexChanges, `${escapedSectionId}::FormAction`);
411
+ }
345
412
  const formFields = importParameters.jsonSchema['definitions'][`SectionFields${formId}`];
346
413
  if (formFields['properties']) {
347
- const formConfig = factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageForm');
348
- configPart[escapedSectionId] = { form: formConfig };
349
414
  fillFields(importParameters, escapedSectionId, formFields.properties, configPart, factory, pageKeys, flexChanges);
350
415
  }
416
+ if (Object.keys(configPart[escapedSectionId]['form']).length === 0) {
417
+ delete configPart[escapedSectionId]['form'];
418
+ }
419
+ if (Object.keys(configPart[escapedSectionId]).length === 0) {
420
+ delete configPart[escapedSectionId];
421
+ }
351
422
  }
352
- }
353
- }
354
- /**
355
- * Fills the action of the configuration
356
- * @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
357
- * @param actionProperties - current properties' list (of action)
358
- * @param configPart - the given part of the object page config
359
- * @param {MetadataInstanceInterface} factory - factory, for generating the access to reflect-metadata
360
- * @param pageKeys - list of page keys (comprises the one entry describing the given page)
361
- * @param flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
362
- */
363
- function fillActions(importParameters, actionProperties, configPart, factory, pageKeys, flexChanges) {
364
- let actionId;
365
- configPart['actions'] = {};
366
- if (flexChanges.constructor === Object && Object.keys(flexChanges).length !== 0) {
367
- for (const actionProperty in actionProperties) {
368
- actionId = actionProperty.replace(/\/@/g, '::');
369
- configPart['actions'][actionId] = factory.createInstance(common_3.PageType.ObjectPage, 'HeaderAction');
370
- transferSettingsAndFlexChanges(importParameters, configPart['actions'][actionId], importParameters.jsonSchema['definitions']['HeaderAction'], pageKeys, flexChanges, undefined, undefined, actionId);
423
+ else if ((schemaSection['properties'] && schemaSection['properties']['subsections']) ||
424
+ (schemaSection['$ref'] &&
425
+ (getSectionType(schemaSection) === types_1.SectionTypeV2.Section ||
426
+ getSectionType(schemaSection) === types_1.SectionTypeV2.SubSection))) {
427
+ // Section with subsections
428
+ const sectionType = getSectionType(schemaSection);
429
+ schemaSection = importParameters.jsonSchema['definitions'][`${sectionType}<${sectionId}>`];
430
+ const sectionTitle = common_1.getSectionTitle(schemaSection, importParameters.jsonSchema);
431
+ configPart[escapedSectionId] = factory.createInstance(common_2.PageType.ObjectPage, sectionType, {
432
+ subsections: {}
433
+ });
434
+ if (flexChanges) {
435
+ transferSettingsAndFlexChanges(importParameters, configPart[escapedSectionId], schemaSection, pageKeys, flexChanges, undefined, sectionTitle);
436
+ }
437
+ let currentSchemaSection;
438
+ if ((_b = (_a = schemaSection['properties']) === null || _a === void 0 ? void 0 : _a['subsections']) === null || _b === void 0 ? void 0 : _b['properties']) {
439
+ currentSchemaSection = schemaSection['properties']['subsections']['properties'];
440
+ }
441
+ else {
442
+ currentSchemaSection = schemaSection['properties'];
443
+ }
444
+ fillSectionsInConfig(importParameters, currentSchemaSection, manifestSettings, configPart[escapedSectionId]['subsections'], factory, pageKeys, flexChanges, v2Page, objectPageConfig);
371
445
  }
372
446
  }
373
447
  }
@@ -381,12 +455,12 @@ function fillActions(importParameters, actionProperties, configPart, factory, pa
381
455
  * @returns {ObjectPageConfig} - the object page configuration (JSON)
382
456
  */
383
457
  function fillConfig(importParameters, pageKeys, flexChangesForTransfer, v2Page, factory) {
384
- const objectPageConfig = factory.createPageInstance(common_3.PageType.ObjectPage);
458
+ const objectPageConfig = factory.createPageInstance(common_2.PageType.ObjectPage);
385
459
  const manifestSettings = v2Page.component.settings;
386
460
  // Transfer page information
387
461
  transferSettingsAndFlexChanges(importParameters, objectPageConfig, importParameters.jsonSchema['properties'], pageKeys, flexChangesForTransfer);
388
462
  // Transfer header information
389
- objectPageConfig.header = factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageHeader');
463
+ objectPageConfig.header = factory.createInstance(common_2.PageType.ObjectPage, 'ObjectPageHeader');
390
464
  transferSettingsAndFlexChanges(importParameters, objectPageConfig.header, importParameters.jsonSchema['definitions']['ObjectPageHeader']
391
465
  ? importParameters.jsonSchema['definitions']['ObjectPageHeader']
392
466
  : importParameters.jsonSchema['definitions']['ObjectPageHeader<GenericActions>'], pageKeys, flexChangesForTransfer);
@@ -395,7 +469,7 @@ function fillConfig(importParameters, pageKeys, flexChangesForTransfer, v2Page,
395
469
  fillActions(importParameters, headerAction.properties, objectPageConfig.header, factory, pageKeys, flexChangesForTransfer);
396
470
  }
397
471
  // Transfer Layout information
398
- objectPageConfig.layout = factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageLayout');
472
+ objectPageConfig.layout = factory.createInstance(common_2.PageType.ObjectPage, 'ObjectPageLayout');
399
473
  transferSettingsAndFlexChanges(importParameters, objectPageConfig.layout, importParameters.jsonSchema['definitions']['ObjectPageLayout'], pageKeys, flexChangesForTransfer);
400
474
  if (Object.keys(objectPageConfig.layout).length === 0) {
401
475
  delete objectPageConfig.layout;
@@ -412,8 +486,8 @@ function fillConfig(importParameters, pageKeys, flexChangesForTransfer, v2Page,
412
486
  objectPageConfig.sections.custom = [];
413
487
  for (const sectionId in customSections) {
414
488
  const customSection = 'fragmentName' in customSections[sectionId]
415
- ? factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageCustomSectionFragment')
416
- : factory.createInstance(common_3.PageType.ObjectPage, 'ObjectPageCustomSectionView');
489
+ ? factory.createInstance(common_2.PageType.ObjectPage, 'ObjectPageCustomSectionFragment')
490
+ : factory.createInstance(common_2.PageType.ObjectPage, 'ObjectPageCustomSectionView');
417
491
  transferSettingsAndFlexChanges(importParameters, customSection, importParameters.jsonSchema['definitions']['fragmentName' in customSections[sectionId]
418
492
  ? 'ObjectPageCustomSectionFragment'
419
493
  : 'ObjectPageCustomSectionView'], pageKeys, flexChangesForTransfer, sectionId);
@@ -431,26 +505,26 @@ function fillConfig(importParameters, pageKeys, flexChangesForTransfer, v2Page,
431
505
  function createObjectPageConfigV2(importParameters) {
432
506
  // Initialize i18next
433
507
  i18n_1.initI18n();
434
- if (!importParameters.manifest[common_3.ManifestSection.generic]) {
508
+ if (!importParameters.manifest[common_2.ManifestSection.generic]) {
435
509
  extensionLogger_1.log(importParameters.logger, {
436
510
  severity: "error" /* Error */,
437
511
  message: i18next_1.default.t('NOFE'),
438
512
  location: {
439
513
  path: v2_1.MANIFESTPATH,
440
- range: [common_3.ManifestSection.generic]
514
+ range: [common_2.ManifestSection.generic]
441
515
  }
442
516
  });
443
517
  return;
444
518
  }
445
519
  const pageKeys = [];
446
- const v2Pages = importParameters.manifest[common_3.ManifestSection.generic].pages;
520
+ const v2Pages = importParameters.manifest[common_2.ManifestSection.generic].pages;
447
521
  if (!v2Pages) {
448
522
  extensionLogger_1.log(importParameters.logger, {
449
523
  severity: "error" /* Error */,
450
524
  message: i18next_1.default.t('NOPAGES', { appId: importParameters.manifest['sap.app']['id'] }),
451
525
  location: {
452
526
  path: v2_1.MANIFESTPATH,
453
- range: [common_3.ManifestSection.generic]
527
+ range: [common_2.ManifestSection.generic]
454
528
  }
455
529
  });
456
530
  return;
@@ -463,7 +537,7 @@ function createObjectPageConfigV2(importParameters) {
463
537
  message: i18next_1.default.t('NOENTITYSET', { entitySet }),
464
538
  location: {
465
539
  path: v2_1.MANIFESTPATH,
466
- range: [common_3.ManifestSection.generic]
540
+ range: [common_2.ManifestSection.generic]
467
541
  }
468
542
  });
469
543
  return;