grouping mail archive by year-month

This commit is contained in:
2022-04-24 11:08:04 +02:00
parent ff7497f261
commit fbf3591839
8 changed files with 77 additions and 21 deletions

View File

@@ -11,6 +11,7 @@
«userinfo()»
«messages()»
<h1>Widerhall List Archive</h1>
«if(data.month)»
<table id="archive">
<tr>
<th>Date</th>
@@ -18,9 +19,20 @@
<th>Subject</th>
</tr>
</table>
<script type="text/javascript">
loadArchive('«data.list»','«data.month»');
</script>
«else»
<table id="archive">
<tr>
<th>Month</th>
<th>Number of messages</th>
</tr>
</table>
<script type="text/javascript">
loadArchiveSummary('«data.list»');
</script>
«endif»
«footer()»
</body>
<script type="text/javascript">
loadArchive('«data.list»');
</script>
</html>

View File

@@ -40,8 +40,12 @@ function hideList(listEmail){
$.post('/api/list/hide',{list:listEmail},showListResult,'json');
}
function loadArchive(listEmail){
$.get('/api/list/archive?list='+listEmail,showListArchive,'json');
function loadArchive(listEmail,month){
$.get('/api/list/archive?month='+month+'&list='+listEmail,showListArchive,'json');
}
function loadArchiveSummary(listEmail){
$.get('/api/list/archive?list='+listEmail,showListArchiveSummary,'json');
}
function loadListDetail(listEmail){
@@ -73,15 +77,28 @@ function showList(listEmail){
}
function showListArchive(data){
for (let time in data.archive){
let post = data.archive[time];
console.log(data);
let posts = data.archive.posts;
for (let time in posts){
let post = posts[time];
let row = $('<tr/>');
var url = 'post?id='+post.id;
$('<td/>').html('<a href="'+url+'">'+new Date(post.date)+'</a>').appendTo(row);
$('<td/>').html('<a href="'+url+'">'+post.date+'</a>').appendTo(row);
$('<td/>').html('<a href="'+url+'">'+post.from_name+'</a>').appendTo(row);
$('<td/>').html('<a href="'+url+'">'+post.subject+'</a>').appendTo(row);
row.appendTo($('#archive'));
console.log(post);
}
}
function showListArchiveSummary(data){
console.log(data);
let summary = data.archive.summary;
for (let month in summary){
let url = 'archive?month='+month+'&list='+data.archive.list;
let row = $('<tr/>');
$('<td/>').html('<a href="'+url+'">'+month+'</a>').appendTo(row);
$('<td/>').html('<a href="'+url+'">'+summary[month]+'</a>').appendTo(row);
row.appendTo($('#archive'));
}
}