@sap/ux-specification 1.90.12 → 1.90.13

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 (139) hide show
  1. package/CHANGELOG.md +38 -4
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  3. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  4. package/dist/documentation/v2/v2-ListReport.html +1 -1
  5. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  6. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  7. package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
  8. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  9. package/dist/documentation/v4/v4-ListReport.html +1 -1
  10. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  11. package/dist/index-min.js +1 -1
  12. package/dist/schemas/v2/AnalyticalListPageConfig.json +86 -11
  13. package/dist/schemas/v2/ListReportConfig.json +86 -11
  14. package/dist/schemas/v2/ObjectPageConfig.json +265 -53
  15. package/dist/schemas/v2/OverviewPageConfig.json +0 -28
  16. package/dist/schemas/v4/ObjectPageConfig.json +22 -0
  17. package/dist/specification/v2/index-min.js +1 -1
  18. package/dist/src/apiTypes.d.ts +8 -0
  19. package/dist/src/specification/v2/controls/Card.d.ts +0 -8
  20. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  21. package/dist/src/specification/v2/controls/{DataField.d.ts → Field.d.ts} +2 -2
  22. package/dist/src/specification/v2/controls/{DataField.js → Field.js} +1 -1
  23. package/dist/src/specification/v2/controls/Field.js.map +1 -0
  24. package/dist/src/specification/v2/controls/FormAction.d.ts +43 -0
  25. package/dist/src/specification/v2/controls/FormAction.js +20 -0
  26. package/dist/src/specification/v2/controls/FormAction.js.map +1 -0
  27. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +11 -0
  28. package/dist/src/specification/v2/controls/ObjectPageFooter.js +3 -0
  29. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +1 -0
  30. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +4 -5
  31. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +20 -0
  32. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +25 -15
  33. package/dist/src/specification/v2/controls/ObjectPageSection.js.map +1 -1
  34. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +8 -4
  35. package/dist/src/specification/v2/controls/ObjectPageTable.js.map +1 -1
  36. package/dist/src/specification/v2/controls/Table.d.ts +4 -3
  37. package/dist/src/specification/v2/controls/ToolBar.d.ts +2 -6
  38. package/dist/src/specification/v2/controls/index.d.ts +4 -1
  39. package/dist/src/specification/v2/controls/index.js +1 -0
  40. package/dist/src/specification/v2/controls/index.js.map +1 -1
  41. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +2 -1
  42. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +11 -0
  43. package/dist/src/specification/v4/controls/ObjectPageFooter.js +3 -0
  44. package/dist/src/specification/v4/controls/ObjectPageFooter.js.map +1 -0
  45. package/dist/src/specification/v4/controls/index.d.ts +1 -0
  46. package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +2 -1
  47. package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +2 -1
  48. package/dist/src/specification/v4/webapp/manifest/sapUi5.js.map +1 -1
  49. package/dist/src/sync/common/decoration/control.js +34 -19
  50. package/dist/src/sync/common/decoration/control.js.map +1 -1
  51. package/dist/src/sync/common/generate/objectPage.d.ts +31 -2
  52. package/dist/src/sync/common/generate/objectPage.js +185 -20
  53. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  54. package/dist/src/sync/common/import/utils.d.ts +6 -0
  55. package/dist/src/sync/common/import/utils.js +21 -0
  56. package/dist/src/sync/common/import/utils.js.map +1 -1
  57. package/dist/src/sync/common/importProject.js +62 -60
  58. package/dist/src/sync/common/importProject.js.map +1 -1
  59. package/dist/src/sync/common/types.d.ts +5 -2
  60. package/dist/src/sync/common/types.js +4 -0
  61. package/dist/src/sync/common/types.js.map +1 -1
  62. package/dist/src/sync/common/utils.d.ts +4 -3
  63. package/dist/src/sync/common/utils.js +76 -81
  64. package/dist/src/sync/common/utils.js.map +1 -1
  65. package/dist/src/sync/v2/application.d.ts +1 -0
  66. package/dist/src/sync/v2/application.js +3 -0
  67. package/dist/src/sync/v2/application.js.map +1 -1
  68. package/dist/src/sync/v2/export/controls/Card.d.ts +0 -2
  69. package/dist/src/sync/v2/export/controls/Card.js +0 -14
  70. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  71. package/dist/src/sync/v2/export/controls/Field.d.ts +4 -0
  72. package/dist/src/sync/v2/export/controls/{DataField.js → Field.js} +6 -6
  73. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  74. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +1 -2
  75. package/dist/src/sync/v2/export/controls/FilterBar.js +2 -4
  76. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  77. package/dist/src/sync/v2/export/controls/FormAction.d.ts +15 -0
  78. package/dist/src/sync/v2/export/controls/FormAction.js +133 -0
  79. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  80. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +4 -1
  81. package/dist/src/sync/v2/export/controls/ObjectPageChart.js +13 -0
  82. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -1
  83. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +5 -1
  84. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +42 -3
  85. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  86. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +32 -0
  87. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +144 -0
  88. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  89. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +5 -4
  90. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +16 -4
  91. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  92. package/dist/src/sync/v2/export/controls/Table.d.ts +12 -4
  93. package/dist/src/sync/v2/export/controls/Table.js +84 -37
  94. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  95. package/dist/src/sync/v2/export/controls/index.d.ts +3 -1
  96. package/dist/src/sync/v2/export/controls/index.js +3 -1
  97. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  98. package/dist/src/sync/v2/export/export.js +125 -86
  99. package/dist/src/sync/v2/export/export.js.map +1 -1
  100. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +3 -9
  101. package/dist/src/sync/v2/generate/analyticalListReport.js +12 -13
  102. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  103. package/dist/src/sync/v2/generate/generate.js +28 -6
  104. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  105. package/dist/src/sync/v2/generate/listReport.d.ts +3 -10
  106. package/dist/src/sync/v2/generate/listReport.js +7 -12
  107. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  108. package/dist/src/sync/v2/generate/objectPage.d.ts +3 -10
  109. package/dist/src/sync/v2/generate/objectPage.js +199 -151
  110. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  111. package/dist/src/sync/v2/generate/utils.d.ts +1 -2
  112. package/dist/src/sync/v2/generate/utils.js +5 -0
  113. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  114. package/dist/src/sync/v2/import/pages/objectPage.js +162 -88
  115. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  116. package/dist/src/sync/v2/types.d.ts +12 -0
  117. package/dist/src/sync/v2/types.js +11 -0
  118. package/dist/src/sync/v2/types.js.map +1 -1
  119. package/dist/src/sync/v4/application.js +10 -10
  120. package/dist/src/sync/v4/application.js.map +1 -1
  121. package/dist/src/sync/v4/export/export.js +156 -134
  122. package/dist/src/sync/v4/export/export.js.map +1 -1
  123. package/dist/src/sync/v4/export/manifest.js +96 -76
  124. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  125. package/dist/src/sync/v4/generate/generate.js +10 -2
  126. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  127. package/dist/src/sync/v4/generate/objectPage.d.ts +3 -6
  128. package/dist/src/sync/v4/generate/objectPage.js +87 -94
  129. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  130. package/dist/src/sync/v4/import/app/appProvider.js +108 -80
  131. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  132. package/dist/src/sync/v4/import/fragment.js +41 -46
  133. package/dist/src/sync/v4/import/fragment.js.map +1 -1
  134. package/dist/src/sync/v4/utils/utils.js +1 -1
  135. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  136. package/package.json +4 -5
  137. package/dist/src/specification/v2/controls/DataField.js.map +0 -1
  138. package/dist/src/sync/v2/export/controls/DataField.d.ts +0 -4
  139. package/dist/src/sync/v2/export/controls/DataField.js.map +0 -1
