diff --git a/css/custom.css b/css/custom.css new file mode 100644 index 0000000..75d0e35 --- /dev/null +++ b/css/custom.css @@ -0,0 +1,3 @@ +.active { + background-color: lightgray; +} \ No newline at end of file diff --git a/index.html b/index.html index 31c48af..2d0bea6 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,7 @@ + @@ -15,7 +16,7 @@ - @@ -43,25 +44,36 @@ 0 + + + 0 + + + 0 + + + 0 + + - + - + - + - + - + @@ -73,11 +85,11 @@

Abgeschlossene Themen

- - + +
-
+ Thema @@ -109,6 +121,7 @@ if(!closedTopics) { closedTopics = [] } + watches = JSON.parse(localStorage.getItem("watches")) if(!watches){ reset() diff --git a/js/functions.js b/js/functions.js index 7ebc72a..28c419e 100644 --- a/js/functions.js +++ b/js/functions.js @@ -1,5 +1,5 @@ function reset() { - watches = [{"actions": []}, {"actions": []}, {"actions": []}] + actualTopic.watches = [{"actions": []}, {"actions": []}, {"actions": []}] saveWatchesToLocalStorage() } @@ -106,6 +106,22 @@ function sumForWatch(watch) { return summe } +function countForWatch(watch) { + return watch["actions"].length / 2 +} + +function calcPercCountForWatch(watchindex, topic) { + let sumAll = sumCountAllWatches(topic) + if(sumAll == 0) { + return 0 + } + return Math.round(countForWatch(topic.watches[watchindex]) / sumAll * 100) +} + +function sumCountAllWatches(topic){ + return countForWatch(topic.watches[0]) + countForWatch(topic.watches[1]) + countForWatch(topic.watches[2]) +} + function sumAllwatches(topic) { return sumForWatch(topic.watches[0]) + sumForWatch(topic.watches[1]) + sumForWatch(topic.watches[2]) } @@ -115,13 +131,15 @@ function timeToISO(time){ } function refreshWatch(watchIndex) { - let cell = document.getElementById("time-" + watchIndex) - cell.textContent = timeToISO(sumForWatch(watches[watchIndex])) + let timeCell = document.getElementById("time-" + watchIndex) + timeCell.textContent = timeToISO(sumForWatch(watches[watchIndex])) if(watches[watchIndex]["actions"].length != 0 && watches[watchIndex]["actions"].slice(-1)[0]["type"] == "start"){ - cell.classList.add("active") + timeCell.classList.add("active") } else { - cell.classList.remove("active") + timeCell.classList.remove("active") } + let countCell = document.getElementById("count-" + watchIndex) + countCell.textContent = countForWatch(watches[watchIndex]) + " Wortmeldungen" } function refreshClosedTopics() { @@ -135,19 +153,19 @@ function refreshClosedTopics() { let time0 = elt("div") time0.textContent = timeToISO(sumForWatch(topic.watches[0])) + " (" + calcPercForWatch(0, topic) + "%)" let count0 = elt("div") - count0.textContent = ((topic.watches[0]["actions"].length) / 2) + " Wortmeldungen" + count0.textContent = countForWatch(topic.watches[0]) + " Wortmeldungen (" + calcPercCountForWatch(0, topic) + "%)" let time0Column = elt("td", {}, time0, count0) let time1 = elt("div") time1.textContent = timeToISO(sumForWatch(topic.watches[1])) + " (" + calcPercForWatch(1, topic) + "%)" let count1 = elt("div") - count1.textContent = ((topic.watches[1]["actions"].length) / 2) + " Wortmeldungen" + count1.textContent = ((topic.watches[1]["actions"].length) / 2) + " Wortmeldungen (" + calcPercCountForWatch(1, topic) + "%)" let time1Column = elt("td", {}, time1, count1) let time2 = elt("div") time2.textContent = timeToISO(sumForWatch(topic.watches[2])) + " (" + calcPercForWatch(2, topic) + "%)" let count2 = elt("div") - count2.textContent = ((topic.watches[2]["actions"].length) / 2) + " Wortmeldungen" + count2.textContent = ((topic.watches[2]["actions"].length) / 2) + " Wortmeldungen (" + calcPercCountForWatch(2, topic) + "%)" let time2Column = elt("td", {}, time2, count2) let reopenButton = elt("button", {"onclick": "reopenTopic(" + i + ")"})