-
Notifications
You must be signed in to change notification settings - Fork 0
/
isye_coursetree.html
674 lines (495 loc) · 49.3 KB
/
isye_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
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
<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;
}
#loadingBar {
position:absolute;
top:0px;
left:0px;
width: 100%;
height: 600px;
background-color:rgba(200,200,200,0.8);
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
opacity:1;
}
#bar {
position:absolute;
top:0px;
left:0px;
width:20px;
height:20px;
margin:auto auto auto auto;
border-radius:11px;
border:2px solid rgba(30,30,30,0.05);
background: rgb(0, 173, 246); /* Old browsers */
box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
}
#border {
position:absolute;
top:10px;
left:10px;
width:500px;
height:23px;
margin:auto auto auto auto;
box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
border-radius:10px;
}
#text {
position:absolute;
top:8px;
left:530px;
width:30px;
height:50px;
margin:auto auto auto auto;
font-size:22px;
color: #000000;
}
div.outerBorder {
position:relative;
top:400px;
width:600px;
height:44px;
margin:auto auto auto auto;
border:8px solid rgba(0,0,0,0.1);
background: rgb(252,252,252); /* Old browsers */
background: -moz-linear-gradient(top, rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
border-radius:72px;
box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}
#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="ISYE 2027">ISYE 2027</option>
<option value="ISYE 2698">ISYE 2698</option>
<option value="ISYE 2699">ISYE 2699</option>
<option value="ISYE 3025">ISYE 3025</option>
<option value="ISYE 3030">ISYE 3030</option>
<option value="ISYE 3039">ISYE 3039</option>
<option value="ISYE 3044">ISYE 3044</option>
<option value="ISYE 3103">ISYE 3103</option>
<option value="ISYE 3104">ISYE 3104</option>
<option value="ISYE 3106">ISYE 3106</option>
<option value="ISYE 3133">ISYE 3133</option>
<option value="ISYE 3232">ISYE 3232</option>
<option value="ISYE 3770">ISYE 3770</option>
<option value="ISYE 4031">ISYE 4031</option>
<option value="ISYE 4034">ISYE 4034</option>
<option value="ISYE 4045">ISYE 4045</option>
<option value="ISYE 4106">ISYE 4106</option>
<option value="ISYE 4133">ISYE 4133</option>
<option value="ISYE 4232">ISYE 4232</option>
<option value="ISYE 4301">ISYE 4301</option>
<option value="ISYE 4311">ISYE 4311</option>
<option value="ISYE 4501">ISYE 4501</option>
<option value="ISYE 4698">ISYE 4698</option>
<option value="ISYE 4699">ISYE 4699</option>
<option value="ISYE 4801">ISYE 4801</option>
<option value="ISYE 4803">ISYE 4803</option>
<option value="ISYE 6201">ISYE 6201</option>
<option value="ISYE 6203">ISYE 6203</option>
<option value="ISYE 6230">ISYE 6230</option>
<option value="ISYE 6320">ISYE 6320</option>
<option value="ISYE 6336">ISYE 6336</option>
<option value="ISYE 6337">ISYE 6337</option>
<option value="ISYE 6338">ISYE 6338</option>
<option value="ISYE 6339">ISYE 6339</option>
<option value="ISYE 6340">ISYE 6340</option>
<option value="ISYE 6341">ISYE 6341</option>
<option value="ISYE 6342">ISYE 6342</option>
<option value="ISYE 6380">ISYE 6380</option>
<option value="ISYE 6382">ISYE 6382</option>
<option value="ISYE 6402">ISYE 6402</option>
<option value="ISYE 6404">ISYE 6404</option>
<option value="ISYE 6413">ISYE 6413</option>
<option value="ISYE 6414">ISYE 6414</option>
<option value="ISYE 6416">ISYE 6416</option>
<option value="ISYE 6420">ISYE 6420</option>
<option value="ISYE 6501">ISYE 6501</option>
<option value="ISYE 6644">ISYE 6644</option>
<option value="ISYE 6645">ISYE 6645</option>
<option value="ISYE 6661">ISYE 6661</option>
<option value="ISYE 6662">ISYE 6662</option>
<option value="ISYE 6663">ISYE 6663</option>
<option value="ISYE 6669">ISYE 6669</option>
<option value="ISYE 6679">ISYE 6679</option>
<option value="ISYE 6701">ISYE 6701</option>
<option value="ISYE 6739">ISYE 6739</option>
<option value="ISYE 6740">ISYE 6740</option>
<option value="ISYE 6748">ISYE 6748</option>
<option value="ISYE 6761">ISYE 6761</option>
<option value="ISYE 6762">ISYE 6762</option>
<option value="ISYE 6769">ISYE 6769</option>
<option value="ISYE 6783">ISYE 6783</option>
<option value="ISYE 6810">ISYE 6810</option>
<option value="ISYE 6832">ISYE 6832</option>
<option value="ISYE 7000">ISYE 7000</option>
<option value="ISYE 7201">ISYE 7201</option>
<option value="ISYE 7204">ISYE 7204</option>
<option value="ISYE 7401">ISYE 7401</option>
<option value="ISYE 7405">ISYE 7405</option>
<option value="ISYE 7406">ISYE 7406</option>
<option value="ISYE 7683">ISYE 7683</option>
<option value="ISYE 7686">ISYE 7686</option>
<option value="ISYE 7751">ISYE 7751</option>
<option value="ISYE 8803">ISYE 8803</option>
<option value="ISYE 8813">ISYE 8813</option>
<option value="ISYE 8900">ISYE 8900</option>
<option value="ISYE 8901">ISYE 8901</option>
<option value="ISYE 8997">ISYE 8997</option>
<option value="ISYE 8998">ISYE 8998</option>
<option value="ISYE 9000">ISYE 9000</option>
<option value="COE 2001">COE 2001</option>
<option value="COE 2701">COE 2701</option>
<option value="COE 3001">COE 3001</option>
<option value="MATH 2550">MATH 2550</option>
<option value="MATH 2551">MATH 2551</option>
<option value="MATH 2561">MATH 2561</option>
<option value="MATH 3215">MATH 3215</option>
<option value="MATH 3225">MATH 3225</option>
<option value="MATH 3235">MATH 3235</option>
<option value="MATH 3236">MATH 3236</option>
<option value="ISYE 6335">ISYE 6335</option>
<option value="ISYE 6333">ISYE 6333</option>
<option value="MATH 2028">MATH 2028</option>
<option value="ISYE 6412">ISYE 6412</option>
<option value="MATH 2406">MATH 2406</option>
<option value="ISYE 4231">ISYE 4231</option>
<option value="PUBP 6114">PUBP 6114</option>
<option value="MATH 2401">MATH 2401</option>
<option value="MATH 2411">MATH 2411</option>
<option value="MATH 24X1">MATH 24X1</option>
<option value="MATH 2X51">MATH 2X51</option>
<option value="MATH 6761">MATH 6761</option>
<option value="ISYE 6405">ISYE 6405</option>
<option value="ISYE 6401">ISYE 6401</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="loadingBar">
<div class="outerBorder">
<div id="text">0%</div>
<div id="border">
<div id="bar"></div>
</div>
</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": "#9ab6e1", "font": {"color": "#ffffff"}, "id": "ISYE 2027", "label": "ISYE 2027", "shape": "dot", "size": 10.954451150103322, "title": "Probability With Apps"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 2698", "label": "ISYE 2698", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 2699", "label": "ISYE 2699", "shape": "dot", "size": 6.324555320336759, "title": "Undergraduate Research"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "ISYE 3025", "label": "ISYE 3025", "shape": "dot", "size": 8.94427190999916, "title": "Engineering Economy"}, {"color": "#93a7e1", "font": {"color": "#ffffff"}, "id": "ISYE 3030", "label": "ISYE 3030", "shape": "dot", "size": 12.649110640673518, "title": "Basic Stat Method"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 3039", "label": "ISYE 3039", "shape": "dot", "size": 6.324555320336759, "title": "Methods-Quality Improve"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "ISYE 3044", "label": "ISYE 3044", "shape": "dot", "size": 8.94427190999916, "title": "Simulation Analy \u0026 Dsgn"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 3103", "label": "ISYE 3103", "shape": "dot", "size": 6.324555320336759, "title": "Sply Chain Mod:Logistics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 3104", "label": "ISYE 3104", "shape": "dot", "size": 6.324555320336759, "title": "Sply Chain Mod:Manf\u0026Ware"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 3106", "label": "ISYE 3106", "shape": "dot", "size": 6.324555320336759, "title": "Cornerstone Design"}, {"color": "#9ab6e1", "font": {"color": "#ffffff"}, "id": "ISYE 3133", "label": "ISYE 3133", "shape": "dot", "size": 10.954451150103322, "title": "Engineering Optimization"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "ISYE 3232", "label": "ISYE 3232", "shape": "dot", "size": 8.94427190999916, "title": "Stochastic Mfg\u0026Serv Sys"}, {"color": "#8786e0", "font": {"color": "#ffffff"}, "id": "ISYE 3770", "label": "ISYE 3770", "shape": "dot", "size": 15.491933384829668, "title": "Statistics\u0026 Applications"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4031", "label": "ISYE 4031", "shape": "dot", "size": 6.324555320336759, "title": "Regression/Forecasting"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4034", "label": "ISYE 4034", "shape": "dot", "size": 6.324555320336759, "title": "Decision and Data Analytics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4045", "label": "ISYE 4045", "shape": "dot", "size": 6.324555320336759, "title": "Adv Simulation"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4106", "label": "ISYE 4106", "shape": "dot", "size": 6.324555320336759, "title": "Senior Design"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4133", "label": "ISYE 4133", "shape": "dot", "size": 6.324555320336759, "title": "Advanced Optimization"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4232", "label": "ISYE 4232", "shape": "dot", "size": 6.324555320336759, "title": "Advanced Stochastic Sys"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4301", "label": "ISYE 4301", "shape": "dot", "size": 6.324555320336759, "title": "Supply Chain Economics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4311", "label": "ISYE 4311", "shape": "dot", "size": 6.324555320336759, "title": "Capital Invest Analysis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4501", "label": "ISYE 4501", "shape": "dot", "size": 6.324555320336759, "title": "Energy, Effic \u0026 Sustain"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4698", "label": "ISYE 4698", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4699", "label": "ISYE 4699", "shape": "dot", "size": 6.324555320336759, "title": "Undergraduate Research"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4801", "label": "ISYE 4801", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4803", "label": "ISYE 4803", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6201", "label": "ISYE 6201", "shape": "dot", "size": 6.324555320336759, "title": "Manufacturing Systems"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6203", "label": "ISYE 6203", "shape": "dot", "size": 6.324555320336759, "title": "Transp\u0026Supply Chain Sys"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6230", "label": "ISYE 6230", "shape": "dot", "size": 6.324555320336759, "title": "Economic Decision Analy"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6320", "label": "ISYE 6320", "shape": "dot", "size": 6.324555320336759, "title": "Public Impact Apps of OR"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6336", "label": "ISYE 6336", "shape": "dot", "size": 6.324555320336759, "title": "Supply Chain Engrg II"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6337", "label": "ISYE 6337", "shape": "dot", "size": 6.324555320336759, "title": "Supply Chain Engrg III"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6338", "label": "ISYE 6338", "shape": "dot", "size": 6.324555320336759, "title": "Supply Chain Strategy"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6339", "label": "ISYE 6339", "shape": "dot", "size": 6.324555320336759, "title": "Supply Chain Info Sys"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6340", "label": "ISYE 6340", "shape": "dot", "size": 6.324555320336759, "title": "Seminar in Sup Chn Engrg"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "ISYE 6341", "label": "ISYE 6341", "shape": "dot", "size": 8.94427190999916, "title": "Capstone Project I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6342", "label": "ISYE 6342", "shape": "dot", "size": 6.324555320336759, "title": "Capstone Project II"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6380", "label": "ISYE 6380", "shape": "dot", "size": 6.324555320336759, "title": "Prod Plan \u0026 Control"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6382", "label": "ISYE 6382", "shape": "dot", "size": 6.324555320336759, "title": "Quality \u0026 Six Sigma"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6402", "label": "ISYE 6402", "shape": "dot", "size": 6.324555320336759, "title": "Time Series Analysis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6404", "label": "ISYE 6404", "shape": "dot", "size": 6.324555320336759, "title": "Nonparametric Data Analy"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6413", "label": "ISYE 6413", "shape": "dot", "size": 6.324555320336759, "title": "Dsgn \u0026 Analy-Experiments"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6414", "label": "ISYE 6414", "shape": "dot", "size": 6.324555320336759, "title": "Regression Analysis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6416", "label": "ISYE 6416", "shape": "dot", "size": 6.324555320336759, "title": "Computational Statistics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6420", "label": "ISYE 6420", "shape": "dot", "size": 6.324555320336759, "title": "Bayesian Statistics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6501", "label": "ISYE 6501", "shape": "dot", "size": 6.324555320336759, "title": "Intro Analytics Modeling"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6644", "label": "ISYE 6644", "shape": "dot", "size": 6.324555320336759, "title": "Simulation"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6645", "label": "ISYE 6645", "shape": "dot", "size": 6.324555320336759, "title": "Monte Carlo Methods"}, {"color": "#9ab6e1", "font": {"color": "#ffffff"}, "id": "ISYE 6661", "label": "ISYE 6661", "shape": "dot", "size": 10.954451150103322, "title": "Linear Optimization"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6662", "label": "ISYE 6662", "shape": "dot", "size": 6.324555320336759, "title": "Discrete Optimization"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6663", "label": "ISYE 6663", "shape": "dot", "size": 6.324555320336759, "title": "Nonlinear Optimization"}, {"color": "#93a7e1", "font": {"color": "#ffffff"}, "id": "ISYE 6669", "label": "ISYE 6669", "shape": "dot", "size": 12.649110640673518, "title": "Deterministic Optimiz"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6679", "label": "ISYE 6679", "shape": "dot", "size": 6.324555320336759, "title": "Computational Methods"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6701", "label": "ISYE 6701", "shape": "dot", "size": 6.324555320336759, "title": "Energy Technol \u0026 Policy"}, {"color": "#8d7fdf", "font": {"color": "#ffffff"}, "id": "ISYE 6739", "label": "ISYE 6739", "shape": "dot", "size": 16.73320053068151, "title": "Statistical Methods"}, {"color": "#a0c3e2", "font": {"color": "#ffffff"}, "id": "ISYE 6740", "label": "ISYE 6740", "shape": "dot", "size": 8.94427190999916, "title": "Computational Data Analy"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6748", "label": "ISYE 6748", "shape": "dot", "size": 6.324555320336759, "title": "Appld Analytics Pract"}, {"color": "#9ab6e1", "font": {"color": "#ffffff"}, "id": "ISYE 6761", "label": "ISYE 6761", "shape": "dot", "size": 10.954451150103322, "title": "Stochastic Processes I"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6762", "label": "ISYE 6762", "shape": "dot", "size": 6.324555320336759, "title": "Stochastic Processes II"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6769", "label": "ISYE 6769", "shape": "dot", "size": 6.324555320336759, "title": "Fixed Income Securities"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6783", "label": "ISYE 6783", "shape": "dot", "size": 6.324555320336759, "title": "Financial Data Analysis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6810", "label": "ISYE 6810", "shape": "dot", "size": 6.324555320336759, "title": "Sys Montr\u0026Prognostics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6832", "label": "ISYE 6832", "shape": "dot", "size": 6.324555320336759, "title": "Simulation Theory-Meth"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7000", "label": "ISYE 7000", "shape": "dot", "size": 6.324555320336759, "title": "Master\u0027s Thesis"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7201", "label": "ISYE 7201", "shape": "dot", "size": 6.324555320336759, "title": "Prod\u0026Service Sys Engg"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7204", "label": "ISYE 7204", "shape": "dot", "size": 6.324555320336759, "title": "Info Prod \u0026 Ser Sys"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7401", "label": "ISYE 7401", "shape": "dot", "size": 6.324555320336759, "title": "Adv Statistical Modeling"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7405", "label": "ISYE 7405", "shape": "dot", "size": 6.324555320336759, "title": "Multivariate Data Analy"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7406", "label": "ISYE 7406", "shape": "dot", "size": 6.324555320336759, "title": "Data Mining\u0026Stat Learn"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7683", "label": "ISYE 7683", "shape": "dot", "size": 6.324555320336759, "title": "Adv Nonlinear Prog"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7686", "label": "ISYE 7686", "shape": "dot", "size": 6.324555320336759, "title": "Adv Combinatorial Opt"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 7751", "label": "ISYE 7751", "shape": "dot", "size": 6.324555320336759, "title": "Graphical Models in ML"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8803", "label": "ISYE 8803", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8813", "label": "ISYE 8813", "shape": "dot", "size": 6.324555320336759, "title": "Special Topics in OR"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8900", "label": "ISYE 8900", "shape": "dot", "size": 6.324555320336759, "title": "Special Problems in ISYE"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8901", "label": "ISYE 8901", "shape": "dot", "size": 6.324555320336759, "title": "Special Problems in OR"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8997", "label": "ISYE 8997", "shape": "dot", "size": 6.324555320336759, "title": "Teaching Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 8998", "label": "ISYE 8998", "shape": "dot", "size": 6.324555320336759, "title": "Research Assistantship"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 9000", "label": "ISYE 9000", "shape": "dot", "size": 6.324555320336759, "title": "Doctoral Thesis"}, {"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": "MATH 2550", "label": "MATH 2550", "shape": "dot", "size": 15.491933384829668, "title": "Intro Multivariable Calc"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2551", "label": "MATH 2551", "shape": "dot", "size": 17.88854381999832, "title": "Multivariable Calculus"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2561", "label": "MATH 2561", "shape": "dot", "size": 16.73320053068151, "title": "Honors Multivar Calculus"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 3215", "label": "MATH 3215", "shape": "dot", "size": 16.73320053068151, "title": "Probability \u0026 Statistics"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 3225", "label": "MATH 3225", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 3235", "label": "MATH 3235", "shape": "dot", "size": 12.649110640673518, "title": "Probability Theory"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 3236", "label": "MATH 3236", "shape": "dot", "size": 8.94427190999916, "title": "Statistical Theory"}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6335", "label": "ISYE 6335", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6333", "label": "ISYE 6333", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2028", "label": "MATH 2028", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6412", "label": "ISYE 6412", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2406", "label": "MATH 2406", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 4231", "label": "ISYE 4231", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "PUBP 6114", "label": "PUBP 6114", "shape": "dot", "size": 10.954451150103322, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2401", "label": "MATH 2401", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2411", "label": "MATH 2411", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 24X1", "label": "MATH 24X1", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 2X51", "label": "MATH 2X51", "shape": "dot", "size": 15.491933384829668, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "MATH 6761", "label": "MATH 6761", "shape": "dot", "size": 12.649110640673518, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6405", "label": "ISYE 6405", "shape": "dot", "size": 8.94427190999916, "title": null}, {"color": "#a6cee3", "font": {"color": "#ffffff"}, "id": "ISYE 6401", "label": "ISYE 6401", "shape": "dot", "size": 10.954451150103322, "title": null}]);
edges = new vis.DataSet([{"arrows": "to", "from": "ISYE 2027", "to": "ISYE 3232"}, {"arrows": "to", "from": "ISYE 2027", "to": "ISYE 6761"}, {"arrows": "to", "from": "ISYE 3030", "to": "ISYE 3039"}, {"arrows": "to", "from": "ISYE 3030", "to": "ISYE 3106"}, {"arrows": "to", "from": "ISYE 3030", "to": "ISYE 4031"}, {"arrows": "to", "from": "ISYE 3044", "to": "ISYE 4045"}, {"arrows": "to", "from": "ISYE 3133", "to": "ISYE 3106"}, {"arrows": "to", "from": "ISYE 3133", "to": "ISYE 4133"}, {"arrows": "to", "from": "ISYE 3232", "to": "ISYE 4232"}, {"arrows": "to", "from": "ISYE 6341", "to": "ISYE 6342"}, {"arrows": "to", "from": "ISYE 6661", "to": "ISYE 6662"}, {"arrows": "to", "from": "ISYE 6661", "to": "ISYE 6663"}, {"arrows": "to", "from": "ISYE 6669", "to": "ISYE 6203"}, {"arrows": "to", "from": "ISYE 6669", "to": "ISYE 6230"}, {"arrows": "to", "from": "ISYE 6669", "to": "ISYE 6679"}, {"arrows": "to", "from": "ISYE 6739", "to": "ISYE 6402"}, {"arrows": "to", "from": "ISYE 6739", "to": "ISYE 6404"}, {"arrows": "to", "from": "ISYE 6739", "to": "ISYE 6413"}, {"arrows": "to", "from": "ISYE 6739", "to": "ISYE 6414"}, {"arrows": "to", "from": "ISYE 6739", "to": "ISYE 6701"}, {"arrows": "to", "from": "ISYE 6761", "to": "ISYE 6762"}, {"arrows": "to", "from": "MATH 2550", "to": "ISYE 2027"}, {"arrows": "to", "from": "MATH 2550", "to": "ISYE 3770"}, {"arrows": "to", "from": "MATH 2551", "to": "ISYE 2027"}, {"arrows": "to", "from": "MATH 2551", "to": "ISYE 3770"}, {"arrows": "to", "from": "MATH 2551", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 2561", "to": "ISYE 2027"}, {"arrows": "to", "from": "MATH 2561", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 3215", "to": "ISYE 3232"}, {"arrows": "to", "from": "MATH 3215", "to": "ISYE 6769"}, {"arrows": "to", "from": "MATH 3215", "to": "ISYE 6783"}, {"arrows": "to", "from": "MATH 3225", "to": "ISYE 3232"}, {"arrows": "to", "from": "MATH 3225", "to": "ISYE 6783"}, {"arrows": "to", "from": "MATH 3235", "to": "ISYE 3232"}, {"arrows": "to", "from": "MATH 3236", "to": "ISYE 3232"}, {"arrows": "to", "from": "ISYE 6335", "to": "ISYE 6336"}, {"arrows": "to", "from": "ISYE 6333", "to": "ISYE 6339"}, {"arrows": "to", "from": "MATH 2028", "to": "ISYE 6416"}, {"arrows": "to", "from": "ISYE 6412", "to": "ISYE 6420"}, {"arrows": "to", "from": "MATH 2406", "to": "ISYE 6661"}, {"arrows": "to", "from": "ISYE 4231", "to": "ISYE 6669"}, {"arrows": "to", "from": "PUBP 6114", "to": "ISYE 6701"}, {"arrows": "to", "from": "MATH 2401", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 2411", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 24X1", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 2X51", "to": "ISYE 6739"}, {"arrows": "to", "from": "MATH 6761", "to": "ISYE 6762"}, {"arrows": "to", "from": "MATH 6761", "to": "ISYE 6832"}, {"arrows": "to", "from": "ISYE 6405", "to": "ISYE 7204"}, {"arrows": "to", "from": "ISYE 6401", "to": "ISYE 7401"}, {"arrows": "to", "from": "ISYE 6401", "to": "ISYE 7405"}]);
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);
network.on("stabilizationProgress", function(params) {
document.getElementById('loadingBar').removeAttribute("style");
var maxWidth = 496;
var minWidth = 20;
var widthFactor = params.iterations/params.total;
var width = Math.max(minWidth,maxWidth * widthFactor);
document.getElementById('bar').style.width = width + 'px';
document.getElementById('text').innerHTML = Math.round(widthFactor*100) + '%';
});
network.once("stabilizationIterationsDone", function() {
document.getElementById('text').innerHTML = '100%';
document.getElementById('bar').style.width = '496px';
document.getElementById('loadingBar').style.opacity = 0;
// really clean the dom element
setTimeout(function () {document.getElementById('loadingBar').style.display = 'none';}, 500);
});
return network;
}
drawGraph();
</script>
</body>
</html>