Updated alldata page

This commit is contained in:
MrFry 2020-01-25 21:29:59 +01:00
parent 163736979f
commit 2247143ed2
2 changed files with 70 additions and 18 deletions

View file

@ -99,8 +99,29 @@ app.get('/legacy', function (req, res) {
}, 0) }, 0)
let scount = data.length let scount = data.length
let grouped = data.Subjects.reduce((res, s) => {
let sName = s.getSubjNameWithoutYear()
if (sName) {
if (!res[sName]) {
res[sName] = []
}
res[sName].push(s)
} else {
res.others.push(s)
}
return res
}, {
others: []
})
const ordered = {}
Object.keys(grouped).sort().forEach((key) => {
ordered[key] = grouped[key]
})
res.render('alldata', { res.render('alldata', {
data: data, data: data,
orderedData: ordered,
scount: scount, scount: scount,
qcount: qcount, qcount: qcount,
siteurl: url siteurl: url

View file

@ -79,7 +79,7 @@
<% include aludni.ejs %> <% include aludni.ejs %>
<% for (var i = 0; i < data.Subjects.length; i++) { %> <% Object.keys(orderedData).sort().forEach((key, i) => { %>
<button <button
class="collapsible" class="collapsible"
style='<%= i % 2 === 0 ? "background-color: #2f2f37" : "" %>' style='<%= i % 2 === 0 ? "background-color: #2f2f37" : "" %>'
@ -87,27 +87,58 @@
onmouseleave='mouseLeave(this, <%= i %>)' onmouseleave='mouseLeave(this, <%= i %>)'
> >
<h2> <h2>
<table id=<%=i%>> <table id=<%=i%>>
<td> <td>
<%=data.Subjects[i].Name %> <%= key %>
</td> </td>
<td style="vertical-align:middle;text-align:right"> <td style="vertical-align:middle;text-align:right">
<%=data.Subjects[i].length %> <%= orderedData[key].reduce((acc, item) => {
</td> acc += item.Questions.length
</table> return acc
}, 0)%>
</td>
</table>
</h2> </h2>
</button> </button>
<div class="content"> <div class="content">
<% var a = data.Subjects[i].toString().split('\n')%>
<% for (var j = 1; j < a.length; j++) { %>
<% if (a[j][0] == '?') { %> <% orderedData[key].forEach((subj, i) => { %>
</br> <button
<% } %> class="collapsible"
<%=a[j] %> style='<%= i % 2 === 0 ? "background-color: #2f2f37" : "" %>'
</br> onmouseenter='mouseEnter(this, <%= i %>)'
<% } %> onmouseleave='mouseLeave(this, <%= i %>)'
>
<h2>
<table id=<%=i%>>
<td>
<%=subj.Name %>
</td>
<td style="vertical-align:middle;text-align:right">
<%=subj.length %>
</td>
</table>
</h2>
</button>
<div class="content">
<% var a = subj.toString().split('\n')%>
<% for (var j = 1; j < a.length; j++) { %>
<% if (a[j][0] == '?') { %>
</br>
<% } %>
<%=a[j] %>
</br>
<% } %>
</div>
<% }) %>
</div> </div>
<% } %> <% }) %>
<script> <script>
var coll = document.getElementsByClassName("collapsible"); var coll = document.getElementsByClassName("collapsible");
var i; var i;