/
script.js
126 lines (99 loc) · 3.72 KB
/
script.js
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
var firebaseConfig = {
apiKey: "AIzaSyAltMfeb-pzQUfQz-pfTnh2jfwBFVzhPq0",
authDomain: "ohforms.firebaseapp.com",
databaseURL: "https://ohforms.firebaseio.com",
projectId: "ohforms",
storageBucket: "ohforms.appspot.com",
messagingSenderId: "1039072712651",
appId: "1:1039072712651:web:42c05751974f27287b084e",
measurementId: "G-5T2BPCY1LF"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
var database = firebase.database();
var ref = database.ref("/form-list");
function gotData(data) {
var forms = data.val();
var keys = Object.keys(forms);
var formList_div = document.getElementById('formList')
formList_div.innerHTML = ""
for (var i = 0; i < keys.length; i++) {
let k = keys[i];
// let outer_div = document.createElement("div")
// outer_div.classList.add("form-list-item")
// let name_p = document.createElement("p")
// let link_a = document.createElement("a")
// link_a.href = `/formbuilder/?k=${k}`
// link_a.innerText = forms[k].name;
// let date_p = document.createElement("p")
// date_p.innerText = forms[k].creationDate;
// let delete_button = document.createElement("span")
// delete_button.onclick = () => {
// database.ref("/form-list/" + k).remove()
// }
// delete_button.classList.add("del")
// delete_button.innerText = "\u2715"
// name_p.append(link_a)
// outer_div.append(name_p, date_p, delete_button)
// formList_div.append(outer_div)
// New
let outer_div = document.createElement("a")
outer_div.classList.add("form-list-item")
outer_div.href = `/formbuilder/?k=${k}`
let name_p = document.createElement("label")
name_p.classList.add("form-name")
name_p.innerText = forms[k].name;
let date_p = document.createElement("label")
date_p.classList.add("form-date")
date_p.innerText = forms[k].creationDate;
let delete_button = document.createElement("span")
delete_button.onclick = () => {
outer_div.href = "#";
database.ref("/form-list/" + k).remove()
}
delete_button.classList.add("del")
delete_button.innerHTML = `<i class="fas fa-trash-alt"></i>`
outer_div.append(name_p, date_p, delete_button)
formList_div.append(outer_div)
}
}
function errData(err) {
console.log("Error");
console.log(err);
}
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
// User is signed in.
document.getElementById("logged-in").style.display = "flex";
document.getElementById("logged-out").style.display = "none";
ref.on('value', gotData, errData);
} else {
// No user is signed in.
document.getElementById("logged-in").style.display = "none";
document.getElementById("logged-out").style.display = "flex";
}
});
function newForm() {
var data = {
name: "Untitled",
content: `<p id="initial-msg">No questions have been added yet.</p>`,
qID: 0,
creationDate: new Date().toLocaleDateString()
}
var link = ref.push(data)
window.location.href = `/formbuilder/?k=${link.key}`
}
function login() {
var email = document.getElementById("email").value
var password = document.getElementById("password").value
firebase.auth().signInWithEmailAndPassword(email, password).catch(function (error) {
console.log(error.code)
console.log(error.message)
window.alert(error.message)
});
document.getElementById("email").value = ""
document.getElementById("password").value = ""
}
function logout() {
firebase.auth().signOut();
}