@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
@@ -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,23 +12,28 @@ 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, withActions = true) {
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') {
35
+ else if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
36
+ field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
31
37
  if (withActions && sectionType === __1.SectionType.Section) {
32
38
  appSchema['definitions'][actionsDefinition]['properties'][fieldReference] = {
33
39
  $ref: __1.DEFINITION_LINK_PREFIX + fieldDefinition,
@@ -46,16 +52,41 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2, w
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,22 +94,17 @@ function addField(sectionType, appSchema, field, targetID, key, section, isV2, w
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, withActions = true) {
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.base + '::' + section.target['qualifier']
72
- : section.entityType
73
- ? section.entityType.name + '::' + section.base
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
- };
107
+ appSchemaSection['properties']['form'] = { $ref: __1.DEFINITION_LINK_PREFIX + formDefinition };
82
108
  if (sectionType === __1.SectionType.Section && withActions) {
83
109
  appSchema['definitions'][formDefinition] = {
84
110
  type: 'object',
@@ -111,7 +137,7 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2, wit
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
@@ -127,18 +153,38 @@ function handleForm(sectionType, section, appSchemaSection, appSchema, isV2, wit
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, withActions);
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;
142
188
  /**
143
189
  * Common routine to determine the name and the ID of a header action
144
190
  * @param action - action as given by AVT
@@ -163,4 +209,112 @@ function getActionNameAndId(action, entityType) {
163
209
  return { actionName, actionId };
164
210
  }
165
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;
166
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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"}
@@ -0,0 +1,59 @@
1
+ import { EntityType } from '@sap-ux/annotation-converter';
2
+ import { AnnotationTerm, ConverterOutput, LineItem, UIAnnotationTerms } from '@sap-ux/vocabularies-types';
3
+ import { FacetSection } from '..';
4
+ /**
5
+ * Adds an enum filled with existing UI annotations of the given list (validAnnotations)
6
+ * @param {EntityType} entityType
7
+ * @param {UIAnnotationTerms[]} validAnnotations
8
+ * @param annoPath - the annotation path property in the app schema where the enum shall be added
9
+ */
10
+ export declare function addEnumForValidAnnotations(entityType: EntityType, validAnnotations: UIAnnotationTerms[], annoPath: object): void;
11
+ /**
12
+ * Adds an enum filled with existing UI annotations for single-tab variants of a table
13
+ * @param {EntityType} entityType
14
+ * @param appSchema - app specific JSOn schema
15
+ * @param definitionName - name of the definition in the app schema
16
+ */
17
+ export declare function addEnumForSingleTabVariant(entityType: EntityType, appSchema: object, definitionName: string): void;
18
+ /**
19
+ * Adds an enum filled with existing UI annotations for multi-tab variants of a table
20
+ * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
21
+ * @param appSchema - app specific JSOn schema
22
+ * @param definitionName - name of the definition in the app schema
23
+ */
24
+ export declare function addEnumForMultiTabVariant(oDataServiceAVT: ConverterOutput, appSchema: object, definitionName: string): void;
25
+ /**
26
+ * Adds the enume values for entitySet as part of the multiple view scenario
27
+ * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
28
+ * @param appSchema - app specific JSOn schema
29
+ * @param definitionName - name of the definition in the app schema
30
+ */
31
+ export declare function addEnumForVariantEntitySet(oDataServiceAVT: ConverterOutput, appSchema: object, definitionName: string): void;
32
+ /**
33
+ * Method adds definition for 'RelatedFacetKeys' as enum with describtion and adds references to 'RelatedFacetKeys' for custom section definitions.
34
+ * @param {object} schema App specific schema that potentially gets enhanced
35
+ * @param {string[]>} sectionDefinitions array of section definitions which should be updated with new reference to 'RelatedFacetKeys' enum.
36
+ * @param {FacetSection[]} facetSections Array of facet section objects which is used to generate enum values.
37
+ * @param {Array<keyof Omit<FacetSection, 'custom'>>} idProperties Array of property names which should be looked up in 'FacetSection' object.
38
+ * Please note that method depends on order and takes first non empty value associated to passed properties.
39
+ */
40
+ export declare function addDefinitionForRelatedFacetKeys(schema: object, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
41
+ /**
42
+ * Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
43
+ * @param appSchema - the app specific schema that shall get enhanced
44
+ * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
45
+ * @param entityType - the entity type as part of the AVT ConverterOutput
46
+ * @param lineItemId - line item ID, as comprise in stable ID
47
+ * @returns the actions definition plus the annotation path to the given line item
48
+ */
49
+ export declare function addCommonLineItemDefinitions(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId: string): {
50
+ actions: object;
51
+ lineItemPath: string;
52
+ };
53
+ /**
54
+ * Add schema definitions for fields of createWithParameterDialog
55
+ * @param {object} appSchema - Application-specific schema, to be enhanced
56
+ * @param {EntityType} entityType - Given entity type for which entries shall get generated
57
+ * @param {string=} floorplanSuffix - floorplan specific suffix (optional)
58
+ */
59
+ export declare function addFieldsType(appSchema: object, entityType: EntityType, floorplanSuffix?: string): void;
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("..");
4
+ /**
5
+ * Adds an enum filled with existing UI annotations of the given list (validAnnotations)
6
+ * @param {EntityType} entityType
7
+ * @param {UIAnnotationTerms[]} validAnnotations
8
+ * @param annoPath - the annotation path property in the app schema where the enum shall be added
9
+ */
10
+ function addEnumForValidAnnotations(entityType, validAnnotations, annoPath) {
11
+ const UiAnnotations = entityType.annotations.UI;
12
+ if (!UiAnnotations) {
13
+ return;
14
+ }
15
+ const enumEntries = annoPath['enum'] ? annoPath['enum'] : [];
16
+ for (const key in UiAnnotations) {
17
+ const annotation = UiAnnotations[key];
18
+ if (validAnnotations.indexOf(annotation.term) > -1) {
19
+ const enumEntry = annotation.qualifier
20
+ ? `${annotation.term}#${annotation.qualifier}`
21
+ : `${annotation.term}`;
22
+ if (enumEntries.indexOf(enumEntry) === -1) {
23
+ enumEntries.push(enumEntry);
24
+ }
25
+ }
26
+ }
27
+ if (enumEntries.length > 0) {
28
+ annoPath['enum'] = enumEntries;
29
+ }
30
+ }
31
+ exports.addEnumForValidAnnotations = addEnumForValidAnnotations;
32
+ /**
33
+ * Adds an enum filled with existing UI annotations for single-tab variants of a table
34
+ * @param {EntityType} entityType
35
+ * @param appSchema - app specific JSOn schema
36
+ * @param definitionName - name of the definition in the app schema
37
+ */
38
+ function addEnumForSingleTabVariant(entityType, appSchema, definitionName) {
39
+ const quickVariant = appSchema['definitions'][definitionName];
40
+ const annoPath = quickVariant.properties.annotationPath;
41
+ const validAnnotations = ["com.sap.vocabularies.UI.v1.SelectionVariant" /* SelectionVariant */, "com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* SelectionPresentationVariant */];
42
+ addEnumForValidAnnotations(entityType, validAnnotations, annoPath);
43
+ }
44
+ exports.addEnumForSingleTabVariant = addEnumForSingleTabVariant;
45
+ /**
46
+ * Adds an enum filled with existing UI annotations for multi-tab variants of a table
47
+ * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
48
+ * @param appSchema - app specific JSOn schema
49
+ * @param definitionName - name of the definition in the app schema
50
+ */
51
+ function addEnumForMultiTabVariant(oDataServiceAVT, appSchema, definitionName) {
52
+ const quickVariant = appSchema['definitions'][definitionName];
53
+ const annoPath = quickVariant.properties.annotationPath;
54
+ const validAnnotations = [
55
+ "com.sap.vocabularies.UI.v1.SelectionVariant" /* SelectionVariant */,
56
+ "com.sap.vocabularies.UI.v1.SelectionPresentationVariant" /* SelectionPresentationVariant */,
57
+ "com.sap.vocabularies.UI.v1.PresentationVariant" /* PresentationVariant */
58
+ ];
59
+ if (oDataServiceAVT.entitySets) {
60
+ oDataServiceAVT.entitySets.forEach((entitySet) => {
61
+ addEnumForValidAnnotations(entitySet.entityType, validAnnotations, annoPath);
62
+ });
63
+ }
64
+ }
65
+ exports.addEnumForMultiTabVariant = addEnumForMultiTabVariant;
66
+ /**
67
+ * Adds the enume values for entitySet as part of the multiple view scenario
68
+ * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
69
+ * @param appSchema - app specific JSOn schema
70
+ * @param definitionName - name of the definition in the app schema
71
+ */
72
+ function addEnumForVariantEntitySet(oDataServiceAVT, appSchema, definitionName) {
73
+ const quickVariant = appSchema['definitions'][definitionName];
74
+ const entitySet = quickVariant.properties.entitySet;
75
+ if (oDataServiceAVT.entitySets) {
76
+ const enumEntries = [];
77
+ oDataServiceAVT.entitySets.forEach((es) => {
78
+ enumEntries.push(es.name);
79
+ });
80
+ if (enumEntries.length > 0) {
81
+ entitySet['enum'] = enumEntries;
82
+ }
83
+ }
84
+ }
85
+ exports.addEnumForVariantEntitySet = addEnumForVariantEntitySet;
86
+ /**
87
+ * Method adds definition for 'RelatedFacetKeys' as enum with describtion and adds references to 'RelatedFacetKeys' for custom section definitions.
88
+ * @param {object} schema App specific schema that potentially gets enhanced
89
+ * @param {string[]>} sectionDefinitions array of section definitions which should be updated with new reference to 'RelatedFacetKeys' enum.
90
+ * @param {FacetSection[]} facetSections Array of facet section objects which is used to generate enum values.
91
+ * @param {Array<keyof Omit<FacetSection, 'custom'>>} idProperties Array of property names which should be looked up in 'FacetSection' object.
92
+ * Please note that method depends on order and takes first non empty value associated to passed properties.
93
+ */
94
+ function addDefinitionForRelatedFacetKeys(schema, sectionDefinitions, facetSections, idProperties) {
95
+ const oneOfSections = facetSections.map((section) => {
96
+ // Loop accaptable properties in received order and find first entry with value
97
+ const propertyName = idProperties.find((property) => !!section[property]);
98
+ const schemaIdForSection = section[propertyName];
99
+ return Object.assign(Object.assign({ const: schemaIdForSection }, (section.label && { description: section.label })), (section.custom && { custom: section.custom }));
100
+ });
101
+ // Change 'relatedFacet' only when we have entries for sections - otherwise use generic.
102
+ if (oneOfSections.length) {
103
+ // Create new definition in schema as 'oneOf'.
104
+ // Simpler way would be to use 'enum', but then there no option to pass description.
105
+ schema['definitions']['RelatedFacetKeys'] = {
106
+ type: 'string',
107
+ oneOf: oneOfSections
108
+ };
109
+ // Add enum definition
110
+ for (const name of sectionDefinitions) {
111
+ const definition = schema['definitions'][name];
112
+ const property = definition['properties']['relatedFacet'];
113
+ definition['properties']['relatedFacet'] = {
114
+ anyOf: [
115
+ {
116
+ $ref: __1.DEFINITION_LINK_PREFIX + 'RelatedFacetKeys'
117
+ },
118
+ property
119
+ ]
120
+ };
121
+ }
122
+ }
123
+ }
124
+ exports.addDefinitionForRelatedFacetKeys = addDefinitionForRelatedFacetKeys;
125
+ /**
126
+ * Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
127
+ * @param appSchema - the app specific schema that shall get enhanced
128
+ * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
129
+ * @param entityType - the entity type as part of the AVT ConverterOutput
130
+ * @param lineItemId - line item ID, as comprise in stable ID
131
+ * @returns the actions definition plus the annotation path to the given line item
132
+ */
133
+ function addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId) {
134
+ let lineItemPath;
135
+ appSchema['definitions'][lineItemId] = {
136
+ type: 'object',
137
+ properties: {},
138
+ additionalProperties: false,
139
+ isViewNode: true,
140
+ description: 'Columns'
141
+ };
142
+ //Copy toolbar
143
+ const toolBar = lineItemId === 'LineItems' ? 'ToolBar' : 'ObjectPageToolBar';
144
+ const schemaIdForToolBar = `${toolBar}<${lineItemId}>`;
145
+ appSchema['definitions'][schemaIdForToolBar] = JSON.parse(JSON.stringify(appSchema['definitions'][`${toolBar}`]));
146
+ const schemaIdForActions = `Actions<${__1.prepareRef(lineItemId)}>`;
147
+ appSchema['definitions'][schemaIdForToolBar].properties.actions.$ref = __1.DEFINITION_LINK_PREFIX + schemaIdForActions;
148
+ const actionId = lineItemId === 'LineItems' ? 'Actions' : 'ObjectPageToolBarActions';
149
+ const actions = (appSchema['definitions'][schemaIdForActions] = JSON.parse(JSON.stringify(appSchema['definitions'][actionId])));
150
+ actions.properties = {};
151
+ actions.additionalProperties = false;
152
+ //Determine annotation path
153
+ if (lineItemAnnotation) {
154
+ lineItemPath = __1.createAnnotationPath(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
155
+ appSchema['definitions'][lineItemId].annotationPath = appSchema['definitions'][schemaIdForToolBar].annotationPath = lineItemPath;
156
+ }
157
+ return { actions, lineItemPath };
158
+ }
159
+ exports.addCommonLineItemDefinitions = addCommonLineItemDefinitions;
160
+ /**
161
+ * Add schema definitions for fields of createWithParameterDialog
162
+ * @param {object} appSchema - Application-specific schema, to be enhanced
163
+ * @param {EntityType} entityType - Given entity type for which entries shall get generated
164
+ * @param {string=} floorplanSuffix - floorplan specific suffix (optional)
165
+ */
166
+ function addFieldsType(appSchema, entityType, floorplanSuffix = '') {
167
+ const propertyNameArray = [], propertyObject = {};
168
+ const fieldPathRef = `FieldPath${__1.prepareRef(floorplanSuffix)}`;
169
+ for (const key of entityType.entityProperties) {
170
+ const propertyName = key.name;
171
+ propertyNameArray.push(propertyName);
172
+ propertyObject[propertyName] = {
173
+ $ref: __1.DEFINITION_LINK_PREFIX + fieldPathRef
174
+ };
175
+ }
176
+ appSchema['definitions'][entityType.name] = {
177
+ enum: propertyNameArray
178
+ };
179
+ appSchema['definitions'][fieldPathRef].properties.path = {
180
+ $ref: __1.DEFINITION_LINK_PREFIX + entityType.name
181
+ };
182
+ const creationFieldsRef = `CreationFieldKeys${__1.prepareRef(floorplanSuffix)}`;
183
+ appSchema['definitions'][creationFieldsRef] = {
184
+ type: 'object',
185
+ properties: propertyObject,
186
+ additionalProperties: false
187
+ };
188
+ const fields4Dialog = appSchema['definitions'][`Fields4Dialog${floorplanSuffix}`];
189
+ fields4Dialog.properties.fields.$ref = __1.DEFINITION_LINK_PREFIX + creationFieldsRef;
190
+ }
191
+ exports.addFieldsType = addFieldsType;
192
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/common/generate/utils.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"}