@sap/ux-specification 1.90.17 → 1.90.20

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 (196) hide show
  1. package/CHANGELOG.md +55 -2
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/styleDocu.css +7 -14
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  5. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  6. package/dist/documentation/v2/v2-ListReport.html +1 -1
  7. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  8. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  9. package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
  10. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  11. package/dist/documentation/v4/v4-ListReport.html +1 -1
  12. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  13. package/dist/index-min.js +1 -1
  14. package/dist/schemas/v2/AnalyticalListPageConfig.json +175 -15
  15. package/dist/schemas/v2/ListReportConfig.json +187 -15
  16. package/dist/schemas/v2/ObjectPageConfig.json +127 -33
  17. package/dist/schemas/v2/OverviewPageConfig.json +57 -16
  18. package/dist/schemas/v4/AnalyticalListPageConfig.json +43 -86
  19. package/dist/schemas/v4/ListReportConfig.json +43 -86
  20. package/dist/schemas/v4/ObjectPageConfig.json +64 -71
  21. package/dist/scripts/runDocu.js +30 -7
  22. package/dist/scripts/runDocu.js.map +1 -1
  23. package/dist/scripts/to-json-schema.js +31 -37
  24. package/dist/scripts/to-json-schema.js.map +1 -1
  25. package/dist/specification/v2/index-min.js +1 -1
  26. package/dist/specification/v4/index-min.js +1 -1
  27. package/dist/src/api.js +9 -9
  28. package/dist/src/api.js.map +1 -1
  29. package/dist/src/apiTypes.d.ts +5 -2
  30. package/dist/src/specification/schemaAccess.js +1 -3
  31. package/dist/src/specification/schemaAccess.js.map +1 -1
  32. package/dist/src/specification/v2/controls/Action.d.ts +19 -2
  33. package/dist/src/specification/v2/controls/FilterBar.d.ts +70 -22
  34. package/dist/src/specification/v2/controls/FilterBar.js +24 -0
  35. package/dist/src/specification/v2/controls/FilterBar.js.map +1 -1
  36. package/dist/src/specification/v2/controls/Footer.d.ts +20 -0
  37. package/dist/src/specification/v2/controls/{ObjectPageFooter.js → Footer.js} +1 -1
  38. package/dist/src/specification/v2/controls/Footer.js.map +1 -0
  39. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +4 -0
  40. package/dist/src/specification/v2/controls/Table.d.ts +12 -1
  41. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  42. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -8
  43. package/dist/src/specification/v2/controls/index.d.ts +1 -2
  44. package/dist/src/specification/v2/controls/index.js.map +1 -1
  45. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +2 -1
  46. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +2 -1
  47. package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +36 -2
  48. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +1 -1
  49. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +2 -2
  50. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +7 -7
  51. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +5 -6
  52. package/dist/src/specification/v4/controls/Table.d.ts +2 -7
  53. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +59 -10
  54. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js +6 -0
  55. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js.map +1 -1
  56. package/dist/src/sync/common/appProvider.js.map +1 -1
  57. package/dist/src/sync/common/decoration/control.d.ts +11 -1
  58. package/dist/src/sync/common/decoration/control.js +29 -3
  59. package/dist/src/sync/common/decoration/control.js.map +1 -1
  60. package/dist/src/sync/common/decoration/factory.js +2 -4
  61. package/dist/src/sync/common/decoration/factory.js.map +1 -1
  62. package/dist/src/sync/common/generate/objectPage.d.ts +9 -0
  63. package/dist/src/sync/common/generate/objectPage.js +89 -43
  64. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  65. package/dist/src/sync/common/generate/utils.d.ts +27 -0
  66. package/dist/src/sync/common/generate/utils.js +118 -3
  67. package/dist/src/sync/common/generate/utils.js.map +1 -1
  68. package/dist/src/sync/common/i18n.json +2 -0
  69. package/dist/src/sync/common/import/utils.d.ts +8 -1
  70. package/dist/src/sync/common/import/utils.js +15 -4
  71. package/dist/src/sync/common/import/utils.js.map +1 -1
  72. package/dist/src/sync/common/importProject.js +13 -22
  73. package/dist/src/sync/common/importProject.js.map +1 -1
  74. package/dist/src/sync/common/types.d.ts +30 -16
  75. package/dist/src/sync/common/types.js +25 -1
  76. package/dist/src/sync/common/types.js.map +1 -1
  77. package/dist/src/sync/common/utils.d.ts +4 -3
  78. package/dist/src/sync/common/utils.js +19 -24
  79. package/dist/src/sync/common/utils.js.map +1 -1
  80. package/dist/src/sync/v2/export/controls/Action.d.ts +15 -0
  81. package/dist/src/sync/v2/export/controls/Action.js +68 -15
  82. package/dist/src/sync/v2/export/controls/Action.js.map +1 -1
  83. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +18 -6
  84. package/dist/src/sync/v2/export/controls/FilterBar.js +102 -65
  85. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  86. package/dist/src/sync/v2/export/controls/FormAction.js +3 -2
  87. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -1
  88. package/dist/src/sync/v2/export/controls/Fragment.d.ts +1 -1
  89. package/dist/src/sync/v2/export/controls/Fragment.js +239 -164
  90. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  91. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +2 -2
  92. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +9 -9
  93. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -1
  94. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +2 -2
  95. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +4 -4
  96. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  97. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +1 -0
  98. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +12 -0
  99. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  100. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +6 -4
  101. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -1
  102. package/dist/src/sync/v2/export/controls/Table.d.ts +1 -0
  103. package/dist/src/sync/v2/export/controls/Table.js +12 -0
  104. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  105. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +18 -2
  106. package/dist/src/sync/v2/export/controls/TableColumn.js +126 -1
  107. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  108. package/dist/src/sync/v2/export/export.js +137 -111
  109. package/dist/src/sync/v2/export/export.js.map +1 -1
  110. package/dist/src/sync/v2/export/manifest.js +2 -5
  111. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  112. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +2 -1
  113. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +3 -0
  114. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -1
  115. package/dist/src/sync/v2/export/pages/ListReport.d.ts +2 -1
  116. package/dist/src/sync/v2/export/pages/ListReport.js +3 -0
  117. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -1
  118. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +2 -1
  119. package/dist/src/sync/v2/export/pages/OverviewPage.js +32 -2
  120. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  121. package/dist/src/sync/v2/export/view-controller-generator.d.ts +16 -21
  122. package/dist/src/sync/v2/export/view-controller-generator.js +20 -36
  123. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -1
  124. package/dist/src/sync/v2/generate/analyticalListReport.js +14 -6
  125. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  126. package/dist/src/sync/v2/generate/listReport.js +13 -4
  127. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  128. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -5
  129. package/dist/src/sync/v2/generate/objectPage.js +10 -10
  130. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  131. package/dist/src/sync/v2/generate/utils.d.ts +22 -11
  132. package/dist/src/sync/v2/generate/utils.js +282 -110
  133. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  134. package/dist/src/sync/v2/import/common/index.d.ts +22 -4
  135. package/dist/src/sync/v2/import/common/index.js +237 -27
  136. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  137. package/dist/src/sync/v2/import/controls/table.js +3 -2
  138. package/dist/src/sync/v2/import/controls/table.js.map +1 -1
  139. package/dist/src/sync/v2/import/pages/analyticalListPage.js +36 -5
  140. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  141. package/dist/src/sync/v2/import/pages/listReport.d.ts +0 -5
  142. package/dist/src/sync/v2/import/pages/listReport.js +21 -122
  143. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  144. package/dist/src/sync/v2/import/pages/objectPage.js +182 -107
  145. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  146. package/dist/src/sync/v2/import/utils.d.ts +4 -6
  147. package/dist/src/sync/v2/import/utils.js +43 -11
  148. package/dist/src/sync/v2/import/utils.js.map +1 -1
  149. package/dist/src/sync/v2/types.d.ts +8 -1
  150. package/dist/src/sync/v2/types.js +8 -1
  151. package/dist/src/sync/v2/types.js.map +1 -1
  152. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +3 -7
  153. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +2 -25
  154. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  155. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +1 -6
  156. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -33
  157. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  158. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +5 -1
  159. package/dist/src/sync/v4/export/controls/ToolBar.js +3 -0
  160. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  161. package/dist/src/sync/v4/export/export.js +20 -16
  162. package/dist/src/sync/v4/export/export.js.map +1 -1
  163. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +2 -2
  164. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -2
  165. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  166. package/dist/src/sync/v4/export/types.d.ts +3 -0
  167. package/dist/src/sync/v4/generate/generate.d.ts +4 -2
  168. package/dist/src/sync/v4/generate/generate.js +15 -6
  169. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  170. package/dist/src/sync/v4/generate/listReport.d.ts +7 -6
  171. package/dist/src/sync/v4/generate/listReport.js +50 -34
  172. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  173. package/dist/src/sync/v4/generate/objectPage.js +66 -85
  174. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  175. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +2 -2
  176. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -1
  177. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +1 -1
  178. package/dist/src/sync/v4/import/pages/listReport.d.ts +3 -3
  179. package/dist/src/sync/v4/import/pages/listReport.js +34 -23
  180. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  181. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  182. package/dist/src/sync/v4/import/pages/objectPage.js +21 -16
  183. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  184. package/dist/src/sync/v4/import/utils.js +6 -5
  185. package/dist/src/sync/v4/import/utils.js.map +1 -1
  186. package/dist/src/sync/v4/utils/utils.d.ts +14 -1
  187. package/dist/src/sync/v4/utils/utils.js +62 -26
  188. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  189. package/dist/test/unit/utils.test.d.ts +1 -1
  190. package/package.json +8 -9
  191. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +0 -11
  192. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +0 -1
  193. package/dist/src/specification/v2/controls/ObjectPageFooterAction.d.ts +0 -28
  194. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js +0 -3
  195. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js.map +0 -1
  196. package/dist/test/test-utils/metadataParser.d.ts +0 -19
