@rws-framework/client 2.13.1 → 2.13.3

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 (288) hide show
  1. package/.bin/add-v.sh +9 -9
  2. package/.bin/emerge.sh +15 -15
  3. package/.emerge-fast.yaml +46 -46
  4. package/.emerge-typescript-template.yaml +23 -23
  5. package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +693 -693
  6. package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +705 -705
  7. package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +440 -440
  8. package/.emerge-vis-output/fast-element/html/emerge.html +500 -500
  9. package/.emerge-vis-output/fast-element/html/jsconfig.json +8 -8
  10. package/.emerge-vis-output/fast-element/html/resources/css/custom.css +211 -211
  11. package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +44 -44
  12. package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +13 -13
  13. package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +1413 -1413
  14. package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +539 -539
  15. package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +219 -219
  16. package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +179 -179
  17. package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +1002 -1002
  18. package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +71 -71
  19. package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +199 -199
  20. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  21. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  22. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  23. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  24. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  25. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  26. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  27. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  28. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  29. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  30. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  31. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  32. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  33. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  34. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  35. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  36. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  37. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  38. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  39. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  40. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  41. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  42. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  43. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +2 -2
  44. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  45. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  46. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +6 -6
  47. package/.emerge-vis-output/fast-element/html/vendors/hull/hull.js +373 -373
  48. package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  49. package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +6 -6
  50. package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +141 -141
  51. package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +4043 -4043
  52. package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +4538 -4538
  53. package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +2510 -2510
  54. package/.emerge-vis-output/fast-foundation/html/emerge.html +500 -500
  55. package/.emerge-vis-output/fast-foundation/html/jsconfig.json +8 -8
  56. package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +211 -211
  57. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +44 -44
  58. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +13 -13
  59. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +1413 -1413
  60. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +539 -539
  61. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +219 -219
  62. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +179 -179
  63. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +1002 -1002
  64. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +71 -71
  65. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +199 -199
  66. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  67. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  68. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  69. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  70. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  71. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  72. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  73. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  74. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  75. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  76. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  77. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  78. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  79. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  80. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  81. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  82. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  83. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  84. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  85. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  86. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  87. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  88. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  89. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +2 -2
  90. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  91. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  92. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +6 -6
  93. package/.emerge-vis-output/fast-foundation/html/vendors/hull/hull.js +373 -373
  94. package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  95. package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +6 -6
  96. package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +141 -141
  97. package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +1143 -1143
  98. package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +1003 -1003
  99. package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +655 -655
  100. package/.emerge-vis-output/rws-client/html/emerge.html +500 -500
  101. package/.emerge-vis-output/rws-client/html/jsconfig.json +8 -8
  102. package/.emerge-vis-output/rws-client/html/resources/css/custom.css +211 -211
  103. package/.emerge-vis-output/rws-client/html/resources/js/emerge_common.js +44 -44
  104. package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +13 -13
  105. package/.emerge-vis-output/rws-client/html/resources/js/emerge_git.js +1413 -1413
  106. package/.emerge-vis-output/rws-client/html/resources/js/emerge_graph.js +539 -539
  107. package/.emerge-vis-output/rws-client/html/resources/js/emerge_heatmap.js +219 -219
  108. package/.emerge-vis-output/rws-client/html/resources/js/emerge_hull.js +179 -179
  109. package/.emerge-vis-output/rws-client/html/resources/js/emerge_main.js +1002 -1002
  110. package/.emerge-vis-output/rws-client/html/resources/js/emerge_search.js +71 -71
  111. package/.emerge-vis-output/rws-client/html/resources/js/emerge_ui.js +199 -199
  112. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  113. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  114. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  115. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  116. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  117. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  118. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  119. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  120. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  121. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  122. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  123. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  124. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  125. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  126. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  127. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  128. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  129. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  130. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  131. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  132. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  133. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  134. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  135. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.min.js +2 -2
  136. package/.emerge-vis-output/rws-client/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  137. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  138. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/moment.min.js +6 -6
  139. package/.emerge-vis-output/rws-client/html/vendors/hull/hull.js +373 -373
  140. package/.emerge-vis-output/rws-client/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  141. package/.emerge-vis-output/rws-client/html/vendors/popper/popper.min.js +6 -6
  142. package/.emerge-vis-output/rws-client/html/vendors/simpleheat/simpleheat.js +141 -141
  143. package/.eslintrc.json +51 -51
  144. package/.gitmodules +2 -2
  145. package/.setup/.eslintrc.json +11 -11
  146. package/.setup/_base.eslintrc.json +48 -48
  147. package/.setup/tsconfig.json +28 -28
  148. package/PLUGINS.MD +188 -188
  149. package/README.md +1023 -1023
  150. package/_tools.js +396 -396
  151. package/builder/vite/index.ts +4 -4
  152. package/{cfg/build_steps → builder}/vite/loaders/html.ts +11 -11
  153. package/{cfg/build_steps → builder}/vite/loaders/index.ts +8 -8
  154. package/{cfg/build_steps → builder}/vite/loaders/loader.type.ts +27 -27
  155. package/{cfg/build_steps → builder}/vite/loaders/scss.ts +32 -32
  156. package/{cfg/build_steps → builder}/vite/loaders/ts.ts +309 -312
  157. package/builder/vite/rws.vite.config.ts +56 -49
  158. package/{cfg/build_steps → builder}/vite/rws_scss_plugin.ts +61 -60
  159. package/{cfg/build_steps → builder}/vite/scss/_compiler.ts +95 -94
  160. package/{cfg/build_steps → builder}/vite/scss/_fonts.ts +80 -80
  161. package/{cfg/build_steps → builder}/vite/scss/_fs.ts +83 -81
  162. package/{cfg/build_steps → builder}/vite/scss/_import.ts +191 -184
  163. package/builder/webpack/after/copy.js +78 -78
  164. package/builder/webpack/after/sw.js +13 -13
  165. package/builder/webpack/index.js +10 -10
  166. package/builder/webpack/loaders/rws_fast_html_loader.js +17 -17
  167. package/builder/webpack/loaders/rws_fast_scss_loader.js +43 -43
  168. package/builder/webpack/loaders/rws_fast_ts_loader.js +96 -96
  169. package/builder/webpack/loaders/ts/html_error.js +19 -19
  170. package/builder/webpack/rws.webpack.config.js +169 -169
  171. package/builder/webpack/rws_scss_plugin.js +62 -62
  172. package/builder/webpack/rws_webpack_plugin.js +137 -137
  173. package/builder/webpack/scss/_compiler.js +97 -97
  174. package/builder/webpack/scss/_fonts.js +80 -80
  175. package/builder/webpack/scss/_fs.js +84 -84
  176. package/builder/webpack/scss/_import.js +186 -186
  177. package/cfg/_default.cfg.js +26 -26
  178. package/cfg/_storage.d.ts +22 -22
  179. package/cfg/_storage.js +42 -42
  180. package/cfg/build_steps/vite/_build_config.ts +105 -105
  181. package/cfg/build_steps/vite/_env_defines.ts +17 -17
  182. package/cfg/build_steps/vite/_loaders.ts +187 -184
  183. package/cfg/build_steps/vite/index.ts +2 -2
  184. package/cfg/build_steps/vite/types.ts +7 -7
  185. package/cfg/build_steps/webpack/_actions.js +85 -85
  186. package/cfg/build_steps/webpack/_aliases.js +9 -9
  187. package/cfg/build_steps/webpack/_build_config.js +76 -76
  188. package/cfg/build_steps/webpack/_cache.js +98 -98
  189. package/cfg/build_steps/webpack/_component_handling.js +60 -60
  190. package/cfg/build_steps/webpack/_dev_servers.js +14 -14
  191. package/cfg/build_steps/webpack/_env_defines.js +18 -18
  192. package/cfg/build_steps/webpack/_info.js +18 -18
  193. package/cfg/build_steps/webpack/_loaders.js +223 -223
  194. package/cfg/build_steps/webpack/_plugins.js +102 -102
  195. package/cfg/build_steps/webpack/_production.js +37 -37
  196. package/cfg/build_steps/webpack/_rws_externals.js +68 -68
  197. package/cfg/build_steps/webpack/_timing.js +52 -52
  198. package/cfg/build_steps/webpack/_webpack_config.js +58 -58
  199. package/cfg/tsconfigSetup.js +150 -150
  200. package/console.js +86 -86
  201. package/docs/assets/26e93147f10415a0ed4a.svg +6 -6
  202. package/docs/assets/75c9471662e97ee24f29.svg +7 -7
  203. package/docs/assets/db90e4df2373980c497d.svg +9 -9
  204. package/docs/assets/highlight.css +127 -127
  205. package/docs/assets/main.js +59 -59
  206. package/docs/assets/style.css +1414 -1414
  207. package/docs/classes/ApiServiceInstance.html +25 -25
  208. package/docs/classes/ConfigServiceInstance.html +21 -21
  209. package/docs/classes/DOMServiceInstance.html +17 -17
  210. package/docs/classes/NotifyServiceInstance.html +15 -15
  211. package/docs/classes/RWSClientInstance.html +45 -45
  212. package/docs/classes/RWSPlugin.html +13 -13
  213. package/docs/classes/RWSService.html +10 -10
  214. package/docs/classes/RWSViewComponent.html +1022 -1022
  215. package/docs/classes/ServiceWorkerServiceInstance.html +13 -13
  216. package/docs/classes/UtilsServiceInstance.html +13 -13
  217. package/docs/functions/attr.html +5 -5
  218. package/docs/functions/observable.html +3 -3
  219. package/docs/index.html +179 -179
  220. package/docs/interfaces/HTMLTag.html +3 -3
  221. package/docs/interfaces/IRWSConfig.html +20 -20
  222. package/docs/interfaces/IRWSDecoratorOptions.html +5 -5
  223. package/docs/interfaces/IRWSHttpRoute.html +2 -2
  224. package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
  225. package/docs/interfaces/IRWSUser.html +5 -5
  226. package/docs/modules.html +45 -45
  227. package/foundation/index.js +1 -1
  228. package/foundation/rws-foundation.d.ts +7 -7
  229. package/foundation/rws-foundation.js +7 -7
  230. package/package.json +108 -108
  231. package/service_worker/src/_service_worker.ts +83 -83
  232. package/service_worker/tsconfig.json +20 -20
  233. package/service_worker/webpack.config.js +66 -66
  234. package/src/client/components.ts +67 -67
  235. package/src/client/config.ts +165 -165
  236. package/src/client/services.ts +27 -27
  237. package/src/client.ts +212 -212
  238. package/src/components/_attrs/_default_observable_accessor.ts +8 -8
  239. package/src/components/_attrs/_extended_accessor.ts +40 -40
  240. package/src/components/_attrs/_external_handler.ts +7 -7
  241. package/src/components/_attrs/_external_observable_accessor.ts +8 -8
  242. package/src/components/_attrs/angular-attr.ts +34 -34
  243. package/src/components/_attrs/external-attr.ts +59 -59
  244. package/src/components/_attrs/external-observable.ts +52 -52
  245. package/src/components/_attrs/sanitize-html.ts +80 -80
  246. package/src/components/_component.ts +245 -245
  247. package/src/components/_container.ts +15 -15
  248. package/src/components/_decorator.ts +122 -122
  249. package/src/components/_decorators/RWSFillBuild.ts +54 -54
  250. package/src/components/_decorators/RWSInject.ts +49 -49
  251. package/src/components/_decorators/RWSService.ts +11 -11
  252. package/src/components/_decorators/_di.ts +15 -15
  253. package/src/components/_definitions.ts +64 -64
  254. package/src/components/_event_handling.ts +40 -40
  255. package/src/components/index.ts +14 -14
  256. package/src/components/loader/component.ts +12 -12
  257. package/src/components/loader/styles/layout.scss +13 -13
  258. package/src/components/progress/component.ts +54 -54
  259. package/src/components/progress/styles/layout.scss +90 -90
  260. package/src/components/progress/template.html +24 -24
  261. package/src/components/uploader/component.ts +83 -83
  262. package/src/components/uploader/styles/layout.scss +130 -130
  263. package/src/components/uploader/template.html +16 -16
  264. package/src/index.ts +93 -93
  265. package/src/plugins/_builder.js +31 -31
  266. package/src/plugins/_plugin.ts +63 -63
  267. package/src/services/ApiService.ts +242 -242
  268. package/src/services/ConfigService.ts +134 -134
  269. package/src/services/DOMService.ts +100 -100
  270. package/src/services/NotifyService.ts +47 -47
  271. package/src/services/ServiceWorkerService.ts +60 -60
  272. package/src/services/UtilsService.ts +60 -60
  273. package/src/services/_service.ts +64 -64
  274. package/src/styles/_darkreader.scss +30 -30
  275. package/src/styles/_grid.scss +75 -75
  276. package/src/styles/_misc.scss +8 -8
  277. package/src/styles/_scrollbars.scss +40 -40
  278. package/src/styles/includes.scss +4 -4
  279. package/src/types/IRWSConfig.ts +30 -30
  280. package/src/types/IRWSPlugin.ts +18 -18
  281. package/src/types/IRWSUser.ts +6 -6
  282. package/src/types/IRWSViewComponent.ts +36 -36
  283. package/src/types/RWSNotify.ts +6 -6
  284. package/src/types/RWSWindow.ts +41 -41
  285. package/tsconfig.json +30 -30
  286. package/typedoc.json +13 -13
  287. package/types/declarations.d.ts +8 -8
  288. package/types/docs-typings.d.ts +15 -15
