@sap/ux-specification 1.71.55 → 1.71.58

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 (84) hide show
  1. package/CHANGELOG.md +56 -20
  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/ObjectPageConfig.json +229 -0
  9. package/dist/src/project.d.ts +1 -0
  10. package/dist/src/project.js +13 -5
  11. package/dist/src/project.js.map +1 -1
  12. package/dist/src/specification/v2/controls/ObjectPageChart.d.ts +16 -0
  13. package/dist/src/specification/v2/controls/ObjectPageChart.js +3 -0
  14. package/dist/src/specification/v2/controls/ObjectPageChart.js.map +1 -0
  15. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +47 -7
  16. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  17. package/dist/src/specification/v2/controls/index.d.ts +1 -0
  18. package/dist/src/specification/v2/controls/index.js.map +1 -1
  19. package/dist/src/sync/common/decoration/control.d.ts +1 -1
  20. package/dist/src/sync/common/decoration/control.js +27 -22
  21. package/dist/src/sync/common/decoration/control.js.map +1 -1
  22. package/dist/src/sync/common/generate/objectPage.d.ts +5 -4
  23. package/dist/src/sync/common/generate/objectPage.js +60 -59
  24. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  25. package/dist/src/sync/common/generate/utils.d.ts +48 -8
  26. package/dist/src/sync/common/generate/utils.js +124 -38
  27. package/dist/src/sync/common/generate/utils.js.map +1 -1
  28. package/dist/src/sync/common/import/utils.d.ts +3 -2
  29. package/dist/src/sync/common/import/utils.js +11 -6
  30. package/dist/src/sync/common/import/utils.js.map +1 -1
  31. package/dist/src/sync/common/importProject.js +20 -19
  32. package/dist/src/sync/common/importProject.js.map +1 -1
  33. package/dist/src/sync/common/types.d.ts +103 -26
  34. package/dist/src/sync/common/types.js +99 -22
  35. package/dist/src/sync/common/types.js.map +1 -1
  36. package/dist/src/sync/common/utils.d.ts +14 -7
  37. package/dist/src/sync/common/utils.js +96 -50
  38. package/dist/src/sync/common/utils.js.map +1 -1
  39. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +1 -1
  40. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -1
  41. package/dist/src/sync/v2/export/controls/Fragment.js +2 -2
  42. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  43. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +30 -11
  44. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +87 -4
  45. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  46. package/dist/src/sync/v2/export/controls/Table.js +36 -33
  47. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  48. package/dist/src/sync/v2/export/export.d.ts +0 -1
  49. package/dist/src/sync/v2/export/export.js +186 -142
  50. package/dist/src/sync/v2/export/export.js.map +1 -1
  51. package/dist/src/sync/v2/export/exportPage.js +35 -34
  52. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  53. package/dist/src/sync/v2/export/manifest.d.ts +22 -0
  54. package/dist/src/sync/v2/export/manifest.js +77 -36
  55. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  56. package/dist/src/sync/v2/generate/analyticalListReport.js +10 -10
  57. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  58. package/dist/src/sync/v2/generate/listReport.js +1 -1
  59. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  60. package/dist/src/sync/v2/generate/objectPage.js +90 -57
  61. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  62. package/dist/src/sync/v2/generate/utils.d.ts +3 -2
  63. package/dist/src/sync/v2/generate/utils.js +94 -89
  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 +6 -6
  71. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  72. package/dist/src/sync/v2/import/pages/objectPage.js +96 -104
  73. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  74. package/dist/src/sync/v2/import/pages/overviewPage.js +1 -1
  75. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  76. package/dist/src/sync/v2/import/utils.js +1 -1
  77. package/dist/src/sync/v2/import/utils.js.map +1 -1
  78. package/dist/src/sync/v2/types.d.ts +8 -3
  79. package/dist/src/sync/v2/types.js +6 -2
  80. package/dist/src/sync/v2/types.js.map +1 -1
  81. package/dist/src/sync/v4/utils/StableIdHelper.js +13 -10
  82. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  83. package/dist/test/unit/export/manifest.test.d.ts +1 -0
  84. package/package.json +2 -2
