forked from plessbd/ubrfets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
90 lines (80 loc) · 2.27 KB
/
index.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
<!doctype html>
<html>
<head>
<title>UB Reasearch Foundation Timesheet Database</title>
<link rel="stylesheet" href="styles/main.css"></link>
</head>
<body>
<div>
<select id="person">
<option value="Select">Select Person</option>
</select>
<select id="reports">
<option value="Select">Select Timesheet</option>
</select>
</div>
<div id="viewer"></div>
<script src="js/pdf.js"></script>
<script src="js/pdfRender.js"></script>
<script src="js/pdfForms.js"></script>
<script src="js/FileSaver.min.js"></script>
<script>
'use strict';
var formFields = {};
var peeps = document.getElementById("person");
var reports = document.getElementById("reports");
reports.addEventListener("change", function(ev){
var target = ev.target;
if(target.value !== "Select"){
promisedDatabase.then(function(data){
var thisUser = data[peeps.value],
thisTimesheet = thisUser.timeSheets[target.value];
setPdfField("Employee Name", thisUser.name);
setPdfField("Person Number", thisUser.id);
setPdfField("Report Period", target.options[target.selectedIndex].text);
if(thisUser.isFullTime) {
setPdfField("Full Time", true);
}
else {
setPdfField("Part Time", true);
}
renderTimesheet();
});
}
});
var promisedDatabase = fetch('/js/database.json').then(function(response) {
return response.json();
});
promisedDatabase.then(function(data){
var len = data.length;
while(len--){
peeps.add(new Option(data[len].name, len));
}
});
peeps.addEventListener("change", function(ev) {
var curLength = reports.options.length;
while(curLength--){
reports.remove(curLength);
}
reports.add(new Option("Select Timesheet", "Select"));
if(ev.target.value !== "Select"){
promisedDatabase.then(function(data){
var usersTimesheets = data[ev.target.value].timeSheets;
var timeSheetIndexes = Object.keys(usersTimesheets);
var reportsLen = timeSheetIndexes.length;
while(reportsLen--){
var tsDisplay = timeSheetIndexes[reportsLen]
reports.add(new Option(tsDisplay, tsDisplay));
}
});
}
})
function saveDatabase(){
var blob = new Blob([JSON.stringify(Users)], {
type: "application/json;charset=utf-8"
});
saveAs(blob, "timeSheetDatabase.json");
}
</script>
</body>
</html>