@@ -1,71 +1,71 @@
1
- function edgeBetweenSearchTerms(sourceNode, targetNode) {
2
- let found = false
3
- searchTerms.forEach(element => {
4
- if ( (sourceNode.id.toLowerCase().includes(element)) && (targetNode.id.toLowerCase().includes(element)) ) {
5
- found = true
6
- }
7
- });
8
- return found
9
- }
10
-
11
- function searchTermsIncludedInNodeTags(sourceNode, targetNode) {
12
- let found = false
13
- searchTerms.forEach(element => {
14
- if ((stringIncludedInNodeTags(element, sourceNode) && stringIncludedInNodeTags(element, targetNode))) {
15
- found = true
16
- }
17
- });
18
- return found
19
- }
20
-
21
- function searchTermsIncludedInNodeContributors(sourceNode, targetNode) {
22
- let found = false
23
- searchTerms.forEach(element => {
24
- if ((stringIncludedInNodeContributors(element, sourceNode) && stringIncludedInNodeContributors(element, targetNode))) {
25
- console.log("edge found")
26
- found = true
27
- }
28
- });
29
- return found
30
- }
31
-
32
- function normalSearch(node) {
33
- let found = false
34
- searchTerms.forEach(element => {
35
- if (node.id.toLowerCase().includes(element)) {
36
- found = true
37
- }
38
- });
39
- return found
40
- }
41
-
42
- // the node is included in the current search OR if the search in included in one of the node's semantic tags
43
- function searchTermIncludedInNode(node) {
44
- let found = false
45
- searchTerms.forEach(element => {
46
- if (node.id.toLowerCase().includes(element)) {
47
- found = true
48
- }
49
- });
50
- return found
51
- }
52
-
53
- function searchTermIncludedInNodeTags(node) {
54
- let found = false
55
- searchTerms.forEach(element => {
56
- if ( stringIncludedInNodeTags(element, node) ) {
57
- found = true
58
- }
59
- });
60
- return found
61
- }
62
-
63
- function searchTermIncludedInNodeContributors(node) {
64
- let found = false
65
- searchTerms.forEach(element => {
66
- if ( stringIncludedInNodeContributors(element, node) ) {
67
- found = true
68
- }
69
- });
70
- return found
71
- }
1
+ function edgeBetweenSearchTerms(sourceNode, targetNode) {
2
+ let found = false
3
+ searchTerms.forEach(element => {
4
+ if ( (sourceNode.id.toLowerCase().includes(element)) && (targetNode.id.toLowerCase().includes(element)) ) {
5
+ found = true
6
+ }
7
+ });
8
+ return found
9
+ }
10
+
11
+ function searchTermsIncludedInNodeTags(sourceNode, targetNode) {
12
+ let found = false
13
+ searchTerms.forEach(element => {
14
+ if ((stringIncludedInNodeTags(element, sourceNode) && stringIncludedInNodeTags(element, targetNode))) {
15
+ found = true
16
+ }
17
+ });
18
+ return found
19
+ }
20
+
21
+ function searchTermsIncludedInNodeContributors(sourceNode, targetNode) {
22
+ let found = false
23
+ searchTerms.forEach(element => {
24
+ if ((stringIncludedInNodeContributors(element, sourceNode) && stringIncludedInNodeContributors(element, targetNode))) {
25
+ console.log("edge found")
26
+ found = true
27
+ }
28
+ });
29
+ return found
30
+ }
31
+
32
+ function normalSearch(node) {
33
+ let found = false
34
+ searchTerms.forEach(element => {
35
+ if (node.id.toLowerCase().includes(element)) {
36
+ found = true
37
+ }
38
+ });
39
+ return found
40
+ }
41
+
42
+ // the node is included in the current search OR if the search in included in one of the node's semantic tags
43
+ function searchTermIncludedInNode(node) {
44
+ let found = false
45
+ searchTerms.forEach(element => {
46
+ if (node.id.toLowerCase().includes(element)) {
47
+ found = true
48
+ }
49
+ });
50
+ return found
51
+ }
52
+
53
+ function searchTermIncludedInNodeTags(node) {
54
+ let found = false
55
+ searchTerms.forEach(element => {
56
+ if ( stringIncludedInNodeTags(element, node) ) {
57
+ found = true
58
+ }
59
+ });
60
+ return found
61
+ }
62
+
63
+ function searchTermIncludedInNodeContributors(node) {
64
+ let found = false
65
+ searchTerms.forEach(element => {
66
+ if ( stringIncludedInNodeContributors(element, node) ) {
67
+ found = true
68
+ }
69
+ });
70
+ return found
71
+ }
@@ -1,199 +1,199 @@
1
- /**
2
- * * MARK: - Metric info badge tooltip descriptions
3
- */
4
- const description_metric_sloc_in_file = '"Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the programs source code. SLOC is typically used to predict the amount of effort that will be required to develop a program, as well as to estimate programming productivity or maintainability once the software is produced." (Wikipedia)'
5
- const description_metric_number_of_methods = 'A metric representing the total number of methods found per file or entity. This is similar to a weighted methods per class (WMC) metric with a uniform complexity/weight of 1.'
6
- const description_metric_fan_in = '"Fan-in coupling (afferent coupling) the number of entities that depend on a given entity. It estimates in what extent the "external world" depends on the changes in a given entity" (gcc.gnu.org). This metric represents the number of dependencies FROM other files or entities.'
7
- const description_metric_fan_out = '"Fan-out coupling (efferent coupling) the number of entities the given entity depends upon. It estimates in what extent the given entity depends on the changes in "external world" (gcc.gnu.org). This metric represents the number of dependencies TO other files or entities.'
8
- const description_metric_louvain_modularity = '"The Louvain method for community detection is a method to extract communities from large networks" (Wikipedia). This metric seperates detected communities by a unique number/ node size.'
9
-
10
- const description_metric_ws_complexity_in_file = 'A complexity metric that counts the whitespaces (e.g. space or tab) as an approximation of the complexity of code through indentation.'
11
- const description_metric_git_ws_complexity = 'A complexity metric that counts the whitespaces (e.g. space or tab) as an approximation of the complexity of code through indentation - over a selected time period.'
12
- const description_metric_git_code_churn = 'A git metric counts the sum of lines added + lines removed to a file.'
13
- const description_metric_git_sloc = 'Source lines of code (SLOC) - over a given period of time.'
14
- const description_metric_git_number_of_authors = 'A git metric that counts the sum of authors/contributors to a file - over a given period of time'
15
-
16
- const description_heat_map_normal = '"A heat map (or <strong>heatmap</strong>) is a data visualization technique that shows magnitude of a phenomenon as color in two dimensions" (Wikipedia). The heatmap score is based on a weighted score from the fan-out and SLOC metric. Red color indicates a warning (hotspot), that given metric scores may be to high, while decreasing into blue color.'
17
- const description_heat_map_hybrid = 'This is a visual (hybrid) <strong>combination</strong> of the normal graph visualization and a heatmap layer behind it'
18
- const description_unselected_opacity = 'Set the opacity for all unselected nodes after selecting a few with <br><br><strong>shift + s</strong><br><br> and fading all others with <br><br><strong>shift + f</strong>'
19
- const description_hover_coupling = 'Enable this to additionally highligh nodes that have a <strong>change coupling</strong> to the hoved node.'
20
- const description_semantic_search = 'Enrich the search results by including semantic keywords (computed by <strong>tf-idf</strong>) which try to describe the content of a node more exactly'
21
- const description_cluster_hulls = 'Hover over a cluster node color to get a highlighted preview of the concave hull of the appropriate cluster and display basic cluster statistics via tooltip. In addition to that you can also mark/select multiple cluster hulls that will then render permanently.'
22
- const description_contributor_search = 'Enrich the search results by including substrings of <strong>contributor email addresses</strong> for each commit in the selected range.'
23
-
24
- const description_heat_map_churn = 'This heatmap visualizes the <strong>code churn</strong> in files over the set period of time.'
25
- const description_heat_map_hotspot = 'The hotspot heatmap tries to identify problematic files (that could be hard to maintain/error prone) as a product of <strong>code churn</strong>, <strong>complexity</strong> and <strong>fan-out</strong>.'
26
-
27
-
28
- const wide_tooltip_template =
29
- `
30
- '<div class="tooltip wide-tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
31
- `
32
-
33
- const description_shortcuts_tooltip =
34
- `
35
- <b>shift + s</b> 👉 (de)select hovered nodes
36
- <br>
37
-
38
- <b>shift + r</b> 👉 resets selected nodes
39
- <br>
40
-
41
- <b>shift + e</b> 👉 selects all nodes linked to selected nodes
42
- <br>
43
-
44
- <b>shift + h</b> 👉 selects all nodes linked to hovered node
45
- <br>
46
-
47
- <b>shift + f</b> 👉 fade unselected nodes</span>
48
- `
49
- let description_project_info = ""
50
- let description_graph_info = ""
51
-
52
- function showDebugToast(message) {
53
- const toastDebug = document.getElementById('toastDebug')
54
- const toast = new bootstrap.Toast(toastDebug)
55
- const div = document.querySelector("#toastDebugMessage");
56
- div.innerHTML = message;
57
- toast.show()
58
- }
59
-
60
- function addToolTipsToMetricEntries() {
61
- $('#badge_metric_sloc_in_file').attr('data-bs-toggle', 'tooltip')
62
- $('#badge_metric_sloc_in_file').attr('data-bs-title', description_metric_sloc_in_file)
63
- $('#badge_metric_sloc_in_file').attr('data-bs-html', 'true')
64
- $('#badge_metric_sloc_in_file').attr('data-bs-placement', 'bottom')
65
-
66
- $('#badge_metric_sloc_in_entity').attr('data-bs-toggle', 'tooltip')
67
- $('#badge_metric_sloc_in_entity').attr('data-bs-title', description_metric_sloc_in_file)
68
- $('#badge_metric_sloc_in_entity').attr('data-bs-html', 'true')
69
- $('#badge_metric_sloc_in_entity').attr('data-bs-placement', 'bottom')
70
-
71
- $('#badge_metric_number_of_methods_in_file').attr('data-bs-toggle', 'tooltip')
72
- $('#badge_metric_number_of_methods_in_file').attr('data-bs-title', description_metric_number_of_methods)
73
- $('#badge_metric_number_of_methods_in_file').attr('data-bs-html', 'true')
74
- $('#badge_metric_number_of_methods_in_file').attr('data-bs-placement', 'bottom')
75
-
76
- $('#badge_metric_number_of_methods_in_entity').attr('data-bs-toggle', 'tooltip')
77
- $('#badge_metric_number_of_methods_in_entity').attr('data-bs-title', description_metric_number_of_methods)
78
- $('#badge_metric_number_of_methods_in_entity').attr('data-bs-html', 'true')
79
- $('#badge_metric_number_of_methods_in_entity').attr('data-bs-placement', 'bottom')
80
-
81
- $('#badge_metric_ws_complexity_in_file').attr('data-bs-toggle', 'tooltip')
82
- $('#badge_metric_ws_complexity_in_file').attr('data-bs-title', description_metric_ws_complexity_in_file)
83
- $('#badge_metric_ws_complexity_in_file').attr('data-bs-html', 'true')
84
- $('#badge_metric_ws_complexity_in_file').attr('data-bs-placement', 'bottom')
85
-
86
- $('#badge_metric_git_code_churn').attr('data-bs-toggle', 'tooltip')
87
- $('#badge_metric_git_code_churn').attr('data-bs-title', description_metric_git_code_churn)
88
- $('#badge_metric_git_code_churn').attr('data-bs-html', 'true')
89
- $('#badge_metric_git_code_churn').attr('data-bs-placement', 'bottom')
90
-
91
- $('#badge_metric_git_ws_complexity').attr('data-bs-toggle', 'tooltip')
92
- $('#badge_metric_git_ws_complexity').attr('data-bs-title', description_metric_git_ws_complexity)
93
- $('#badge_metric_git_ws_complexity').attr('data-bs-html', 'true')
94
- $('#badge_metric_git_ws_complexity').attr('data-bs-placement', 'bottom')
95
-
96
- $('#badge_metric_git_sloc').attr('data-bs-toggle', 'tooltip')
97
- $('#badge_metric_git_sloc').attr('data-bs-title', description_metric_git_sloc)
98
- $('#badge_metric_git_sloc').attr('data-bs-html', 'true')
99
- $('#badge_metric_git_sloc').attr('data-bs-placement', 'bottom')
100
-
101
- $('#badge_metric_git_number_authors').attr('data-bs-toggle', 'tooltip')
102
- $('#badge_metric_git_number_authors').attr('data-bs-title', description_metric_git_number_of_authors)
103
- $('#badge_metric_git_number_authors').attr('data-bs-html', 'true')
104
- $('#badge_metric_git_number_authors').attr('data-bs-placement', 'bottom')
105
-
106
- // TODO
107
- $('#badge_metric_fan_in_dependency_graph').attr('title', description_metric_fan_in)
108
- // $('#badge_metric_fan_in_dependency_graph').tooltip();
109
- $('#badge_metric_fan_in_complete_graph').attr('title', description_metric_fan_in)
110
- // $('#badge_metric_fan_in_complete_graph').tooltip();
111
- $('#badge_metric_fan_in_inheritance_graph').attr('title', description_metric_fan_in)
112
- // $('#badge_metric_fan_in_inheritance_graph').tooltip();
113
-
114
- $('#badge_metric_fan_out_dependency_graph').attr('title', description_metric_fan_out)
115
- // $('#badge_metric_fan_out_dependency_graph').tooltip();
116
- $('#badge_metric_fan_out_complete_graph').attr('title', description_metric_fan_out)
117
- // $('#badge_metric_fan_out_complete_graph').tooltip();
118
- $('#badge_metric_fan_out_inheritance_graph').attr('title', description_metric_fan_out)
119
- // $('#badge_metric_fan_out_inheritance_graph').tooltip();
120
-
121
- $('#badge_metric_file_result_dependency_graph_louvain_modularity_file').attr('title', description_metric_louvain_modularity)
122
- // $('#badge_metric_file_result_dependency_graph_louvain_modularity_file').tooltip();
123
-
124
- $('#badge_metric_entity_result_dependency_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
125
- // $('#badge_metric_entity_result_dependency_graph_louvain_modularity_in_entity').tooltip();
126
-
127
- $('#badge_metric_entity_result_inheritance_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
128
- // $('#badge_metric_entity_result_inheritance_graph_louvain_modularity_in_entity').tooltip();
129
-
130
- $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
131
- // $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').tooltip();
132
-
133
- $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
134
- // $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').tooltip();
135
-
136
- const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
137
- const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
138
- }
139
-
140
- function addTooltipToHoverCoupling() {
141
- const badgeHoverCouplingTooltip = new bootstrap.Tooltip(document.getElementById('badge_hover_coupling'), {});
142
- badgeHoverCouplingTooltip._config.title = description_hover_coupling
143
- }
144
-
145
- function addTooltipToContributorSearch() {
146
- const badgeContributorsSearchTooltip = new bootstrap.Tooltip(document.getElementById('badge_contributors_search'), {});
147
- badgeContributorsSearchTooltip._config.title = description_contributor_search
148
- }
149
-
150
- function addToolTipsToHeatMap() {
151
- const badgeHeatmapNormalTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_normal'), {});
152
- badgeHeatmapNormalTooltip._config.title = description_heat_map_normal
153
-
154
- const badgeHeatmapHybridTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_hybrid'), {});
155
- badgeHeatmapHybridTooltip._config.title = description_heat_map_hybrid
156
-
157
- const badgeHeatmapChurnTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_churn'), {});
158
- badgeHeatmapChurnTooltip._config.title = description_heat_map_churn
159
-
160
- const badgeHeatmapHotspotTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_hotspot'), {});
161
- badgeHeatmapHotspotTooltip._config.title = description_heat_map_hotspot
162
- }
163
-
164
- function addToolTipToShortcuts() {
165
- const badgeShortcutsTooltip = new bootstrap.Tooltip(document.getElementById('badge_shortcuts'), {});
166
- badgeShortcutsTooltip._config.template = wide_tooltip_template
167
- badgeShortcutsTooltip._config.title = description_shortcuts_tooltip
168
- }
169
-
170
- function addTooltipUnselectedOpacity() {
171
- const badgeUnselectedOpacityTooltip = new bootstrap.Tooltip(document.getElementById('badge_unselected_opacity'), {});
172
- badgeUnselectedOpacityTooltip._config.title = description_unselected_opacity
173
- }
174
-
175
- function addTooltipSemanticSearch() {
176
- const badgeSemanticSearchTooltip = new bootstrap.Tooltip(document.getElementById('badge_semantic_search'), {});
177
- badgeSemanticSearchTooltip._config.title = description_semantic_search
178
- }
179
-
180
- function addTooltipClusterHulls() {
181
- const badgeBadgeClusterHullsTooltip = new bootstrap.Tooltip(document.getElementById('badge_cluster_hulls'), {});
182
- badgeBadgeClusterHullsTooltip._config.title = description_cluster_hulls
183
- }
184
-
185
- function addTooltipProjectInfo() {
186
- let configProjectName = analysis_config['project_name']
187
- let analysisName = getAnalysisName()
188
- let configAnalysisDateTime = analysis_config['analysis_date']
189
-
190
- description_project_info = "<strong>Project:</strong> " + configProjectName + "<br>" + "<strong>Analysis:</strong> " + analysisName + "<br>" + "<strong>Date:</strong> " + configAnalysisDateTime
191
- const badgeProjectInfoTooltip = new bootstrap.Tooltip(document.getElementById('badge_project_info'), {});
192
- badgeProjectInfoTooltip._config.title = description_project_info
193
- }
194
-
195
- function addTooltipGraphInfo() {
196
- description_graph_info = "<strong>Graph nodes:</strong> " + currentGraph.nodes.length + "<br>" + "<strong>Graph edges:</strong> " + currentGraph.links.length + "<br>" + "<strong>Charge force:</strong> " + currentChargeForce
197
- const badgeGraphInfoTooltip = new bootstrap.Tooltip(document.getElementById('badge_graph_info'), {});
198
- badgeGraphInfoTooltip._config.title = description_graph_info
199
- }
1
+ /**
2
+ * * MARK: - Metric info badge tooltip descriptions
3
+ */
4
+ const description_metric_sloc_in_file = '"Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the programs source code. SLOC is typically used to predict the amount of effort that will be required to develop a program, as well as to estimate programming productivity or maintainability once the software is produced." (Wikipedia)'
5
+ const description_metric_number_of_methods = 'A metric representing the total number of methods found per file or entity. This is similar to a weighted methods per class (WMC) metric with a uniform complexity/weight of 1.'
6
+ const description_metric_fan_in = '"Fan-in coupling (afferent coupling) the number of entities that depend on a given entity. It estimates in what extent the "external world" depends on the changes in a given entity" (gcc.gnu.org). This metric represents the number of dependencies FROM other files or entities.'
7
+ const description_metric_fan_out = '"Fan-out coupling (efferent coupling) the number of entities the given entity depends upon. It estimates in what extent the given entity depends on the changes in "external world" (gcc.gnu.org). This metric represents the number of dependencies TO other files or entities.'
8
+ const description_metric_louvain_modularity = '"The Louvain method for community detection is a method to extract communities from large networks" (Wikipedia). This metric seperates detected communities by a unique number/ node size.'
9
+
10
+ const description_metric_ws_complexity_in_file = 'A complexity metric that counts the whitespaces (e.g. space or tab) as an approximation of the complexity of code through indentation.'
11
+ const description_metric_git_ws_complexity = 'A complexity metric that counts the whitespaces (e.g. space or tab) as an approximation of the complexity of code through indentation - over a selected time period.'
12
+ const description_metric_git_code_churn = 'A git metric counts the sum of lines added + lines removed to a file.'
13
+ const description_metric_git_sloc = 'Source lines of code (SLOC) - over a given period of time.'
14
+ const description_metric_git_number_of_authors = 'A git metric that counts the sum of authors/contributors to a file - over a given period of time'
15
+
16
+ const description_heat_map_normal = '"A heat map (or <strong>heatmap</strong>) is a data visualization technique that shows magnitude of a phenomenon as color in two dimensions" (Wikipedia). The heatmap score is based on a weighted score from the fan-out and SLOC metric. Red color indicates a warning (hotspot), that given metric scores may be to high, while decreasing into blue color.'
17
+ const description_heat_map_hybrid = 'This is a visual (hybrid) <strong>combination</strong> of the normal graph visualization and a heatmap layer behind it'
18
+ const description_unselected_opacity = 'Set the opacity for all unselected nodes after selecting a few with <br><br><strong>shift + s</strong><br><br> and fading all others with <br><br><strong>shift + f</strong>'
19
+ const description_hover_coupling = 'Enable this to additionally highligh nodes that have a <strong>change coupling</strong> to the hoved node.'
20
+ const description_semantic_search = 'Enrich the search results by including semantic keywords (computed by <strong>tf-idf</strong>) which try to describe the content of a node more exactly'
21
+ const description_cluster_hulls = 'Hover over a cluster node color to get a highlighted preview of the concave hull of the appropriate cluster and display basic cluster statistics via tooltip. In addition to that you can also mark/select multiple cluster hulls that will then render permanently.'
22
+ const description_contributor_search = 'Enrich the search results by including substrings of <strong>contributor email addresses</strong> for each commit in the selected range.'
23
+
24
+ const description_heat_map_churn = 'This heatmap visualizes the <strong>code churn</strong> in files over the set period of time.'
25
+ const description_heat_map_hotspot = 'The hotspot heatmap tries to identify problematic files (that could be hard to maintain/error prone) as a product of <strong>code churn</strong>, <strong>complexity</strong> and <strong>fan-out</strong>.'
26
+
27
+
28
+ const wide_tooltip_template =
29
+ `
30
+ '<div class="tooltip wide-tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
31
+ `
32
+
33
+ const description_shortcuts_tooltip =
34
+ `
35
+ <b>shift + s</b> 👉 (de)select hovered nodes
36
+ <br>
37
+
38
+ <b>shift + r</b> 👉 resets selected nodes
39
+ <br>
40
+
41
+ <b>shift + e</b> 👉 selects all nodes linked to selected nodes
42
+ <br>
43
+
44
+ <b>shift + h</b> 👉 selects all nodes linked to hovered node
45
+ <br>
46
+
47
+ <b>shift + f</b> 👉 fade unselected nodes</span>
48
+ `
49
+ let description_project_info = ""
50
+ let description_graph_info = ""
51
+
52
+ function showDebugToast(message) {
53
+ const toastDebug = document.getElementById('toastDebug')
54
+ const toast = new bootstrap.Toast(toastDebug)
55
+ const div = document.querySelector("#toastDebugMessage");
56
+ div.innerHTML = message;
57
+ toast.show()
58
+ }
59
+
60
+ function addToolTipsToMetricEntries() {
61
+ $('#badge_metric_sloc_in_file').attr('data-bs-toggle', 'tooltip')
62
+ $('#badge_metric_sloc_in_file').attr('data-bs-title', description_metric_sloc_in_file)
63
+ $('#badge_metric_sloc_in_file').attr('data-bs-html', 'true')
64
+ $('#badge_metric_sloc_in_file').attr('data-bs-placement', 'bottom')
65
+
66
+ $('#badge_metric_sloc_in_entity').attr('data-bs-toggle', 'tooltip')
67
+ $('#badge_metric_sloc_in_entity').attr('data-bs-title', description_metric_sloc_in_file)
68
+ $('#badge_metric_sloc_in_entity').attr('data-bs-html', 'true')
69
+ $('#badge_metric_sloc_in_entity').attr('data-bs-placement', 'bottom')
70
+
71
+ $('#badge_metric_number_of_methods_in_file').attr('data-bs-toggle', 'tooltip')
72
+ $('#badge_metric_number_of_methods_in_file').attr('data-bs-title', description_metric_number_of_methods)
73
+ $('#badge_metric_number_of_methods_in_file').attr('data-bs-html', 'true')
74
+ $('#badge_metric_number_of_methods_in_file').attr('data-bs-placement', 'bottom')
75
+
76
+ $('#badge_metric_number_of_methods_in_entity').attr('data-bs-toggle', 'tooltip')
77
+ $('#badge_metric_number_of_methods_in_entity').attr('data-bs-title', description_metric_number_of_methods)
78
+ $('#badge_metric_number_of_methods_in_entity').attr('data-bs-html', 'true')
79
+ $('#badge_metric_number_of_methods_in_entity').attr('data-bs-placement', 'bottom')
80
+
81
+ $('#badge_metric_ws_complexity_in_file').attr('data-bs-toggle', 'tooltip')
82
+ $('#badge_metric_ws_complexity_in_file').attr('data-bs-title', description_metric_ws_complexity_in_file)
83
+ $('#badge_metric_ws_complexity_in_file').attr('data-bs-html', 'true')
84
+ $('#badge_metric_ws_complexity_in_file').attr('data-bs-placement', 'bottom')
85
+
86
+ $('#badge_metric_git_code_churn').attr('data-bs-toggle', 'tooltip')
87
+ $('#badge_metric_git_code_churn').attr('data-bs-title', description_metric_git_code_churn)
88
+ $('#badge_metric_git_code_churn').attr('data-bs-html', 'true')
89
+ $('#badge_metric_git_code_churn').attr('data-bs-placement', 'bottom')
90
+
91
+ $('#badge_metric_git_ws_complexity').attr('data-bs-toggle', 'tooltip')
92
+ $('#badge_metric_git_ws_complexity').attr('data-bs-title', description_metric_git_ws_complexity)
93
+ $('#badge_metric_git_ws_complexity').attr('data-bs-html', 'true')
94
+ $('#badge_metric_git_ws_complexity').attr('data-bs-placement', 'bottom')
95
+
96
+ $('#badge_metric_git_sloc').attr('data-bs-toggle', 'tooltip')
97
+ $('#badge_metric_git_sloc').attr('data-bs-title', description_metric_git_sloc)
98
+ $('#badge_metric_git_sloc').attr('data-bs-html', 'true')
99
+ $('#badge_metric_git_sloc').attr('data-bs-placement', 'bottom')
100
+
101
+ $('#badge_metric_git_number_authors').attr('data-bs-toggle', 'tooltip')
102
+ $('#badge_metric_git_number_authors').attr('data-bs-title', description_metric_git_number_of_authors)
103
+ $('#badge_metric_git_number_authors').attr('data-bs-html', 'true')
104
+ $('#badge_metric_git_number_authors').attr('data-bs-placement', 'bottom')
105
+
106
+ // TODO
107
+ $('#badge_metric_fan_in_dependency_graph').attr('title', description_metric_fan_in)
108
+ // $('#badge_metric_fan_in_dependency_graph').tooltip();
109
+ $('#badge_metric_fan_in_complete_graph').attr('title', description_metric_fan_in)
110
+ // $('#badge_metric_fan_in_complete_graph').tooltip();
111
+ $('#badge_metric_fan_in_inheritance_graph').attr('title', description_metric_fan_in)
112
+ // $('#badge_metric_fan_in_inheritance_graph').tooltip();
113
+
114
+ $('#badge_metric_fan_out_dependency_graph').attr('title', description_metric_fan_out)
115
+ // $('#badge_metric_fan_out_dependency_graph').tooltip();
116
+ $('#badge_metric_fan_out_complete_graph').attr('title', description_metric_fan_out)
117
+ // $('#badge_metric_fan_out_complete_graph').tooltip();
118
+ $('#badge_metric_fan_out_inheritance_graph').attr('title', description_metric_fan_out)
119
+ // $('#badge_metric_fan_out_inheritance_graph').tooltip();
120
+
121
+ $('#badge_metric_file_result_dependency_graph_louvain_modularity_file').attr('title', description_metric_louvain_modularity)
122
+ // $('#badge_metric_file_result_dependency_graph_louvain_modularity_file').tooltip();
123
+
124
+ $('#badge_metric_entity_result_dependency_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
125
+ // $('#badge_metric_entity_result_dependency_graph_louvain_modularity_in_entity').tooltip();
126
+
127
+ $('#badge_metric_entity_result_inheritance_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
128
+ // $('#badge_metric_entity_result_inheritance_graph_louvain_modularity_in_entity').tooltip();
129
+
130
+ $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
131
+ // $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').tooltip();
132
+
133
+ $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').attr('title', description_metric_louvain_modularity)
134
+ // $('#badge_metric_entity_result_complete_graph_louvain_modularity_in_entity').tooltip();
135
+
136
+ const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
137
+ const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
138
+ }
139
+
140
+ function addTooltipToHoverCoupling() {
141
+ const badgeHoverCouplingTooltip = new bootstrap.Tooltip(document.getElementById('badge_hover_coupling'), {});
142
+ badgeHoverCouplingTooltip._config.title = description_hover_coupling
143
+ }
144
+
145
+ function addTooltipToContributorSearch() {
146
+ const badgeContributorsSearchTooltip = new bootstrap.Tooltip(document.getElementById('badge_contributors_search'), {});
147
+ badgeContributorsSearchTooltip._config.title = description_contributor_search
148
+ }
149
+
150
+ function addToolTipsToHeatMap() {
151
+ const badgeHeatmapNormalTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_normal'), {});
152
+ badgeHeatmapNormalTooltip._config.title = description_heat_map_normal
153
+
154
+ const badgeHeatmapHybridTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_hybrid'), {});
155
+ badgeHeatmapHybridTooltip._config.title = description_heat_map_hybrid
156
+
157
+ const badgeHeatmapChurnTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_churn'), {});
158
+ badgeHeatmapChurnTooltip._config.title = description_heat_map_churn
159
+
160
+ const badgeHeatmapHotspotTooltip = new bootstrap.Tooltip(document.getElementById('badge_heat_map_hotspot'), {});
161
+ badgeHeatmapHotspotTooltip._config.title = description_heat_map_hotspot
162
+ }
163
+
164
+ function addToolTipToShortcuts() {
165
+ const badgeShortcutsTooltip = new bootstrap.Tooltip(document.getElementById('badge_shortcuts'), {});
166
+ badgeShortcutsTooltip._config.template = wide_tooltip_template
167
+ badgeShortcutsTooltip._config.title = description_shortcuts_tooltip
168
+ }
169
+
170
+ function addTooltipUnselectedOpacity() {
171
+ const badgeUnselectedOpacityTooltip = new bootstrap.Tooltip(document.getElementById('badge_unselected_opacity'), {});
172
+ badgeUnselectedOpacityTooltip._config.title = description_unselected_opacity
173
+ }
174
+
175
+ function addTooltipSemanticSearch() {
176
+ const badgeSemanticSearchTooltip = new bootstrap.Tooltip(document.getElementById('badge_semantic_search'), {});
177
+ badgeSemanticSearchTooltip._config.title = description_semantic_search
178
+ }
179
+
180
+ function addTooltipClusterHulls() {
181
+ const badgeBadgeClusterHullsTooltip = new bootstrap.Tooltip(document.getElementById('badge_cluster_hulls'), {});
182
+ badgeBadgeClusterHullsTooltip._config.title = description_cluster_hulls
183
+ }
184
+
185
+ function addTooltipProjectInfo() {
186
+ let configProjectName = analysis_config['project_name']
187
+ let analysisName = getAnalysisName()
188
+ let configAnalysisDateTime = analysis_config['analysis_date']
189
+
190
+ description_project_info = "<strong>Project:</strong> " + configProjectName + "<br>" + "<strong>Analysis:</strong> " + analysisName + "<br>" + "<strong>Date:</strong> " + configAnalysisDateTime
191
+ const badgeProjectInfoTooltip = new bootstrap.Tooltip(document.getElementById('badge_project_info'), {});
192
+ badgeProjectInfoTooltip._config.title = description_project_info
193
+ }
194
+
195
+ function addTooltipGraphInfo() {
196
+ description_graph_info = "<strong>Graph nodes:</strong> " + currentGraph.nodes.length + "<br>" + "<strong>Graph edges:</strong> " + currentGraph.links.length + "<br>" + "<strong>Charge force:</strong> " + currentChargeForce
197
+ const badgeGraphInfoTooltip = new bootstrap.Tooltip(document.getElementById('badge_graph_info'), {});
198
+ badgeGraphInfoTooltip._config.title = description_graph_info
199
+ }