@patimweb/pi-abap-fs 1.2.0 → 1.2.2
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.
- package/docs/architecture.md +101 -0
- package/graph-out/GRAPH_REPORT.md +61 -0
- package/graph-out/cache/cache.json +3250 -0
- package/graph-out/graph.html +131 -0
- package/graph-out/graph.json +1638 -0
- package/package.json +7 -4
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>pi-abap-fs - Mind Place</title>
|
|
7
|
+
<link rel="stylesheet" href="https://unpkg.com/vis-network@9.1.6/dist/vis-network.min.css">
|
|
8
|
+
<style>
|
|
9
|
+
*{margin:0;padding:0;box-sizing:border-box}
|
|
10
|
+
body{background:#0f0f1a;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;height:100vh;overflow:hidden}
|
|
11
|
+
#graph{flex:1}
|
|
12
|
+
#sidebar{width:280px;background:#1a1a2e;border-left:1px solid #2a2a4e;display:flex;flex-direction:column;overflow:hidden}
|
|
13
|
+
#search-wrap{padding:12px;border-bottom:1px solid #2a2a4e}
|
|
14
|
+
#search{width:100%;background:#0f0f1a;border:1px solid #3a3a5e;color:#e0e0e0;padding:7px 10px;border-radius:6px;font-size:13px;outline:none}
|
|
15
|
+
#search:focus{border-color:#4E79A7}
|
|
16
|
+
#search-results{max-height:140px;overflow-y:auto;padding:4px 12px;border-bottom:1px solid #2a2a4e;display:none}
|
|
17
|
+
.search-item{padding:4px 6px;cursor:pointer;border-radius:4px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
18
|
+
.search-item:hover{background:#2a2a4e}
|
|
19
|
+
#info-panel{padding:14px;border-bottom:1px solid #2a2a4e;min-height:100px}
|
|
20
|
+
#info-panel h3{font-size:13px;color:#aaa;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
|
|
21
|
+
#info-content{font-size:13px;color:#ccc;line-height:1.6}
|
|
22
|
+
#info-content .field{margin-bottom:5px}
|
|
23
|
+
#info-content .field b{color:#e0e0e0}
|
|
24
|
+
#info-content .empty{color:#555;font-style:italic}
|
|
25
|
+
.neighbor-link{display:block;padding:2px 6px;margin:2px 0;border-radius:3px;cursor:pointer;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid #333}
|
|
26
|
+
.neighbor-link:hover{background:#2a2a4e}
|
|
27
|
+
#neighbors-list{max-height:160px;overflow-y:auto;margin-top:4px}
|
|
28
|
+
#legend-wrap{flex:1;overflow-y:auto;padding:12px}
|
|
29
|
+
#legend-wrap h3{font-size:13px;color:#aaa;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}
|
|
30
|
+
.legend-item{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;border-radius:4px;font-size:12px}
|
|
31
|
+
.legend-item:hover{background:#2a2a4e}
|
|
32
|
+
.legend-item.dimmed{opacity:.35}
|
|
33
|
+
.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
|
|
34
|
+
.legend-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
35
|
+
.legend-count{color:#666;font-size:11px}
|
|
36
|
+
#legend-controls{margin-bottom:8px}
|
|
37
|
+
#legend-controls label{cursor:pointer;font-size:12px;color:#aaa;user-select:none}
|
|
38
|
+
#legend-controls label:hover{color:#e0e0e0}
|
|
39
|
+
#stats{padding:10px 14px;border-top:1px solid #2a2a4e;font-size:11px;color:#555}
|
|
40
|
+
</style>
|
|
41
|
+
</head>
|
|
42
|
+
<body>
|
|
43
|
+
<div id="graph"></div>
|
|
44
|
+
<div id="sidebar">
|
|
45
|
+
<div id="search-wrap"><input type="text" id="search" placeholder="Search nodes..."></div>
|
|
46
|
+
<div id="search-results"></div>
|
|
47
|
+
<div id="info-panel">
|
|
48
|
+
<h3>Node Details</h3>
|
|
49
|
+
<div id="info-content"><span class="empty">Click a node to inspect it</span></div>
|
|
50
|
+
</div>
|
|
51
|
+
<div id="legend-wrap">
|
|
52
|
+
<div id="legend-controls"><label><input type="checkbox" id="select-all-cb" checked onclick="toggleAll(this.checked)"> Show all</label></div>
|
|
53
|
+
<h3>Communities</h3>
|
|
54
|
+
<div id="legend-list"></div>
|
|
55
|
+
</div>
|
|
56
|
+
<div id="stats">69 nodes · 17 edges · 107 total</div>
|
|
57
|
+
</div>
|
|
58
|
+
<script src="https://unpkg.com/vis-network@9.1.6/dist/vis-network.min.js"></script>
|
|
59
|
+
<script>
|
|
60
|
+
const RAW_NODES = [{"id":"src_config_persistProfiles","label":"persistProfiles","color":"#FB9A99","size":22.458839376460833,"font":{"size":10,"color":"#ddd"},"title":"<b>persistProfiles</b> (function)<br>src/config.ts L39<br>5 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":5},{"id":"src_client_toError","label":"toError","color":"#FB9A99","size":18.575424759098897,"font":{"size":10,"color":"#ddd"},"title":"<b>toError</b> (function)<br>src/client.ts L50<br>3 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":3},{"id":"src_client_withClient","label":"withClient","color":"#FB9A99","size":18.575424759098897,"font":{"size":10,"color":"#ddd"},"title":"<b>withClient</b> (function)<br>src/client.ts L69<br>3 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":3},{"id":"src_config_configPath","label":"configPath","color":"#FB9A99","size":18.575424759098897,"font":{"size":10,"color":"#ddd"},"title":"<b>configPath</b> (function)<br>src/config.ts L23<br>3 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":3},{"id":"src_config_getConfigOrThrow","label":"getConfigOrThrow","color":"#FB9A99","size":18.575424759098897,"font":{"size":10,"color":"#ddd"},"title":"<b>getConfigOrThrow</b> (function)<br>src/config.ts L104<br>3 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":3},{"id":"src_config_resolveConfig","label":"resolveConfig","color":"#FB9A99","size":18.575424759098897,"font":{"size":10,"color":"#ddd"},"title":"<b>resolveConfig</b> (function)<br>src/config.ts L121<br>3 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":3},{"id":"src_client_createClient","label":"createClient","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>createClient</b> (function)<br>src/client.ts L22<br>2 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":2},{"id":"src_client_rootMessage","label":"rootMessage","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>rootMessage</b> (function)<br>src/client.ts L43<br>2 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":2},{"id":"src_client_resolveObject","label":"resolveObject","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>resolveObject</b> (function)<br>src/client.ts L110<br>2 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":2},{"id":"src_client_pickSearchResult","label":"pickSearchResult","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>pickSearchResult</b> (function)<br>src/client.ts L164<br>2 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":2},{"id":"src_config_loadConfig","label":"loadConfig","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>loadConfig</b> (function)<br>src/config.ts L66<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_config_getConfig","label":"getConfig","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>getConfig</b> (function)<br>src/config.ts L99<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_config_getProfile","label":"getProfile","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>getProfile</b> (function)<br>src/config.ts L113<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_config_saveProfile","label":"saveProfile","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>saveProfile</b> (function)<br>src/config.ts L142<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_config_setActiveProfile","label":"setActiveProfile","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>setActiveProfile</b> (function)<br>src/config.ts L151<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_config_deleteProfile","label":"deleteProfile","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>deleteProfile</b> (function)<br>src/config.ts L159<br>2 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":2},{"id":"src_formatting_formatters_isClassStructure","label":"isClassStructure","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>isClassStructure</b> (function)<br>src/formatting/formatters.ts L28<br>2 connections","community":43,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":2},{"id":"src_formatting_formatters_formatObjectStructure","label":"formatObjectStructure","color":"#FFFF99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>formatObjectStructure</b> (function)<br>src/formatting/formatters.ts L57<br>2 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":2},{"id":"src_formatting_formatters_targetRequests","label":"targetRequests","color":"#FFFF99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>targetRequests</b> (function)<br>src/formatting/formatters.ts L182<br>2 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":2},{"id":"src_formatting_formatters_formatTransports","label":"formatTransports","color":"#FFFF99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>formatTransports</b> (function)<br>src/formatting/formatters.ts L188<br>2 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":2},{"id":"src_types_AbapNotConfiguredError","label":"AbapNotConfiguredError","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapNotConfiguredError</b> (class)<br>src/types.ts L32<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"class","degree":2},{"id":"src_types_AbapNotConfiguredError_constructor","label":"AbapNotConfiguredError.constructor","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapNotConfiguredError.constructor</b> (method)<br>src/types.ts L33<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"method","degree":2},{"id":"src_types_AbapObjectNotFoundError","label":"AbapObjectNotFoundError","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapObjectNotFoundError</b> (class)<br>src/types.ts L41<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"class","degree":2},{"id":"src_types_AbapObjectNotFoundError_constructor","label":"AbapObjectNotFoundError.constructor","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapObjectNotFoundError.constructor</b> (method)<br>src/types.ts L42<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"method","degree":2},{"id":"src_types_AbapProfileNotFoundError","label":"AbapProfileNotFoundError","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapProfileNotFoundError</b> (class)<br>src/types.ts L48<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"class","degree":2},{"id":"src_types_AbapProfileNotFoundError_constructor","label":"AbapProfileNotFoundError.constructor","color":"#FB9A99","size":16,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapProfileNotFoundError.constructor</b> (method)<br>src/types.ts L49<br>2 connections","community":93,"sourceFile":"src/types.ts","fileType":"method","degree":2},{"id":"package_name","label":"name","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>name</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_version","label":"version","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>version</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_description","label":"description","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>description</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_keywords","label":"keywords","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>keywords</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_author","label":"author","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>author</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_license","label":"license","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>license</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_type","label":"type","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>type</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_engines","label":"engines","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>engines</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_repository","label":"repository","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>repository</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_bugs","label":"bugs","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>bugs</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_publishConfig","label":"publishConfig","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>publishConfig</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_scripts","label":"scripts","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>scripts</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_pi","label":"pi","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>pi</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_dependencies","label":"dependencies","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>dependencies</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"package_devDependencies","label":"devDependencies","color":"#E15759","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>devDependencies</b> (field)<br>package.json<br>1 connections","community":2,"sourceFile":"package.json","fileType":"field","degree":1},{"id":"src_client_RunOptions","label":"RunOptions","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>RunOptions</b> (interface)<br>src/client.ts L61<br>1 connections","community":93,"sourceFile":"src/client.ts","fileType":"interface","degree":1},{"id":"src_client_ResolvedObject","label":"ResolvedObject","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>ResolvedObject</b> (interface)<br>src/client.ts L91<br>1 connections","community":93,"sourceFile":"src/client.ts","fileType":"interface","degree":1},{"id":"src_client_listObjectTypes","label":"listObjectTypes","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>listObjectTypes</b> (function)<br>src/client.ts L173<br>1 connections","community":93,"sourceFile":"src/client.ts","fileType":"function","degree":1},{"id":"src_config_getProfiles","label":"getProfiles","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>getProfiles</b> (function)<br>src/config.ts L132<br>1 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":1},{"id":"src_config_getActiveProfile","label":"getActiveProfile","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>getActiveProfile</b> (function)<br>src/config.ts L136<br>1 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":1},{"id":"src_config__resetForTesting","label":"_resetForTesting","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>_resetForTesting</b> (function)<br>src/config.ts L171<br>1 connections","community":93,"sourceFile":"src/config.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatSearchResults","label":"formatSearchResults","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatSearchResults</b> (function)<br>src/formatting/formatters.ts L36<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatActivation","label":"formatActivation","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatActivation</b> (function)<br>src/formatting/formatters.ts L77<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatUnitTests","label":"formatUnitTests","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatUnitTests</b> (function)<br>src/formatting/formatters.ts L101<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatQueryResult","label":"formatQueryResult","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatQueryResult</b> (function)<br>src/formatting/formatters.ts L130<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatNodes","label":"formatNodes","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatNodes</b> (function)<br>src/formatting/formatters.ts L159<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatObjectTypes","label":"formatObjectTypes","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatObjectTypes</b> (function)<br>src/formatting/formatters.ts L172<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatUsageReferences","label":"formatUsageReferences","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatUsageReferences</b> (function)<br>src/formatting/formatters.ts L206<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatLock","label":"formatLock","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatLock</b> (function)<br>src/formatting/formatters.ts L217<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatProfileStatus","label":"formatProfileStatus","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatProfileStatus</b> (function)<br>src/formatting/formatters.ts L229<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatSyntaxCheck","label":"formatSyntaxCheck","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatSyntaxCheck</b> (function)<br>src/formatting/formatters.ts L255<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatAtcResult","label":"formatAtcResult","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatAtcResult</b> (function)<br>src/formatting/formatters.ts L265<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatDumps","label":"formatDumps","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatDumps</b> (function)<br>src/formatting/formatters.ts L285<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatTraces","label":"formatTraces","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatTraces</b> (function)<br>src/formatting/formatters.ts L296<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatTraceHitList","label":"formatTraceHitList","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatTraceHitList</b> (function)<br>src/formatting/formatters.ts L311<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatTransportDetails","label":"formatTransportDetails","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatTransportDetails</b> (function)<br>src/formatting/formatters.ts L342<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_formatting_formatters_formatTextElements","label":"formatTextElements","color":"#FFFF99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>formatTextElements</b> (function)<br>src/formatting/formatters.ts L370<br>1 connections","community":45,"sourceFile":"src/formatting/formatters.ts","fileType":"function","degree":1},{"id":"src_tools_abap-create-object_parentPathFor","label":"parentPathFor","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>parentPathFor</b> (function)<br>src/tools/abap-create-object.ts L33<br>1 connections","community":93,"sourceFile":"src/tools/abap-create-object.ts","fileType":"function","degree":1},{"id":"src_tools_abap-setup_SetupParams","label":"SetupParams","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>SetupParams</b> (interface)<br>src/tools/abap-setup.ts L13<br>1 connections","community":93,"sourceFile":"src/tools/abap-setup.ts","fileType":"interface","degree":1},{"id":"src_types_AbapProfile","label":"AbapProfile","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapProfile</b> (interface)<br>src/types.ts L10<br>1 connections","community":93,"sourceFile":"src/types.ts","fileType":"interface","degree":1},{"id":"src_types_AbapProfiles","label":"AbapProfiles","color":"#FB9A99","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>AbapProfiles</b> (interface)<br>src/types.ts L25<br>1 connections","community":93,"sourceFile":"src/types.ts","fileType":"interface","degree":1},{"id":"tsconfig_compilerOptions","label":"compilerOptions","color":"#EDC948","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>compilerOptions</b> (field)<br>tsconfig.json<br>1 connections","community":105,"sourceFile":"tsconfig.json","fileType":"field","degree":1},{"id":"tsconfig_include","label":"include","color":"#EDC948","size":12.679700005769249,"font":{"size":10,"color":"#ddd"},"title":"<b>include</b> (field)<br>tsconfig.json<br>1 connections","community":105,"sourceFile":"tsconfig.json","fileType":"field","degree":1}];
|
|
61
|
+
const RAW_EDGES = [{"from":"src_client_toError","to":"src_client_rootMessage","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_client_withClient","to":"src_client_createClient","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_client_withClient","to":"src_client_toError","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_client_resolveObject","to":"src_client_pickSearchResult","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_persistProfiles","to":"src_config_configPath","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_loadConfig","to":"src_config_configPath","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_getConfigOrThrow","to":"src_config_getConfig","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_resolveConfig","to":"src_config_getProfile","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_resolveConfig","to":"src_config_getConfigOrThrow","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_saveProfile","to":"src_config_persistProfiles","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_setActiveProfile","to":"src_config_persistProfiles","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_config_deleteProfile","to":"src_config_persistProfiles","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_formatting_formatters_formatObjectStructure","to":"src_formatting_formatters_isClassStructure","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_formatting_formatters_formatTransports","to":"src_formatting_formatters_targetRequests","title":"calls [INFERRED]","dashes":true,"width":0.5,"color":{"color":"#444","opacity":0.25}},{"from":"src_types_AbapNotConfiguredError","to":"src_types_AbapNotConfiguredError_constructor","title":"contains [EXTRACTED]","dashes":false,"width":1,"color":{"color":"#555","opacity":0.4}},{"from":"src_types_AbapObjectNotFoundError","to":"src_types_AbapObjectNotFoundError_constructor","title":"contains [EXTRACTED]","dashes":false,"width":1,"color":{"color":"#555","opacity":0.4}},{"from":"src_types_AbapProfileNotFoundError","to":"src_types_AbapProfileNotFoundError_constructor","title":"contains [EXTRACTED]","dashes":false,"width":1,"color":{"color":"#555","opacity":0.4}}];
|
|
62
|
+
const LEGEND = [[93,{"label":"persistProfiles","color":"#FB9A99","count":32}],[45,{"label":"formatObjectStructure","color":"#FFFF99","count":19}],[2,{"label":"name","color":"#E15759","count":15}],[105,{"label":"compilerOptions","color":"#EDC948","count":2}],[43,{"label":"isClassStructure","color":"#FB9A99","count":1}]];
|
|
63
|
+
const COLORS = ["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC","#6A3D9A","#FF7F00","#33A02C","#1F78B4","#E31A1C","#FDBF6F","#A6CEE3","#B2DF8A","#FB9A99","#CAB2D6","#FFFF99","#B15928","#8DD3C7","#FFFFB3","#BEBADA"];
|
|
64
|
+
|
|
65
|
+
function esc(s){return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');}
|
|
66
|
+
|
|
67
|
+
const nodesDS = new vis.DataSet(RAW_NODES.map(n=>({
|
|
68
|
+
id:n.id,label:n.label,color:n.color,size:n.size,font:n.font,title:n.title,
|
|
69
|
+
_c:n.community,_f:n.sourceFile,_t:n.fileType,_d:n.degree
|
|
70
|
+
})));
|
|
71
|
+
const edgesDS = new vis.DataSet(RAW_EDGES.map((e,i)=>({
|
|
72
|
+
id:i,from:e.from,to:e.to,title:e.title,dashes:e.dashes,width:e.width,color:e.color,
|
|
73
|
+
arrows:{to:{enabled:true,scaleFactor:.5}}
|
|
74
|
+
})));
|
|
75
|
+
|
|
76
|
+
const network = new vis.Network(document.getElementById('graph'),{nodes:nodesDS,edges:edgesDS},{
|
|
77
|
+
physics:{enabled:true,solver:'forceAtlas2Based',
|
|
78
|
+
forceAtlas2Based:{gravitationalConstant:-60,centralGravity:.005,springLength:120,springConstant:.08,damping:.4,avoidOverlap:.8},
|
|
79
|
+
stabilization:{iterations:200,fit:true}},
|
|
80
|
+
interaction:{hover:true,tooltipDelay:100,hideEdgesOnDrag:true,navigationButtons:false,keyboard:false},
|
|
81
|
+
nodes:{shape:'dot',borderWidth:1.5},
|
|
82
|
+
edges:{smooth:{type:'continuous',roundness:.2},selectionWidth:3}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
network.once('stabilizationIterationsDone',()=>{network.setOptions({physics:{enabled:false}});});
|
|
86
|
+
|
|
87
|
+
function showInfo(id){
|
|
88
|
+
const n=nodesDS.get(id);if(!n)return;
|
|
89
|
+
const nids=network.getConnectedNodes(id);
|
|
90
|
+
const items=nids.slice(0,30).map(nid=>{
|
|
91
|
+
const nb=nodesDS.get(nid);
|
|
92
|
+
return '<span class="neighbor-link" style="border-left-color:'+esc(nb?String(nb.color):'#555')+'" onclick="focusNode("'+esc(nid)+'")">'+esc(nb?nb.label:nid)+'</span>';
|
|
93
|
+
}).join('');
|
|
94
|
+
document.getElementById('info-content').innerHTML=
|
|
95
|
+
'<div class="field"><b>'+esc(n.label)+'</b></div>'+
|
|
96
|
+
'<div class="field">Type: '+esc(n._t||'?')+'</div>'+
|
|
97
|
+
'<div class="field">File: '+esc((n._f||'').slice(-50))+'</div>'+
|
|
98
|
+
'<div class="field">Connections: '+n._d+'</div>'+
|
|
99
|
+
(nids.length?'<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors ('+nids.length+')</div><div id="neighbors-list">'+items+'</div>':'');
|
|
100
|
+
}
|
|
101
|
+
function focusNode(id){network.focus(id,{scale:1.4,animation:true});network.selectNodes([id]);showInfo(id);}
|
|
102
|
+
|
|
103
|
+
let hovered=null;
|
|
104
|
+
network.on('hoverNode',p=>{hovered=p.node;});
|
|
105
|
+
network.on('blurNode',()=>{hovered=null;});
|
|
106
|
+
network.on('click',p=>{if(p.nodes.length>0)showInfo(p.nodes[0]);else if(!hovered)document.getElementById('info-content').innerHTML='<span class="empty">Click a node to inspect it</span>';});
|
|
107
|
+
|
|
108
|
+
const si=document.getElementById('search'),sr=document.getElementById('search-results');
|
|
109
|
+
si.addEventListener('input',()=>{
|
|
110
|
+
const q=si.value.toLowerCase();
|
|
111
|
+
if(!q){sr.style.display='none';return;}
|
|
112
|
+
const m=RAW_NODES.filter(n=>n.label.toLowerCase().includes(q)).slice(0,15);
|
|
113
|
+
sr.style.display=m.length?'block':'none';
|
|
114
|
+
sr.innerHTML=m.map(n=>'<div class="search-item" onclick="focusNode("'+esc(n.id)+'")">'+esc(n.label)+' ('+esc(n.fileType)+')</div>').join('');
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
const ll=document.getElementById('legend-list');
|
|
118
|
+
const hidden=new Set();
|
|
119
|
+
LEGEND.forEach((l,i)=>{
|
|
120
|
+
const d=document.createElement('div');d.className='legend-item';
|
|
121
|
+
d.innerHTML='<div class="legend-dot" style="background:'+l[1].color+'"></div><span class="legend-label">'+esc(l[1].label)+'</span><span class="legend-count">'+l[1].count+'</span>';
|
|
122
|
+
d.onclick=()=>{d.classList.toggle('dimmed');const show=!d.classList.contains('dimmed');if(!show)hidden.add(l[0]);else hidden.delete(l[0]);
|
|
123
|
+
nodesDS.forEach(n=>{if(n._c>=0&&hidden.has(n._c)){nodesDS.update({id:n.id,hidden:true});}else{nodesDS.update({id:n.id,hidden:false});}});};
|
|
124
|
+
ll.appendChild(d);
|
|
125
|
+
});
|
|
126
|
+
function toggleAll(show){hidden.clear();nodesDS.forEach(n=>{nodesDS.update({id:n.id,hidden:!show});});
|
|
127
|
+
document.querySelectorAll('.legend-item').forEach(el=>el.classList.toggle('dimmed',!show));
|
|
128
|
+
document.getElementById('select-all-cb').indeterminate=false;}
|
|
129
|
+
</script>
|
|
130
|
+
</body>
|
|
131
|
+
</html>
|