@sap/ux-specification 1.90.15 → 1.90.19

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 (230) hide show
  1. package/CHANGELOG.md +99 -11
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/styleDocu.css +4 -5
  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 +148 -40
  15. package/dist/schemas/v2/ListReportConfig.json +162 -32
  16. package/dist/schemas/v2/ObjectPageConfig.json +252 -56
  17. package/dist/schemas/v2/OverviewPageConfig.json +298 -196
  18. package/dist/schemas/v4/AnalyticalListPageConfig.json +46 -70
  19. package/dist/schemas/v4/ListReportConfig.json +46 -70
  20. package/dist/schemas/v4/ObjectPageConfig.json +49 -76
  21. package/dist/scripts/extractDocu.js +18 -8
  22. package/dist/scripts/extractDocu.js.map +1 -1
  23. package/dist/scripts/runDocu.js +105 -89
  24. package/dist/scripts/runDocu.js.map +1 -1
  25. package/dist/scripts/to-json-schema.js +31 -37
  26. package/dist/scripts/to-json-schema.js.map +1 -1
  27. package/dist/specification/v2/index-min.js +1 -1
  28. package/dist/specification/v4/index-min.js +1 -1
  29. package/dist/src/api.js +9 -9
  30. package/dist/src/api.js.map +1 -1
  31. package/dist/src/apiTypes.d.ts +5 -2
  32. package/dist/src/specification/schemaAccess.js +1 -3
  33. package/dist/src/specification/schemaAccess.js.map +1 -1
  34. package/dist/src/specification/v2/controls/Action.d.ts +71 -0
  35. package/dist/src/specification/v2/controls/{FormAction.js → Action.js} +1 -1
  36. package/dist/src/specification/v2/controls/Action.js.map +1 -0
  37. package/dist/src/specification/v2/controls/Card.d.ts +20 -72
  38. package/dist/src/specification/v2/controls/Card.js.map +1 -1
  39. package/dist/src/specification/v2/controls/FilterBar.d.ts +48 -6
  40. package/dist/src/specification/v2/controls/FilterBar.js +24 -0
  41. package/dist/src/specification/v2/controls/FilterBar.js.map +1 -1
  42. package/dist/src/specification/v2/controls/Footer.d.ts +20 -0
  43. package/dist/src/specification/v2/controls/{ObjectPageFooter.js → Footer.js} +1 -1
  44. package/dist/src/specification/v2/controls/Footer.js.map +1 -0
  45. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +1 -2
  46. package/dist/src/specification/v2/controls/ObjectPageHeader.d.ts +1 -1
  47. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +4 -0
  48. package/dist/src/specification/v2/controls/ObjectPageToolBar.d.ts +1 -5
  49. package/dist/src/specification/v2/controls/Table.d.ts +13 -10
  50. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  51. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -8
  52. package/dist/src/specification/v2/controls/index.d.ts +8 -10
  53. package/dist/src/specification/v2/controls/index.js +2 -2
  54. package/dist/src/specification/v2/controls/index.js.map +1 -1
  55. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +2 -1
  56. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +3 -2
  57. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +2 -2
  58. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +7 -7
  59. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +5 -6
  60. package/dist/src/specification/v4/controls/Table.d.ts +3 -7
  61. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +51 -13
  62. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js +6 -0
  63. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js.map +1 -1
  64. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +2 -1
  65. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.js.map +1 -1
  66. package/dist/src/sync/common/appProvider.js.map +1 -1
  67. package/dist/src/sync/common/decoration/control.d.ts +11 -1
  68. package/dist/src/sync/common/decoration/control.js +29 -3
  69. package/dist/src/sync/common/decoration/control.js.map +1 -1
  70. package/dist/src/sync/common/decoration/factory.js +2 -4
  71. package/dist/src/sync/common/decoration/factory.js.map +1 -1
  72. package/dist/src/sync/common/generate/index.d.ts +1 -0
  73. package/dist/src/sync/common/generate/index.js +1 -0
  74. package/dist/src/sync/common/generate/index.js.map +1 -1
  75. package/dist/src/sync/common/generate/objectPage.d.ts +8 -0
  76. package/dist/src/sync/common/generate/objectPage.js +28 -12
  77. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  78. package/dist/src/sync/common/generate/utils.d.ts +67 -0
  79. package/dist/src/sync/common/generate/utils.js +221 -0
  80. package/dist/src/sync/common/generate/utils.js.map +1 -0
  81. package/dist/src/sync/common/i18n.json +2 -0
  82. package/dist/src/sync/common/import/utils.d.ts +8 -1
  83. package/dist/src/sync/common/import/utils.js +14 -3
  84. package/dist/src/sync/common/import/utils.js.map +1 -1
  85. package/dist/src/sync/common/importProject.js +19 -28
  86. package/dist/src/sync/common/importProject.js.map +1 -1
  87. package/dist/src/sync/common/types.d.ts +29 -15
  88. package/dist/src/sync/common/types.js +25 -1
  89. package/dist/src/sync/common/types.js.map +1 -1
  90. package/dist/src/sync/common/utils.d.ts +6 -33
  91. package/dist/src/sync/common/utils.js +25 -131
  92. package/dist/src/sync/common/utils.js.map +1 -1
  93. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  94. package/dist/src/sync/v2/export/controls/Action.js +127 -0
  95. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  96. package/dist/src/sync/v2/export/controls/Card.d.ts +3 -7
  97. package/dist/src/sync/v2/export/controls/Card.js +15 -43
  98. package/dist/src/sync/v2/export/controls/Card.js.map +1 -1
  99. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +7 -3
  100. package/dist/src/sync/v2/export/controls/FilterBar.js +36 -22
  101. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  102. package/dist/src/sync/v2/export/controls/FormAction.js +3 -2
  103. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -1
  104. package/dist/src/sync/v2/export/controls/Fragment.d.ts +1 -1
  105. package/dist/src/sync/v2/export/controls/Fragment.js +244 -168
  106. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  107. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  108. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +62 -0
  109. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  110. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +11 -29
  111. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  112. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +2 -2
  113. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +4 -4
  114. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  115. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +3 -1
  116. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +15 -0
  117. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  118. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  119. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +61 -0
  120. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  121. package/dist/src/sync/v2/export/controls/Table.d.ts +4 -4
  122. package/dist/src/sync/v2/export/controls/Table.js +16 -21
  123. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  124. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +18 -2
  125. package/dist/src/sync/v2/export/controls/TableColumn.js +126 -1
  126. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  127. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +4 -0
  128. package/dist/src/sync/v2/export/controls/ToolBar.js +6 -0
  129. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  130. package/dist/src/sync/v2/export/controls/index.d.ts +12 -8
  131. package/dist/src/sync/v2/export/controls/index.js +12 -8
  132. package/dist/src/sync/v2/export/controls/index.js.map +1 -1
  133. package/dist/src/sync/v2/export/export.js +134 -111
  134. package/dist/src/sync/v2/export/export.js.map +1 -1
  135. package/dist/src/sync/v2/export/exportPage.js +3 -2
  136. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  137. package/dist/src/sync/v2/export/manifest.js +2 -5
  138. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  139. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +2 -1
  140. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +3 -0
  141. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -1
  142. package/dist/src/sync/v2/export/pages/ListReport.d.ts +3 -2
  143. package/dist/src/sync/v2/export/pages/ListReport.js +3 -0
  144. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -1
  145. package/dist/src/sync/v2/export/view-controller-generator.d.ts +16 -21
  146. package/dist/src/sync/v2/export/view-controller-generator.js +20 -36
  147. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -1
  148. package/dist/src/sync/v2/generate/analyticalListReport.js +16 -8
  149. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  150. package/dist/src/sync/v2/generate/listReport.d.ts +8 -0
  151. package/dist/src/sync/v2/generate/listReport.js +26 -6
  152. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  153. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -6
  154. package/dist/src/sync/v2/generate/objectPage.js +208 -126
  155. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  156. package/dist/src/sync/v2/generate/utils.d.ts +16 -12
  157. package/dist/src/sync/v2/generate/utils.js +235 -98
  158. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  159. package/dist/src/sync/v2/import/common/index.d.ts +29 -4
  160. package/dist/src/sync/v2/import/common/index.js +330 -56
  161. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  162. package/dist/src/sync/v2/import/controls/table.js +3 -2
  163. package/dist/src/sync/v2/import/controls/table.js.map +1 -1
  164. package/dist/src/sync/v2/import/pages/analyticalListPage.js +27 -5
  165. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  166. package/dist/src/sync/v2/import/pages/listReport.d.ts +0 -5
  167. package/dist/src/sync/v2/import/pages/listReport.js +21 -100
  168. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  169. package/dist/src/sync/v2/import/pages/objectPage.d.ts +1 -1
  170. package/dist/src/sync/v2/import/pages/objectPage.js +443 -303
  171. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  172. package/dist/src/sync/v2/import/utils.d.ts +4 -6
  173. package/dist/src/sync/v2/import/utils.js +32 -11
  174. package/dist/src/sync/v2/import/utils.js.map +1 -1
  175. package/dist/src/sync/v2/types.d.ts +28 -2
  176. package/dist/src/sync/v2/types.js +14 -0
  177. package/dist/src/sync/v2/types.js.map +1 -1
  178. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +5 -1
  179. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  180. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +2 -2
  181. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +4 -7
  182. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +3 -33
  183. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  184. package/dist/src/sync/v4/export/controls/Table.js +1 -1
  185. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +3 -6
  186. package/dist/src/sync/v4/export/controls/TableColumn.js +3 -33
  187. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  188. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +5 -1
  189. package/dist/src/sync/v4/export/controls/ToolBar.js +3 -0
  190. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  191. package/dist/src/sync/v4/export/export.js +36 -25
  192. package/dist/src/sync/v4/export/export.js.map +1 -1
  193. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +2 -2
  194. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -2
  195. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  196. package/dist/src/sync/v4/export/types.d.ts +4 -0
  197. package/dist/src/sync/v4/generate/generate.d.ts +4 -2
  198. package/dist/src/sync/v4/generate/generate.js +15 -6
  199. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  200. package/dist/src/sync/v4/generate/listReport.d.ts +9 -7
  201. package/dist/src/sync/v4/generate/listReport.js +93 -22
  202. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  203. package/dist/src/sync/v4/generate/objectPage.js +111 -81
  204. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  205. package/dist/src/sync/v4/import/app/appProvider.js +2 -2
  206. package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
  207. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +2 -2
  208. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -1
  209. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +1 -1
  210. package/dist/src/sync/v4/import/pages/listReport.d.ts +4 -6
  211. package/dist/src/sync/v4/import/pages/listReport.js +57 -36
  212. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  213. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  214. package/dist/src/sync/v4/import/pages/objectPage.js +21 -18
  215. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  216. package/dist/src/sync/v4/import/utils.js +6 -5
  217. package/dist/src/sync/v4/import/utils.js.map +1 -1
  218. package/dist/src/sync/v4/utils/utils.d.ts +15 -2
  219. package/dist/src/sync/v4/utils/utils.js +65 -26
  220. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  221. package/dist/test/unit/utils.test.d.ts +1 -1
  222. package/package.json +11 -10
  223. package/dist/src/specification/v2/controls/FormAction.d.ts +0 -27
  224. package/dist/src/specification/v2/controls/FormAction.js.map +0 -1
  225. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +0 -11
  226. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +0 -1
  227. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.d.ts +0 -27
  228. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.js +0 -3
  229. package/dist/src/specification/v2/controls/ObjectPageHeaderAction.js.map +0 -1
  230. 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
  }
