@sap/ux-specification 1.96.28 → 1.96.30

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 (275) hide show
  1. package/dist/documentation/runDocu-min.js +5 -5
  2. package/dist/documentation/runDocu-min.js.map +3 -3
  3. package/dist/documentation/styleDocu.css +30 -4
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +4 -3
  5. package/dist/documentation/v2/v2-ApplicationV2.html +6 -4
  6. package/dist/documentation/v2/v2-ListReport.html +4 -3
  7. package/dist/documentation/v2/v2-ObjectPage.html +4 -3
  8. package/dist/documentation/v2/v2-OverviewPage.html +4 -3
  9. package/dist/documentation/v4/v4-ApplicationV4.html +6 -4
  10. package/dist/documentation/v4/v4-BuildingBlocks.html +4 -3
  11. package/dist/documentation/v4/v4-FreestylePage.html +4 -3
  12. package/dist/documentation/v4/v4-ListReport.html +4 -3
  13. package/dist/documentation/v4/v4-ObjectPage.html +4 -3
  14. package/dist/index-min.js +114 -114
  15. package/dist/index-min.js.map +3 -3
  16. package/dist/package.json +10 -6
  17. package/dist/schemas/v2/AnalyticalListPageConfig.json +4 -20
  18. package/dist/schemas/v2/ApplicationV2.json +5 -2
  19. package/dist/schemas/v2/ListReportConfig.json +4 -20
  20. package/dist/schemas/v2/ObjectPageConfig.json +8 -24
  21. package/dist/schemas/v4/ApplicationV4.json +16 -13
  22. package/dist/schemas/v4/BuildingBlocksConfig.json +37 -22
  23. package/dist/schemas/v4/ListReportConfig.json +193 -24
  24. package/dist/schemas/v4/ObjectPageConfig.json +9 -9
  25. package/dist/src/api.d.ts.map +1 -1
  26. package/dist/src/api.js +9 -9
  27. package/dist/src/api.js.map +1 -1
  28. package/dist/src/sync/common/appProvider.d.ts +1 -0
  29. package/dist/src/sync/common/appProvider.d.ts.map +1 -1
  30. package/dist/src/sync/common/appProvider.js +5 -3
  31. package/dist/src/sync/common/appProvider.js.map +1 -1
  32. package/dist/src/sync/common/decoration/factory.d.ts +7 -7
  33. package/dist/src/sync/common/decoration/factory.d.ts.map +1 -1
  34. package/dist/src/sync/common/decoration/factory.js +2 -2
  35. package/dist/src/sync/common/decoration/factory.js.map +1 -1
  36. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -1
  37. package/dist/src/sync/common/generate/objectPage.js +5 -4
  38. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  39. package/dist/src/sync/common/generate/utils.d.ts +9 -2
  40. package/dist/src/sync/common/generate/utils.d.ts.map +1 -1
  41. package/dist/src/sync/common/generate/utils.js +30 -19
  42. package/dist/src/sync/common/generate/utils.js.map +1 -1
  43. package/dist/src/sync/common/i18n.json +2 -1
  44. package/dist/src/sync/common/importProject.d.ts +15 -2
  45. package/dist/src/sync/common/importProject.d.ts.map +1 -1
  46. package/dist/src/sync/common/importProject.js +71 -35
  47. package/dist/src/sync/common/importProject.js.map +1 -1
  48. package/dist/src/sync/common/utils.d.ts +8 -8
  49. package/dist/src/sync/common/utils.d.ts.map +1 -1
  50. package/dist/src/sync/common/utils.js +12 -12
  51. package/dist/src/sync/common/utils.js.map +1 -1
  52. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
  53. package/dist/src/sync/v2/export/controls/Fragment.js +2 -1
  54. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  55. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +1 -1
  56. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -1
  57. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +1 -1
  58. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  59. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +8 -8
  60. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -1
  61. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +1 -4
  62. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
  63. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +4 -25
  64. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  65. package/dist/src/sync/v2/export/controls/Table.d.ts +3 -6
  66. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -1
  67. package/dist/src/sync/v2/export/controls/Table.js +20 -28
  68. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  69. package/dist/src/sync/v2/export/export.js +1 -1
  70. package/dist/src/sync/v2/export/export.js.map +1 -1
  71. package/dist/src/sync/v2/export/exportPage.js +9 -9
  72. package/dist/src/sync/v2/export/exportPage.js.map +1 -1
  73. package/dist/src/sync/v2/export/factory.js +4 -4
  74. package/dist/src/sync/v2/export/factory.js.map +1 -1
  75. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -1
  76. package/dist/src/sync/v2/export/manifest.js +2 -2
  77. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  78. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +1 -1
  79. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  80. package/dist/src/sync/v2/generate/analyticalListReport.js +20 -27
  81. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  82. package/dist/src/sync/v2/generate/generate.d.ts +12 -12
  83. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -1
  84. package/dist/src/sync/v2/generate/generate.js +61 -45
  85. package/dist/src/sync/v2/generate/generate.js.map +1 -1
  86. package/dist/src/sync/v2/generate/listReport.d.ts +1 -3
  87. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -1
  88. package/dist/src/sync/v2/generate/listReport.js +5 -11
  89. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  90. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -2
  91. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  92. package/dist/src/sync/v2/generate/objectPage.js +68 -81
  93. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  94. package/dist/src/sync/v2/generate/utils.d.ts +2 -2
  95. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -1
  96. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  97. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  98. package/dist/src/sync/v2/import/app/appProvider.js +2 -2
  99. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -1
  100. package/dist/src/sync/v2/import/app/ovpProvider.js +2 -2
  101. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -1
  102. package/dist/src/sync/v2/import/common/index.d.ts +2 -2
  103. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -1
  104. package/dist/src/sync/v2/import/common/index.js +3 -3
  105. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  106. package/dist/src/sync/v2/import/pages/analyticalListPage.js +12 -12
  107. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  108. package/dist/src/sync/v2/import/pages/listReport.js +9 -9
  109. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  110. package/dist/src/sync/v2/import/pages/objectPage.js +16 -16
  111. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  112. package/dist/src/sync/v2/import/pages/overviewPage.js +1 -1
  113. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  114. package/dist/src/sync/v2/import/utils.d.ts.map +1 -1
  115. package/dist/src/sync/v2/import/utils.js +3 -3
  116. package/dist/src/sync/v2/import/utils.js.map +1 -1
  117. package/dist/src/sync/v2/types.d.ts +3 -3
  118. package/dist/src/sync/v2/types.d.ts.map +1 -1
  119. package/dist/src/sync/v2/types.js +1 -1
  120. package/dist/src/sync/v2/types.js.map +1 -1
  121. package/dist/src/sync/v4/application.d.ts +2 -0
  122. package/dist/src/sync/v4/application.d.ts.map +1 -1
  123. package/dist/src/sync/v4/application.js +10 -2
  124. package/dist/src/sync/v4/application.js.map +1 -1
  125. package/dist/src/sync/v4/export/controls/FilterBar.d.ts +8 -2
  126. package/dist/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  127. package/dist/src/sync/v4/export/controls/FilterBar.js +48 -4
  128. package/dist/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  129. package/dist/src/sync/v4/export/controls/Header.d.ts +9 -0
  130. package/dist/src/sync/v4/export/controls/Header.d.ts.map +1 -0
  131. package/dist/src/sync/v4/export/controls/Header.js +10 -0
  132. package/dist/src/sync/v4/export/controls/Header.js.map +1 -0
  133. package/dist/src/sync/v4/export/controls/HeaderAction.d.ts +16 -0
  134. package/dist/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -0
  135. package/dist/src/sync/v4/export/controls/HeaderAction.js +94 -0
  136. package/dist/src/sync/v4/export/controls/HeaderAction.js.map +1 -0
  137. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -2
  138. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  139. package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts +1 -1
  140. package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts.map +1 -1
  141. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +3 -3
  142. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
  143. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +2 -2
  144. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
  145. package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +5 -6
  146. package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  147. package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.js +11 -29
  148. package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  149. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +1 -1
  150. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -1
  151. package/dist/src/sync/v4/export/controls/Table.js +6 -6
  152. package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
  153. package/dist/src/sync/v4/export/controls/index.d.ts +2 -0
  154. package/dist/src/sync/v4/export/controls/index.d.ts.map +1 -1
  155. package/dist/src/sync/v4/export/controls/index.js +2 -0
  156. package/dist/src/sync/v4/export/controls/index.js.map +1 -1
  157. package/dist/src/sync/v4/export/export.d.ts +1 -1
  158. package/dist/src/sync/v4/export/export.d.ts.map +1 -1
  159. package/dist/src/sync/v4/export/export.js +62 -34
  160. package/dist/src/sync/v4/export/export.js.map +1 -1
  161. package/dist/src/sync/v4/export/factory.js +3 -3
  162. package/dist/src/sync/v4/export/factory.js.map +1 -1
  163. package/dist/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  164. package/dist/src/sync/v4/export/fpmCustomPage.js +5 -5
  165. package/dist/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  166. package/dist/src/sync/v4/export/manifest.d.ts +1 -1
  167. package/dist/src/sync/v4/export/manifest.d.ts.map +1 -1
  168. package/dist/src/sync/v4/export/manifest.js +40 -30
  169. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  170. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -1
  171. package/dist/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  172. package/dist/src/sync/v4/export/pages/ListReport.js +7 -4
  173. package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -1
  174. package/dist/src/sync/v4/export/pages/ObjectPage.js +1 -1
  175. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -1
  176. package/dist/src/sync/v4/export/types.d.ts +2 -2
  177. package/dist/src/sync/v4/export/types.d.ts.map +1 -1
  178. package/dist/src/sync/v4/generate/fpm-custom-page/annotations.d.ts +17 -0
  179. package/dist/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -0
  180. package/dist/src/sync/v4/generate/fpm-custom-page/annotations.js +71 -0
  181. package/dist/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -0
  182. package/dist/src/sync/v4/generate/fpm-custom-page/extensions.d.ts +11 -0
  183. package/dist/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -0
  184. package/dist/src/sync/v4/generate/fpm-custom-page/extensions.js +169 -0
  185. package/dist/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -0
  186. package/dist/src/sync/v4/generate/fpm-custom-page/generator.d.ts +13 -0
  187. package/dist/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -0
  188. package/dist/src/sync/v4/generate/{fpmCustomPage.js → fpm-custom-page/generator.js} +57 -33
  189. package/dist/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -0
  190. package/dist/src/sync/v4/generate/fpm-custom-page/utils.d.ts +3 -0
  191. package/dist/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -0
  192. package/dist/src/sync/v4/generate/fpm-custom-page/utils.js +8 -0
  193. package/dist/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -0
  194. package/dist/src/sync/v4/generate/generate.d.ts +3 -3
  195. package/dist/src/sync/v4/generate/generate.d.ts.map +1 -1
  196. package/dist/src/sync/v4/generate/generate.js +19 -10
  197. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  198. package/dist/src/sync/v4/generate/index.d.ts +1 -1
  199. package/dist/src/sync/v4/generate/index.d.ts.map +1 -1
  200. package/dist/src/sync/v4/generate/index.js +2 -2
  201. package/dist/src/sync/v4/generate/index.js.map +1 -1
  202. package/dist/src/sync/v4/generate/listReport.d.ts +13 -3
  203. package/dist/src/sync/v4/generate/listReport.d.ts.map +1 -1
  204. package/dist/src/sync/v4/generate/listReport.js +146 -24
  205. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  206. package/dist/src/sync/v4/generate/objectPage.d.ts +2 -2
  207. package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  208. package/dist/src/sync/v4/generate/objectPage.js +18 -28
  209. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  210. package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +1 -1
  211. package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -1
  212. package/dist/src/sync/v4/import/app/baseAppProvider.js +5 -7
  213. package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -1
  214. package/dist/src/sync/v4/import/pages/fpmCustomPage.js +3 -3
  215. package/dist/src/sync/v4/import/pages/fpmCustomPage.js.map +1 -1
  216. package/dist/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  217. package/dist/src/sync/v4/import/pages/listReport.js +57 -0
  218. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  219. package/dist/src/sync/v4/import/pages/objectPage.js +8 -8
  220. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  221. package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  222. package/dist/src/sync/v4/sync-rules/controllerExtensions.js +3 -3
  223. package/dist/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  224. package/dist/src/sync/v4/types.d.ts +9 -0
  225. package/dist/src/sync/v4/types.d.ts.map +1 -1
  226. package/dist/src/sync/v4/utils/StableIdHelper.js +1 -1
  227. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  228. package/dist/src/sync/v4/utils/utils.d.ts +26 -4
  229. package/dist/src/sync/v4/utils/utils.d.ts.map +1 -1
  230. package/dist/src/sync/v4/utils/utils.js +50 -17
  231. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  232. package/package.json +10 -6
  233. package/dist/scripts/extractDocu.d.ts +0 -2
  234. package/dist/scripts/extractDocu.d.ts.map +0 -1
  235. package/dist/scripts/extractDocu.js +0 -508
  236. package/dist/scripts/extractDocu.js.map +0 -1
  237. package/dist/scripts/macros/api.d.ts +0 -9
  238. package/dist/scripts/macros/api.d.ts.map +0 -1
  239. package/dist/scripts/macros/api.js +0 -161
  240. package/dist/scripts/macros/api.js.map +0 -1
  241. package/dist/scripts/macros/cmd.d.ts +0 -7
  242. package/dist/scripts/macros/cmd.d.ts.map +0 -1
  243. package/dist/scripts/macros/cmd.js +0 -49
  244. package/dist/scripts/macros/cmd.js.map +0 -1
  245. package/dist/scripts/macros/corrections.d.ts +0 -18
  246. package/dist/scripts/macros/corrections.d.ts.map +0 -1
  247. package/dist/scripts/macros/corrections.js +0 -188
  248. package/dist/scripts/macros/corrections.js.map +0 -1
  249. package/dist/scripts/macros/index.d.ts +0 -2
  250. package/dist/scripts/macros/index.d.ts.map +0 -1
  251. package/dist/scripts/macros/index.js +0 -8
  252. package/dist/scripts/macros/index.js.map +0 -1
  253. package/dist/scripts/macros/schema.d.ts +0 -9
  254. package/dist/scripts/macros/schema.d.ts.map +0 -1
  255. package/dist/scripts/macros/schema.js +0 -201
  256. package/dist/scripts/macros/schema.js.map +0 -1
  257. package/dist/scripts/macros/types.d.ts +0 -77
  258. package/dist/scripts/macros/types.d.ts.map +0 -1
  259. package/dist/scripts/macros/types.js +0 -14
  260. package/dist/scripts/macros/types.js.map +0 -1
  261. package/dist/scripts/runDocu.d.ts +0 -2
  262. package/dist/scripts/runDocu.d.ts.map +0 -1
  263. package/dist/scripts/runDocu.js +0 -579
  264. package/dist/scripts/runDocu.js.map +0 -1
  265. package/dist/scripts/spec.d.ts +0 -2
  266. package/dist/scripts/spec.d.ts.map +0 -1
  267. package/dist/scripts/spec.js +0 -113
  268. package/dist/scripts/spec.js.map +0 -1
  269. package/dist/scripts/to-json-schema.d.ts +0 -11
  270. package/dist/scripts/to-json-schema.d.ts.map +0 -1
  271. package/dist/scripts/to-json-schema.js +0 -154
  272. package/dist/scripts/to-json-schema.js.map +0 -1
  273. package/dist/src/sync/v4/generate/fpmCustomPage.d.ts +0 -10
  274. package/dist/src/sync/v4/generate/fpmCustomPage.d.ts.map +0 -1
  275. package/dist/src/sync/v4/generate/fpmCustomPage.js.map +0 -1