@@ -37,9 +37,7 @@ const dummyEntryAsString = JSON.stringify(dummyEntry);
37
37
  * @returns {unknown | undefined} Root column tag name.
38
38
  */
39
39
  function getTagNameFromFragmentJSON(definition) {
40
- const keys = VIEW_TEMPLATE_TAGNAME_MAP.keys();
41
- for (const key of keys) {
42
- const tagName = VIEW_TEMPLATE_TAGNAME_MAP.get(key);
40
+ for (const tagName of VIEW_TEMPLATE_TAGNAME_MAP.values()) {
43
41
  if (definition[tagName]) {
44
42
  return tagName;
45
43
  }
@@ -105,6 +103,72 @@ function handleFragmentColumn(columnsInFragment, configColumns) {
105
103
  configColumns.splice(ix, 1);
106
104
  return foundInConfig;
107
105
  }
106
+ /**
107
+ * Deletes obsolete custom columns from the relevant fragment(s)
108
+ * @param manifestSection - Section in manifest.json comprising the extensions
109
+ * @param fragments - list of all fragments
110
+ * @param pattern - Search string to identify the extension in manifest
111
+ * @param appId - application ID
112
+ */
113
+ function deleteColumnsFromFragment(manifestSection, fragments, pattern, appId) {
114
+ const fragmentId = manifestSection[pattern].fragmentName.substr(appId.length + 1);
115
+ const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
116
+ const fragmentParts = fragmentId.split('.');
117
+ const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
118
+ for (const fragment of fragments) {
119
+ const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
120
+ if (fragmentPathArray[fragmentPathArray.length - 1] === fragmentName) {
121
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
122
+ const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
123
+ if (tagName) {
124
+ delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
125
+ fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
126
+ }
127
+ break;
128
+ }
129
+ }
130
+ }
131
+ /**
132
+ * Deletes a given number of (dummy) cells from a fragment
133
+ * @param fragmentCells - list of all cells in the parsed fragment
134
+ * @param noOfEntriesToBeDeleted - number of entries to be deleted
135
+ */
136
+ function deleteNumberOfCells(fragmentCells, noOfEntriesToBeDeleted) {
137
+ //only dummy entry will be deleted automatically!
138
+ for (let index = 0; index < Object.keys(fragmentCells).length; index++) {
139
+ if (JSON.stringify(fragmentCells[index]) === dummyEntryAsString) {
140
+ fragmentCells.splice(index, 1);
141
+ noOfEntriesToBeDeleted -= 1;
142
+ if (noOfEntriesToBeDeleted === 0) {
143
+ break;
144
+ }
145
+ }
146
+ }
147
+ }
148
+ /**
149
+ * Deletes cells from the relevant fragment
150
+ * @param cellManifestSection - section in mnifest referring the cells'fragment
151
+ * @param fragments - list of all fragments
152
+ * @param appId - application ID
153
+ */
154
+ function deleteCellsFromFragment(cellManifestSection, fragments, appId) {
155
+ const fragmentType = cellManifestSection['type'] ? cellManifestSection['type'].toLowerCase() : 'xml';
156
+ const fragmentParts = cellManifestSection['fragmentName'].substr(appId.length + 1).split('.');
157
+ const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
158
+ for (const fragment of fragments) {
159
+ if (fragment['dataSourceUri'].endsWith(fragmentName)) {
160
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
161
+ const fragmentCells = fragmentJson.elements[0].elements &&
162
+ fragmentJson.elements[0].elements.filter((element) => {
163
+ return element.type === 'element';
164
+ });
165
+ if (fragmentCells) {
166
+ deleteNumberOfCells(fragmentCells, fragmentCells.length);
167
+ }
168
+ break;
169
+ }
170
+ }
171
+ }
108
172
  /**
109
173
  * Identifies the right extensions based on a pattern, then deletes all corresponding columns and cells
110
174
  * @param manifestSection - Section in manifest.json comprising the extensions
@@ -115,55 +179,54 @@ function handleFragmentColumn(columnsInFragment, configColumns) {
115
179
  function deleteColumnFromFragment(manifestSection, pattern, appId, fragments) {
116
180
  if (fragments) {
117
181
  //delete columns
118
- let fragmentId = manifestSection[pattern].fragmentName.substr(appId.length + 1);
119
- let fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
120
- let fragmentParts = fragmentId.split('.');
121
- let fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
122
- for (let i = 0; i < fragments.length; i++) {
123
- const fragment = fragments[i];
124
- const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
125
- if (fragmentPathArray[fragmentPathArray.length - 1] === fragmentName) {
126
- //fragments.splice(i, 1);
127
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
128
- const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
129
- if (tagName) {
130
- delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
131
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
132
- }
133
- break;
134
- }
135
- }
182
+ deleteColumnsFromFragment(manifestSection, fragments, pattern, appId);
136
183
  //delete cells
137
184
  const cellsPath = pattern.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
138
185
  const cellManifestSection = manifestSection[cellsPath];
139
186
  if (cellManifestSection) {
140
- fragmentType = cellManifestSection['type'] ? cellManifestSection['type'].toLowerCase() : 'xml';
141
- fragmentId = cellManifestSection.fragmentName.substr(appId.length + 1);
142
- fragmentParts = fragmentId.split('.');
143
- fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
144
- for (let i = 0; i < fragments.length; i++) {
145
- const fragment = fragments[i];
146
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
147
- //fragments.splice(i, 1);
148
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
149
- const fragmentColumns = fragmentJson.elements[0].elements &&
150
- fragmentJson.elements[0].elements.filter((element) => {
151
- return element.type === 'element';
152
- });
153
- if (fragmentColumns) {
154
- for (let index = 0; index < fragmentColumns.length; index++) {
155
- if (JSON.stringify(fragmentColumns[index]) === dummyEntryAsString) {
156
- fragmentColumns.splice(index, 1);
157
- }
158
- }
159
- }
160
- break;
161
- }
162
- }
187
+ deleteCellsFromFragment(cellManifestSection, fragments, appId);
163
188
  }
164
189
  }
165
190
  }
166
191
  exports.deleteColumnFromFragment = deleteColumnFromFragment;
192
+ /**
193
+ * Adds new (dummy) columns to a given fragment, as many as we have entries in the config
194
+ * @param fragmentCells - list of all cells in fragment
195
+ * @param fragmentJson - complete fragment, parsed as JSON
196
+ * @param config - actual config.json
197
+ */
198
+ function addNewColumnsInFragment(fragmentCells, fragmentJson, config) {
199
+ const startIndex = fragmentCells ? Object.keys(fragmentCells).length : 0;
200
+ if (!fragmentJson.elements[0].elements) {
201
+ fragmentJson.elements[0].elements = [];
202
+ }
203
+ for (let index = startIndex; index < Object.keys(config).length; index++) {
204
+ fragmentJson.elements[0].elements.push(dummyEntry);
205
+ }
206
+ }
207
+ /**
208
+ * Updates non-empty cells in a given fragment, from the config information
209
+ * @param fragment - identified cells' fragment
210
+ * @param config - config.json that lists the new cells' information
211
+ */
212
+ function updateNonEmptyCellsFragment(fragment, config) {
213
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
214
+ const fragmentCells = fragmentJson.elements[0].elements &&
215
+ fragmentJson.elements[0].elements.filter((element) => {
216
+ return element.type === 'element';
217
+ });
218
+ if (!fragmentCells || Object.keys(fragmentCells).length !== Object.keys(config).length) {
219
+ if (!fragmentCells || Object.keys(fragmentCells).length < Object.keys(config).length) {
220
+ addNewColumnsInFragment(fragmentCells, fragmentJson, config);
221
+ }
222
+ else if (Object.keys(fragmentCells).length > Object.keys(config).length) {
223
+ const noOfEntriesToBeDeleted = Object.keys(fragmentCells).length - Object.keys(config).length;
224
+ const fragmentElements = fragmentJson.elements[0].elements;
225
+ deleteNumberOfCells(fragmentElements, noOfEntriesToBeDeleted);
226
+ }
227
+ fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { spaces: 4 });
228
+ }
229
+ }
167
230
  /**
168
231
  * Updates the content of a cell fragment file
169
232
  * @param fragments - list of existing fragments, to be enhanced
@@ -173,8 +236,7 @@ exports.deleteColumnFromFragment = deleteColumnFromFragment;
173
236
  */
174
237
  function updateCellsFragment(fragments, cellFragmentFileName, config) {
175
238
  let cellsFragmentFound = false;
176
- for (let i = 0; i < fragments.length; i++) {
177
- const fragment = fragments[i];
239
+ for (const fragment of fragments) {
178
240
  const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
179
241
  if (fragmentPathArray[fragmentPathArray.length - 1] === cellFragmentFileName) {
180
242
  cellsFragmentFound = true;
@@ -183,36 +245,7 @@ function updateCellsFragment(fragments, cellFragmentFileName, config) {
183
245
  fragment.fileContent = view_controller_generator_1.getResponsiveTableCellsFragment(config);
184
246
  }
185
247
  else {
186
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
187
- const fragmentColumns = fragmentJson.elements[0].elements &&
188
- fragmentJson.elements[0].elements.filter((element) => {
189
- return element.type === 'element';
190
- });
191
- if (!fragmentColumns || Object.keys(fragmentColumns).length !== Object.keys(config).length) {
192
- if (!fragmentColumns || Object.keys(fragmentColumns).length < Object.keys(config).length) {
193
- const startIndex = fragmentColumns ? Object.keys(fragmentColumns).length : 0;
194
- if (!fragmentJson.elements[0].elements) {
195
- fragmentJson.elements[0].elements = [];
196
- }
197
- for (let index = startIndex; index < Object.keys(config).length; index++) {
198
- fragmentJson.elements[0].elements.push(dummyEntry);
199
- }
200
- }
201
- else if (Object.keys(fragmentColumns).length > Object.keys(config).length) {
202
- //only dummy entry will be deleted automatically!
203
- let noOfEntriesToBeDeleted = Object.keys(fragmentColumns).length - Object.keys(config).length;
204
- for (let index = 0; index < Object.keys(fragmentJson.elements[0].elements).length; index++) {
205
- if (JSON.stringify(fragmentJson.elements[0].elements[index]) === dummyEntryAsString) {
206
- fragmentJson.elements[0].elements.splice(index, 1);
207
- noOfEntriesToBeDeleted -= 1;
208
- if (noOfEntriesToBeDeleted === 0) {
209
- break;
210
- }
211
- }
212
- }
213
- }
214
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { spaces: 4 });
215
- }
248
+ updateNonEmptyCellsFragment(fragment, config);
216
249
  }
217
250
  break;
218
251
  }
@@ -220,37 +253,35 @@ function updateCellsFragment(fragments, cellFragmentFileName, config) {
220
253
  return cellsFragmentFound;
221
254
  }
222
255
  /**
223
- * The function transfers ALL properties of one or more custom columns to a given fragment, or creates a new one if necesary.
224
- * @param {ExportResults} exportResults - export result comprising fragments and manifest
256
+ * Adapt manifest from the given custom columns' definition in manifest
225
257
  * @param manifestPath - path to the current section of the manifest that describes the extension
258
+ * @param {ExportResults} exportResults - export result comprising fragments and manifest
226
259
  * @param config - current config part, describing the new image of the extension
227
260
  * @param appId - application ID
228
- * @param viewTemplateType - name of the view template that shall be applied
229
261
  * @param {ExtensionLogger} logger - logger instance for exceptions
262
+ * @returns everything that is needed for further processing the fragment
230
263
  */
231
- function exportToFragment(exportResults, manifestPath, config, appId, viewTemplateType, logger) {
264
+ function exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger) {
232
265
  var _a;
233
- const fragments = exportResults.fragments;
234
- const manifest = exportResults.manifest;
235
- let cellsFragmentName;
236
266
  let lsFilePath;
237
- //Find and adapt manifest
267
+ let cellsFragmentName;
268
+ const manifest = exportResults.manifest;
238
269
  const manifestSection = manifest_1.getManifestSectionByPathV2(manifest, manifestPath);
239
270
  const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
240
271
  manifestSection['type'] = fragmentType.toUpperCase();
241
- for (let index = 0; index < config.length; index++) {
272
+ for (const configElement of config) {
242
273
  //last one wins -as there can only be one reference in the manifest
243
- if (!config[index].fragmentName) {
274
+ if (!configElement.fragmentName) {
244
275
  extensionLogger_1.log(logger, {
245
276
  severity: "error" /* Error */,
246
- message: i18next_1.default.t('NOFRAGMENT', { columnKey: config[index].columnKey })
277
+ message: i18next_1.default.t('NOFRAGMENT', { columnKey: configElement.columnKey })
247
278
  });
248
279
  continue;
249
280
  }
250
- manifestSection['fragmentName'] = config[index].fragmentName;
251
- manifestSection['className'] = config[index].className;
281
+ manifestSection['fragmentName'] = configElement.fragmentName;
282
+ manifestSection['className'] = configElement.className;
252
283
  lsFilePath =
253
- ((_a = config[index].fragmentName) === null || _a === void 0 ? void 0 : _a.replace(appId, '<root>/webapp').replace(/[.]/g, path_1.sep)) +
284
+ ((_a = configElement.fragmentName) === null || _a === void 0 ? void 0 : _a.replace(appId, '<root>/webapp').replace(/[.]/g, path_1.sep)) +
254
285
  types_1.FRAGMENTNAMEPART +
255
286
  fragmentType;
256
287
  }
@@ -269,11 +300,117 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
269
300
  manifest_1.deleteManifestSectionByPathV2(manifest, cellsPath);
270
301
  }
271
302
  }
303
+ return { manifestSection, lsFilePath, cellsFragmentName, fragmentType };
304
+ }
305
+ function insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition) {
306
+ const newColumnFragment = view_controller_generator_1.getSingleColumnContent(column, viewTemplateType);
307
+ if (newColumnFragment) {
308
+ const newColumnDefinition = JSON.parse(xml_js_1.xml2json(newColumnFragment, { compact: true }));
309
+ const newColumn = getRootCustomColumnFromFragmentJSON(newColumnDefinition);
310
+ if (Array.isArray(columnsInFragmentDefinition)) {
311
+ columnsInFragmentDefinition.push(newColumn);
312
+ }
313
+ else {
314
+ if (columnsInFragmentDefinition) {
315
+ columnsInFragmentDefinition = [columnsInFragmentDefinition, newColumn];
316
+ }
317
+ else {
318
+ columnsInFragmentDefinition = [newColumn];
319
+ }
320
+ }
321
+ }
322
+ return columnsInFragmentDefinition;
323
+ }
324
+ function processCustomColumnInArray(columnsInFragmentDefinition, configColumns) {
325
+ for (let j = 0; j < columnsInFragmentDefinition.length; j++) {
326
+ const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition[j], configColumns);
327
+ if (!columnFoundInConfig) {
328
+ columnsInFragmentDefinition.splice(j, 1);
329
+ }
330
+ }
331
+ }
332
+ function maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson) {
333
+ if (columnsInFragmentDefinition) {
334
+ //find the right column in the identified fragment file
335
+ if (Array.isArray(columnsInFragmentDefinition)) {
336
+ processCustomColumnInArray(columnsInFragmentDefinition, configColumns);
337
+ }
338
+ else {
339
+ const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition, configColumns);
340
+ if (!columnFoundInConfig) {
341
+ const coreTagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
342
+ if (coreTagName) {
343
+ delete fragmentJson[exports.FRAGMENT_DEFINITION][coreTagName];
344
+ columnsInFragmentDefinition = undefined;
345
+ }
346
+ }
347
+ }
348
+ }
349
+ return columnsInFragmentDefinition;
350
+ }
351
+ function insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType) {
352
+ for (const column of configColumns) {
353
+ if (column.fragmentName.endsWith(fragmentId)) {
354
+ columnsInFragmentDefinition = insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition);
355
+ }
356
+ }
357
+ return columnsInFragmentDefinition;
358
+ }
359
+ /**
360
+ * Actualizes the column information in a fragment
361
+ * @param fragments - list of all fragments
362
+ * @param fragmentName - name of the relevant fragment, as maintained in manifest
363
+ * @param fragmentId - ID = substring of the fragment name without the app ID
364
+ * @param configColumns - list of all custom columns in the config
365
+ * @param viewTemplateType - enum value that determines the view template
366
+ * @returns a boolean value indicating if the fragment was found
367
+ */
368
+ function updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType) {
369
+ let fragmentFound = false;
370
+ if (!fragments) {
371
+ return fragmentFound;
372
+ }
373
+ //find and update the columns' fragment file
374
+ for (const fragment of fragments) {
375
+ if (fragment['dataSourceUri'].endsWith(fragmentName)) {
376
+ let columnsInFragmentDefinition = {};
377
+ fragmentFound = true;
378
+ if (!fragment.fileContent || fragment.fileContent.length === 0) {
379
+ // Empty fragment - use template
380
+ fragment.fileContent = view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType);
381
+ }
382
+ else {
383
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
384
+ //find the right column in the fragment file
385
+ columnsInFragmentDefinition = getRootCustomColumnFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
386
+ columnsInFragmentDefinition = maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson);
387
+ //Insert scenario for the remaining entries
388
+ columnsInFragmentDefinition = insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType);
389
+ const tagName = VIEW_TEMPLATE_TAGNAME_MAP.get(viewTemplateType);
390
+ fragmentJson[exports.FRAGMENT_DEFINITION][tagName] = columnsInFragmentDefinition;
391
+ fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
392
+ }
393
+ break;
394
+ }
395
+ }
396
+ return fragmentFound;
397
+ }
398
+ /**
399
+ * The function transfers ALL properties of one or more custom columns to a given fragment, or creates a new one if necesary.
400
+ * @param {ExportResults} exportResults - export result comprising fragments and manifest
401
+ * @param manifestPath - path to the current section of the manifest that describes the extension
402
+ * @param config - current config part, describing the new image of the extension
403
+ * @param appId - application ID
404
+ * @param viewTemplateType - name of the view template that shall be applied
405
+ * @param {ExtensionLogger} logger - logger instance for exceptions
406
+ */
407
+ function exportCustomColumnsToFragment(exportResults, manifestPath, config, appId, viewTemplateType, logger) {
408
+ const fragments = exportResults.fragments;
409
+ //Find and adapt manifest
410
+ const { manifestSection, lsFilePath, cellsFragmentName, fragmentType } = exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger);
272
411
  //Find and adapt fragment
