41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
function articleSort(articles, mode = 'byDate') {
|
|
let sortArray = [];
|
|
switch(mode) {
|
|
case 'byDate':
|
|
for (let id in articles) {
|
|
let timeStamp = articles[id]['Alter'];
|
|
sortArray.push({[timeStamp]: articles[id]})
|
|
}
|
|
sortArray.sort((a,b) => Date.parse(b) - Date.parse(a));
|
|
let dateSortArray = [];
|
|
for (let sortId in sortArray) {
|
|
let objName = Object.keys(sortArray[sortId])[0]
|
|
dateSortArray.push(sortArray[sortId][objName]);
|
|
}
|
|
articles = dateSortArray;
|
|
break;
|
|
case 'byPrio':
|
|
sortArray = [];
|
|
let sortArray2 = [];
|
|
let sortArray3 = [];
|
|
for (let id in articles) {
|
|
if (articles[id]['prio'] == 'pinned') {
|
|
sortArray.push(articles[id])
|
|
} else if (articles[id]['prio'] == 'important') {
|
|
sortArray3.push(articles[id])
|
|
} else {
|
|
sortArray2.push(articles[id]);
|
|
}
|
|
}
|
|
let sortArrayPrio = sortArray.concat(sortArray3);
|
|
articles = sortArrayPrio.concat(sortArray2);
|
|
break;
|
|
case 'byPlace':
|
|
break;
|
|
case 'byKind':
|
|
break;
|
|
}
|
|
return articles
|
|
}
|
|
|
|
export default articleSort; |