@@ -1,579 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const d3_1 = require("d3");
7
- const jquery_1 = __importDefault(require("jquery"));
8
- // svg element close icon for tooltip
9
- const closeIcon = `<svg id="close-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
10
- <g>
11
- <path
12
- fill-rule="evenodd"
13
- clip-rule="evenodd"
14
- d="M3.71313 3L3.00699 3.7049L6.79636 7.497L3 11.2941L3.70714 12L7.5025 8.20391L11.2939 11.996L12 11.2901L8.20863 7.497L11.994 3.71089L11.2869 3.00499L7.5025 6.7901L3.71313 3Z"
15
- fill="#C5C5C5"
16
- />
17
- </g>
18
- </svg>`;
19
- // dimensions of the tree container
20
- const margin = { top: 0, right: 0, bottom: 0, left: 0 };
21
- let innerHeight, innerWidth;
22
- (innerWidth = document.body.clientWidth), (innerHeight = document.body.clientHeight);
23
- // helper variables
24
- const duration = 450, resetTreeButton = jquery_1.default('#resetTree'), expandTreeButton = jquery_1.default('#expandTree'), searchResult = jquery_1.default('ul#search-result'), searchInput = jquery_1.default('#search-input'), searchClose = jquery_1.default('#search-close-icon'), searchIcon = jquery_1.default('#search-icon');
25
- let i = 0, maxLabelLength = 0;
26
- // sets the tree layout and assigns the size
27
- const treeLayout = d3_1.tree().size([innerHeight, innerWidth]);
28
- // assigns and calculates the data required for the nodes and links
29
- const root = d3_1.hierarchy(treeData, function (d) {
30
- return d.children;
31
- });
32
- // assign position of root
33
- root.x0 = innerHeight / 2;
34
- root.y0 = 0;
35
- // create tooltip for description
36
- const tooltipDiv = d3_1.select('body').append('div').style('opacity', 1e-6).attr('class', 'tooltip');
37
- // function to remove tooltip
38
- function removeTooltip() {
39
- tooltipDiv.style('opacity', 1e-6);
40
- tooltipDiv.style('display', 'none');
41
- }
42
- // define zoom function for zoomable tree
43
- function zoomTree(event) {
44
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
45
- svgGroup.attr('transform', event.transform);
46
- removeTooltip();
47
- }
48
- // define the zoom listener which calls the zoom function
49
- const zoomListener = d3_1.zoom().scaleExtent([0.3, 3]).on('zoom', zoomTree);
50
- // select svg container for tree and set attributes
51
- const svg = d3_1.select('svg#tree-container').attr('width', innerWidth).attr('height', innerHeight).call(zoomListener);
52
- // create group element for all tree elements
53
- const svgGroup = svg.append('g').attr('id', 'svg-group').attr('transform', `translate(${margin.left},${margin.top})`);
54
- // determine the coordinates of an svg element
55
- function getBB(selection) {
56
- selection.each(function (d) {
57
- d.bbox = this.getBBox();
58
- return d.bbox;
59
- });
60
- }
61
- // function to split CamelCase
62
- function splitName(elem) {
63
- const splitElem = elem
64
- .split(/(?=[A-Z])/)
65
- .map(function (p) {
66
- return p.charAt(0).toUpperCase() + p.slice(1);
67
- })
68
- .join(' ');
69
- return splitElem;
70
- }
71
- // function to create the elements used in the tooltip depending on given data
72
- const tooltipElements = function (d) {
73
- const closeButton = '<div id="tooltip_close-button">' + closeIcon + '</div>', name = '<div class="tip_prop">' + d.data.name + ' </div>', description = '<div class="tip_desc">' + d.data.description + '</div>', type = '<div class="tip_type">' + d.data.type + '</div>', enums = '<div class="tip_enums">' + d.data.type.replaceAll('|', ' | ') + '</div>', controlType = '<div class="tip_control">' + d.data.control + '</div>';
74
- let elements = closeButton;
75
- elements += name;
76
- // checks which data exist
77
- if (d.data.description)
78
- elements += description;
79
- if (d.data.type) {
80
- elements += '<div class="tip_type-container">';
81
- if (d.data.type.includes('|')) {
82
- elements += enums;
83
- }
84
- else {
85
- elements += type;
86
- }
87
- }
88
- if (d.data.artifact)
89
- elements += '<div class="tip_type">' + d.data.artifact + '</div>';
90
- if (d.data.control)
91
- elements += controlType;
92
- if (d.data.type)
93
- elements += '</div>';
94
- return elements;
95
- };
96
- // function for collapsing nodes
97
- function collapse(d) {
98
- if (d.children) {
99
- //d.children = expanded children
100
- d._children = d.children;
101
- d._children.forEach(collapse);
102
- d.children = null;
103
- }
104
- }
105
- // function for expanding nodes
106
- function expand(d) {
107
- if (d._children) {
108
- //d._children = collapes children
109
- d.children = d._children;
110
- d._children = null;
111
- }
112
- if (d.children) {
113
- const count = d.children.length;
114
- for (let i = 0; i < count; i++) {
115
- if (d.children[i].name) {
116
- expand(d.children[i]);
117
- }
118
- }
119
- }
120
- }
121
- // function to expand all nodes
122
- function expandAll(d) {
123
- if (d._children) {
124
- d.children = d._children;
125
- d._children = null;
126
- }
127
- const children = d.children ? d.children : d._children;
128
- if (children)
129
- children.forEach(expandAll);
130
- }
131
- // function to toggle children
132
- function toggleChildren(d) {
133
- if (d.children)
134
- collapse(d);
135
- else if (d._children)
136
- expand(d);
137
- return d;
138
- }
139
- // function to walk through all nodes
140
- function visit(parent, visitFn, childrenFn) {
141
- if (!parent)
142
- return;
143
- visitFn(parent);
144
- const children = childrenFn(parent);
145
- if (children) {
146
- const count = children.length;
147
- for (let i = 0; i < count; i++) {
148
- visit(children[i], visitFn, childrenFn);
149
- }
150
- }
151
- }
152
- // function to center the tree or specific node
153
- function centerNode(source, ratio) {
154
- const r = ratio ? ratio : 2, node = d3_1.zoomTransform(svg.node());
155
- let x = -source.y0, y = -source.x0;
156
- x = x * node.k + innerWidth / r;
157
- y = y * node.k + innerHeight / 2;
158
- d3_1.select('svg#tree-container')
159
- .transition()
160
- .duration(duration)
161
- .call(zoomListener.transform, d3_1.zoomIdentity.translate(x, y).scale(node.k));
162
- }
163
- // function to resize tree
164
- function resize() {
165
- innerWidth = jquery_1.default(window).width();
166
- innerHeight = jquery_1.default(window).height();
167
- svg.attr('width', innerWidth);
168
- svg.attr('height', innerHeight);
169
- centerNode(root, 2.5);
170
- }
171
- // function to draw the links between the nodes
172
- function diagonal(d) {
173
- let nodeGroup, width = 0;
174
- if (d.source.id)
175
- nodeGroup = d3_1.select('#n-' + d.source.id).node();
176
- // get width of node group element to set path accordingly
177
- if (nodeGroup)
178
- width = nodeGroup.getBBox().width;
179
- const path = 'M' + (d.source.y + width + 20) + ',' + d.source.x + 'H' + (d.target.y - 15) + 'V' + d.target.x + ('h' + 15);
180
- return path;
181
- }
182
- // function to create the path to nodes for search
183
- function getNodePath(node, path) {
184
- const p = path || [], parent = node.parent;
185
- if (parent) {
186
- const children = parent.children || parent._children;
187
- p.unshift(children.indexOf(node));
188
- return getNodePath(parent, p);
189
- }
190
- else
191
- return p;
192
- }
193
- // function to animate the searched node
194
- function flashNode(node) {
195
- let t = 4;
196
- // selects the searched node
197
- const text = jquery_1.default('#n-' + node.id + ' text');
198
- while (t--)
199
- text.fadeTo(350, 0).fadeTo(350, 1);
200
- }
201
- // function to display tooltip depending on data
202
- function clickTitle(event, d) {
203
- if (d.data.description || d.data.type) {
204
- tooltipDiv.transition().duration(300).style('opacity', 1).style('display', 'flex');
205
- tooltipDiv.html(tooltipElements(d));
206
- d3_1.select('#tooltip_close-button').on('click', function () {
207
- removeTooltip();
208
- });
209
- }
210
- else if (!d.data.type) {
211
- removeTooltip();
212
- }
213
- // get dimensions of svg container to position tooltip
214
- const out_width = svg.node().getBoundingClientRect().width - 420;
215
- const out_height = svg.node().getBoundingClientRect().height - 300;
216
- if (event.pageX > out_width && event.pageY > out_height) {
217
- tooltipDiv
218
- .style('top', event.pageY - 20 + 'px')
219
- .style('left', event.pageX - 20 + 'px')
220
- .style('transform', 'translate(-100%, -100%)');
221
- }
222
- else if (event.pageX > out_width && !(event.pageY > out_height)) {
223
- tooltipDiv
224
- .style('top', event.pageY + 20 + 'px')
225
- .style('left', event.pageX - 20 + 'px')
226
- .style('transform', 'translate(-100%, 0)');
227
- }
228
- else if (!(event.pageX > out_width) && event.pageY > out_height) {
229
- tooltipDiv
230
- .style('top', event.pageY - 20 + 'px')
231
- .style('left', event.pageX + 20 + 'px')
232
- .style('transform', 'translate(0, -100%)');
233
- }
234
- else {
235
- tooltipDiv
236
- .style('top', event.pageY + 20 + 'px')
237
- .style('left', event.pageX + 20 + 'px')
238
- .style('transform', 'translate(0, 0)');
239
- }
240
- }
241
- // function to draw the tree
242
- function update(source) {
243
- // function to compute the height of the tree depending on the children
244
- const levelWidth = [1];
245
- function childCount(level, n) {
246
- if (n.children && n.children.length > 0) {
247
- if (levelWidth.length <= level + 1)
248
- levelWidth.push(0);
249
- levelWidth[level + 1] += n.children.length;
250
- n.children.forEach(function (d) {
251
- childCount(level + 1, d);
252
- });
253
- }
254
- }
255
- // compute the new height depending on children
256
- childCount(0, root);
257
- const newHeight = d3_1.max(levelWidth) > 20 && d3_1.max(levelWidth) < 40 ? d3_1.max(levelWidth) * 55 : d3_1.max(levelWidth) * 45; // pixels per line
258
- // set the new tree layout
259
- treeLayout.size([newHeight, innerWidth]);
260
- const tree = treeLayout(root);
261
- // assign the nodes and links
262
- const nodes = tree.descendants(), links = tree.links();
263
- // determine the horizontal spacing of the nodes
264
- nodes.forEach(function (d) {
265
- // Normalize for fixed-depth
266
- // d.y = d.depth * 300;
267
- d.y = d.depth * (maxLabelLength * 5);
268
- });
269
- // ********************************** NODE SECTION **********************************
270
- // declare the nodes
271
- const node = svgGroup.selectAll('g.node').data(nodes, function (d) {
272
- return d.id || (d.id = ++i);
273
- });
274
- // enter the nodes
275
- const nodeEnter = node
276
- .enter()
277
- .append('g')
278
- .attr('class', 'node')
279
- .attr('id', function (d) {
280
- return 'n-' + d.id;
281
- })
282
- .attr('transform', function () {
283
- return 'translate(' + source.y0 + ',' + source.x0 + ')';
284
- });
285
- // add labels to nodes
286
- nodeEnter
287
- .append('text')
288
- .attr('class', 'node-text')
289
- .attr('dy', '.35em')
290
- .attr('x', 10)
291
- .attr('text-anchor', 'start')
292
- .attr('text-decoration', function (d) {
293
- return d.data.description ? 'underline' : 'none';
294
- })
295
- .attr('cursor', function (d) {
296
- return d.data.description ? 'pointer' : 'default';
297
- })
298
- .text(function (d) {
299
- const name = splitName(d.data.name);
300
- return name;
301
- })
302
- // needs to be called with data to pass the description to the tooltip
303
- .on('click', function (event, d) {
304
- clickTitle(event, d);
305
- })
306
- // return the bounding box of node to set elements accordingly
307
- .call(getBB);
308
- // filter nodes that contain children
309
- const nodeWithChildren = nodeEnter.filter(function (d) {
310
- if (d.data.children.length > 0)
311
- return d.data.children;
312
- });
313
- // add element with amount of children to nodes
314
- nodeWithChildren
315
- .append('text')
316
- .attr('class', 'node-child-text')
317
- .attr('x', function (d) {
318
- return d.bbox.x + d.bbox.width + 20;
319
- })
320
- .attr('dy', '.35em')
321
- .text(function (d) {
322
- return d.data.children.length;
323
- })
324
- .call(getBB);
325
- nodeWithChildren
326
- .insert('rect', 'text')
327
- .attr('class', 'node-child')
328
- .attr('x', function (d) {
329
- return d.bbox.x - 7;
330
- })
331
- .attr('y', function (d) {
332
- return d.bbox.y - 1;
333
- })
334
- .attr('width', function (d) {
335
- return d.bbox.width + 14;
336
- })
337
- .attr('height', function (d) {
338
- return d.bbox.height + 2;
339
- })
340
- .attr('ry', '8');
341
- // add clickable circle element to nodes with children
342
- nodeWithChildren
343
- .append('text')
344
- .attr('class', 'node-circle-text')
345
- .attr('x', function (d) {
346
- return d.bbox.x + d.bbox.width + 15;
347
- })
348
- .attr('dy', '.35em')
349
- .text('+')
350
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
351
- .on('click', click)
352
- .call(getBB);
353
- nodeWithChildren
354
- .insert('circle', 'text')
355
- .attr('class', 'node-circle')
356
- .attr('r', function (d) {
357
- return d.bbox.height / 2;
358
- })
359
- .attr('cx', function (d) {
360
- return d.bbox.x + d.bbox.width / 2;
361
- })
362
- .attr('cy', function (d) {
363
- return d.bbox.y + d.bbox.height / 2;
364
- })
365
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
366
- .on('click', click);
367
- // merge nodes to handle updates
368
- const nodeUpdate = nodeEnter.merge(node);
369
- // transition nodes to the correct position
370
- nodeUpdate
371
- .transition()
372
- .duration(duration)
373
- .attr('transform', function (d) {
374
- return 'translate(' + d.y + ',' + d.x + ')';
375
- });
376
- // change style of node elements on update
377
- nodeUpdate
378
- .select('rect')
379
- .style('fill', function (d) {
380
- return d._children ? 'var(--vscode-foreground)' : 'var(--vscode-editor-background)';
381
- })
382
- .style('stroke', function (d) {
383
- return d._children ? 'none' : 'var( --vscode-editorWidget-border)';
384
- })
385
- .style('stroke-width', function (d) {
386
- return d._children ? 'none' : '1px solid';
387
- });
388
- nodeUpdate.select('circle').style('fill', function (d) {
389
- return d._children ? 'var(--vscode-button-background)' : 'var(--vscode-button-secondaryBackground)';
390
- });
391
- nodeUpdate.select('.node-child-text').style('fill', function (d) {
392
- return d._children ? 'var( --vscode-editor-background)' : 'var(--vscode-foreground)';
393
- });
394
- nodeUpdate.select('.node-circle-text').text(function (d) {
395
- return d._children ? '+' : '−';
396
- });
397
- nodeUpdate.selectAll('text').style('fill-opacity', 1);
398
- // remove nodes on exit
399
- const nodeExit = node
400
- .exit()
401
- .transition()
402
- .duration(duration)
403
- .attr('transform', function () {
404
- return 'translate(' + source.y + ',' + source.x + ')';
405
- })
406
- .remove();
407
- // reduce size and opacity of nodes on exit
408
- nodeExit.select('circle').attr('r', 1e-6).style('fill-opacity', 1e-6);
409
- nodeExit.selectAll('rect').attr('x', 1e-6).style('fill-opacity', 1e-6);
410
- nodeExit.selectAll('text').style('fill-opacity', 1e-6);
411
- // ********************************** LINK SECTION ********************************
412
- // declare the links based on unique target id’s
413
- const link = svgGroup.selectAll('path.link').data(links, function (d) {
414
- return d.target.id;
415
- });
416
- // enter the links and set path
417
- const linkEnter = link
418
- .enter()
419
- .insert('path', 'g')
420
- .attr('class', 'link')
421
- .attr('d', function () {
422
- const o = {
423
- x: source.x0,
424
- y: source.y0
425
- };
426
- return diagonal({
427
- source: o,
428
- target: o
429
- });
430
- });
431
- // merge links to handle update
432
- const linkUpdate = linkEnter.merge(link);
433
- // transition links to the correct position
434
- linkUpdate.transition().duration(duration).attr('d', diagonal);
435
- // remove links on exit
436
- link.exit()
437
- .transition()
438
- .duration(duration)
439
- .attr('d', function () {
440
- const o = {
441
- x: source.x,
442
- y: source.y
443
- };
444
- return diagonal({
445
- source: o,
446
- target: o
447
- });
448
- })
449
- .remove();
450
- // store position of elements for transition
451
- nodes.forEach(function (d) {
452
- d.x0 = d.x;
453
- d.y0 = d.y;
454
- });
455
- }
456
- // establish maxLabelLength for horizontal spacing of nodes
457
- visit(treeData, function (d) {
458
- maxLabelLength = Math.max(d.name.length + 25, maxLabelLength);
459
- }, function (d) {
460
- return d.children && d.children.length > 0 ? d.children : null;
461
- });
462
- // collapse all nodes at root or after the second level
463
- // collapse(root);
464
- root.children.forEach(collapse);
465
- // update and draw the tree
466
- update(root);
467
- centerNode(root, 2.5);
468
- // function to expand the selected node path from search
469
- function expandNodePath(path) {
470
- let node = root; //start with root
471
- for (let i = 0; i < path.length; i++) {
472
- if (node._children)
473
- expand(node);
474
- node = node.children[path[i]];
475
- }
476
- update(root);
477
- centerNode(node, 2);
478
- return node;
479
- }
480
- // function to filter the items in search list
481
- function filterSearchItems(searchTerm) {
482
- let i = 0;
483
- jquery_1.default('#search-result li').each(function () {
484
- const currentText = jquery_1.default(this).text().toUpperCase(), trimText = currentText.replace(/\s/g, '');
485
- if (currentText.indexOf(searchTerm) >= 0 || trimText.indexOf(searchTerm) >= 0) {
486
- searchResult.show();
487
- jquery_1.default(this).show();
488
- i++;
489
- }
490
- else
491
- jquery_1.default(this).hide();
492
- if (i == 0)
493
- searchResult.hide();
494
- });
495
- }
496
- // function to create the search list with items
497
- function createSearch(items) {
498
- jquery_1.default.each(items, function (i, v) {
499
- const data = v.split('|');
500
- // append the elements of the search list
501
- jquery_1.default('<li/>').attr('data-path', data[1]).text(splitName(data[0])).appendTo(searchResult);
502
- });
503
- // function to handle search input
504
- searchInput.on('keyup', function () {
505
- let searchValue = jquery_1.default(this).val();
506
- searchValue = searchValue.toUpperCase().trim();
507
- if (searchValue.length > 0) {
508
- filterSearchItems(searchValue);
509
- searchClose.show();
510
- // searchResult.show();
511
- }
512
- else {
513
- searchResult.hide();
514
- searchClose.hide();
515
- }
516
- });
517
- // function to handle click on search item
518
- jquery_1.default('#search-result li').on('click', function (e) {
519
- const path = jquery_1.default(e.target).attr('data-path'), node = expandNodePath(path.split('-'));
520
- flashNode(node);
521
- });
522
- // function to handle click on close button
523
- searchClose.on('click', function () {
524
- searchInput.val(null);
525
- searchResult.hide();
526
- searchClose.hide();
527
- searchIcon.show();
528
- });
529
- searchInput.on('focus', function () {
530
- searchIcon.hide();
531
- });
532
- searchInput.on('focusout ', function () {
533
- searchIcon.show();
534
- });
535
- }
536
- // function to set up the search
537
- function setupSearch() {
538
- const searchList = [];
539
- visit(root,
540
- // creates the search list with paths to the nodes
541
- function (current) {
542
- if (current)
543
- searchList.push(current.data.name + '|' + getNodePath(current, []).join('-'));
544
- }, function (current) {
545
- return current.children || current._children;
546
- });
547
- // removes name of floorplan from search list
548
- searchList.splice(searchList.indexOf(root.data.name + '|'), 1);
549
- searchList.sort();
550
- createSearch(searchList);
551
- }
552
- setupSearch();
553
- // add icon of floorplan to root
554
- jquery_1.default('#n-1').append(floorPlanIcon);
555
- d3_1.select('#floorPlan-icon').attr('y', -7).attr('x', -15);
556
- // toggle children on click
557
- function click(event, d) {
558
- // click suppressed
559
- if (event.defaultPrevented)
560
- return;
561
- d = toggleChildren(d);
562
- update(d);
563
- centerNode(d, 2);
564
- removeTooltip();
565
- }
566
- // function to reset the tree
567
- resetTreeButton.on('click', function () {
568
- root.children.forEach(collapse);
569
- update(root);
570
- centerNode(root, 2.5);
571
- });
572
- // function to expand all nodes
573
- expandTreeButton.on('click', function () {
574
- expandAll(root);
575
- update(root);
576
- centerNode(root, 5);
577
- });
578
- d3_1.select(window).on('resize', resize);
579
- //# sourceMappingURL=runDocu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runDocu.js","sourceRoot":"","sources":["../../scripts/runDocu.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../scripts/spec.ts"],"names":[],"mappings":""}