-
Notifications
You must be signed in to change notification settings - Fork 0
/
mse_coursetree.html
525 lines (380 loc) · 36.3 KB
/
mse_coursetree.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link href="lib/tom-select/tom-select.css" rel="stylesheet">
<script src="lib/tom-select/tom-select.complete.min.js"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 600px;
background-color: #000000;
border: 1px solid lightgray;
position: relative;
float: left;
}
#config {
float: left;
width: 400px;
height: 600px;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="select-menu" class="card-header">
<div class="row no-gutters">
<div class="col-10 pb-2">
<select
class="form-select"
aria-label="Default select example"
onchange="selectNode([value]);"
id="select-node"
placeholder="Select node..."
>
<option selected>Select a Node by ID</option>
<option value="MSE 2001">MSE 2001</option>
<option value="MSE 2021">MSE 2021</option>
<option value="MSE 2698">MSE 2698</option>
<option value="MSE 2699">MSE 2699</option>
<option value="MSE 3001">MSE 3001</option>
<option value="MSE 3002">MSE 3002</option>
<option value="MSE 3005">MSE 3005</option>
<option value="MSE 3015">MSE 3015</option>
<option value="MSE 3021">MSE 3021</option>
<option value="MSE 3025">MSE 3025</option>
<option value="MSE 3210">MSE 3210</option>
<option value="MSE 3220">MSE 3220</option>
<option value="MSE 3230">MSE 3230</option>
<option value="MSE 3720">MSE 3720</option>
<option value="MSE 4006">MSE 4006</option>
<option value="MSE 4010">MSE 4010</option>
<option value="MSE 4335">MSE 4335</option>
<option value="MSE 4420">MSE 4420</option>
<option value="MSE 4698">MSE 4698</option>
<option value="MSE 4699">MSE 4699</option>
<option value="MSE 4723">MSE 4723</option>
<option value="MSE 4751">MSE 4751</option>
<option value="MSE 4754">MSE 4754</option>
<option value="MSE 4759">MSE 4759</option>
<option value="MSE 4775">MSE 4775</option>
<option value="MSE 4793">MSE 4793</option>
<option value="MSE 6110">MSE 6110</option>
<option value="MSE 6130">MSE 6130</option>
<option value="MSE 6402">MSE 6402</option>
<option value="MSE 6510">MSE 6510</option>
<option value="MSE 6603">MSE 6603</option>
<option value="MSE 6750">MSE 6750</option>
<option value="MSE 6768">MSE 6768</option>
<option value="MSE 6775">MSE 6775</option>
<option value="MSE 6777">MSE 6777</option>
<option value="MSE 7000">MSE 7000</option>
<option value="MSE 7774">MSE 7774</option>
<option value="MSE 8200">MSE 8200</option>
<option value="MSE 8801">MSE 8801</option>
<option value="MSE 8803">MSE 8803</option>
<option value="MSE 8903">MSE 8903</option>
<option value="MSE 8997">MSE 8997</option>
<option value="MSE 8998">MSE 8998</option>
<option value="MSE 9000">MSE 9000</option>
<option value="MSE 9999">MSE 9999</option>
<option value="COE 2001">COE 2001</option>
<option value="COE 2701">COE 2701</option>
<option value="COE 3001">COE 3001</option>
<option value="CHEM 1310">CHEM 1310</option>
<option value="CHEM 1102">CHEM 1102</option>
<option value="CHEM 12X1">CHEM 12X1</option>
<option value="CHEM 1211K">CHEM 1211K</option>
<option value="CHEM 1112">CHEM 1112</option>
<option value="MSE 4410">MSE 4410</option>
<option value="ECE 3040">ECE 3040</option>
<option value="ECE 3710">ECE 3710</option>
<option value="MSE 2020">MSE 2020</option>
<option value="CHBE 4775">CHBE 4775</option>
<option value="CHEM 4775">CHEM 4775</option>
<option value="ME 4775">ME 4775</option>
<option value="PTFE 4775">PTFE 4775</option>
<option value="CHBE 4776">CHBE 4776</option>
<option value="CHEM 4776">CHEM 4776</option>
<option value="ME 4776">ME 4776</option>
<option value="MSE 4776">MSE 4776</option>
<option value="PTFE 4776">PTFE 4776</option>
<option value="BMED 6776">BMED 6776</option>
<option value="CHBE 6776">CHBE 6776</option>
<option value="ME 6776">ME 6776</option>
<option value="MSE 6776">MSE 6776</option>
<option value="PTFE 6776">PTFE 6776</option>
<option value="AE 7772">AE 7772</option>
<option value="CEE 7772">CEE 7772</option>
<option value="CHBE 7772">CHBE 7772</option>
<option value="ME 7772">ME 7772</option>
<option value="MSE 7772">MSE 7772</option>
</select>
</div>
<div class="col-2 pb-2">
<button type="button" class="btn btn-primary btn-block" onclick="neighbourhoodHighlight({nodes: []});">Reset Selection</button>
</div>
</div>
</div>
<div id="filter-menu" class="card-header">
<div class="row no-gutters">
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
onchange="updateFilter(value, 'item')"
id="select-item"
>
<option value="">Select a network item</option>
<option value="edge">edge</option>
<option value="node">node</option>
</select>
</div>
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
onchange="updateFilter(value, 'property')"
id="select-property"
>
<option value="">Select a property...</option>
</select>
</div>
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
id="select-value"
>
<option value="">Select value(s)...</option>
</select>
</div>
<div class="col-1 pb-2">
<button type="button" class="btn btn-primary btn-block" onclick="highlightFilter(filter);">Filter</button>
</div>
<div class="col-2 pb-2">
<button type="button" class="btn btn-primary btn-block" onclick="clearFilter(true)">Reset Selection</button>
</div>
</div>
</div>
<div id="mynetwork" class="card-body"></div>
</div>
<div id="config"></div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
new TomSelect("#select-node",{
create: false,
sortField: {
field: "text",
direction: "asc"
}
});
// explicitly using onItemAdd and this function as we need to save multiple values
let updateValueFilter = function() {
return function () {
filter['value'].push(arguments[0])
}
}
let valueControl = new TomSelect("#select-value",{
maxItems: null,
valueField: 'id',
labelField: 'title',
searchField: 'title',
create: false,
sortField: {
field: "text",
direction: "asc"
},
onItemAdd: updateValueFilter()
});
let addValues = function() {
return function () {
// clear the current value options and add the selected attribute values
// tom-select handles duplicates
let selectedProperty = arguments[0];
valueControl.clear();
valueControl.clearOptions();
filter['value'] = []
if (filter['item'] === 'node') {
for (let each in allNodes) {
valueControl.addOption({
id:allNodes[each][selectedProperty],
title:allNodes[each][selectedProperty]
})
}
}
else if (filter['item'] === 'edge') {
for (let each in allEdges) {
valueControl.addOption({
id:allEdges[each][selectedProperty],
title:allEdges[each][selectedProperty]
})
}
}
}
};
let propControl = new TomSelect("#select-property",{
valueField: 'id',
labelField: 'title',
searchField: 'title',
create: false,
sortField: {
field: "text",
direction: "asc"
},
onItemAdd: addValues()
});
let addProperties = function() {
return function () {
// loops through the selected network item and adds the attributes to dropdown
// tom-select handles duplicates
clearFilter(false)
if (arguments[0] === 'edge') {
for (let each in allEdges) {
if (allEdges.hasOwnProperty(each)) {
for (let eachProp in allEdges[each]) {
if (allEdges[each].hasOwnProperty(eachProp)) {
propControl.addOption({id: eachProp, title: eachProp})
}
}
}
}
}
else if (arguments[0] === 'node') {
for (let each in allNodes) {
if (allNodes.hasOwnProperty(each)) {
for (let eachProp in allNodes[each]) {
if (allNodes[each].hasOwnProperty(eachProp)
&& (eachProp !== 'hidden' && eachProp !== 'savedLabel'
&& eachProp !== 'hiddenLabel')) {
propControl.addOption({id: eachProp, title: eachProp})
}
}
}
}
}
}
};
let itemControl = new TomSelect("#select-item",{
create: false,
sortField:{
field: "text",
direction: "asc"
},
onItemAdd: addProperties()
});
function clearFilter(reset) {
// utility function to clear all the selected filter options
// if reset is set to true, the existing filter will be removed
// else, only the dropdown options are cleared
propControl.clear();
propControl.clearOptions();
valueControl.clear();
valueControl.clearOptions();
filter = {
item : '',
property : '',
value : []
}
if (reset) {
itemControl.clear();
filterHighlight({nodes: []})
}
}
function updateFilter(value, key) {
// key could be 'item' or 'property' and value is as selected in dropdown
filter[key] = value
}
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#9e72df", "font": {"color": "#ffffff"}, "id": "MSE 2001", "label": "MSE 2001", "shape": "dot", "size": 18.973665961010276, "title": "Prin\u0026Appl-Engr Materials"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "MSE 2021", "label": "MSE 2021", "shape": "dot", "size": 8.94427190999916, "title": "Matls Characterization"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 2698", "label": "MSE 2698", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 2699", "label": "MSE 2699", "shape": "dot", "size": 6.324555320336759, "title": "Undergraduate Research"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3001", "label": "MSE 3001", "shape": "dot", "size": 6.324555320336759, "title": "Chemical Thermo-Material"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3002", "label": "MSE 3002", "shape": "dot", "size": 6.324555320336759, "title": "Strct Trans-Met,Cer\u0026Poly"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "MSE 3005", "label": "MSE 3005", "shape": "dot", "size": 8.94427190999916, "title": "Mech Behavior-Materials"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3015", "label": "MSE 3015", "shape": "dot", "size": 6.324555320336759, "title": "Elec,Optical\u0026Magnet Prop"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3021", "label": "MSE 3021", "shape": "dot", "size": 6.324555320336759, "title": "Materials Laboratory I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3025", "label": "MSE 3025", "shape": "dot", "size": 6.324555320336759, "title": "Stats\u0026Numerical Methods"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3210", "label": "MSE 3210", "shape": "dot", "size": 6.324555320336759, "title": "Transport Phenomena"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3220", "label": "MSE 3220", "shape": "dot", "size": 6.324555320336759, "title": "Operations \u0026 Mgt Methods"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3230", "label": "MSE 3230", "shape": "dot", "size": 6.324555320336759, "title": "Polymer \u0026 Fiber Process"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 3720", "label": "MSE 3720", "shape": "dot", "size": 6.324555320336759, "title": "Intro Poly/Fib Enterpris"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4006", "label": "MSE 4006", "shape": "dot", "size": 6.324555320336759, "title": "Process\u0026Apps-Engr Alloys"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4010", "label": "MSE 4010", "shape": "dot", "size": 6.324555320336759, "title": "Environ Degradation"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4335", "label": "MSE 4335", "shape": "dot", "size": 6.324555320336759, "title": "Soft Nano Bio Materials"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4420", "label": "MSE 4420", "shape": "dot", "size": 6.324555320336759, "title": "Capstone Engr Design II"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4698", "label": "MSE 4698", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4699", "label": "MSE 4699", "shape": "dot", "size": 6.324555320336759, "title": "Undergraduate Research"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4723", "label": "MSE 4723", "shape": "dot", "size": 6.324555320336759, "title": "Inter Capstone Design"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4751", "label": "MSE 4751", "shape": "dot", "size": 6.324555320336759, "title": "Intro to Biomaterials"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4754", "label": "MSE 4754", "shape": "dot", "size": 6.324555320336759, "title": "Elec Packaging Assembly"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4759", "label": "MSE 4759", "shape": "dot", "size": 6.324555320336759, "title": "Electrochem Storage"}, {"color": "#8d97e0", "font": {"color": "#ffffff"}, "id": "MSE 4775", "label": "MSE 4775", "shape": "dot", "size": 14.142135623730951, "title": "Polymer Science \u0026 Engr I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4793", "label": "MSE 4793", "shape": "dot", "size": 6.324555320336759, "title": "Composite Mater\u0026 Process"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6110", "label": "MSE 6110", "shape": "dot", "size": 6.324555320336759, "title": "Trans Electron Microscop"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6130", "label": "MSE 6130", "shape": "dot", "size": 6.324555320336759, "title": "Surface Analysis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6402", "label": "MSE 6402", "shape": "dot", "size": 6.324555320336759, "title": "Crys Struct and Defects"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6510", "label": "MSE 6510", "shape": "dot", "size": 6.324555320336759, "title": "Polymer-Elec\u0026Photo App I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6603", "label": "MSE 6603", "shape": "dot", "size": 6.324555320336759, "title": "Natural Polymers"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6750", "label": "MSE 6750", "shape": "dot", "size": 6.324555320336759, "title": "Prep\u0026 Reactions-Polymers"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6768", "label": "MSE 6768", "shape": "dot", "size": 6.324555320336759, "title": "Polymer Structure\u0026 Props"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6775", "label": "MSE 6775", "shape": "dot", "size": 6.324555320336759, "title": "Polymer Communications"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6777", "label": "MSE 6777", "shape": "dot", "size": 6.324555320336759, "title": "Advanced Biomaterials"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 7000", "label": "MSE 7000", "shape": "dot", "size": 6.324555320336759, "title": "Master\u0027s Thesis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 7774", "label": "MSE 7774", "shape": "dot", "size": 6.324555320336759, "title": "Fatigue-Materials\u0026Struct"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8200", "label": "MSE 8200", "shape": "dot", "size": 6.324555320336759, "title": "Adv Presentation Skills"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8801", "label": "MSE 8801", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8803", "label": "MSE 8803", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8903", "label": "MSE 8903", "shape": "dot", "size": 6.324555320336759, "title": "Special Problems"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8997", "label": "MSE 8997", "shape": "dot", "size": 6.324555320336759, "title": "Teaching Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 8998", "label": "MSE 8998", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 9000", "label": "MSE 9000", "shape": "dot", "size": 6.324555320336759, "title": "Doctoral Thesis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 9999", "label": "MSE 9999", "shape": "dot", "size": 6.324555320336759, "title": "GT-PKU"}, {"color": "#93a7e1", "font": {"color": "#ffffff"}, "id": "COE 2001", "label": "COE 2001", "shape": "dot", "size": 12.649110640673518, "title": "Statics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "COE 2701", "label": "COE 2701", "shape": "dot", "size": 6.324555320336759, "title": "Startup Lab"}, {"color": "#9e72df", "font": {"color": "#ffffff"}, "id": "COE 3001", "label": "COE 3001", "shape": "dot", "size": 18.973665961010276, "title": "Deformable Bodies"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 1310", "label": "CHEM 1310", "shape": "dot", "size": 15.491933384829668, "title": "Prin of Gen Chem for Engr"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 1102", "label": "CHEM 1102", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 12X1", "label": "CHEM 12X1", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 1211K", "label": "CHEM 1211K", "shape": "dot", "size": 12.649110640673518, "title": "Chemical Principles I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 1112", "label": "CHEM 1112", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4410", "label": "MSE 4410", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ECE 3040", "label": "ECE 3040", "shape": "dot", "size": 16.73320053068151, "title": "Microelectronic Circuits"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ECE 3710", "label": "ECE 3710", "shape": "dot", "size": 15.491933384829668, "title": "Circuits \u0026 Electronics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 2020", "label": "MSE 2020", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHBE 4775", "label": "CHBE 4775", "shape": "dot", "size": 12.649110640673518, "title": "Polymer Science \u0026 Engr I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 4775", "label": "CHEM 4775", "shape": "dot", "size": 12.649110640673518, "title": "Polymer Science \u0026 Engr I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ME 4775", "label": "ME 4775", "shape": "dot", "size": 12.649110640673518, "title": "Polymer Science \u0026 Engr I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "PTFE 4775", "label": "PTFE 4775", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHBE 4776", "label": "CHBE 4776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHEM 4776", "label": "CHEM 4776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ME 4776", "label": "ME 4776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 4776", "label": "MSE 4776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "PTFE 4776", "label": "PTFE 4776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "BMED 6776", "label": "BMED 6776", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHBE 6776", "label": "CHBE 6776", "shape": "dot", "size": 14.142135623730951, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ME 6776", "label": "ME 6776", "shape": "dot", "size": 14.142135623730951, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 6776", "label": "MSE 6776", "shape": "dot", "size": 14.142135623730951, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "PTFE 6776", "label": "PTFE 6776", "shape": "dot", "size": 14.142135623730951, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "AE 7772", "label": "AE 7772", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CEE 7772", "label": "CEE 7772", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "CHBE 7772", "label": "CHBE 7772", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ME 7772", "label": "ME 7772", "shape": "dot", "size": 15.491933384829668, "title": "Fund-Fracture Mechanics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MSE 7772", "label": "MSE 7772", "shape": "dot", "size": 15.491933384829668, "title": null}]);
edges = new vis.DataSet([{"arrows": "to", "from": "MSE 2001", "to": "MSE 2021"}, {"arrows": "to", "from": "MSE 2001", "to": "MSE 4010"}, {"arrows": "to", "from": "MSE 2001", "to": "MSE 4335"}, {"arrows": "to", "from": "MSE 2001", "to": "MSE 4751"}, {"arrows": "to", "from": "MSE 2001", "to": "MSE 4759"}, {"arrows": "to", "from": "MSE 2021", "to": "MSE 3021"}, {"arrows": "to", "from": "MSE 4775", "to": "MSE 3220"}, {"arrows": "to", "from": "MSE 4775", "to": "MSE 6750"}, {"arrows": "to", "from": "CHEM 1310", "to": "MSE 2001"}, {"arrows": "to", "from": "CHEM 1102", "to": "MSE 2001"}, {"arrows": "to", "from": "CHEM 12X1", "to": "MSE 2001"}, {"arrows": "to", "from": "CHEM 1211K", "to": "MSE 2001"}, {"arrows": "to", "from": "CHEM 1112", "to": "MSE 2001"}, {"arrows": "to", "from": "MSE 4410", "to": "MSE 4420"}, {"arrows": "to", "from": "ECE 3040", "to": "MSE 4754"}, {"arrows": "to", "from": "ECE 3710", "to": "MSE 4754"}, {"arrows": "to", "from": "MSE 2020", "to": "MSE 6110"}, {"arrows": "to", "from": "CHBE 4775", "to": "MSE 6750"}, {"arrows": "to", "from": "CHEM 4775", "to": "MSE 6750"}, {"arrows": "to", "from": "ME 4775", "to": "MSE 6750"}, {"arrows": "to", "from": "PTFE 4775", "to": "MSE 6750"}, {"arrows": "to", "from": "CHBE 4776", "to": "MSE 6768"}, {"arrows": "to", "from": "CHEM 4776", "to": "MSE 6768"}, {"arrows": "to", "from": "ME 4776", "to": "MSE 6768"}, {"arrows": "to", "from": "MSE 4776", "to": "MSE 6768"}, {"arrows": "to", "from": "PTFE 4776", "to": "MSE 6768"}, {"arrows": "to", "from": "BMED 6776", "to": "MSE 6777"}, {"arrows": "to", "from": "CHBE 6776", "to": "MSE 6777"}, {"arrows": "to", "from": "ME 6776", "to": "MSE 6777"}, {"arrows": "to", "from": "MSE 6776", "to": "MSE 6777"}, {"arrows": "to", "from": "PTFE 6776", "to": "MSE 6777"}, {"arrows": "to", "from": "AE 7772", "to": "MSE 7774"}, {"arrows": "to", "from": "CEE 7772", "to": "MSE 7774"}, {"arrows": "to", "from": "CHBE 7772", "to": "MSE 7774"}, {"arrows": "to", "from": "ME 7772", "to": "MSE 7774"}, {"arrows": "to", "from": "MSE 7772", "to": "MSE 7774"}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {
"configure": {
"enabled": true,
"filter": [
"layout"
]
},
"edges": {
"color": {
"inherit": true
},
"smooth": {
"enabled": true,
"type": "dynamic"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": true,
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
// if this network requires displaying the configure window,
// put it in its div
options.configure["container"] = document.getElementById("config");
network = new vis.Network(container, data, options);
network.on("click", neighbourhoodHighlight);
network.on("selectNode", neighbourhoodHighlight);
return network;
}
drawGraph();
</script>
</body>
</html>