initial work to provide context menus for nodes/edges and edit modals

This commit is contained in:
Blake J. Harnden 2018-05-09 16:22:15 -07:00
parent b1b05a7eaa
commit 0ee3fca97c
10 changed files with 752 additions and 29 deletions

View file

@ -26,3 +26,7 @@
border: 1px solid #dee2e6;
border-radius: 10px;
}
.context .list-group-item {
padding: .5rem 1.25rem;
}

View file

@ -33,12 +33,12 @@ class NodeHelper {
this.icons = {
router: 'static/router.svg',
host: 'static/host.gif',
host: 'static/host.svg',
PC: 'static/pc.gif',
mdr: 'static/mdr.svg',
switch: 'static/lanswitch.svg',
hub: 'static/hub.svg',
wlan: 'static/wlan.gif'
wlan: 'static/wlan.svg'
};
this.defaultNode = 0;
@ -155,7 +155,6 @@ class CoreNetwork {
};
this.network = new vis.Network(this.container, this.networkData, this.networkOptions);
this.network.on('doubleClick', this.addNode.bind(this));
this.network.on('oncontext', this.onContext.bind(this));
this.edges.on('add', this.addEdge.bind(this));
this.nodesEnabled = false;
}
@ -315,25 +314,6 @@ class CoreNetwork {
return await coreRest.setSessionState(SessionStates.instantiation);
}
onContext(properties) {
console.log('context event: ', properties);
properties.event.preventDefault();
const location = properties.pointer.DOM;
const nodeId = this.network.getNodeAt(location);
if (nodeId) {
const node = this.nodes.get(nodeId);
console.log('context node: ', node);
} else {
const edgeId = this.network.getEdgeAt(location);
if (edgeId) {
const edge = this.edges.get(edgeId);
console.log('context edge: ', edge);
}
}
}
addNode(properties) {
if (!this.nodesEnabled) {
console.log('node creation disabled');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

428
webapp/static/host.svg Normal file
View file

@ -0,0 +1,428 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg11525"
sodipodi:docname="database-server.svg"
viewBox="0 0 199.53095 286.61717"
version="1.1"
inkscape:version="0.91 r13725"
width="199.53096"
height="286.61716">
<defs
id="defs11527">
<linearGradient
id="linearGradient6035-4">
<stop
id="stop6037-2"
style="stop-color:#ffffff"
offset="0" />
<stop
id="stop6039-9"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient11801"
y2="511.97"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="286.63"
gradientTransform="matrix(4.9627,0,0,4.9627,278.63,-3355.4)"
y1="511.97"
x1="269.97"
inkscape:collect="always">
<stop
id="stop5497-7"
style="stop-color:#497bb3"
offset="0" />
<stop
id="stop5501-5"
style="stop-color:#a5c4e6"
offset=".20485" />
<stop
id="stop5499-8"
style="stop-color:#3b5d8b"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient11803"
y2="527.34003"
gradientUnits="userSpaceOnUse"
x2="286.63"
y1="518.56"
x1="282.35999"
inkscape:collect="always">
<stop
id="stop5468-4"
style="stop-color:#a5c4e6"
offset="0" />
<stop
id="stop5470-8"
style="stop-color:#497bb3"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient11805"
y2="520.33002"
xlink:href="#linearGradient6035-4"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-3062.9)"
y1="522.60999"
x1="308.5"
inkscape:collect="always" />
<linearGradient
id="linearGradient11807"
y2="520.33002"
xlink:href="#linearGradient6035-4"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-3015.8)"
y1="522.60999"
x1="308.5"
inkscape:collect="always" />
<linearGradient
id="linearGradient11809"
y2="520.33002"
xlink:href="#linearGradient6035-4"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-2971.6)"
y1="522.60999"
x1="308.5"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
bordercolor="#666666"
inkscape:pageshadow="2"
inkscape:window-y="0"
fit-margin-left="0"
pagecolor="#ffffff"
fit-margin-top="0"
inkscape:window-maximized="1"
inkscape:zoom="1.4"
inkscape:window-x="0"
inkscape:window-height="1052"
showgrid="false"
borderopacity="1.0"
inkscape:current-layer="layer1"
inkscape:cx="12.593885"
inkscape:cy="25.162479"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:pageopacity="0.0"
inkscape:document-units="px" />
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(-331.42836,-429.01881)">
<g
id="g3925">
<g
id="layer1-3-5-2"
inkscape:label="Capa 1"
transform="matrix(1.1196,0,0,1.1196,-122.82057,267.39056)">
<g
id="g10-5-2"
transform="matrix(0.0423,0,0,0.0423,319.39,59.128)"
class="Graphic">
<g
id="g12-4-2">
<g
id="g14-64-0"
style="fill:#c7c7c7">
<path
id="path16-1-5"
inkscape:connector-curvature="0"
d="m 5903,2361 c 50,82 34,3995 -31,4149 -51,122 -1703,1495 -1789,1531 -1117,-7 -1870,-414 -1995,-629 -48,-270 -7,-4433 38,-4520 40,-76 2153,-833 2227,-851 67,-15 1493,229 1550,320 z" />
</g>
<g
id="g18-6-5"
style="fill:#000000">
<path
id="path20-8-2"
inkscape:connector-curvature="0"
d="m 5881,2374 2,-1 -2,2 c 0,-1 -1,-1 -1,-1 l 0,-2 7,-3 -2,2 -5,1 5,-1 -2,2 -2,1 z m 2,-1 2,-2 2,-2 5,-2 -5,4 5,-4 1,0 -6,3 0,1 0,-1 -4,3 z m 10,-6 -1,0 1,0 -1,0 11,-6 -10,5 0,1 z m 11,-4 -11,4 0,-1 11,-3 z m 20,-15 c -2,-3 -4,-6 -7,-9 -2,-3 -5,-5 -8,-7 -5,-4 -12,-8 -20,-12 -7,-4 -15,-7 -24,-11 -9,-4 -19,-7 -30,-11 -21,-8 -47,-16 -75,-24 -29,-8 -61,-16 -95,-25 -136,-34 -313,-72 -494,-106 -181,-35 -364,-66 -511,-90 -73,-11 -138,-21 -189,-27 -25,-3 -47,-6 -65,-8 -9,-1 -17,-1 -24,-2 -4,0 -7,0 -10,-1 l -9,0 c -3,0 -5,0 -7,1 l -4,0 c -2,0 -3,0 -4,1 -2,0 -4,1 -7,2 -2,0 -5,1 -8,2 -3,1 -7,2 -11,3 -4,2 -8,3 -13,5 -10,3 -22,7 -35,12 -13,4 -28,9 -44,15 -33,11 -71,25 -115,40 -43,15 -91,32 -144,51 -209,75 -481,173 -753,274 -271,101 -542,203 -747,285 -51,21 -98,40 -140,57 -43,18 -80,34 -111,48 -16,7 -30,14 -42,20 -13,6 -24,12 -33,17 -5,2 -9,5 -13,7 -4,3 -8,5 -10,7 -4,3 -7,5 -9,7 -5,4 -7,8 -9,11 -1,2 -2,5 -4,9 0,3 -1,6 -1,9 -1,3 -1,7 -2,11 -1,4 -1,8 -2,13 0,9 -1,20 -3,32 0,13 -1,27 -2,42 -2,31 -4,69 -6,111 -2,43 -4,91 -5,144 -7,213 -14,504 -19,835 -11,662 -19,1482 -19,2144 0,308 2,583 5,791 1,52 2,100 3,143 1,43 3,82 4,115 1,34 3,62 4,85 1,12 2,22 3,30 1,5 1,9 1,13 1,3 2,7 2,10 l 1,4 2,4 c 9,15 20,30 33,46 14,16 30,32 48,49 35,32 80,66 135,101 107,70 249,142 423,207 173,65 377,124 608,167 231,43 489,70 769,72 l 6,0 5,-2 8,-4 c 2,-2 5,-3 8,-6 3,-2 6,-4 10,-6 l 12,-9 c 9,-6 19,-13 30,-22 11,-8 23,-17 37,-28 27,-20 58,-45 93,-73 35,-28 74,-59 116,-93 169,-136 385,-315 600,-497 215,-181 430,-366 593,-512 41,-37 79,-71 113,-103 34,-31 64,-59 89,-84 13,-13 24,-24 34,-35 11,-11 20,-20 28,-29 8,-9 14,-17 19,-23 3,-4 5,-8 7,-10 2,-4 4,-8 6,-11 0,-2 1,-5 2,-8 1,-3 2,-5 3,-9 1,-6 2,-13 3,-22 2,-8 3,-17 4,-28 1,-11 2,-22 3,-35 2,-25 4,-55 7,-89 1,-34 3,-72 5,-113 8,-166 14,-391 19,-648 10,-516 16,-1164 16,-1743 0,-389 -3,-747 -8,-1012 -1,-66 -2,-127 -4,-181 -1,-53 -3,-100 -5,-139 -1,-20 -2,-38 -3,-53 -1,-16 -2,-30 -3,-41 -1,-6 -1,-11 -2,-16 -1,-5 -1,-10 -2,-13 -1,-4 -1,-8 -2,-11 -1,-2 -1,-4 -2,-5 -1,-3 -2,-5 -3,-6 z m -37,21 12,-12 -12,12 z m -6,9 c 1,3 1,7 2,11 0,4 1,9 1,15 1,11 3,24 4,39 0,15 1,33 2,52 2,39 4,86 6,139 1,53 2,114 4,180 5,264 7,622 7,1011 0,578 -5,1227 -15,1742 -6,257 -12,481 -19,646 -2,42 -4,79 -6,113 -2,33 -4,63 -6,88 -1,12 -2,24 -4,34 0,10 -2,18 -3,26 -1,7 -2,14 -3,18 0,3 -1,4 -1,6 0,1 -1,2 -1,2 0,1 -1,2 -2,4 -1,1 -3,4 -4,6 -5,6 -10,13 -17,21 -7,7 -16,17 -26,27 l -34,34 c -25,24 -54,52 -88,83 -33,31 -71,66 -112,102 -163,146 -377,330 -592,512 -215,181 -431,360 -598,495 -42,34 -81,65 -116,93 -35,28 -66,52 -93,73 -13,10 -26,20 -37,28 -10,8 -20,15 -28,21 -4,3 -8,6 -12,8 -3,2 -6,4 -8,6 -2,1 -4,2 -5,3 -276,-2 -528,-29 -755,-71 -228,-42 -429,-100 -600,-164 -169,-64 -308,-134 -413,-202 -51,-33 -94,-66 -128,-97 -17,-15 -31,-30 -43,-44 -10,-12 -19,-23 -26,-34 l 0,-4 c -1,-3 -1,-7 -1,-11 -1,-8 -2,-18 -3,-28 -2,-23 -3,-51 -5,-84 -1,-33 -2,-71 -3,-115 -1,-42 -2,-90 -3,-142 -3,-208 -5,-482 -5,-790 0,-662 7,-1481 18,-2143 6,-330 12,-622 19,-834 2,-53 4,-101 6,-144 2,-42 3,-79 5,-109 1,-16 2,-30 3,-42 1,-12 2,-22 3,-31 0,-4 1,-8 1,-11 1,-4 1,-6 2,-9 l 0,-2 c 0,-1 1,-1 2,-2 2,-1 4,-3 7,-5 4,-1 7,-4 11,-6 9,-5 19,-10 31,-16 12,-6 26,-12 41,-19 31,-14 67,-29 109,-47 42,-17 89,-37 140,-57 205,-82 475,-184 746,-284 271,-101 543,-200 752,-274 52,-19 101,-36 144,-51 43,-16 82,-29 114,-40 17,-6 31,-11 44,-16 13,-4 25,-8 35,-11 4,-2 9,-3 13,-4 4,-2 7,-3 10,-4 3,-1 5,-1 8,-2 l 3,-1 -2,-8 1,8 1,0 4,0 7,0 c 2,0 5,0 8,1 7,0 14,1 23,2 17,1 39,4 64,7 50,6 114,16 187,27 147,23 329,55 509,89 180,35 357,72 492,106 34,9 65,17 92,25 28,8 53,15 73,23 10,3 20,7 28,10 7,3 15,6 20,9 5,3 10,5 13,8 0,0 1,0 1,1 0,1 1,3 1,4 z M 4075,8017 c 1,0 1,-1 2,-1 l 6,0 0,14 -8,-13 8,13 0,11 -10,-23 c 0,0 1,-1 2,-1 z M 2110,7400 c 1,1 1,3 2,4 1,1 1,3 1,4 l -25,4 21,-11 1,-1 -1,1 1,-1 2,0 -2,0 z m 39,-4498 0,3 c -1,0 -1,1 -2,1 l -5,-6 -17,-4 17,4 -2,-1 4,2 5,1 z m -7,-2 2,1 -2,-1 z m -16,-8 14,7 -14,-7 z m 14,7 -10,-11 10,11 z m 2217,-841 -2,-17 2,17 z m -4,-17 4,17 0,1 -4,-18 z" />
</g>
<g
id="g22-8-9"
style="fill:#ffffff;fill-opacity:0.54118;stroke:#ffffff;stroke-opacity:0.54118">
<path
id="path24-1-0"
inkscape:connector-curvature="0"
d="m 5822,2442 -52,22 -52,23 -52,23 -53,25 -53,25 -53,26 -53,26 -54,27 -54,27 -54,28 -55,28 -54,29 -55,29 -55,29 -111,60 -112,60 -112,60 -113,61 -114,60 -114,60 -114,59 -57,29 -57,29 -58,28 -57,28 -27,-6 -28,-7 -56,-13 -58,-14 -59,-13 -60,-14 -61,-14 -61,-14 -63,-14 -62,-14 -63,-15 -127,-28 -127,-28 -64,-14 -63,-14 -62,-13 -62,-13 -61,-13 -60,-13 -60,-13 -58,-12 -57,-12 -28,-5 -28,-6 -27,-5 -27,-6 -27,-5 -26,-5 -26,-5 -25,-6 -25,-4 -24,-5 -24,-5 -24,-4 -23,-4 -22,-5 -22,-4 -21,-3 -21,-4 -20,-4 52,16 52,16 53,16 54,15 55,16 55,15 57,16 56,15 57,16 58,15 116,31 117,30 118,31 118,31 117,30 116,31 58,15 57,16 57,15 56,16 55,15 55,16 54,15 53,16 52,16 52,16 1,60 2,61 1,61 1,63 1,64 2,64 1,65 1,66 1,67 1,67 1,68 0,69 1,69 1,70 1,70 0,71 1,71 0,72 1,72 1,73 1,146 1,147 0,149 1,149 2,299 1,300 1,149 1,148 1,147 1,146 1,73 0,72 1,72 1,71 0,71 1,71 1,69 1,70 0,68 1,68 1,67 1,67 1,66 1,65 1,65 2,63 1,63 1,62 2,61 1,60 1,-61 1,-61 0,-63 1,-63 1,-64 1,-65 1,-66 1,-67 1,-67 1,-68 1,-69 2,-69 1,-70 1,-71 1,-71 1,-72 1,-72 2,-73 1,-73 1,-73 3,-148 3,-149 2,-151 3,-151 6,-303 5,-303 3,-151 3,-150 2,-149 3,-149 1,-73 2,-73 1,-73 1,-72 1,-71 1,-72 1,-70 2,-70 1,-70 1,-68 1,-68 1,-68 1,-66 1,-66 1,-65 1,-64 1,-64 0,-62 1,-62 1,-60 110,-59 109,-59 109,-57 109,-58 108,-57 107,-58 107,-57 107,-58 105,-58 105,-58 104,-60 103,-60 51,-30 50,-31 51,-31 50,-31 50,-31 50,-32 49,-32 50,-32 z" />
</g>
<g
id="g28-1-8"
style="fill:none">
<path
id="path30-7-3"
inkscape:connector-curvature="0"
d="m 5822,2442 c -549,232 -1156,606 -1768,901 -580,-138 -1417,-322 -1839,-396 543,169 1257,327 1800,496 32,1271 16,3196 48,4467 16,-1282 59,-3238 75,-4519 586,-317 1161,-601 1684,-949 z" />
</g>
<g
id="g32-7-8"
style="fill:#000000;fill-opacity:0.16078001;stroke:#ffffff;stroke-opacity:0.16078001">
<path
id="path34-1-0"
inkscape:connector-curvature="0"
d="m 2420,6628 10,14 10,13 11,13 12,13 12,12 12,12 14,12 13,12 14,12 15,11 15,11 16,11 15,11 17,10 16,10 17,11 18,9 18,10 18,9 18,8 19,9 19,8 19,8 19,8 40,15 40,14 41,12 41,11 42,10 41,9 42,8 41,6 41,6 41,3 21,2 20,1 19,1 20,0 20,0 19,0 19,-1 19,-1 18,-1 19,-1 17,-2 18,-3 17,-2 17,-3 17,-4 16,-4 15,-4 15,-4 15,-5 15,-5 -2,-1 -1,0 -5,-2 -6,-1 -7,-2 -8,-2 -10,-3 -10,-3 -12,-3 -13,-4 -14,-3 -15,-4 -16,-5 -16,-4 -18,-5 -18,-5 -19,-5 -20,-6 -20,-5 -21,-6 -22,-6 -22,-6 -22,-6 -23,-7 -24,-6 -48,-13 -49,-14 -50,-14 -50,-13 -50,-15 -50,-13 -49,-14 -49,-13 -23,-7 -24,-6 -23,-7 -22,-6 -22,-6 -21,-6 -21,-6 -20,-5 -19,-6 -19,-5 -18,-5 -17,-5 -16,-4 -15,-5 -15,-4 -13,-4 -12,-3 -12,-3 -10,-3 -9,-3 -7,-2 -7,-2 -5,-2 -2,0 -2,-1 z" />
</g>
<g
id="g38-5-0"
style="fill:none">
<path
id="path40-7-9"
inkscape:connector-curvature="0"
d="m 2420,6628 c 201,289 833,431 1133,315 -53,-14 -1066,-293 -1133,-315 z" />
</g>
<g
id="g42-6-1"
style="fill:#ffffff;fill-opacity:0.38824002;stroke:#ffffff;stroke-opacity:0.38824002">
<path
id="path44-7-9"
inkscape:connector-curvature="0"
d="m 3454,6093 -936,-361 -9,4 -8,4 -8,4 -6,5 -6,6 -6,6 -5,7 -5,6 -4,7 -4,7 -3,7 -3,8 -3,8 -2,7 -3,15 -2,15 -2,14 0,6 0,7 0,5 0,6 0,5 0,4 0,4 1,4 0,2 0,2 0,1 0,1 146,51 1,1 1,1 1,1 1,2 2,2 1,3 3,3 2,3 3,4 3,4 3,4 4,5 4,4 4,6 5,4 10,12 10,11 13,12 13,12 14,13 15,12 17,13 17,12 19,12 19,11 21,11 22,10 11,4 11,5 12,4 12,4 13,3 12,3 13,3 13,3 13,2 13,1 14,2 14,1 14,0 15,0 15,0 15,-1 15,-2 15,-2 16,-2 16,-3 16,-4 16,-4 17,-5 17,-6 1,0 2,1 3,0 6,1 6,1 7,1 8,1 9,1 10,1 11,1 12,1 12,1 12,0 13,1 26,0 14,-1 13,-1 14,-1 13,-2 13,-2 12,-3 12,-3 12,-3 10,-5 11,-5 9,-6 8,-6 8,-8 3,-4 3,-4 3,-4 2,-4 2,-5 2,-5 z" />
</g>
<g
id="g48-57-2"
style="fill:none">
<path
id="path50-0-5"
inkscape:connector-curvature="0"
d="m 3454,6093 -936,-361 c -97,34 -78,177 -78,177 l 146,51 c 0,0 204,319 566,194 0,0 269,48 302,-61 z" />
</g>
<g
id="g52-5-4"
style="fill:#606060">
<path
id="path54-7-4"
inkscape:connector-curvature="0"
d="m 3446,5971 c -311,-81 -622,-161 -933,-242 -12,44 -13,107 6,140 47,23 142,41 189,64 136,131 255,142 472,124 84,17 168,31 251,48 26,-51 33,-72 15,-134 z" />
</g>
<g
id="g56-7-9"
style="fill:none">
<path
id="path58-8-9"
inkscape:connector-curvature="0"
d="m 3446,5971 c -311,-81 -622,-161 -933,-242 -12,44 -13,107 6,140 47,23 142,41 189,64 136,131 255,142 472,124 84,17 168,31 251,48 26,-51 33,-72 15,-134 z" />
</g>
<g
id="g60-5-3"
style="fill:#ffffff;fill-opacity:0.4;stroke:#ffffff;stroke-opacity:0.4">
<path
id="path62-2-6"
inkscape:connector-curvature="0"
d="m 5856,2414 -1813,1017 7,4549 1775,-1494 31,-4072 z" />
</g>
<g
id="g66-2-5"
style="fill:none">
<path
id="path68-9-0"
inkscape:connector-curvature="0"
d="m 5856,2414 -1813,1017 7,4549 1775,-1494 31,-4072 z" />
</g>
<g
id="g70-9-2"
style="fill:#000000;fill-opacity:0.16078001;stroke:#ffffff;stroke-opacity:0.16078001">
<path
id="path72-9-9"
inkscape:connector-curvature="0"
d="m 2525,6916 10,13 11,12 10,13 11,11 11,12 11,11 12,11 12,10 12,10 12,10 13,10 12,9 13,9 13,8 27,17 28,15 28,14 28,13 29,11 29,11 30,9 30,8 29,8 30,6 30,5 30,4 30,3 30,2 29,2 29,0 29,-1 27,-2 28,-2 27,-3 26,-5 25,-5 24,-6 24,-6 22,-8 -2,-1 -4,0 -4,-2 -5,-1 -6,-2 -8,-2 -8,-2 -9,-2 -10,-3 -10,-3 -11,-3 -12,-3 -13,-4 -13,-3 -14,-4 -15,-4 -15,-4 -15,-5 -16,-4 -16,-5 -17,-4 -18,-5 -35,-10 -36,-10 -38,-10 -38,-10 -38,-11 -76,-21 -37,-10 -37,-11 -36,-10 -17,-4 -17,-5 -17,-5 -16,-4 -16,-5 -15,-4 -15,-4 -14,-4 -14,-4 -13,-4 -12,-3 -11,-3 -12,-3 -10,-3 -9,-3 -8,-2 -8,-3 -7,-1 -6,-2 -5,-2 -4,-1 -3,-1 z" />
</g>
<g
id="g76-2-3"
style="fill:none">
<path
id="path78-7-5"
inkscape:connector-curvature="0"
d="m 2525,6916 c 209,276 627,323 861,239 -39,-10 -810,-222 -861,-239 z" />
</g>
<g
id="g80-6-1"
style="fill:#000000;fill-opacity:0.16078001;stroke:#ffffff;stroke-opacity:0.16078001">
<path
id="path82-0-7"
inkscape:connector-curvature="0"
d="m 2680,7199 12,15 12,14 13,14 14,12 14,13 14,11 15,11 16,11 15,9 17,9 16,9 17,7 18,7 17,7 18,5 18,5 18,5 19,3 18,4 19,2 18,2 19,1 19,0 19,0 18,-1 19,-2 18,-2 19,-3 18,-4 18,-4 18,-5 17,-6 -1,0 -2,-1 -3,0 -4,-1 -3,-1 -5,-2 -5,-1 -6,-2 -6,-1 -6,-2 -7,-2 -8,-2 -8,-2 -8,-3 -9,-2 -9,-2 -19,-6 -20,-5 -22,-6 -22,-6 -23,-6 -23,-7 -48,-13 -48,-13 -23,-7 -23,-6 -23,-6 -21,-6 -21,-6 -19,-6 -9,-2 -9,-3 -9,-2 -8,-2 -8,-2 -7,-2 -7,-2 -6,-2 -6,-2 -5,-2 -5,-1 -5,-1 -3,-1 -3,-1 -3,-1 -2,0 z" />
</g>
<g
id="g86-0-3"
style="fill:none">
<path
id="path88-3-1"
inkscape:connector-curvature="0"
d="m 2680,7199 c 121,163 355,213 540,149 -25,-6 -507,-139 -540,-149 z" />
</g>
<g
id="g90-5-4"
style="fill:#fcfcfc;fill-opacity:0.43922005;stroke:#ffffff;stroke-opacity:0.43922005">
<path
id="path92-9-6"
inkscape:connector-curvature="0"
d="m 2356,3259 -92,13 -17,2173 1425,399 35,-116 -1369,-365 18,-2104 z" />
</g>
<g
id="g96-7-4"
style="fill:none">
<path
id="path98-7-2"
inkscape:connector-curvature="0"
d="m 2356,3259 -92,13 -17,2173 1425,399 35,-116 -1369,-365 18,-2104 z" />
</g>
<g
id="g100-1-2"
style="fill:#000000;fill-opacity:0.23137004;stroke:#ffffff;stroke-opacity:0.23137004">
<path
id="path102-64-6"
inkscape:connector-curvature="0"
d="m 3700,4065 -2,61 -1340,-386 1342,325 z" />
</g>
<g
id="g106-1-1"
style="fill:#000000;fill-opacity:0.23137004;stroke:#ffffff;stroke-opacity:0.23137004">
<path
id="path108-3-2"
inkscape:connector-curvature="0"
d="m 3720,4507 -3,61 -1339,-386 1342,325 z" />
</g>
<g
id="g112-9-8"
style="fill:#000000;fill-opacity:0.23137004;stroke:#ffffff;stroke-opacity:0.23137004">
<path
id="path114-09-9"
inkscape:connector-curvature="0"
d="m 3700,4916 -2,61 -1340,-386 1342,325 z" />
</g>
<g
id="g118-8-8"
style="fill:#000000;fill-opacity:0.23137004;stroke:#ffffff;stroke-opacity:0.23137004">
<path
id="path120-3-8"
inkscape:connector-curvature="0"
d="m 3700,5318 -2,61 -1340,-387 1342,326 z" />
</g>
<g
id="g124-5-6"
style="fill:#9e9e9e">
<path
id="path126-3-8"
inkscape:connector-curvature="0"
d="m 2361,3309 1332,333 -11,2197 11,0 11,0 11,-2205 0,-9 -8,-2 -1341,-335 -2,11 -3,10 z m 1340,335 -8,-2 0,-8 11,0 -3,10 z" />
</g>
</g>
</g>
</g>
<g
id="g16724-3"
transform="matrix(0.52218647,0,0,0.42933357,-400.52138,1028.8214)">
<path
id="path5488-8"
d="m 1618.4,-890.85 0,126.36 0.5249,0 c -0.3385,1.0131 -0.5249,1.975 -0.5249,3.0182 0,15.228 36.989,27.557 82.672,27.557 45.683,0 82.672,-12.33 82.672,-27.557 0,-1.0447 -0.1856,-2.0037 -0.5249,-3.0182 l 0.5249,0 0,-126.36 -165.34,0 z"
sodipodi:nodetypes="cccssscccc"
style="fill:url(#linearGradient11801)"
inkscape:connector-curvature="0" />
<ellipse
id="path5460-3"
style="fill:url(#linearGradient11803)"
transform="matrix(4.9627,0,0,4.9627,278.63,-3481.3)"
cx="286.6308"
cy="521.77954"
rx="16.667517"
ry="5.5558391" />
<path
id="path6026-3"
d="m 1618.3,-800.18 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -14.494,12.328 -46.02,20.865 -82.672,20.865 -36.727,0 -68.35,-8.6271 -82.804,-20.996 z"
style="fill:#3b5d8b"
inkscape:connector-curvature="0" />
<path
id="path6030-3"
d="m 1618.3,-891.51 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.9058,0.77052 -1.8509,1.4911 -2.8869,2.2308 -0.038,0.0491 -0.091,0.0823 -0.131,0.13101 -9.6253,11.663 -41.587,20.209 -79.654,20.209 -38.306,0 -70.487,-8.6955 -79.917,-20.471 -0.1046,-0.0752 -0.1596,-0.18729 -0.2625,-0.26245 -0.9185,-0.67058 -1.8123,-1.2733 -2.6245,-1.9684 z"
style="fill:url(#linearGradient11805)"
inkscape:connector-curvature="0" />
<path
id="path6022-8"
style="fill:#3b5d8b"
inkscape:connector-curvature="0"
d="m 1618.3,-844.36 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -14.494,12.328 -46.02,20.865 -82.672,20.865 -36.727,0 -68.35,-8.6271 -82.804,-20.996 z" />
<path
id="path6043-0"
d="m 1618.3,-844.36 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.2087,0.17721 -0.4427,0.3519 -0.6561,0.52491 -5.2161,13.55 -39.937,24.014 -82.016,24.014 -42.466,0 -77.55,-10.545 -82.279,-24.277 -0.1684,-0.13312 -0.3624,-0.2549 -0.5249,-0.39347 z"
style="fill:url(#linearGradient11807)"
inkscape:connector-curvature="0" />
<path
id="path6054-4"
style="fill:url(#linearGradient11809)"
inkscape:connector-curvature="0"
d="m 1618.3,-800.18 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.2087,0.17721 -0.4427,0.3519 -0.6561,0.52491 -5.2161,13.55 -39.937,24.014 -82.016,24.014 -42.466,0 -77.55,-10.545 -82.279,-24.277 -0.1684,-0.13312 -0.3624,-0.2549 -0.5249,-0.39347 z" />
<path
id="path6060-7"
d="m 1618.8,-754.64 c 4.7284,13.732 39.813,24.277 82.279,24.277 42.079,0 76.8,-10.464 82.016,-24.014 -14.766,12.043 -45.892,20.34 -82.016,20.34 -36.314,0 -67.608,-8.4562 -82.279,-20.602 z"
style="fill:#3b5d8b"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
<metadata
id="metadata3865">
<rdf:RDF>
<cc:Work>
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:publisher>
<cc:Agent
rdf:about="http://openclipart.org/">
<dc:title>Openclipart</dc:title>
</cc:Agent>
</dc:publisher>
<dc:title>database server</dc:title>
<dc:date>2011-10-15T13:20:35</dc:date>
<dc:description>Database Server</dc:description>
<dc:source>https://openclipart.org/detail/163711/database-server-by-lyte</dc:source>
<dc:creator>
<cc:Agent>
<dc:title>lyte</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>computer</rdf:li>
<rdf:li>database</rdf:li>
<rdf:li>db</rdf:li>
<rdf:li>network</rdf:li>
<rdf:li>server</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

