-
Notifications
You must be signed in to change notification settings - Fork 2
/
demo.html
91 lines (80 loc) · 3.32 KB
/
demo.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>
Bluegenes Human Tissue Expression Visualizer
</title>
<!-- You can assume imjs is on the window. -->
<script src="node_modules/imjs/dist/im.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script crossorigin src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script crossorigin src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<!-- These are styles that will be inherited from bluegenes -->
<link rel="stylesheet" href="css/site.css">
<!-- These are the styles YOU implement in src/style.less -->
<link rel="stylesheet" href="dist/style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
<script>
var socket = io("http://localhost:3457");
socket.on('reload', function(){
document.location.reload();
});
</script>
</head>
<body>
<div class="bluegenesHumanTissueExpressionVisualizer" id='yourDiv' />
<script>
window.onload = function() {
//The element to attach the viewer to. Must be an existing DOM element
var elem = document.getElementById('yourDiv'),
//InterMine service, including URL and token.
imURL = {
root: 'https://www.humanmine.org/humanmine',
//could include token here too if we had one
},
//this is an example of data that could be passed to this tool be BlueGenes
//in reality (outside the demo) this would be dynamic and not hard-coded
// to an ID.
dataToInitialiseToolWith = {
Gene: {
class: 'Gene',
format: 'ids',
// right now this id corresponds to Human GATA1
// this is a bit fragile since IDs change with every build
// but we don't want to make the code more complicated than
// needed for the demo.
value: [1117907, 1144839, 1067416, 1218598, 1205381]
}
},
toolState = {}, //to be confirmed how we use this.
navigate = function(type, data, mine) {
// Helpful console message when calling navigate function.
var someMine = mine ? "on ".concat(mine) : null;
var msg = ["Navigating to", type, someMine, "with data:"]
.filter(function(e) { return e }) // remove falsy elements
.join(" ");
console.log(msg, data);
};
// THIS LINE IS THE IMPORTANT BIT. YOU SHOULDN'T NEED TO EDIT IT
// the method signature should match the signature in src/index.js
$.ajax('config.json').then(function(config) {
bluegenesHumanTissueExpressionVisualizer.main(
elem,
imURL,
dataToInitialiseToolWith,
toolState,
config,
navigate
);
});
};
</script>
<script src="dist/bundle.js"></script>
</body>
</html>