273
412
  const configColumns = JSON.parse(JSON.stringify(config));
274
413
  let fragmentName = manifestSection['fragmentName'];
275
- let fragmentFound = false;
276
- let cellsFragmentFound = false;
277
414
  const fragmentId = fragmentName.substr(appId.length + 1);
278
415
  const fragmentParts = fragmentId.split('.');
279
416
  const templateType = fragmentParts[fragmentParts.length - 1];
@@ -281,77 +418,15 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
281
418
  const cellFragmentParts = cellsFragmentName === null || cellsFragmentName === void 0 ? void 0 : cellsFragmentName.split('.');
282
419
  const cellTemplateType = cellFragmentParts ? cellFragmentParts[cellFragmentParts.length - 1] : null;
283
420
  const cellFragmentFileName = cellTemplateType ? cellTemplateType + types_1.FRAGMENTNAMEPART + fragmentType : null;
284
- if (fragments) {
285
- //find and update the columns' fragment file
286
- for (let i = 0; i < fragments.length; i++) {
287
- const fragment = fragments[i];
288
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
289
- let columnsInFragmentDefinition = {};
290
- fragmentFound = true;
291
- if (!fragment.fileContent || fragment.fileContent.length === 0) {
292
- // Empty fragment - use template
293
- fragment.fileContent = view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType);
294
- }
295
- else {
296
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
297
- //find the right column in the fragment file
298
- columnsInFragmentDefinition = getRootCustomColumnFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
299
- if (columnsInFragmentDefinition) {
300
- //find the right column in the identified fragment file
301
- if (Array.isArray(columnsInFragmentDefinition)) {
302
- for (let j = 0; j < columnsInFragmentDefinition.length; j++) {
303
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition[j], configColumns);
304
- if (!columnFoundInConfig) {
305
- columnsInFragmentDefinition.splice(j, 1);
306
- }
307
- }
308
- }
309
- else {
310
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition, configColumns);
311
- if (!columnFoundInConfig) {
312
- const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
313
- if (tagName) {
314
- delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
315
- columnsInFragmentDefinition = undefined;
316
- }
317
- }
318
- }
319
- }
320
- //Insert scenario for the remaining entries
321
- for (let j = 0; j < configColumns.length; j++) {
322
- if (configColumns[j].fragmentName.endsWith(fragmentId)) {
323
- const newColumnFragment = view_controller_generator_1.getSingleColumnContent(configColumns[j], viewTemplateType);
324
- if (newColumnFragment) {
325
- const newColumnDefinition = JSON.parse(xml_js_1.xml2json(newColumnFragment, { compact: true }));
326
- const newColumn = getRootCustomColumnFromFragmentJSON(newColumnDefinition);
327
- if (Array.isArray(columnsInFragmentDefinition)) {
328
- columnsInFragmentDefinition.push(newColumn);
329
- }
330
- else {
331
- if (columnsInFragmentDefinition) {
332
- columnsInFragmentDefinition = [columnsInFragmentDefinition, newColumn];
333
- }
334
- else {
335
- columnsInFragmentDefinition = [newColumn];
336
- }
337
- }
338
- }
339
- }
340
- }
341
- const tagName = VIEW_TEMPLATE_TAGNAME_MAP.get(viewTemplateType);
342
- fragmentJson[exports.FRAGMENT_DEFINITION][tagName] = columnsInFragmentDefinition;
343
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
344
- }
345
- break;
346
- }
347
- }
348
- if (cellsFragmentName) {
349
- //find an update the cells' fragment file
350
- cellsFragmentFound = updateCellsFragment(fragments, cellFragmentFileName, config);
351
- }
352
- else {
353
- cellsFragmentFound = true; //not relevant
354
- }
421
+ // update columns in fragment
422
+ const fragmentFound = updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType);
423
+ let cellsFragmentFound = false;
424
+ if (cellsFragmentName) {
425
+ //find an update the cells' fragment file
426
+ cellsFragmentFound = updateCellsFragment(fragments, cellFragmentFileName, config);
427
+ }
428
+ else {
429
+ cellsFragmentFound = true; //not relevant
355
430
  }