@@ -67,7 +67,6 @@ function transferManifestEntriesOVP(configObject, exportResults, jsonSchema, tar
67
67
  exports.transferManifestEntriesOVP = transferManifestEntriesOVP;
68
68
  /**
69
69
  * Assign sync rules to {currentObject}
70
- *
71
70
  * @param {string} structureName - name of the complex structure in schema
72
71
  * @param {object} currentObject - the given part of the configuration
73
72
  * @param {string} defaultTypeName - name of the default type that shall be taken if no class is registered for structureName
@@ -76,40 +75,52 @@ function assignReflectMetadataRules(factory, structureName, currentObject, defau
76
75
  return factory.createInstance(v2_1.PageType.OverviewPage, defaultTypeName, currentObject, structureName);
77
76
  }
78
77
  exports.assignReflectMetadataRules = assignReflectMetadataRules;
79
- function processAnyOfDefinitionsOfOVP(pathHierarchy, propertyList, jsonSchema, currentObject, configObject, factory, exportResults) {
80
- pathHierarchy.pop();
81
- let newConfigObject = currentObject;
82
- for (const anyOfKey in propertyList['anyOf']) {
83
- if (propertyList['anyOf'][anyOfKey].$ref) {
84
- const definitionArray = propertyList['anyOf'][anyOfKey].$ref.split(common_1.DEFINITION_LINK_PREFIX);
85
- const nextTargetDefinition = jsonSchema['definitions'][definitionArray[definitionArray.length - 1]];
86
- const cardSettingsType = pathHierarchy[1];
87
- currentObject = configObject[cardSettingsType];
88
- newConfigObject = assignReflectMetadataRules(factory, cardSettingsType, currentObject, 'CustomCard');
89
- transferManifestEntriesOVP(newConfigObject, exportResults, jsonSchema, nextTargetDefinition, factory, [
90
- ...pathHierarchy
91
- ]);
92
- }
93
- else if (typeof propertyList['anyOf'][anyOfKey] === 'object') {
78
+ function processAnyOfDefinitionsOfOVP(params) {
79
+ params.pathHierarchy.pop();
80
+ let newConfigObject = params.currentObject;
81
+ for (const anyOfKey in params.propertyList['anyOf']) {
82
+ if (params.propertyList['anyOf'][anyOfKey].$ref) {
83
+ const definitionArray = params.propertyList['anyOf'][anyOfKey].$ref.split(common_1.DEFINITION_LINK_PREFIX);
84
+ const nextTargetDefinition = params.appSchema['definitions'][definitionArray[definitionArray.length - 1]];
85
+ const cardSettingsType = params.pathHierarchy[1];
86
+ params.currentObject = params.configObject[cardSettingsType];
87
+ newConfigObject = assignReflectMetadataRules(params.factory, cardSettingsType, params.currentObject, 'CustomCard');
88
+ transferManifestEntriesOVP(newConfigObject, params.exportResults, params.appSchema, nextTargetDefinition, params.factory, [...params.pathHierarchy]);
89
+ }
90
+ else if (typeof params.propertyList['anyOf'][anyOfKey] === 'object') {
94
91
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
95
- processProperties(configObject, exportResults, jsonSchema, propertyList['anyOf'][anyOfKey].properties, factory, [...pathHierarchy, 'anyOfObject']);
92
+ processProperties(params.configObject, params.exportResults, params.appSchema, params.propertyList['anyOf'][anyOfKey].properties, params.factory, [...params.pathHierarchy, 'anyOfObject']);
96
93
  }
97
94
  }
98
95
  return newConfigObject;
99
96
  }
97
+ function checkSyncRuleForExport(exportHandler, manifestSection, configObject, key, currentObject, exceptionList) {
98
+ if (exportHandler && typeof exportHandler === 'function') {
99
+ exportHandler(manifestSection, configObject, key);
100
+ }
101
+ else if (typeof currentObject === 'object' && !exceptionList.includes(key)) {
102
+ // colorPalette is an exception as it can contain anything as per our schema, so just replace the object
103
+ manifestSection[key] = deepmerge_1.default(manifestSection[key] || {}, currentObject || {}, {
104
+ arrayMerge: common_1.arrayCombineMerge
105
+ });
106
+ }
107
+ else {
108
+ manifestSection[key] = currentObject;
109
+ }
110
+ }
100
111
  /**
101
112
  * Transfer manifest settings from config to manifest
102
- * @param syncRule
103
- * @param pathHierarchy
113
+ * @param syncRule - metadata rule used for import and export
114
+ * @param pathHierarchy - elements of the path indicating the hierarchical level
104
115
  * @param key
105
- * @param exportResults
116
+ * @param exportResults - overall result list, to be updated
106
117
  * @param currentObject
107
118
  * @param configObject
108
- * @param exceptionList
109
119
  */
110
- function transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject, exceptionList) {
120
+ function transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject) {
121
+ const exceptionList = ['colorPalette', 'tabs'];
111
122
  const path = syncRule.manifest.path([...pathHierarchy, key]);
112
- const manifestSection = manifest_1.getManifestSectionByPathV2(exportResults.manifest, path);
123
+ const manifestSection = manifest_1.ensureManifestSectionByPathV2(exportResults.manifest, path);
113
124
  const manifestKey = syncRule.manifest.key || key;
114
125
  if (key in v2_1.CardSettingsType || key === 'settings') {
115
126
  manifestSection['settings'] = deepmerge_1.default(manifestSection['settings'] || {}, currentObject || {}, {
@@ -119,25 +130,14 @@ function transferToManifest(syncRule, pathHierarchy, key, exportResults, current
119
130
  else if (currentObject !== undefined) {
120
131
  const exportHandler = syncRule.manifest.export;
121
132
  if (exportHandler !== false) {
122
- if (exportHandler && typeof exportHandler === 'function') {
123
- exportHandler(manifestSection, configObject, key, manifestKey);
124
- }
125
- else if (typeof currentObject === 'object' && !exceptionList.includes(key)) {
126
- // colorPalette is an exception as it can contain anything as per our schema, so just replace the object
127
- manifestSection[key] = deepmerge_1.default(manifestSection[key] || {}, currentObject || {}, {
128
- arrayMerge: common_1.arrayCombineMerge
129
- });
130
- }
131
- else {
132
- manifestSection[key] = currentObject;
133
- }
133
+ checkSyncRuleForExport(exportHandler, manifestSection, configObject, key, currentObject, exceptionList);
134
134
  }
135
135
  }
136
136
  else if (manifestSection[key] !== undefined) {
137
137
  delete manifestSection[key];
138
138
  }
139
139
  }
140
- function transferCards(currentObject, jsonSchema, factory, exportResults) {
140
+ function transferCards(currentObject, appSchema, factory, exportResults) {
141
141
  Object.keys(currentObject).forEach((cardKey) => {
142
142
  const cardType = currentObject[cardKey].template;
143
143
  //Determine target defintion
@@ -146,15 +146,15 @@ function transferCards(currentObject, jsonSchema, factory, exportResults) {
146
146
  targetDefinition = ['CustomCard'];
147
147
  }
148
148
  else {
149
- targetDefinition = Object.keys(jsonSchema['definitions']).filter((definition) => {
149
+ targetDefinition = Object.keys(appSchema.definitions).filter((definition) => {
150
150
  var _a, _b, _c;
151
- return ((_c = (_b = (_a = jsonSchema['definitions'][definition].properties) === null || _a === void 0 ? void 0 : _a.template) === null || _b === void 0 ? void 0 : _b.enum) === null || _c === void 0 ? void 0 : _c.indexOf(currentObject[cardKey].template)) > -1;
151
+ return ((_c = (_b = (_a = appSchema.definitions[definition].properties) === null || _a === void 0 ? void 0 : _a.template) === null || _b === void 0 ? void 0 : _b.enum) === null || _c === void 0 ? void 0 : _c.indexOf(currentObject[cardKey].template)) > -1;
152
152
  });
153
153
  }
154
154
  //Get metadata
155
155
  currentObject[cardKey] = assignReflectMetadataRules(factory, targetDefinition[0], currentObject[cardKey], 'CustomCard');
156
156
  createCard(cardKey, exportResults['manifest'][v2_1.ManifestSection.ovp]);
157
- transferManifestEntriesOVP(currentObject[cardKey], exportResults, jsonSchema, jsonSchema['definitions'][targetDefinition[0]], factory, [cardKey]);
157
+ transferManifestEntriesOVP(currentObject[cardKey], exportResults, appSchema, appSchema.definitions[targetDefinition[0]], factory, [cardKey]);
158
158
  });
159
159
  //check for deletions:
160
160
  Object.keys(exportResults.manifest[v2_1.ManifestSection.ovp].cards).forEach((manifestCard) => {
@@ -163,22 +163,40 @@ function transferCards(currentObject, jsonSchema, factory, exportResults) {
163
163
  }
164
164
  });
165
165
  }
166
+ function exportOfObject(params, key, factory) {
167
+ if (key === 'cards') {
168
+ //inserts and updates:
169
+ transferCards(params.currentObject, params.appSchema, factory, params.exportResults);
170
+ }
171
+ else if (params.propertyList[key].$ref) {
172
+ const definitionArray = params.propertyList[key].$ref.split(common_1.DEFINITION_LINK_PREFIX);
173
+ const nextTargetDefinition = params.appSchema.definitions[definitionArray[definitionArray.length - 1]];
174
+ params.currentObject = assignReflectMetadataRules(params.factory, key, params.currentObject, key === 'settings' ? 'CustomCard' : '');
175
+ transferManifestEntriesOVP(params.currentObject, params.exportResults, params.appSchema, nextTargetDefinition, factory, [...params.pathHierarchy, key]);
176
+ }
177
+ else if (params.propertyList[key].anyOf) {
178
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
179
+ processProperties(params.configObject, params.exportResults, params.appSchema, params.propertyList[key], factory, [...params.pathHierarchy, key, 'anyOf']);
180
+ }
181
+ else if (params.propertyList[key]['properties'] !== undefined) {
182
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
183
+ processProperties(params.configObject, params.exportResults, params.appSchema, params.propertyList[key].properties, params.factory, [...params.pathHierarchy, key, 'objectProperties']);
184
+ }
185
+ }
166
186
  /**
167
187
  * Recursive function that transfers the content of a list of properties of a configuration to the overall exportResults
168
188
  * @param configObject - the given part of the configuration
169
189
  * @param exportResults - overall result list, to be updated
170
- * @param jsonSchema - app-specific JSOn schema
190
+ * @param appSchema - app-specific JSON schema
171
191
  * @param propertyList - current property list of the config (properties or additional properties)
172
192
  * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
173
193
  * @param pathHierarchy - elements of the path indicating the hierarchical level
174
194
  */
175
- function processProperties(configObject, exportResults, jsonSchema, propertyList, factory, pathHierarchy) {
176
- let currentObject;
195
+ function processProperties(configObject, exportResults, appSchema, propertyList, factory, pathHierarchy) {
177
196
  let isAnyOfObject = false;
178
197
  let isObjectProperty = false;
179
- const exceptionList = ['colorPalette', 'tabs'];
180
198
  for (const key in propertyList) {
181
- currentObject = configObject[key];
199
+ let currentObject = configObject[key];
182
200
  let syncRule = common_1.getReflectMetadata(configObject, key);
183
201
  if (pathHierarchy[pathHierarchy.length - 1] === 'anyOfObject') {
184
202
  isAnyOfObject = true;
@@ -196,40 +214,23 @@ function processProperties(configObject, exportResults, jsonSchema, propertyList
196
214
  currentObject = configObject[pathHierarchy[pathHierarchy.length - 1]][key];
197
215
  syncRule = common_1.getReflectMetadata(configObject, pathHierarchy[pathHierarchy.length - 1]);
198
216
  }
217
+ const processDefinitionParams = {
218
+ pathHierarchy,
219
+ propertyList,
220
+ appSchema,
221
+ currentObject,
222
+ configObject,
223
+ factory,
224
+ exportResults
225
+ };
199
226
  if (pathHierarchy[pathHierarchy.length - 1] === 'anyOf') {
200
- currentObject = processAnyOfDefinitionsOfOVP(pathHierarchy, propertyList, jsonSchema, currentObject, configObject, factory, exportResults);
227
+ currentObject = processAnyOfDefinitionsOfOVP(processDefinitionParams);
201
228
  }
202
229
  if (syncRule === null || syncRule === void 0 ? void 0 : syncRule.manifest) {
203
- transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject, exceptionList);
230
+ transferToManifest(syncRule, pathHierarchy, key, exportResults, currentObject, configObject);
204
231
  }
205
232
  if (currentObject && typeof currentObject === 'object' && propertyList[key]) {
206
- if (key === 'cards') {
207
- //inserts and updates:
208
- transferCards(currentObject, jsonSchema, factory, exportResults);
209
- }
210
- else if (propertyList[key].$ref) {
211
- const definitionArray = propertyList[key].$ref.split(common_1.DEFINITION_LINK_PREFIX);
212
- const nextTargetDefinition = jsonSchema['definitions'][definitionArray[definitionArray.length - 1]];
213
- currentObject = assignReflectMetadataRules(factory, key, currentObject, key === 'settings' ? 'CustomCard' : '');
214
- transferManifestEntriesOVP(currentObject, exportResults, jsonSchema, nextTargetDefinition, factory, [
215
- ...pathHierarchy,
216
- key
217
- ]);
218
- }
219
- else if (propertyList[key].anyOf) {
220
- processProperties(configObject, exportResults, jsonSchema, propertyList[key], factory, [
221
- ...pathHierarchy,
222
- key,
223
- 'anyOf'
224
- ]);
225
- }
226
- else if (propertyList[key]['properties'] !== undefined) {
227
- processProperties(configObject, exportResults, jsonSchema, propertyList[key].properties, factory, [
228
- ...pathHierarchy,
229
- key,
230
- 'objectProperties'
231
- ]);
232
- }
233
+ exportOfObject(processDefinitionParams, key, factory);
233
234
  }
234
235
  }
235
236
  }
@@ -287,7 +288,7 @@ function evaluateFlexRule(transferParameters, breadcrumbs, syncRule, ids, title,
287
288
  * @param key - key of the given property
288
289
  */
289
290
  function evaluateManifestRule(transferParameters, path, syncRule, key, configObject) {
290
- const manifestSection = manifest_1.getManifestSectionByPathV2(transferParameters.exportResults.manifest, path);
291
+ const manifestSection = manifest_1.ensureManifestSectionByPathV2(transferParameters.exportResults.manifest, path);
291
292
  const manifestKey = syncRule.manifest.key || key;
292
293
  if (configObject[key] !== undefined) {
293
294
  // In case of arrays we take over complete array
@@ -315,6 +316,25 @@ function evaluateManifestRule(transferParameters, path, syncRule, key, configObj
315
316
  }
316
317
  common_1.deleteEmptyStructure(transferParameters.exportResults.manifest, path);
317
318
  }
319
+ function getManifestPathOfSections(breadcrumbs, path, syncRule, transferParameters, title) {
320
+ if (breadcrumbs[1] === 'custom') {
321
+ path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[2]);
322
+ }
323
+ else {
324
+ path = syncRule.manifest.path(transferParameters.pageKeys, {}, (title === null || title === void 0 ? void 0 : title.startsWith(common_1.FacetTitlePrefix)) ? title.split(common_1.FacetTitlePrefix)[1] : breadcrumbs[1], breadcrumbs[breadcrumbs.length - 1]);
325
+ path = path.replace('/@', '::').replace(/VOCWITHCOLONS/g, '::com.sap.vocabularies');
326
+ }
327
+ return path;
328
+ }
329
+ function getManifestPathOfTable(breadcrumbs, path, syncRule, transferParameters, configObject) {
330
+ if (breadcrumbs[1] === 'columns' && breadcrumbs[2] === 'custom') {
331
+ path = syncRule.manifest.path(transferParameters.pageKeys, transferParameters.exportResults.manifest, configObject['tabKey']);
332
+ }
333
+ else {
334
+ path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[breadcrumbs.length - 1]);
335
+ }
336
+ return path;
337
+ }
318
338
  /**
319
339
  * Determines the path to a manifest setting, based on the syncRule
320
340
  * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
@@ -326,22 +346,11 @@ function evaluateManifestRule(transferParameters, path, syncRule, key, configObj
326
346
  */
327
347
  function getManifestPath(transferParameters, breadcrumbs, syncRule, configObject, title) {
328
348
  let path;
329
- if (breadcrumbs[0] === 'sections') {
330
- if (breadcrumbs[1] === 'custom') {
331
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[2]);
332
- }
333
- else {
334
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, (title === null || title === void 0 ? void 0 : title.startsWith(common_1.FacetTitlePrefix)) ? title.split(common_1.FacetTitlePrefix)[1] : breadcrumbs[1], breadcrumbs[breadcrumbs.length - 1]);
335
- path = path.replace('/@', '::').replace(/VOCWITHCOLONS/g, '::com.sap.vocabularies');
336
- }
349
+ if (breadcrumbs[0] === v2_1.PropertyName.sections) {
350
+ path = getManifestPathOfSections(breadcrumbs, path, syncRule, transferParameters, title);
337
351
  }
338
- else if (breadcrumbs[0] === 'table') {
339
- if (breadcrumbs[1] === 'columns' && breadcrumbs[2] === 'custom') {
340
- path = syncRule.manifest.path(transferParameters.pageKeys, transferParameters.exportResults.manifest, configObject['tabKey']);
341
- }
342
- else {
343
- path = syncRule.manifest.path(transferParameters.pageKeys, {}, breadcrumbs[breadcrumbs.length - 1]);
344
- }
352
+ else if (breadcrumbs[0] === v2_1.PropertyName.table) {
353
+ path = getManifestPathOfTable(breadcrumbs, path, syncRule, transferParameters, configObject);
345
354
  }
346
355
  else if (breadcrumbs[0] === 'keyPerformanceIndicators') {
347
356
  path = syncRule.manifest.path(transferParameters.pageKeys, transferParameters.exportResults.manifest, title);
@@ -382,6 +391,34 @@ function evaluateExportRule(transferParameters, syncRule, configObject, breadcru
382
391
  evaluateManifestRule(transferParameters, path, syncRule, key, configObject);
383
392
  }
384
393
  }
394
+ /**
395
+ * Deletes an obsolete custom column from manifest
396
+ */
397
+ function deleteObsoleteColumn(key, columnParams, manifestSection) {
398
+ var _a;
399
+ const keyParts = key.split('|');
400
+ const keyEntitySet = keyParts[1];
401
+ const keyTab = keyParts[2];
402
+ if (keyEntitySet === columnParams.entitySet) {
403
+ //relevant extension. still present in config?
404
+ const existingConfigEntries = (_a = columnParams.config) === null || _a === void 0 ? void 0 : _a.filter((column) => (column.tabKey === keyTab ||
405
+ (keyTab === undefined && column.tabKey === '') ||
406
+ (keyTab && columnParams.sectionKey === keyTab)) &&
407
+ column.extensionType === columnParams.extensionType);
408
+ if (!existingConfigEntries || existingConfigEntries.length === 0) {
409
+ controls_1.deleteColumnFromFragment(manifestSection, key, columnParams.appId, columnParams.exportResults.fragments);
410
+ // delete from manifest
411
+ delete manifestSection[key];
412
+ // delete cells entry
413
+ if (key.startsWith(common_1.ViewTemplateType.ResponsiveTableColumnsExtension)) {
414
+ const cellsPattern = key.replace(common_1.ViewTemplateType.ResponsiveTableColumnsExtension, common_1.ViewTemplateType.ResponsiveTableCellsExtension);
415
+ controls_1.deleteColumnFromFragment(manifestSection, cellsPattern, columnParams.appId, columnParams.exportResults.fragments);
416
+ // delete from manifest
417
+ delete manifestSection[cellsPattern];
418
+ }
419
+ }
420
+ }
421
+ }
385
422
  /**
386
423
  * Walks through the extensions registered in manifest and compares the columns of the fragment with the ones present in config.
387
424
  * If not present anymore, the extension column gets deleted from fragment.
@@ -393,34 +430,13 @@ function evaluateExportRule(transferParameters, syncRule, configObject, breadcru
393
430
  * @param extensionType - extensionType
394
431
  * @param appId - application ID
395
432
  */
396
- function deleteObsoleteColumnsFromFragment(path, exportResults, entitySet, config, sectionKey, extensionType, appId) {
397
- const folderPath = path.substr(0, path.lastIndexOf('/'));
398
- const manifestSection = manifest_1.getManifestSectionByPathV2(exportResults.manifest, folderPath);
399
- const extensionPattern = path.substr(path.lastIndexOf('/') + 1);
433
+ function deleteObsoleteColumnsFromFragment(columnParams) {
434
+ const folderPath = columnParams.path.substring(0, columnParams.path.lastIndexOf('/'));
435
+ const manifestSection = manifest_1.getManifestSectionByPathV2(columnParams.exportResults.manifest, folderPath);
436
+ const extensionPattern = columnParams.path.substring(columnParams.path.lastIndexOf('/') + 1);
400
437
  for (const key in manifestSection) {
401
438
  if (key.startsWith(extensionPattern)) {
402
- const keyParts = key.split('|');
403
- const keyEntitySet = keyParts[1];
404
- const keyTab = keyParts[2];
405
- if (keyEntitySet === entitySet) {
406
- //relevant extension. still present in config?
407
- const existingConfigEntries = config === null || config === void 0 ? void 0 : config.filter((column) => (column.tabKey === keyTab ||
408
- (keyTab === undefined && column.tabKey === '') ||
409
- (keyTab && sectionKey === keyTab)) &&
410
- column.extensionType === extensionType);
411
- if (!existingConfigEntries || existingConfigEntries.length === 0) {
412
- controls_1.deleteColumnFromFragment(manifestSection, key, appId, exportResults.fragments);
413
- // delete from manifest
414
- delete manifestSection[key];
415
- // delete cells entry
416
- if (key.startsWith(common_1.ViewTemplateType.ResponsiveTableColumnsExtension)) {
417
- const cellsPattern = key.replace(common_1.ViewTemplateType.ResponsiveTableColumnsExtension, common_1.ViewTemplateType.ResponsiveTableCellsExtension);
418
- controls_1.deleteColumnFromFragment(manifestSection, cellsPattern, appId, exportResults.fragments);
419
- // delete from manifest
420
- delete manifestSection[cellsPattern];
421
- }
422
- }
423
- }
439
+ deleteObsoleteColumn(key, columnParams, manifestSection);
424
440
  }
425
441
  }
426
442
  }
@@ -477,7 +493,16 @@ function transferColumnExtensions(transferParameters, customColumnsInConfig, sch
477
493
  if (!path) {
478
494
  continue;
479
495
  }
480
- deleteObsoleteColumnsFromFragment(path, transferParameters.exportResults, entitySet, customColumnsInConfig, sectionKey, extensionType, transferParameters.appId);
496
+ const columParams = {
497
+ path,
498
+ exportResults: transferParameters.exportResults,
499
+ entitySet,
500
+ config: customColumnsInConfig,
501
+ sectionKey,
502
+ extensionType,
503
+ appId: transferParameters.appId
504
+ };
505
+ deleteObsoleteColumnsFromFragment(columParams);
481
506
  }
482
507
  if (customColumnsInConfig) {
483
508
  //cluster existing custom columns by manifest path (or tab key)
@@ -515,7 +540,7 @@ function transferManifestExtensions(transferParameters, configSections, pageKey,
515
540
  transferManifestEntriesAndFlexChange(transferParameters, configSections[index], parentIds, [...breadcrumbs, sectionIds[index]], nextTargetDefinition);
516
541
  }
517
542
  // Delete removed manifest entries
518
- const manifestSections = manifest_1.getManifestSectionByPathV2(transferParameters.exportResults.manifest, application_1.getViewExtensionsPath());
543
+ const manifestSections = manifest_1.ensureManifestSectionByPathV2(transferParameters.exportResults.manifest, application_1.getViewExtensionsPath());
519
544
  for (const key in manifestSections) {
520
545
  if (utils_1.isAssociatedCustomSection(key, entity) && !sectionIds.includes(key)) {
521
546
  delete manifestSections[key];
@@ -531,14 +556,18 @@ function transferManifestExtensions(transferParameters, configSections, pageKey,
531
556
  function getSectionId(breadcrumbs, title) {
532
557
  let sectionId = undefined;
533
558
  for (let i = breadcrumbs.length - 1; i >= 0; i--) {
534
- if (breadcrumbs[i] === 'table') {
559
+ if (breadcrumbs[i] === v2_1.PropertyName.table) {
535
560
  sectionId = breadcrumbs[i - 1];
536
561
  break;
537
562
  }
538
563
  }
539
564
  return common_1.convertSectionId(sectionId, title);
540
565
  }
541
- function transferIndexTable(currentConfigObject, transferParameters, title, propertyDefinition, key, ids, breadcrumbs) {
566
+ /**
567
+ * Processes index tables in schema
568
+ */
569
+ function transferIndexTable(currentConfigObject, transferParameters, title, key, ids, breadcrumbs) {
570
+ const propertyDefinition = transferParameters.propertyDefinition;
542
571
  if (!currentConfigObject || !(propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.additionalProperties)) {
543
572
  return;
544
573
  }
@@ -548,6 +577,9 @@ function transferIndexTable(currentConfigObject, transferParameters, title, prop
548
577
  transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, key], nextDefinition.targetDefinition, newKey);
549
578
  });
550
579
  }
580
+ /**
581
+ * Transfers custom columns of schema
582
+ */
551
583
  function transferCustomColumns(propertyDefinition, breadcrumbs, title, transferParameters, configObject, nextDefinition) {
552
584
  let objectPageSectionData;
553
585
  const target = common_1.getTargetFromCustomColumnRef(propertyDefinition.$ref);
@@ -559,6 +591,9 @@ function transferCustomColumns(propertyDefinition, breadcrumbs, title, transferP
559
591
  }
560
592
  transferColumnExtensions(transferParameters, configObject === null || configObject === void 0 ? void 0 : configObject.custom, nextDefinition.targetDefinition, objectPageSectionData);
561
593
  }
594
+ /**
595
+ * Processes anyOf definitions of schema
596
+ */
562
597
  function handleAnyOfDefinitions(propertyDefinition, transferParameters, title, currentConfigObject, key, ids, breadcrumbs) {
563
598
  propertyDefinition['anyOf'].forEach((element) => {
564
599
  const nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject, element, key, transferParameters.factory, transferParameters.pageType);
@@ -568,6 +603,28 @@ function handleAnyOfDefinitions(propertyDefinition, transferParameters, title, c
568
603
  }
569
604
  });
570
605
  }
606
+ /**
607
+ * Processes complex definitions of schema
608
+ */
609
+ function transferComplexProperty(transferParameters, breadcrumbs, configObject, ids, propertyKey, nextDefinition, title) {
610
+ const propertyDefinition = transferParameters.propertyDefinition;
611
+ if ((propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.type) === 'array' &&
612
+ (breadcrumbs[0] === 'sections' || breadcrumbs[0] === 'subsections') &&
613
+ propertyKey === 'custom') {
614
+ transferManifestExtensions(transferParameters, configObject[propertyKey], transferParameters.pageKeys[transferParameters.pageKeys.length - 1], ids, [...breadcrumbs, propertyKey], propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.items);
615
+ }
616
+ else if (nextDefinition && propertyKey === 'custom') {
617
+ transferCustomColumns(propertyDefinition, breadcrumbs, title, transferParameters, configObject, nextDefinition);
618
+ return;
619
+ }
620
+ else if (nextDefinition) {
621
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
622
+ transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, propertyKey], nextDefinition.targetDefinition, nextDefinition.title);
623
+ }
624
+ else if (propertyDefinition['anyOf']) {
625
+ handleAnyOfDefinitions(propertyDefinition, transferParameters, title, configObject === null || configObject === void 0 ? void 0 : configObject[propertyKey], propertyKey, ids, breadcrumbs);
626
+ }
627
+ }
571
628
  /**
572
629
  * Function that traverses the content of the current object. It reads decorators and fills manifest entries and flex changes
573
630
  * @param {TransferParameterTypeV2} transferParameters - list of input parameters for the recursive function call
@@ -582,33 +639,20 @@ function transferManifestEntriesAndFlexChange(transferParameters, configObject,
582
639
  if (!(schemaDefinition === null || schemaDefinition === void 0 ? void 0 : schemaDefinition['properties'])) {
583
640
  return;
584
641
  }
585
- for (const key in schemaDefinition['properties']) {
586
- currentConfigObject = configObject && configObject[key];
587
- const childId = configObject && common_1.getChildId(configObject, key);
642
+ for (const propertyKey in schemaDefinition['properties']) {
643
+ currentConfigObject = configObject === null || configObject === void 0 ? void 0 : configObject[propertyKey];
644
+ const childId = configObject && common_1.getChildId(configObject, propertyKey);
588
645
  const ids = childId ? [...parentIds, childId] : parentIds;
589
- const syncRule = common_1.getReflectMetadata(configObject, key);
590
- const propertyDefinition = (transferParameters.propertyDefinition = schemaDefinition['properties'][key]);
591
- const nextDefinition = (transferParameters.nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject, propertyDefinition, key, transferParameters.factory, transferParameters.pageType));
646
+ const syncRule = common_1.getReflectMetadata(configObject, propertyKey);
647
+ const propertyDefinition = (transferParameters.propertyDefinition =
648
+ schemaDefinition['properties'][propertyKey]);
649
+ const nextDefinition = (transferParameters.nextDefinition = common_1.getNextTargetDefinition(transferParameters.appSchema, title, currentConfigObject, propertyDefinition, propertyKey, transferParameters.factory, transferParameters.pageType));
592
650
  //Evaluate sync rule for the export
593
- evaluateExportRule(transferParameters, syncRule, configObject, [...breadcrumbs], ids, title, key);
651
+ evaluateExportRule(transferParameters, syncRule, configObject, [...breadcrumbs], ids, title, propertyKey);
594
652
  //index table
595
- transferIndexTable(currentConfigObject, transferParameters, title, propertyDefinition, key, ids, breadcrumbs);
653
+ transferIndexTable(currentConfigObject, transferParameters, title, propertyKey, ids, breadcrumbs);
596
654
  if (currentConfigObject === undefined || typeof currentConfigObject === 'object') {
597
- if ((propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.type) === 'array' &&
598
- (breadcrumbs[0] === 'sections' || breadcrumbs[0] === 'subsections') &&
599
- key === 'custom') {
600
- transferManifestExtensions(transferParameters, configObject[key], transferParameters.pageKeys[transferParameters.pageKeys.length - 1], ids, [...breadcrumbs, key], propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.items);
601
- }
602
- else if (nextDefinition && key === 'custom') {
603
- transferCustomColumns(propertyDefinition, breadcrumbs, title, transferParameters, configObject, nextDefinition);
604
- continue;
605
- }
606
- else if (nextDefinition) {
607
- transferManifestEntriesAndFlexChange(transferParameters, nextDefinition.configObject, ids, [...breadcrumbs, key], nextDefinition.targetDefinition, nextDefinition.title);
608
- }
609
- else if (propertyDefinition['anyOf']) {
610
- handleAnyOfDefinitions(propertyDefinition, transferParameters, title, currentConfigObject, key, ids, breadcrumbs);
611
- }
655
+ transferComplexProperty(transferParameters, breadcrumbs, configObject, ids, propertyKey, nextDefinition, title);
612
656
  }
613
657
  else if ((propertyDefinition === null || propertyDefinition === void 0 ? void 0 : propertyDefinition.$ref) === common_1.DEFINITION_LINK_PREFIX + 'TableCustomColumns') {
614
658
  //empty config ==> delete all given extensions
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/sync/v2/export/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/sync/v2/export/export.ts"],"names":[],"mappings":"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"}