@@ -62,6 +60,7 @@ exports.getRootCustomColumnFromFragmentJSON = getRootCustomColumnFromFragmentJSO
62
60
  * @param configColumns - list of all columns in the config
63
61
  */
64
62
  function handleFragmentColumn(columnsInFragment, configColumns) {
63
+ var _a, _b;
65
64
  let foundInConfig = false;
66
65
  const customData = columnsInFragment['customData'] || columnsInFragment['table:customData'];
67
66
  if (!customData) {
@@ -91,11 +90,11 @@ function handleFragmentColumn(columnsInFragment, configColumns) {
91
90
  _attributes: {}
92
91
  };
93
92
  }
94
- if (columnsInFragment['Text']) {
95
- columnsInFragment['Text']._attributes['text'] = configColumns[ix].text;
93
+ if (columnsInFragment['Text'] && columnsInFragment['Text']['_attributes']) {
94
+ columnsInFragment['Text']._attributes['text'] = (_a = configColumns[ix]) === null || _a === void 0 ? void 0 : _a.text;
96
95
  }
97
- else if (columnsInFragment['Label']) {
98
- columnsInFragment['Label']._attributes['text'] = configColumns[ix].text;
96
+ else if (columnsInFragment['Label'] && columnsInFragment['Label']['_attributes']) {
97
+ columnsInFragment['Label']._attributes['text'] = (_b = configColumns[ix]) === null || _b === void 0 ? void 0 : _b.text;
99
98
  }
100
99
  if (!columnsInFragment['_attributes']) {
101
100
  columnsInFragment['_attributes'] = {};
@@ -104,6 +103,72 @@ function handleFragmentColumn(columnsInFragment, configColumns) {
104
103
  configColumns.splice(ix, 1);
105
104
  return foundInConfig;
106
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
+ }
107
172
  /**
108
173
  * Identifies the right extensions based on a pattern, then deletes all corresponding columns and cells
109
174
  * @param manifestSection - Section in manifest.json comprising the extensions
@@ -114,55 +179,54 @@ function handleFragmentColumn(columnsInFragment, configColumns) {
114
179
  function deleteColumnFromFragment(manifestSection, pattern, appId, fragments) {
115
180
  if (fragments) {
116
181
  //delete columns
117
- let fragmentId = manifestSection[pattern].fragmentName.substr(appId.length + 1);
118
- let fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
119
- let fragmentParts = fragmentId.split('.');
120
- let fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
121
- for (let i = 0; i < fragments.length; i++) {
122
- const fragment = fragments[i];
123
- const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
124
- if (fragmentPathArray[fragmentPathArray.length - 1] === fragmentName) {
125
- //fragments.splice(i, 1);
126
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
127
- const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
128
- if (tagName) {
129
- delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
130
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
131
- }
132
- break;
133
- }
134
- }
182
+ deleteColumnsFromFragment(manifestSection, fragments, pattern, appId);
135
183
  //delete cells
136
184
  const cellsPath = pattern.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
137
185
  const cellManifestSection = manifestSection[cellsPath];
138
186
  if (cellManifestSection) {
139
- fragmentType = cellManifestSection['type'] ? cellManifestSection['type'].toLowerCase() : 'xml';
140
- fragmentId = cellManifestSection.fragmentName.substr(appId.length + 1);
141
- fragmentParts = fragmentId.split('.');
142
- fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
143
- for (let i = 0; i < fragments.length; i++) {
144
- const fragment = fragments[i];
145
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
146
- //fragments.splice(i, 1);
147
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
148
- const fragmentColumns = fragmentJson.elements[0].elements &&
149
- fragmentJson.elements[0].elements.filter((element) => {
150
- return element.type === 'element';
151
- });
152
- if (fragmentColumns) {
153
- for (let index = 0; index < fragmentColumns.length; index++) {
154
- if (JSON.stringify(fragmentColumns[index]) === dummyEntryAsString) {
155
- fragmentColumns.splice(index, 1);
156
- }
157
- }
158
- }
159
- break;
160
- }
161
- }
187
+ deleteCellsFromFragment(cellManifestSection, fragments, appId);
162
188
  }
163
189
  }
164
190
  }
165
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
+ }
166
230
  /**
167
231
  * Updates the content of a cell fragment file
168
232
  * @param fragments - list of existing fragments, to be enhanced
@@ -172,8 +236,7 @@ exports.deleteColumnFromFragment = deleteColumnFromFragment;
172
236
  */
173
237
  function updateCellsFragment(fragments, cellFragmentFileName, config) {
174
238
  let cellsFragmentFound = false;
175
- for (let i = 0; i < fragments.length; i++) {
176
- const fragment = fragments[i];
239
+ for (const fragment of fragments) {
177
240
  const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
178
241
  if (fragmentPathArray[fragmentPathArray.length - 1] === cellFragmentFileName) {
179
242
  cellsFragmentFound = true;
@@ -182,36 +245,7 @@ function updateCellsFragment(fragments, cellFragmentFileName, config) {
182
245
  fragment.fileContent = view_controller_generator_1.getResponsiveTableCellsFragment(config);
183
246
  }
184
247
  else {
185
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
186
- const fragmentColumns = fragmentJson.elements[0].elements &&
187
- fragmentJson.elements[0].elements.filter((element) => {
188
- return element.type === 'element';
189
- });
190
- if (!fragmentColumns || Object.keys(fragmentColumns).length !== Object.keys(config).length) {
191
- if (!fragmentColumns || Object.keys(fragmentColumns).length < Object.keys(config).length) {
192
- const startIndex = fragmentColumns ? Object.keys(fragmentColumns).length : 0;
193
- if (!fragmentJson.elements[0].elements) {
194
- fragmentJson.elements[0].elements = [];
195
- }
196
- for (let index = startIndex; index < Object.keys(config).length; index++) {
197
- fragmentJson.elements[0].elements.push(dummyEntry);
198
- }
199
- }
200
- else if (Object.keys(fragmentColumns).length > Object.keys(config).length) {
201
- //only dummy entry will be deleted automatically!
202
- let noOfEntriesToBeDeleted = Object.keys(fragmentColumns).length - Object.keys(config).length;
203
- for (let index = 0; index < Object.keys(fragmentJson.elements[0].elements).length; index++) {
204
- if (JSON.stringify(fragmentJson.elements[0].elements[index]) === dummyEntryAsString) {
205
- fragmentJson.elements[0].elements.splice(index, 1);
206
- noOfEntriesToBeDeleted -= 1;
207
- if (noOfEntriesToBeDeleted === 0) {
208
- break;
209
- }
210
- }
211
- }
212
- }
213
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { spaces: 4 });
214
- }
248
+ updateNonEmptyCellsFragment(fragment, config);
215
249
  }
216
250
  break;
217
251
  }
@@ -219,37 +253,35 @@ function updateCellsFragment(fragments, cellFragmentFileName, config) {
219
253
  return cellsFragmentFound;
220
254
  }
221
255
  /**
222
- * The function transfers ALL properties of one or more custom columns to a given fragment, or creates a new one if necesary.
223
- * @param {ExportResults} exportResults - export result comprising fragments and manifest
256
+ * Adapt manifest from the given custom columns' definition in manifest
224
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
225
259
  * @param config - current config part, describing the new image of the extension
226
260
  * @param appId - application ID
227
- * @param viewTemplateType - name of the view template that shall be applied
228
261
  * @param {ExtensionLogger} logger - logger instance for exceptions
262
+ * @returns everything that is needed for further processing the fragment
229
263
  */
230
- function exportToFragment(exportResults, manifestPath, config, appId, viewTemplateType, logger) {
264
+ function exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger) {
231
265
  var _a;
232
- const fragments = exportResults.fragments;
233
- const manifest = exportResults.manifest;
234
- let cellsFragmentName;
235
266
  let lsFilePath;
236
- //Find and adapt manifest
267
+ let cellsFragmentName;
268
+ const manifest = exportResults.manifest;
237
269
  const manifestSection = manifest_1.getManifestSectionByPathV2(manifest, manifestPath);
238
270
  const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
239
271
  manifestSection['type'] = fragmentType.toUpperCase();
240
- for (let index = 0; index < config.length; index++) {
272
+ for (const configElement of config) {
241
273
  //last one wins -as there can only be one reference in the manifest
242
- if (!config[index].fragmentName) {
274
+ if (!configElement.fragmentName) {
243
275
  extensionLogger_1.log(logger, {
244
276
  severity: "error" /* Error */,
245
- message: i18next_1.default.t('NOFRAGMENT', { columnKey: config[index].columnKey })
277
+ message: i18next_1.default.t('NOFRAGMENT', { columnKey: configElement.columnKey })
246
278
  });
247
279
  continue;
248
280
  }
249
- manifestSection['fragmentName'] = config[index].fragmentName;
250
- manifestSection['className'] = config[index].className;
281
+ manifestSection['fragmentName'] = configElement.fragmentName;
282
+ manifestSection['className'] = configElement.className;
251
283
  lsFilePath =
252
- ((_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)) +
253
285
  types_1.FRAGMENTNAMEPART +
254
286
  fragmentType;
255
287
  }
@@ -268,11 +300,117 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
268
300
  manifest_1.deleteManifestSectionByPathV2(manifest, cellsPath);
269
301
  }
270
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);
271
411
  //Find and adapt fragment
272
412
  const configColumns = JSON.parse(JSON.stringify(config));
273
413
  let fragmentName = manifestSection['fragmentName'];
274
- let fragmentFound = false;
275
- let cellsFragmentFound = false;
276
414
  const fragmentId = fragmentName.substr(appId.length + 1);
277
415
  const fragmentParts = fragmentId.split('.');
278
416
  const templateType = fragmentParts[fragmentParts.length - 1];
@@ -280,77 +418,15 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
280
418
  const cellFragmentParts = cellsFragmentName === null || cellsFragmentName === void 0 ? void 0 : cellsFragmentName.split('.');
281
419
  const cellTemplateType = cellFragmentParts ? cellFragmentParts[cellFragmentParts.length - 1] : null;
282
420
  const cellFragmentFileName = cellTemplateType ? cellTemplateType + types_1.FRAGMENTNAMEPART + fragmentType : null;
283
- if (fragments) {
284
- //find and update the columns' fragment file
285
- for (let i = 0; i < fragments.length; i++) {
286
- const fragment = fragments[i];
287
- if (fragment['dataSourceUri'].endsWith(fragmentName)) {
288
- let columnsInFragmentDefinition = {};
289
- fragmentFound = true;
290
- if (!fragment.fileContent || fragment.fileContent.length === 0) {
291
- // Empty fragment - use template
292
- fragment.fileContent = view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType);
293
- }
294
- else {
295
- const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
296
- //find the right column in the fragment file
297
- columnsInFragmentDefinition = getRootCustomColumnFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
298
- if (columnsInFragmentDefinition) {
299
- //find the right column in the identified fragment file
300
- if (Array.isArray(columnsInFragmentDefinition)) {
301
- for (let j = 0; j < columnsInFragmentDefinition.length; j++) {
302
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition[j], configColumns);
303
- if (!columnFoundInConfig) {
304
- columnsInFragmentDefinition.splice(j, 1);
305
- }
306
- }
307
- }
308
- else {
309
- const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition, configColumns);
310
- if (!columnFoundInConfig) {
311
- const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
312
- if (tagName) {
313
- delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
314
- columnsInFragmentDefinition = undefined;
315
- }
316
- }
317
- }
318
- }
319
- //Insert scenario for the remaining entries
320
- for (let j = 0; j < configColumns.length; j++) {
321
- if (configColumns[j].fragmentName.endsWith(fragmentId)) {
322
- const newColumnFragment = view_controller_generator_1.getSingleColumnContent(configColumns[j], viewTemplateType);
323
- if (newColumnFragment) {
324
- const newColumnDefinition = JSON.parse(xml_js_1.xml2json(newColumnFragment, { compact: true }));
325
- const newColumn = getRootCustomColumnFromFragmentJSON(newColumnDefinition);
326
- if (Array.isArray(columnsInFragmentDefinition)) {
327
- columnsInFragmentDefinition.push(newColumn);
328
- }
329
- else {
330
- if (columnsInFragmentDefinition) {
331
- columnsInFragmentDefinition = [columnsInFragmentDefinition, newColumn];
332
- }
333
- else {
334
- columnsInFragmentDefinition = [newColumn];
335
- }
336
- }
337
- }
338
- }
339
- }
340
- const tagName = VIEW_TEMPLATE_TAGNAME_MAP.get(viewTemplateType);
341
- fragmentJson[exports.FRAGMENT_DEFINITION][tagName] = columnsInFragmentDefinition;
342
- fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
343
- }
344
- break;
345
- }
346
- }
347
- if (cellsFragmentName) {
348
- //find an update the cells' fragment file
349
- cellsFragmentFound = updateCellsFragment(fragments, cellFragmentFileName, config);
350
- }
351
- else {
352
- cellsFragmentFound = true; //not relevant
353
- }
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
354
430
  }
355
431
  if (!fragmentFound) {
356
432
  const fragment = {
@@ -367,7 +443,7 @@ function exportToFragment(exportResults, manifestPath, config, appId, viewTempla
367
443
  exportResults.fragments.push(fragment);
368
444
  }
369
445
  }
370
- exports.exportToFragment = exportToFragment;
446
+ exports.exportCustomColumnsToFragment = exportCustomColumnsToFragment;
371
447
  /**
372
448
  * Determines the manifest path of a column extension.
373
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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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="@sapui5/ts-types" />
2
+ import { ObjectPageFooterAction as FooterActionConfig } from '../../../../specification/v2';
3
+ export declare class ObjectPageFooterAction implements FooterActionConfig {
4
+ visible: boolean;
5
+ tooltip?: string;
6
+ icon?: sap.ui.core.URI;
7
+ activeIcon?: sap.ui.core.URI;
8
+ type?: sap.m.ButtonType;
9
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const decoration_1 = require("../../../common/decoration");
10
+ const types_1 = require("../../../common/types");
11
+ const common_1 = require("../../../common");
12
+ /**
13
+ * Create stable ID for Object Page Footer Action button
14
+ *
15
+ * @param {string} baseId Base Id of the control
16
+ * @param {string[]} idBreadcrumbs
17
+ * @param {string[]} breadcrumbs
18
+ * @param {ControlTypeFunction} controlType
19
+ * @returns {string} stable ID of Object Page Footer Action button
20
+ */
21
+ const getFooterActionButtonId = (baseId, idBreadcrumbs, breadcrumbs, controlType) => {
22
+ if (controlType() === types_1.ControlType.Button) {
23
+ const { actionId } = common_1.getActionBreadcrumbParts(breadcrumbs);
24
+ return `${baseId}action::${actionId}::Determining`;
25
+ }
26
+ return decoration_1.buildControlIdFromParent(baseId, idBreadcrumbs);
27
+ };
28
+ const flexRuleForFooterAction = {
29
+ controlId: getFooterActionButtonId,
30
+ controlType: () => types_1.ControlType.Button,
31
+ createFlexChange: decoration_1.exportToFlexChange
32
+ };
33
+ class ObjectPageFooterAction {
34
+ }
35
+ __decorate([
36
+ decoration_1.syncRule({
37
+ flex: flexRuleForFooterAction,
38
+ generate: common_1.addPatternForBindingChangeOfEnumOP
39
+ })
40
+ ], ObjectPageFooterAction.prototype, "visible", void 0);
41
+ __decorate([
42
+ decoration_1.syncRule({
43
+ flex: flexRuleForFooterAction
44
+ })
45
+ ], ObjectPageFooterAction.prototype, "tooltip", void 0);
46
+ __decorate([
47
+ decoration_1.syncRule({
48
+ flex: flexRuleForFooterAction
49
+ })
50
+ ], ObjectPageFooterAction.prototype, "icon", void 0);
51
+ __decorate([
52
+ decoration_1.syncRule({
53
+ flex: flexRuleForFooterAction
54
+ })
55
+ ], ObjectPageFooterAction.prototype, "activeIcon", void 0);
56
+ __decorate([
57
+ decoration_1.syncRule({
58
+ flex: flexRuleForFooterAction
59
+ })
60
+ ], ObjectPageFooterAction.prototype, "type", void 0);
61
+ exports.ObjectPageFooterAction = ObjectPageFooterAction;
62
+ //# sourceMappingURL=ObjectPageFooterAction.js.map