aboutsummaryrefslogtreecommitdiffstats
path: root/public/js/app.js
blob: c6899a71f6671c7cc30543eb96efb3eabbc5283d (plain) (blame)
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
/*
    Social program for Ramaskrik.
    Copyright (C) 2019  Harald Eilertsen <haraldei@anduin.net>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/

function fetch_rooms(data_done) {
    let req = new XMLHttpRequest()
    req.addEventListener("load", data_done)
    req.open("GET", "http://localhost:8000/rooms")
    req.responseType = "json"
    req.send()
}

function load_screenings(data_done) {
    let req = new XMLHttpRequest()
    req.addEventListener("load", data_done)
    req.open("GET", "http://localhost:8000/screenings")
    req.responseType = "json"
    req.send()
}

function pluralize(num, word) {
    let result = num + " " + word

    if (num > 1) {
        result += "s"
    }

    return result
}

function log_film(film) {
    console.log(film["title"]
    + " ("
    + pluralize(film["screenings"].length, "screening")
    + ")")
}

window.addEventListener("load", function() {
    load_screenings(function() {
        console.log(this.response)
        this.response.forEach(function(screening) {
            console.log(screening.film.title + "@" + screening.room.name + ": " + screening.date)
        })
    })

    fetch_rooms(function() {
        let table = document.getElementById("screening-table")
        let row = document.createElement("tr")
        table.appendChild(row)

        this.response.forEach(function(room) {
            console.log(room["name"])
            let item = document.createElement("th")
            item.innerHTML = room["name"]
            row.appendChild(item)
        })
    })
    console.log("Holahey!")
})