Skip to content

Commit 2b3c133

Browse files
authored
Merge pull request #206 from JuliaDynamics/hw/inspector
add NetworkDynamicsInspector subpackage for interactive analysis
2 parents e7155dd + 664291a commit 2b3c133

24 files changed

+2663
-99
lines changed

.github/workflows/CompatHelper.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: "Run CompatHelper"
3838
run: |
3939
import CompatHelper
40-
CompatHelper.main(; subdirs=["", "docs", "test", "benchmark"])
40+
CompatHelper.main(; subdirs=["", "docs", "test", "benchmark", "NetworkDynamicsInspector"])
4141
shell: julia --color=yes {0}
4242
env:
4343
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/tests.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,31 @@ jobs:
4545
token: ${{ secrets.CODECOV_TOKEN }}
4646
fail_ci_if_error: false
4747

48+
Inspector-tests:
49+
name: NetworkDynamicsInspector.jl Tests
50+
runs-on: ubuntu-latest
51+
permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created
52+
actions: write
53+
contents: read
54+
steps:
55+
- uses: actions/checkout@v4
56+
- uses: julia-actions/setup-julia@v2
57+
with:
58+
version: 1
59+
- uses: julia-actions/cache@v2
60+
- uses: julia-actions/julia-buildpkg@v1
61+
with:
62+
project: NetworkDynamicsInspector
63+
- uses: julia-actions/julia-runtest@v1
64+
with:
65+
project: NetworkDynamicsInspector
66+
# - uses: julia-actions/julia-processcoverage@v1
67+
# - uses: codecov/codecov-action@v4
68+
# with:
69+
# files: lcov.info
70+
# token: ${{ secrets.CODECOV_TOKEN }}
71+
# fail_ci_if_error: false
72+
4873
pd-test:
4974
name: PowerDynamics.jl test - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
5075
runs-on: ${{ matrix.os }}

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,8 @@ benchmark/*.txt
1515
/benchmark/*.pdf
1616
/docs/src/generated/
1717
/docs/src/assets/.auctex-auto/
18+
19+
# ignore downloadable assets
20+
/NetworkDynamicsInspector/assets/jquery.js
21+
/NetworkDynamicsInspector/assets/select2.css
22+
/NetworkDynamicsInspector/assets/select2.js

NetworkDynamicsInspector/Project.toml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name = "NetworkDynamicsInspector"
2+
uuid = "0a4713f2-d58f-43f2-b63b-1b5d5ee4e65a"
3+
authors = ["Hans Würfel <[email protected]>"]
4+
version = "0.1.0"
5+
6+
[deps]
7+
Bonito = "824d6782-a2ef-11e9-3a09-e5662e0c26f8"
8+
ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
9+
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
10+
GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
11+
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
12+
NetworkDynamics = "22e9dc34-2a0d-11e9-0de0-8588d035468b"
13+
Observables = "510215fc-4207-5dde-b226-833fc4488ee2"
14+
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
15+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
16+
WGLMakie = "276b4fcb-3e11-5398-bf8b-a0c2d153d008"
17+
18+
[sources]
19+
NetworkDynamics = {path = ".."}
20+
21+
[compat]
22+
Aqua = "0.8.9"
23+
Bonito = "4.0.0"
24+
ColorSchemes = "3.29.0"
25+
Colors = "0.13.0"
26+
ExplicitImports = "1.10.1"
27+
GraphMakie = "0.5.14"
28+
Graphs = "1.12.0"
29+
NetworkDynamics = "0.9.13"
30+
Observables = "0.5.5"
31+
OrderedCollections = "1.8.0"
32+
SciMLBase = "2.75.1"
33+
WGLMakie = "0.11"
34+
Test = "1"
35+
julia = "1.10"
36+
37+
[extras]
38+
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
39+
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
40+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
41+
42+
[targets]
43+
test = ["Aqua", "ExplicitImports", "Test"]
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
html, body {
2+
font-family: sans-serif;
3+
font-size: 12px;
4+
height: 100%;
5+
/* width: 100%; */
6+
}
7+
8+
.select2-container .select2-selection .select2-selection__rendered,
9+
.select2-container .select2-selection--single .select2-selection__rendered,
10+
.select2-container .select2-results__option{
11+
font-family: monospace;
12+
/* font-size: 20px; */
13+
}
14+
.select2-results__group {
15+
font-family: sans-serif;
16+
/* font-size: 12px; */
17+
/* color: blue; */
18+
}
19+
20+
.maingrid {
21+
display: grid;
22+
grid-template-columns: min-content auto;
23+
width: 100%;
24+
gap: 5px;
25+
}
26+
27+
.graphplot-col, .timeseries-col, .timeseries-stack{
28+
display: flex;
29+
flex-direction: column;
30+
gap: 5px;
31+
/* to keep shadows visible */
32+
/* https://stackoverflow.com/questions/70802682/parents-overflowhidden-doesnt-show-childs-box-shadow */
33+
overflow: hidden; /* otherwise it won't shrink */
34+
margin:-10px;
35+
padding:10px
36+
}
37+
38+
.graphplot-card {
39+
height:400px; /* initial widht and height */
40+
width: 400px;
41+
min-width:250px;
42+
resize: both;
43+
overflow: hidden;
44+
}
45+
46+
.gpstate-control-card {
47+
}
48+
49+
.timeslider-card {
50+
height:min-content;
51+
}
52+
53+
.timeseries-card {
54+
resize: vertical;
55+
overflow: hidden;
56+
/* grid-column: 2; */
57+
}
58+
.timeseries-card.active-tseries {
59+
box-shadow: 0 4px 8px rgba(0.0, 0.0, 51.0, 0.65);
60+
}
61+
.timeseries-card-container{
62+
display: flex;
63+
flex-direction: column;
64+
overflow: hidden;
65+
height: 100%; /* otherwise it won't shrink */
66+
}
67+
.timeseries-card-container .comp-state-sel-grid {
68+
height: min-content; /* otherwise it won't shrink */
69+
}
70+
.timeseries-axis-container{
71+
flex-grow: 1;
72+
overflow:hidden;
73+
}
74+
75+
.tooltip {
76+
position: absolute;
77+
background-color: black;
78+
color: white;
79+
padding: 5px 10px;
80+
border-radius: 5px;
81+
font-size: 12px;
82+
font-family: monospace;
83+
pointer-events: none;
84+
white-space: nowrap;
85+
display: none; /* Initially hidden */
86+
transform: translate(12px, 12px); /* Offset from cursor */
87+
}
88+
89+
#element-info-box {
90+
font-family: monospace;
91+
overflow: scroll;
92+
border: 2px solid #dbdbdb;
93+
border-radius: 4px;
94+
background-color: #f5f5f5;
95+
color: #222;
96+
padding: 1px 10px;
97+
}
98+
.element-info-card {
99+
/* overflow:hidden; */
100+
/* resize:vertical; */
101+
}
102+
103+
.julia-prompt {
104+
color: #066f00;
105+
font-weight: bolder;
106+
}
107+
108+
button{
109+
font-size: 12px !important;
110+
font-weight: normal !important;
111+
font-family: sans-serif !important;;
112+
}

0 commit comments

Comments
 (0)