356
431
  if (!fragmentFound) {
357
432
  const fragment = {
@@ -368,7 +443,7 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
368
443
  exportResults.fragments.push(fragment);
369
444
  }
370
445
  }
371
- exports.exportToFragment = exportToFragment;
446
+ exports.exportCustomColumnsToFragment = exportCustomColumnsToFragment;
372
447
  /**
373
448
  * Determines the manifest path of a column extension.
374
449
  * @param {string[]} page Page object from manifest.
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/Fragment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/Fragment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@sapui5/ts-types" />
2
- import { FooterAction as FooterActionConfig } from '../../../../specification/v2';
3
- export declare class FooterAction implements FooterActionConfig {
2
+ import { ObjectPageFooterAction as FooterActionConfig } from '../../../../specification/v2';
3
+ export declare class ObjectPageFooterAction implements FooterActionConfig {
4
4
  visible: boolean;
5
5
  tooltip?: string;
6
6
  icon?: sap.ui.core.URI;
@@ -20,8 +20,8 @@ const common_1 = require("../../../common");
20
20
  */
21
21
  const getFooterActionButtonId = (baseId, idBreadcrumbs, breadcrumbs, controlType) => {
22
22
  if (controlType() === types_1.ControlType.Button) {
23
- const keyId = breadcrumbs[2];
24
- return `${baseId}action::${keyId}::Determining`;
23
+ const { actionId } = common_1.getActionBreadcrumbParts(breadcrumbs);
24
+ return `${baseId}action::${actionId}::Determining`;
25
25
  }
26
26
  return decoration_1.buildControlIdFromParent(baseId, idBreadcrumbs);
27
27
  };