178
webapp/static/wlan.svg Normal file
View file

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="151"
height="98"
id="svg4189"
version="1.1"
inkscape:version="0.47pre1"
sodipodi:docname="cloud.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="D:\Cliparts\New\cloud.png"
inkscape:export-xdpi="76.224487"
inkscape:export-ydpi="76.224487">
<title
id="title4428">Cloud</title>
<defs
id="defs4191">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 49 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="151 : 49 : 1"
inkscape:persp3d-origin="75.5 : 32.666667 : 1"
id="perspective4636" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.5714286"
inkscape:cx="75.5"
inkscape:cy="49"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:showpageshadow="false"
width="151px"
inkscape:window-width="1280"
inkscape:window-height="977"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1" />
<metadata
id="metadata4194">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Cloud</dc:title>
<dc:date>2009-11-12</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Jean-Victor Balin</dc:title>
</cc:Agent>
</dc:creator>
<dc:language>fr-FR</dc:language>
<dc:subject>
<rdf:Bag>
<rdf:li>cloud</rdf:li>
<rdf:li>nature</rdf:li>
<rdf:li>sky</rdf:li>
<rdf:li>meteo</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:description>jean.victor.balin@gmail.com</dc:description>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-954.36218)">
<g
id="g4449">
<path
id="path2844"
d="m 104.7944,978.86598 c 0,13.52888 -13.79395,24.49622 -30.80965,24.49622 -17.01571,0 -30.80966,-10.96734 -30.80966,-24.49622 0,-13.52887 13.79395,-24.4962 30.80966,-24.4962 17.0157,0 30.80965,10.96733 30.80965,24.4962 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-3"
d="m 103.42412,979.70978 c 0,13.43025 -13.23431,24.31762 -29.55965,24.31762 -16.32535,0 -29.55966,-10.88737 -29.55966,-24.31762 0,-13.43026 13.23431,-24.31763 29.55966,-24.31763 16.32534,0 29.55965,10.88737 29.55965,24.31763 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-9"
d="m 106.05711,1009.9282 c 0,12.2736 -11.19345,22.2233 -25.00127,22.2233 -13.80783,0 -25.00128,-9.9497 -25.00128,-22.2233 0,-12.27363 11.19345,-22.22337 25.00128,-22.22337 13.80782,0 25.00127,9.94974 25.00127,22.22337 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-5"
d="m 125.75508,992.7556 c 0,12.2736 -11.19345,22.2234 -25.00127,22.2234 -13.80783,0 -25.00128,-9.9498 -25.00128,-22.2234 0,-12.27362 11.19345,-22.22336 25.00128,-22.22336 13.80782,0 25.00127,9.94974 25.00127,22.22336 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-11"
d="m 70.19668,999.82666 c 0,12.27364 -11.19345,22.22334 -25.00127,22.22334 -13.80783,0 -25.00128,-9.9497 -25.00128,-22.22334 0,-12.27362 11.19345,-22.22336 25.00128,-22.22336 13.80782,0 25.00127,9.94974 25.00127,22.22336 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-11-1"
d="m 72.61576,1000.9598 c 0,12.2736 -11.47328,22.2233 -25.62628,22.2233 -14.153,0 -25.62627,-9.9497 -25.62627,-22.2233 0,-12.27364 11.47327,-22.22338 25.62627,-22.22338 14.153,0 25.62628,9.94974 25.62628,22.22338 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1"
d="m 40.3972,1019.2721 c 0,9.9026 -8.93215,17.9302 -19.95051,17.9302 -11.01837,0 -19.95051,-8.0276 -19.95051,-17.9302 0,-9.9026 8.93214,-17.9302 19.95051,-17.9302 11.01836,0 19.95051,8.0276 19.95051,17.9302 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1-76"
d="m 40.95786,1019.699 c 0,9.3048 -8.77225,16.8479 -19.59337,16.8479 -10.82112,0 -19.59338,-7.5431 -19.59338,-16.8479 0,-9.3049 8.77226,-16.848 19.59338,-16.848 10.82112,0 19.59337,7.5431 19.59337,16.848 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-5-4"
d="m 126.18719,994.88834 c 0,12.86536 -11.39333,23.29476 -25.44771,23.29476 -14.05438,0 -25.44771,-10.4294 -25.44771,-23.29476 0,-12.86535 11.39333,-23.29478 25.44771,-23.29478 14.05438,0 25.44771,10.42943 25.44771,23.29478 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-2"
d="m 150.50382,1000.3317 c 0,12.2737 -11.19345,22.2234 -25.00127,22.2234 -13.80783,0 -25.00128,-9.9497 -25.00128,-22.2234 0,-12.27358 11.19345,-22.22332 25.00128,-22.22332 13.80782,0 25.00127,9.94974 25.00127,22.22332 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-2-2"
d="m 149.75861,1000.2455 c 0,11.5833 -11.2734,20.9733 -25.17984,20.9733 -13.90645,0 -25.17985,-9.39 -25.17985,-20.9733 0,-11.58327 11.2734,-20.97337 25.17985,-20.97337 13.90644,0 25.17984,9.3901 25.17984,20.97337 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1-7"
d="m 41.91242,1033.6668 c 0,6.5552 -5.201,11.8693 -11.61676,11.8693 -6.41575,0 -11.61675,-5.3141 -11.61675,-11.8693 0,-6.5553 5.201,-11.8693 11.61675,-11.8693 6.41576,0 11.61676,5.314 11.61676,11.8693 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1-7-2"
d="m 42.26694,1032.9241 c 0,6.4566 -5.12105,11.6907 -11.43818,11.6907 -6.31714,0 -11.43819,-5.2341 -11.43819,-11.6907 0,-6.4566 5.12105,-11.6908 11.43819,-11.6908 6.31713,0 11.43818,5.2342 11.43818,11.6908 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-4"
d="m 84.33882,1030.1312 c 0,12.2737 -11.19345,22.2234 -25.00127,22.2234 -13.80783,0 -25.00128,-9.9497 -25.00128,-22.2234 0,-12.2736 11.19345,-22.2233 25.00128,-22.2233 13.80782,0 25.00127,9.9497 25.00127,22.2233 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-4-2"
d="m 84.47542,1029.5542 c 0,12.0144 -10.93019,21.7539 -24.41325,21.7539 -13.48308,0 -24.41327,-9.7395 -24.41327,-21.7539 0,-12.0144 10.93019,-21.754 24.41327,-21.754 13.48306,0 24.41325,9.7396 24.41325,21.754 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-8"
d="m 139.39213,1020.0297 c 0,12.2736 -11.19345,22.2234 -25.00127,22.2234 -13.80783,0 -25.00128,-9.9498 -25.00128,-22.2234 0,-12.2736 11.19345,-22.22335 25.00128,-22.22335 13.80782,0 25.00127,9.94975 25.00127,22.22335 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-8-1"
d="m 138.06218,1019.7544 c 0,11.8052 -11.21344,21.3752 -25.04592,21.3752 -13.83248,0 -25.04591,-9.57 -25.04591,-21.3752 0,-11.8051 11.21343,-21.37511 25.04591,-21.37511 13.83248,0 25.04592,9.57001 25.04592,21.37511 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1-7-6"
d="m 90.95831,1047.975 c -7.9716,1.3183 -15.50224,-3.8048 -16.82016,-11.4427 -1.31791,-7.638 4.07596,-14.8984 12.04756,-16.2166 7.9716,-1.3183 15.50224,3.8048 16.82016,11.4428 1.31792,7.6379 -4.07596,14.8983 -12.04756,16.2165 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
id="path2844-1-7-6-5"
d="m 91.26841,1046.5778 c -7.83783,1.3182 -15.2421,-3.8049 -16.5379,-11.4428 -1.2958,-7.6379 4.00756,-14.8984 11.84539,-16.2166 7.83783,-1.3183 15.24211,3.8048 16.53791,11.4428 1.29579,7.6379 -4.00757,14.8983 -11.8454,16.2166 z"
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -107,10 +107,21 @@
<div id="core-network" class="col">
</div>
</div>
{% include 'sessions_modal.html' %}
</div>
{% include 'sessions_modal.html' %}
{% include 'nodeedit_modal.html' %}
{% include 'linkedit_modal.html' %}
<ul id="node-context" class="list-group invisible context">
<a class="list-group-item list-group-item-action" href="#" data-option="edit">Edit Node</a>
<a class="list-group-item list-group-item-action" href="#" data-option="services">Services</a>
</ul>
<ul id="edge-context" class="list-group invisible context">
<a class="list-group-item list-group-item-action" href="#" data-option="edit">Edit Link</a>
</ul>
<script src="static/jquery-3.3.1.min.js"></script>
<script src="static/popper.min.js"></script>
<script src="static/bootstrap.min.js"></script>
@ -125,7 +136,7 @@
const $nodeButtons = $('.node-buttons a');
const $sessionId = $('#session-id');
const $nodeDisplay = $('#node-display');
const $sessionsModel = $('#sessions-modal');
const $sessionsModal = $('#sessions-modal');
const $sessionsTable = $('#sessions-table');
const $runButton = $('#run-button');
const $infoCard = $('#info-card');
@ -133,6 +144,12 @@
const $infoCardHeader = $('#info-card-header');
const $nodeSelect = $('#node-select');
const $newSessionButton = $('#new-session-button');
const $nodeContext = $('#node-context');
const $edgeContext = $('#edge-context');
const $nodeEditModal = $('#nodeedit-modal');
const $nodeEditButton = $('#nodeedit-button');
const $linkEditModal = $('#linkedit-modal');
const $linkEditButton = $('#linkedit-button');
// initial core setup
const coreRest = new CoreRest();
@ -180,6 +197,8 @@
// handle network clicks
coreNetwork.network.on('click', function(properties) {
console.log('click properties: ', properties);
$nodeContext.addClass('invisible');
$edgeContext.addClass('invisible');
$infoCard.removeClass('visible invisible');
if (properties.nodes.length === 1) {
@ -235,6 +254,77 @@
}
});
coreNetwork.network.on('oncontext', function(properties) {
console.log('context event: ', properties);
properties.event.preventDefault();
$nodeContext.addClass('invisible');
$edgeContext.addClass('invisible');
const location = properties.pointer.DOM;
const x = properties.event.pageX;
const y = properties.event.pageY;
const nodeId = coreNetwork.network.getNodeAt(location);
if (nodeId) {
const node = coreNetwork.nodes.get(nodeId);
console.log('context node: ', node);
$nodeContext.data('node', nodeId);
$nodeContext.css({
position: 'absolute',
left: x,
top: y
});
$nodeContext.removeClass('invisible');
} else {
const edgeId = coreNetwork.network.getEdgeAt(location);
if (edgeId) {
const edge = coreNetwork.edges.get(edgeId);
console.log('context edge: ', edge);
$edgeContext.data('edge', edgeId);
$edgeContext.css({
position: 'absolute',
left: x,
top: y
});
$edgeContext.removeClass('invisible');
}
}
});
$nodeContext.click(function(event) {
$nodeContext.addClass('invisible');
console.log('node context click: ', event);
const nodeId = $nodeContext.data('node');
const node = coreNetwork.nodes.get(nodeId).coreNode;
const $target = $(event.target);
const option = $target.data('option');
console.log('node context: ', nodeId, option);
if (option === 'edit') {
$nodeEditModal.find('.modal-title').text(`Edit Node: ${node.name}`);
$nodeEditModal.find('#node-name').val(node.name);
$nodeEditModal.modal('show');
}
});
$nodeEditButton.click(function() {
const $form = $nodeEditModal.find('form');
console.log('form data: ', $form.serialize());
});
$edgeContext.click(function(event) {
$edgeContext.addClass('invisible');
console.log('edge context click: ', event);
const edgeId = $edgeContext.data('edge');
const edge = coreNetwork.edges.get(edgeId);
const $target = $(event.target);
const option = $target.data('option');
console.log('edge context: ', edgeId, option);
if (option === 'edit') {
$linkEditModal.find('.modal-title').text('Edit Edge');
$linkEditModal.modal('show');
}
});
$newSessionButton.click(function() {
coreNetwork.newSession()
.then(function(session) {
@ -254,7 +344,7 @@
coreNetwork.joinSession(sessionId)
.then(function(session) {
joinSession(session);
$sessionsModel.modal('hide');
$sessionsModal.modal('hide');
})
.catch(function(err) {
console.log('join session error: ', err);
@ -291,7 +381,6 @@
}
});
//$nodeDisplay.text(`Node: ${coreNetwork.nodeModel}`);
$nodeButtons.click(function () {
const $this = $(this);
const nodeType = $this.data('node');
@ -310,7 +399,7 @@
});
// show sessions
$sessionsModel.on('shown.bs.modal', function () {
$sessionsModal.on('shown.bs.modal', function () {
console.log('show sessions');
$sessionsTable.find('tbody tr').remove();
coreRest.getSessions()

View file

@ -0,0 +1,19 @@
<div id="linkedit-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header bg-dark text-white">
<h5 class="modal-title"></h5>
<button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>edit stuff goes here</p>
</div>
<div class="modal-footer">
<button id="linkedit-button" type="button" class="btn btn-primary">Edit</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,25 @@
<div id="nodeedit-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header bg-dark text-white">
<h5 class="modal-title"></h5>
<button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="node-name">Name</label>
<input id="node-name" name="name" class="form-control" type="text" placeholder="Node Name"
required>
</div>
</form>
</div>
<div class="modal-footer">
<button id="nodeedit-button" type="button" class="btn btn-primary">Edit</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-content">
<div class="modal-header bg-dark text-white">
<h5 class="modal-title">Sessions</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>