-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
82 lines (71 loc) · 2.35 KB
/
index.html
File metadata and controls
82 lines (71 loc) · 2.35 KB
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
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="./lib/style.css"/>
<script type="text/javascript" src="./lib/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="./lib/d3.js"></script>
<script type="text/javascript" src="./lib/d3-selection-multi.js"></script>
<script type="text/javascript" src="./lib/objects.js"></script>
<script type="text/javascript">
var menu = null;
var CLIENT_ID = '';
var API_KEY = 'AIzaSyDWjO2WcW9R4f5ZQfe2akasaKYp0cr2_zg';
var SCOPES = "https://www.googleapis.com/auth/spreadsheets.readonly";
var SPREADSHEET = '1S4ohxxotVYMcjiwDyZiq-w7C_5TC800bTlLy3FWzVs8';
var DISCOVERY_DOCS = ["https://sheets.googleapis.com/$discovery/rest?version=v4"];
function handleClientLoad() {
menu = new Menu(".menu-area")
menu.updateAll();
gapi.load('client', initClient);
}
function initClient() {
gapi.client.init({
apiKey: API_KEY,
discoveryDocs: DISCOVERY_DOCS,
scopes: SCOPES
}).then(function(){
getSheet();
});
}
function getSheet(){
gapi.client.sheets.spreadsheets.get({
spreadsheetId: SPREADSHEET,
includeGridData: true,
ranges: ['Config!A1:B4', 'Categories!A:C', 'Topics!A:D', 'Courses!A:H']
}).then(function(response){
menu.loadFromServer(response.result.sheets[0].data[0], response.result.sheets[1].data[0], response.result.sheets[2].data[0], response.result.sheets[3].data[0]);
menu.loading = false;
menu.updateAll();
});
}
// Button Functions
function panelSlide(ev){
var parent = ev.target.parentElement;
if(parent.classList.contains("active")){
parent.classList.remove("active")
}else{
parent.classList.add("active")
}
return false;
}
</script>
<script async defer src="https://apis.google.com/js/api.js"
onload="this.onload=function(){};handleClientLoad()"
onreadystatechange="if (this.readyState === 'complete') this.onload()">
</script>
</head>
<body>
<div class="menu-area" style="height: 100vh; width: 100%">
<div class="map-menu">
<!-- TODO: Make as expandable -->
<svg class="map"></svg>
</div>
<div class="side-menu active">
<div class="menu">
<div class="title-bar menu-title"></div>
</div>
<div class="btn btn-expansion" onclick="return panelSlide(event)"></div>
</div>
</div>
</body>
</html>