@@ -30,33 +30,33 @@ const flexRuleForFooterAction = {
30
30
  controlType: () => types_1.ControlType.Button,
31
31
  createFlexChange: decoration_1.exportToFlexChange
32
32
  };
33
- class FooterAction {
33
+ class ObjectPageFooterAction {
34
34
  }
35
35
  __decorate([
36
36
  decoration_1.syncRule({
37
37
  flex: flexRuleForFooterAction,
38
38
  generate: common_1.addPatternForBindingChangeOfEnumOP
39
39
  })
40
- ], FooterAction.prototype, "visible", void 0);
40
+ ], ObjectPageFooterAction.prototype, "visible", void 0);
41
41
  __decorate([
42
42
  decoration_1.syncRule({
43
43
  flex: flexRuleForFooterAction
44
44
  })
45
- ], FooterAction.prototype, "tooltip", void 0);
45
+ ], ObjectPageFooterAction.prototype, "tooltip", void 0);
46
46
  __decorate([
47
47
  decoration_1.syncRule({
48
48
  flex: flexRuleForFooterAction
49
49
  })
50
- ], FooterAction.prototype, "icon", void 0);
50
+ ], ObjectPageFooterAction.prototype, "icon", void 0);
51
51
  __decorate([
52
52
  decoration_1.syncRule({
53
53
  flex: flexRuleForFooterAction
54
54
  })
55
- ], FooterAction.prototype, "activeIcon", void 0);
55
+ ], ObjectPageFooterAction.prototype, "activeIcon", void 0);
56
56
  __decorate([
57
57
  decoration_1.syncRule({
58
58
  flex: flexRuleForFooterAction
59
59
  })
60
- ], FooterAction.prototype, "type", void 0);
61
- exports.FooterAction = FooterAction;
60
+ ], ObjectPageFooterAction.prototype, "type", void 0);
61
+ exports.ObjectPageFooterAction = ObjectPageFooterAction;
62
62
  //# sourceMappingURL=ObjectPageFooterAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectPageFooterAction.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/ObjectPageFooterAction.ts"],"names":[],"mappings":";;;;;;;;AACA,2DAAoG;AACpG,iDAAyE;AACzE,4CAAqE;AAErE;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAG,CAC5B,MAAc,EACd,aAAuB,EACvB,WAAqB,EACrB,WAAgC,EAC1B,EAAE;IACR,IAAI,WAAW,EAAE,KAAK,mBAAW,CAAC,MAAM,EAAE;QACtC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,GAAG,MAAM,WAAW,KAAK,eAAe,CAAC;KACnD;IACD,OAAO,qCAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,GAAgB,EAAE,CAAC,mBAAW,CAAC,MAAM;IAClD,gBAAgB,EAAE,+BAAkB;CACvC,CAAC;AAEF,MAAa,YAAY;CA0BxB;AArBG;IAJC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,2CAAkC;KAC/C,CAAC;6CACe;AAKjB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;6CACe;AAKjB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;0CACqB;AAKvB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;gDAC2B;AAK7B;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;0CACsB;AAzB5B,oCA0BC"}
