.green {
background-color: lightgreen;
}
-@media only screen and (min-width: 62rem) {
- .tables {
- display: flex;
- flex-direction: row;
- gap: 1rem;
- align-items: start;
- justify-content: center;
- }
+#diag {
+ width: 100%;
+ height: 40rem;
}
@media only screen and (max-width: 40rem) {
th {
font-weight: bold;
content: attr(data-cell) ": ";
}
-}
\ No newline at end of file
+}
+@media only screen and (min-width: 62rem) {
+ .tables {
+ display: flex;
+ flex-direction: row;
+ gap: 1rem;
+ align-items: start;
+ justify-content: center;
+ }
+}
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="viewer.css">
- <script type="text/javascript" src="viewer.js"></script>
</head>
<body>
+ <script type="text/javascript" src="viewer.js"></script>
+ <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<main>
<div class="fileinput">
<label>Zeitkonto-Datei: </label>
</table>
</div>
</div>
+ <div id="diag"></div>
</main>
</body>
</html>
\ No newline at end of file
tableElement.append(trElement)
}
+function loadChart(chartData) {
+ google.charts.load('current',{packages:['corechart']});
+ google.charts.setOnLoadCallback(() => {
+ const data = google.visualization.arrayToDataTable(chartData);
+
+ const options = {
+ title: 'Verlauf der Salden',
+ hAxis: {title: 'Datum'},
+ vAxis: {title: 'Saldo'},
+ legend: 'none'
+ };
+
+ const diag = document.getElementById('diag');
+ const chart = new google.visualization.LineChart(diag);
+ chart.draw(data, options);
+ });
+}
+
+function convertSaldoToHour(saldo) {
+ const numbers = saldo.split(":");
+ let hours = Number(numbers[0]);
+ hours += Number(numbers[1]) / 60;
+
+ return hours;
+}
+
function loadFile() {
const fileinput = document.getElementById("filepath");
const element = document.getElementById("content");
appendHeader(tableElement)
const count = rootNode.childElementCount;
+ const chartData = [];
+ chartData.push(["datum", "saldo"]);
for (let i = 0; i < count; i++) {
+ chartData.push([rootNode.children[i].getAttribute("datum"),
+ convertSaldoToHour(rootNode.children[i].getAttribute("saldo"))]);
appendRow(rootNode.children[i], tableElement);
}
-
element.append(tableElement);
+ loadChart(chartData);
};
filereader.readAsText(fileinput.files[0]);
}
\ No newline at end of file