@@ -47,12 +47,102 @@ function initializeRouting(manifestRouting) {
47
47
  }
48
48
  return routing;
49
49
  }
50
+ function setTargetOptions(target, navigationKey, association) {
51
+ if (!target.options) {
52
+ target.options = createTargetOption();
53
+ }
54
+ if (!target.options.settings) {
55
+ target.options.settings = {};
56
+ }
57
+ if (!target.options.settings.navigation) {
58
+ target.options.settings.navigation = {};
59
+ }
60
+ target.options.settings.navigation[navigationKey] = {
61
+ detail: {
62
+ route: association
63
+ }
64
+ };
65
+ }
66
+ function calculateQueryPattern(parts, pageType) {
67
+ let pattern = '';
68
+ parts.forEach((part, index) => {
69
+ let key = '';
70
+ if (pageType !== v4_1.PageTypeV4.ListReport) {
71
+ // Keys should be like - 'key', 'key2', 'key3'
72
+ key = `({key${index ? index + 1 : ''}})`;
73
+ }
74
+ pattern += `${pattern ? '/' : ''}${part}${key}`;
75
+ });
76
+ return pattern;
77
+ }
78
+ function handlePageNavigation(page, pages, target, routing) {
79
+ if (page.navigation) {
80
+ for (const association in page.navigation) {
81
+ const parts = page.navigation[association].split('.');
82
+ const pageType = pages[association] && pages[association].pageType;
83
+ const pattern = calculateQueryPattern(parts, pageType);
84
+ // Handle list report page different as there can be duplicate last part
85
+ let navigationKey = parts[parts.length - 1];
86
+ if (pageType === v4_1.PageTypeV4.ListReport ||
87
+ (pageType === v4_1.PageTypeV4.CustomPage && !pages[association].entitySet && !navigationKey)) {
88
+ navigationKey = association;
89
+ }
90
+ if (navigationKey) {
91
+ setTargetOptions(target, navigationKey, association);
92
+ }
93
+ if (!routing.routes.some((routingRoute) => routingRoute.name === association)) {
94
+ // Make sure there no route duplication
95
+ routing.routes.push(createRoute(association, association, `${pattern}${Constants.OptionalQuery}`));
96
+ }
97
+ }
98
+ }
99
+ }
100
+ function removeDeletedPages(routing, pages) {
101
+ for (const id in routing.targets) {
102
+ if (!pages || !pages[id]) {
103
+ // Remove target
104
+ delete routing.targets[id];
105
+ // Remove routes
106
+ const index = routing.routes.findIndex((route) => route.name === id);
107
+ if (index !== -1) {
108
+ routing.routes.splice(index, 1);
109
+ }
110
+ }
111
+ }
112
+ }
113
+ function transferEntitySet(page, target) {
114
+ var _a, _b, _c, _d, _e, _f;
115
+ if (page.entitySet) {
116
+ if (!target.options) {
117
+ target.options = createTargetOption(page.entitySet, page.variantManagement);
118
+ }
119
+ target.options.settings.entitySet = page.entitySet;
120
+ // We handle custom sections from scratch in exportObjectPageV4- clear 'sections' before handling
121
+ if ((_d = (_c = (_b = (_a = target === null || target === void 0 ? void 0 : target.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.body) === null || _d === void 0 ? void 0 : _d.sections) {
122
+ target.options.settings.content.body.sections = {};
123
+ }
124
+ }
125
+ else {
126
+ (_f = (_e = target.options) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? true : delete _f.entitySet;
127
+ }
128
+ }
129
+ function updateRoute(routing, id, page) {
130
+ const route = routing.routes.find((routingRoute) => routingRoute.name === id);
131
+ if (route) {
132
+ if (page.defaultLayoutType) {
133
+ route.layout = page.defaultLayoutType;
134
+ }
135
+ else {
136
+ delete route.layout;
137
+ }
138
+ }
139
+ }
50
140
  /**
51
141
  * Transform Pages(from app.json) to UI5 routing configuration(manifest.json)
52
142
  * @param routing UI5 routing configuration
53
143
  */
54
144
  function transformRoutingV4(homePage, pages, manifest) {
55
- var _a, _b, _c, _d, _e, _f, _g, _h;
145
+ var _a, _b;
56
146
  const routing = initializeRouting(manifest[v4_1.ManifestSection.ui5].routing);
57
147
  // add default route
58
148
  if (homePage && !routing.routes.some((route) => route.name === homePage)) {
@@ -95,93 +185,23 @@ function transformRoutingV4(homePage, pages, manifest) {
95
185
  }
96
186
  });
97
187
  }
98
- if (page.entitySet) {
99
- if (!target.options) {
100
- target.options = createTargetOption(page.entitySet, page.variantManagement);
101
- }
102
- target.options.settings.entitySet = page.entitySet;
103
- // We handle custom sections from scratch in exportObjectPageV4- clear 'sections' before handling
104
- if ((_d = (_c = (_b = (_a = target === null || target === void 0 ? void 0 : target.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.body) === null || _d === void 0 ? void 0 : _d.sections) {
105
- target.options.settings.content.body.sections = {};
106
- }
107
- }
108
- else {
109
- (_f = (_e = target.options) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? true : delete _f.entitySet;
110
- }
188
+ transferEntitySet(page, target);
111
189
  if (target && !page.controlAggregation) {
112
190
  delete target.contextPattern;
113
191
  delete target.controlAggregation;
114
192
  }
115
- if ((_h = (_g = target === null || target === void 0 ? void 0 : target.options) === null || _g === void 0 ? void 0 : _g.settings) === null || _h === void 0 ? void 0 : _h.navigation) {
193
+ if ((_b = (_a = target === null || target === void 0 ? void 0 : target.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.navigation) {
116
194
  // We handle page 'navigation' from scratch - clear 'navigation' before handling
117
195
  target.options.settings.navigation = {};
118
196
  }
119
197
  // Handle page 'navigation'
120
- if (page.navigation) {
121
- for (const association in page.navigation) {
122
- let pattern = '';
123
- const parts = page.navigation[association].split('.');
124
- const pageType = pages[association] && pages[association].pageType;
125
- parts.forEach((part, index) => {
126
- let key = '';
127
- if (pageType !== v4_1.PageTypeV4.ListReport) {
128
- // Keys should be like - 'key', 'key2', 'key3'
129
- key = `({key${index ? index + 1 : ''}})`;
130
- }
131
- pattern += `${pattern ? '/' : ''}${part}${key}`;
132
- });
133
- // Handle list report page different as there can be duplicate last part
134
- let navigationKey = parts[parts.length - 1];
135
- if (pageType === v4_1.PageTypeV4.ListReport ||
136
- (pageType === v4_1.PageTypeV4.CustomPage && !pages[association].entitySet && !navigationKey)) {
137
- navigationKey = association;
138
- }
139
- if (navigationKey) {
140
- if (!target.options) {
141
- target.options = createTargetOption();
142
- }
143
- if (!target.options.settings) {
144
- target.options.settings = {};
145
- }
146
- if (!target.options.settings.navigation) {
147
- target.options.settings.navigation = {};
148
- }
149
- target.options.settings.navigation[navigationKey] = {
150
- detail: {
151
- route: association
152
- }
153
- };
154
- }
155
- if (!routing.routes.some((route) => route.name === association)) {
156
- // Make sure there no route duplication
157
- routing.routes.push(createRoute(association, association, `${pattern}${Constants.OptionalQuery}`));
158
- }
159
- }
160
- }
198
+ handlePageNavigation(page, pages, target, routing);
161
199
  // Update associated route with layout information
162
- const route = routing.routes.find((route) => route.name === id);
163
- if (route) {
164
- if (page.defaultLayoutType) {
165
- route.layout = page.defaultLayoutType;
166
- }
167
- else {
168
- delete route.layout;
169
- }
170
- }
200
+ updateRoute(routing, id, page);
171
201
  routing.targets[id] = target;
172
202
  }
173
203
  // Remove deleted pages
174
- for (const id in routing.targets) {
175
- if (!pages || !pages[id]) {
176
- // Remove target
177
- delete routing.targets[id];
178
- // Remove routes
179
- const index = routing.routes.findIndex((route) => route.name === id);
180
- if (index !== -1) {
181
- routing.routes.splice(index, 1);
182
- }
183
- }
184
- }
204
+ removeDeletedPages(routing, pages);
185
205
  return routing;
186
206
  }
187
207
  exports.transformRoutingV4 = transformRoutingV4;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/sync/v4/export/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/sync/v4/export/manifest.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const utils_1 = require("../../common/utils");
4
4
  const _1 = require(".");
5
+ const __1 = require("../../..");
5
6
  /**
6
7
  * Generates the app specific schema of an object page out of the generic schema for the same page.
7
8
  * Generic types are replaced by information from the app specific annotations.
@@ -15,8 +16,15 @@ const _1 = require(".");
15
16
  * @returns the app specific JSON schema
16
17
  */
17
18
  function generateObjectPageInterfaceV4(genericSchema, entitySet, annotations, manifest, logger) {
18
- const oDataServiceAVT = utils_1.parseAndMergeAndConvert(annotations, logger);
19
- return _1.generateObjectPageSchemaV4(genericSchema, entitySet, oDataServiceAVT, manifest, logger);
19
+ const serviceAVT = utils_1.parseAndMergeAndConvert(annotations, logger);
20
+ const generateParameters = {
21
+ fioriElementsVersion: __1.FioriElementsVersion.v4,
22
+ manifest,
23
+ fragments: [],
24
+ serviceAVT,
25
+ logger
26
+ };
27
+ return _1.generateObjectPageSchemaV4(generateParameters, genericSchema, entitySet);
20
28
  }
21
29
  exports.generateObjectPageInterfaceV4 = generateObjectPageInterfaceV4;
22
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/sync/v4/generate/generate.ts"],"names":[],"mappings":";;AACA,8CAA6D;AAC7D,wBAA2E;AAG3E;;;;;;;;;;;GAWG;AACH,SAAgB,6BAA6B,CACzC,aAAqB,EACrB,SAAiB,EACjB,WAAuB,EACvB,QAAgB,EAChB,MAAwB;IAExB,MAAM,eAAe,GAAG,+BAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,6BAA0B,CAAC,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnG,CAAC;AATD,sEASC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,6BAA6B,CACzC,aAAqB,EACrB,aAAqB,EACrB,WAAuB,EACvB,MAAwB;IAExB,MAAM,eAAe,GAAG,+BAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAErF,OAAO,6BAA0B,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACzG,CAAC;AAVD,sEAUC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/sync/v4/generate/generate.ts"],"names":[],"mappings":";;AACA,8CAA6D;AAC7D,wBAA2E;AAE3E,gCAAgD;AAEhD;;;;;;;;;;;GAWG;AACH,SAAgB,6BAA6B,CACzC,aAAqB,EACrB,SAAiB,EACjB,WAAuB,EACvB,QAAgB,EAChB,MAAwB;IAExB,MAAM,UAAU,GAAG,+BAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAgC;QACpD,oBAAoB,EAAE,wBAAoB,CAAC,EAAE;QAC7C,QAAQ;QACR,SAAS,EAAE,EAAE;QACb,UAAU;QACV,MAAM;KACT,CAAC;IACF,OAAO,6BAA0B,CAAC,kBAAkB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AACpF,CAAC;AAhBD,sEAgBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,6BAA6B,CACzC,aAAqB,EACrB,aAAqB,EACrB,WAAuB,EACvB,MAAwB;IAExB,MAAM,eAAe,GAAG,+BAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAErF,OAAO,6BAA0B,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACzG,CAAC;AAVD,sEAUC"}
@@ -1,14 +1,11 @@
1
- import { ConverterOutput } from '@sap-ux/vocabularies-types';
2
- import { ExtensionLogger } from '../../../v4';
1
+ import { GenerateAppSchemaParameters } from '../../../v4';
3
2
  /**
4
3
  * Generates an app specific schema out of the generic schema.
5
4
  * Generic types are replaced by information from the app specific annotations.
5
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
6
6
  * @param genericSchema - generic JSON schema of an object page
7
7
  * @param entityTypeName - the base entity type of the given page
8
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
9
- * @param manifest - manifest.json of the app
10
- * @param {ExtensionLogger} logger - Logger class for logging messages
11
8
  *
12
9
  * @returns the app specific JSON schema
13
10
  */
14
- export declare function generateObjectPageSchemaV4(genericSchema: object, entityTypeName: string, oDataServiceAVT: ConverterOutput, manifest: object, logger?: ExtensionLogger): object;
11
+ export declare function generateObjectPageSchemaV4(generateParameters: GenerateAppSchemaParameters, genericSchema: object, entityTypeName: string): object;
@@ -10,62 +10,33 @@ const utils_1 = require("../utils/utils");
10
10
  const i18next_1 = __importDefault(require("i18next"));
11
11
  const extensionLogger_1 = require("../../../extensionLogger");
12
12
  /**
13
- * Add Object Page Header Action Buttons to app-specific schema
14
- *
15
- * @param {object} appSchema Schema of the app
13
+ * Callback for adding a single action to headerActions of V4
16
14
  * @param {EntityType} entityType - current entity type
17
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
15
+ * @param {object} appSchema Schema of the app
16
+ * @param actionAnnotation - annotation as present in AVT ConverterOutput
17
+ * @param headerActions - list of header actions, to be enhanced
18
18
  */
19
- function addHeaderActions(appSchema, entityType, oDataServiceAVT) {
20
- appSchema['definitions']['ObjectPageHeader'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageHeader<GenericActions>']));
21
- // Change reference of header
22
- appSchema['properties']['header'] = {
23
- $ref: common_2.DEFINITION_LINK_PREFIX + 'ObjectPageHeader'
24
- };
25
- appSchema['definitions']['ObjectPageHeader'].properties['actions'] = {
26
- $ref: `${common_2.DEFINITION_LINK_PREFIX}HeaderActions`
19
+ function addHeaderActionCallBackV4(entityType, appSchema, actionAnnotation, headerActions, oDataServiceAVT) {
20
+ return (item, index) => {
21
+ if ((!item['Determining'] && item.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction') ||
22
+ item.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation') {
23
+ const action = common_2.replaceAlias(item.Action, oDataServiceAVT);
24
+ const { actionName, actionId } = common_2.getActionNameAndId(action, entityType);
25
+ const description = item.Label || actionName;
26
+ const actionDefinitionKey = `HeaderAction<${actionId}>`;
27
+ const convertedIdentification = actionAnnotation.fullyQualifiedName.replace(`@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`, `/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`);
28
+ appSchema['definitions'][actionDefinitionKey] = {
29
+ isViewNode: true,
30
+ type: 'object',
31
+ properties: {},
32
+ description: description,
33
+ annotationPath: `/${convertedIdentification}/${index}`
34
+ };
35
+ headerActions.properties[actionId] = {
36
+ $ref: `${common_2.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
37
+ };
38
+ }
27
39
  };
28
- const headerActions = (appSchema['definitions']['HeaderActions'] = {
29
- type: 'object',
30
- properties: {},
31
- description: 'Actions',
32
- additionalProperties: false,
33
- isViewNode: true
34
- });
35
- const alias = common_2.findAlias(v4_1.UIVOCABULARY, oDataServiceAVT);
36
- const actionAnnotation = alias &&
37
- entityType.annotations &&
38
- entityType.annotations[alias] &&
39
- entityType.annotations[alias].Identification;
40
- if (actionAnnotation) {
41
- headerActions['annotationPath'] =
42
- '/' +
43
- actionAnnotation.fullyQualifiedName.replace('@com.sap.vocabularies.UI.v1.Identification', '/@com.sap.vocabularies.UI.v1.Identification');
44
- actionAnnotation.forEach((item, index) => {
45
- if ((!item['Determining'] && item.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForAction') ||
46
- item.$Type === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation') {
47
- const { actionName, actionId } = common_2.getActionNameAndId(item.Action, entityType);
48
- const description = item.Label || actionName;
49
- const actionDefinitionKey = `HeaderAction<${actionId}>`;
50
- appSchema['definitions'][actionDefinitionKey] = {
51
- isViewNode: true,
52
- type: 'object',
53
- properties: {},
54
- description: description,
55
- annotationPath: `${headerActions['annotationPath']}/${index}`
56
- };
57
- headerActions.properties[actionId] = {
58
- $ref: `${common_2.DEFINITION_LINK_PREFIX}${actionDefinitionKey}`
59
- };
60
- }
61
- });
62
- }
63
- else {
64
- headerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@com.sap.vocabularies.UI.v1.Identification`;
65
- }
66
- delete appSchema['definitions']['GenericActions'];
67
- delete appSchema['definitions']['ObjectPageHeader<GenericActions>'];
68
- delete appSchema['definitions']['HeaderAction'];
69
40
  }
70
41
  /**
71
42
  * Adds definitions for line items in object page sections to the app schema
@@ -97,7 +68,7 @@ function handleLineItem(facetId, appSchema, facet, facets, oDataServiceAVT) {
97
68
  appSchema['definitions'][idForTable].properties['toolBar'].$ref = `${common_2.DEFINITION_LINK_PREFIX}ObjectPageToolBar<${facetId}>`;
98
69
  for (const facetKey in facets) {
99
70
  if (facets[facetKey].base === 'LineItem' && facetKey.includes(navigationProperty)) {
100
- utils_1.addLineItemsType(appSchema, facets[facetKey]['lineItem'], facets[facetKey]['entityType'], oDataServiceAVT, 'ObjectPageTableColumn', facetId);
71
+ utils_1.addLineItemsType(appSchema, facets[facetKey].target, facets[facetKey].entityType, oDataServiceAVT, 'ObjectPageTableColumn', facetId);
101
72
  }
102
73
  }
103
74
  }
@@ -145,8 +116,8 @@ function addSection(facets, facetKey, sections, appSchema, oDataServiceAVT, sect
145
116
  common_2.addSectionTitleAndDescription(facet, appSchema['definitions'][formDefinitionKey], facetKey);
146
117
  appSchema['definitions'][formDefinitionKey]['annotationPath'] = facet.annotationPath;
147
118
  appSchema['definitions'][formDefinitionKey]['isViewNode'] = true;
148
- const withActions = facet.base === common_2.FacetBase.Identification ? false : true;
149
- common_2.handleForm(sectionPrefix, facet, appSchema['definitions'][formDefinitionKey], appSchema, false, withActions);
119
+ const withActions = facet.base === common_2.FacetBase.Identification && facetKey.indexOf('#') < 0 ? false : true;
120
+ common_2.handleForm(sectionPrefix, facet, appSchema['definitions'][formDefinitionKey], appSchema, common_1.FioriElementsVersion.v4, withActions);
150
121
  }
151
122
  else if (facet.base === common_2.FacetBase.DataPoint ||
152
123
  facet.base === common_2.FacetBase.Address ||
@@ -166,15 +137,15 @@ function addSection(facets, facetKey, sections, appSchema, oDataServiceAVT, sect
166
137
  }
167
138
  /**
168
139
  * Derives the sections from the UI.Facets annotation and adds them to the schema
140
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
169
141
  * @param {object} appSchema - application specific JSON schema
170
- * @param {string} entityTypeName - current entity type
142
+ * @param {EntityType} entityType - current entity type
143
+ * @param {string} entitySetName - name of the current entity set
171
144
  * @param pages {SapUiAppPageV4[]} - list of (manifest) pages
172
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
173
- * @param {ExtensionLogger} logger - Logger class for logging messages
174
145
  */
175
- function addSections(appSchema, entityType, entitySetName, pages, oDataServiceAVT, logger) {
146
+ function addSections(generateParameters, appSchema, entityType, entitySetName, pages) {
176
147
  // Get facet annotations
177
- const facets = common_2.getObjectPageFacets(entityType, oDataServiceAVT, common_1.FioriElementsVersion.v4, logger);
148
+ const facets = common_2.getObjectPageFacets(entityType, generateParameters.serviceAVT, common_1.FioriElementsVersion.v4, generateParameters.logger);
178
149
  if (!facets) {
179
150
  delete appSchema['definitions']['ObjectPageSubSections'];
180
151
  return;
@@ -185,7 +156,7 @@ function addSections(appSchema, entityType, entitySetName, pages, oDataServiceAV
185
156
  if (((_b = (_a = pages[element].options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.entitySet) === entitySetName &&
186
157
  pages[element].name === v4_1.FE_TEMPLATE_V4_OBJECT_PAGE) {
187
158
  for (const facetKey in facets) {
188
- addSection(facets, facetKey, sections, appSchema, oDataServiceAVT, v4_1.SectionType.Section);
159
+ addSection(facets, facetKey, sections, appSchema, generateParameters.serviceAVT, v4_1.SectionType.Section);
189
160
  }
190
161
  }
191
162
  });
@@ -196,15 +167,15 @@ function addSections(appSchema, entityType, entitySetName, pages, oDataServiceAV
196
167
  }
197
168
  /**
198
169
  * Derives the header sections from the UI.HeaderFacets annotation and adds them to the schema
170
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
199
171
  * @param {object} appSchema - application specific JSON schema
200
- * @param {string} entityTypeName - current entity type
172
+ * @param {EntityType} entityType - current entity type
173
+ * @param {string} entitySetName - name of the current entity set
201
174
  * @param pages {SapUiAppPageV4[]} - list of (manifest) pages
202
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
203
- * @param {ExtensionLogger} logger - Logger class for logging messages
204
175
  */
205
- function addHeaderSections(appSchema, entityType, entitySetName, pages, oDataServiceAVT, logger) {
176
+ function addHeaderSections(generateParameters, appSchema, entityType, entitySetName, pages) {
206
177
  // Get facet annotations
207
- const facets = common_2.getObjectPageHeaderFacets(entityType, oDataServiceAVT, common_1.FioriElementsVersion.v4, logger);
178
+ const facets = common_2.getObjectPageHeaderFacets(entityType, generateParameters.serviceAVT, common_1.FioriElementsVersion.v4, generateParameters.logger);
208
179
  const sections = appSchema['definitions']['HeaderSections'];
209
180
  sections.properties = {};
210
181
  sections.additionalProperties = false;
@@ -216,14 +187,10 @@ function addHeaderSections(appSchema, entityType, entitySetName, pages, oDataSer
216
187
  if (((_b = (_a = pages[element].options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.entitySet) === entitySetName &&
217
188
  pages[element].name === v4_1.FE_TEMPLATE_V4_OBJECT_PAGE) {
218
189
  for (const facetKey in facets) {
219
- addSection(facets, facetKey, sections, appSchema, oDataServiceAVT, v4_1.SectionType.HeaderSection);
190
+ addSection(facets, facetKey, sections, appSchema, generateParameters.serviceAVT, v4_1.SectionType.HeaderSection);
220
191
  }
221
192
  }
222
193
  });
223
- // Custom sections as part of sections - still open if can be added the same way
224
- /*if (appSchema['definitions']['CustomSections']) {
225
- sections.properties = { ...sections.properties, ...appSchema['definitions']['CustomSections'].properties };
226
- }*/
227
194
  //delete generic definitions
228
195
  delete appSchema['definitions']['ObjectPageHeaderSectionForm'];
229
196
  delete appSchema['definitions']['ObjectPageHeaderSectionChart'];
@@ -233,20 +200,20 @@ function addHeaderSections(appSchema, entityType, entitySetName, pages, oDataSer
233
200
  }
234
201
  /**
235
202
  * Adds the related facets keys 'enum' to the app schema
203
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
236
204
  * @param {object} schema - app specific schema that potentially gets enhanced
237
205
  * @param {EntityType} entityType - current entity type
238
206
  * @param {string} entitySetName - entity set of the actual (object) page
239
207
  * @param {SapUiAppPageV4[]} pages - list of all pages
240
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
241
208
  */
242
- function addRelatedFacetKeysType(schema, entityType, entitySetName, pages, oDataServiceAVT, logger) {
209
+ function addRelatedFacetKeysType(generateParameters, schema, entityType, entitySetName, pages) {
243
210
  Object.keys(pages).forEach((element) => {
244
211
  if (pages[element].options &&
245
212
  pages[element].options.settings &&
246
213
  pages[element].options.settings.entitySet === entitySetName &&
247
214
  pages[element].name === v4_1.FE_TEMPLATE_V4_OBJECT_PAGE) {
248
215
  // Find sections from annotation
249
- const facetSections = common_2.getObjectPageFacetSection(entityType, oDataServiceAVT, logger);
216
+ const facetSections = common_2.getObjectPageFacetSection(entityType, generateParameters.serviceAVT, generateParameters.logger);
250
217
  // Find custom sections ids from manifest
251
218
  const page = pages[element];
252
219
  if (page.options &&
@@ -273,27 +240,43 @@ function addRelatedFacetKeysType(schema, entityType, entitySetName, pages, oData
273
240
  }
274
241
  });
275
242
  }
243
+ /**
244
+ * Add Object Page Header to app-specific schema
245
+ *
246
+ * @param {object} appSchema Schema of the app
247
+ * @param {EntityType} entityType - current entity type
248
+ * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
249
+ * @param entitySet - current entity set
250
+ * @param manifest - manifest.json of the app
251
+ * @param {ExtensionLogger} logger - Logger class for logging messages
252
+ */
253
+ function addHeader(generateParameters, appSchema, entityType, entitySet, pages) {
254
+ common_2.addCommonHeaderSchema(appSchema, entityType);
255
+ // Add header actions
256
+ common_2.addHeaderActions(appSchema, entityType, generateParameters.serviceAVT, addHeaderActionCallBackV4);
257
+ // Add header sections
258
+ appSchema['definitions']['HeaderSections']['annotationPath'] = `/${entitySet.entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderFacets" /* HeaderFacets */}`;
259
+ addHeaderSections(generateParameters, appSchema, entityType, entitySet.name, pages);
260
+ }
276
261
  /**
277
262
  * Generates an app specific schema out of the generic schema.
278
263
  * Generic types are replaced by information from the app specific annotations.
264
+ * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
279
265
  * @param genericSchema - generic JSON schema of an object page
280
266
  * @param entityTypeName - the base entity type of the given page
281
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
282
- * @param manifest - manifest.json of the app
283
- * @param {ExtensionLogger} logger - Logger class for logging messages
284
267
  *
285
268
  * @returns the app specific JSON schema
286
269
  */
287
- function generateObjectPageSchemaV4(genericSchema, entityTypeName, oDataServiceAVT, manifest, logger) {
288
- var _a, _b, _c, _d;
270
+ function generateObjectPageSchemaV4(generateParameters, genericSchema, entityTypeName) {
271
+ var _a;
289
272
  const appSchema = JSON.parse(JSON.stringify(genericSchema));
290
273
  // Change reference to generated sections
291
274
  appSchema['properties']['sections'] = {
292
275
  $ref: common_2.DEFINITION_LINK_PREFIX + 'Sections'
293
276
  };
294
- const entitySet = oDataServiceAVT === null || oDataServiceAVT === void 0 ? void 0 : oDataServiceAVT.entitySets.find((es) => es.entityType.name === entityTypeName);
277
+ const entitySet = (_a = generateParameters.serviceAVT.entitySets) === null || _a === void 0 ? void 0 : _a.find((es) => es.entityType.name === entityTypeName);
295
278
  if (!entitySet) {
296
- extensionLogger_1.log(logger, {
279
+ extensionLogger_1.log(generateParameters.logger, {
297
280
  severity: "error" /* Error */,
298
281
  message: i18next_1.default.t('NOENTITYSET4NAME', { entityType: entityTypeName }),
299
282
  location: {
@@ -302,8 +285,9 @@ function generateObjectPageSchemaV4(genericSchema, entityTypeName, oDataServiceA
302
285
  });
303
286
  }
304
287
  const entityType = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType;
305
- if (!manifest[common_1.ManifestSection.ui5].routing || !manifest[common_1.ManifestSection.ui5].routing.targets) {
306
- extensionLogger_1.log(logger, {
288
+ if (!generateParameters.manifest[common_1.ManifestSection.ui5].routing ||
289
+ !generateParameters.manifest[common_1.ManifestSection.ui5].routing.targets) {
290
+ extensionLogger_1.log(generateParameters.logger, {
307
291
  severity: "error" /* Error */,
308
292
  message: i18next_1.default.t('NOROUTING'),
309
293
  location: {
@@ -320,18 +304,27 @@ function generateObjectPageSchemaV4(genericSchema, entityTypeName, oDataServiceA
320
304
  description: 'Sections'
321
305
  };
322
306
  if (entitySet) {
323
- // Add header actions
324
- addHeaderActions(appSchema, entityType, oDataServiceAVT);
325
- // Add annotation path to ObjectPageHeader
326
- appSchema['definitions']['ObjectPageHeader']['annotationPath'] = `/${entitySet.entityType.fullyQualifiedName}/@com.sap.vocabularies.UI.v1.HeaderInfo`;
327
- // Add header sections
328
- appSchema['definitions']['HeaderSections']['annotationPath'] = `/${entitySet.entityType.fullyQualifiedName}/@com.sap.vocabularies.UI.v1.HeaderFacets`;
329
- addHeaderSections(appSchema, entityType, entitySet.name, (_b = (_a = manifest[common_1.ManifestSection.ui5]) === null || _a === void 0 ? void 0 : _a.routing) === null || _b === void 0 ? void 0 : _b.targets, oDataServiceAVT, logger);
307
+ const pages = generateParameters.manifest[common_1.ManifestSection.ui5].routing.targets;
308
+ if (!pages) {
309
+ extensionLogger_1.log(generateParameters.logger, {
310
+ severity: "error" /* Error */,
311
+ message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
312
+ location: {
313
+ path: v4_1.MANIFESTPATH,
314
+ range: [common_1.ManifestSection.generic]
315
+ }
316
+ });
317
+ return appSchema;
318
+ }
319
+ // Add Header
320
+ addHeader(generateParameters, appSchema, entityType, entitySet, pages);
330
321
  // Add sections
331
- appSchema['definitions']['Sections']['annotationPath'] = `/${entitySet.entityType.fullyQualifiedName}/@com.sap.vocabularies.UI.v1.Facets`;
332
- addSections(appSchema, entityType, entitySet.name, (_d = (_c = manifest[common_1.ManifestSection.ui5]) === null || _c === void 0 ? void 0 : _c.routing) === null || _d === void 0 ? void 0 : _d.targets, oDataServiceAVT, logger);
322
+ appSchema['definitions']['Sections']['annotationPath'] = `/${entitySet.entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Facets" /* Facets */}`;
323
+ addSections(generateParameters, appSchema, entityType, entitySet.name, pages);
333
324
  // Custom Section facets
334
- addRelatedFacetKeysType(appSchema, entityType, entitySet.name, manifest[common_1.ManifestSection.ui5].routing.targets, oDataServiceAVT, logger);
325
+ addRelatedFacetKeysType(generateParameters, appSchema, entityType, entitySet.name, pages);
326
+ // Add Footer (actions only)
327
+ common_2.addFooterActions(appSchema, entityType, generateParameters.serviceAVT);
335
328
  }
336
329
  // Delete generic definitions from schema
337
330
  delete appSchema['definitions']['GenericSections'];