1
+ {"version":3,"file":"ObjectPageFooterAction.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/ObjectPageFooterAction.ts"],"names":[],"mappings":";;;;;;;;AACA,2DAAoG;AACpG,iDAAyE;AACzE,4CAA+F;AAE/F;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAG,CAC5B,MAAc,EACd,aAAuB,EACvB,WAAqB,EACrB,WAAgC,EAC1B,EAAE;IACR,IAAI,WAAW,EAAE,KAAK,mBAAW,CAAC,MAAM,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,iCAAwB,CAAC,WAAW,CAAC,CAAC;QAC3D,OAAO,GAAG,MAAM,WAAW,QAAQ,eAAe,CAAC;KACtD;IACD,OAAO,qCAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,GAAgB,EAAE,CAAC,mBAAW,CAAC,MAAM;IAClD,gBAAgB,EAAE,+BAAkB;CACvC,CAAC;AAEF,MAAa,sBAAsB;CA0BlC;AArBG;IAJC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,2CAAkC;KAC/C,CAAC;uDACe;AAKjB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;uDACe;AAKjB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;oDACqB;AAKvB;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;0DAC2B;AAK7B;IAHC,qBAAQ,CAAC;QACN,IAAI,EAAE,uBAAuB;KAChC,CAAC;oDACsB;AAzB5B,wDA0BC"}
@@ -1,9 +1,9 @@
1
1
  import { ObjectPageSectionFormV2 as ObjectPageSectionFormV2Config, ObjectPageSectionChartV2 as ObjectPageSectionChartV2Config, ObjectPageSectionTableV2 as ObjectPageSectionTableV2Config, ObjectPageSubSectionV2 as ObjectPageSubSectionV2Config } from '../../../../specification/v2/index';
2
2
  import { ControlTypeFunction } from '../../../common';
3
3
  export declare const FacetTitlePrefix = "Facet ID: ";
4
- export declare const getTableSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
4
+ export declare const getTableSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetID: string) => string;
5
5
  export declare const getFormSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
6
- export declare const getChartSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
6
+ export declare const getChartSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetID: string) => string;
7
7
  export declare const getSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
8
8
  export declare const getSubSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
9
9
  export declare class ObjectPageSectionV2 implements ObjectPageSubSectionV2Config {