sf-static/alternative-web/render.js

86 lines
2.3 KiB
JavaScript
Raw Permalink Normal View History

2023-02-28 18:21:07 +00:00
const fs = require('fs');
// Papa.parsePromise = function(file) {
// return new Promise(function(complete, error) {
// Papa.parse(file, {complete, error});
// });
// };
function getCsv(){
return fetch('db.csv')
.then(response => response.text())
.then(text => {
const config ={
header: true
};
var result =Papa.parse(text, config);
console.group('csv');
console.log(result.data[0]);
console.groupEnd('csv');
return result.data;
// (returns Promise)
});
}
function renderHello() {
getCsv().then((csvResult)=>{
var categorizedList = [];
var sortedList = csvResult.sort(function(a,b){
return b.followers - a.followers;
});
sortedList.forEach((row) => {
if(row.name == '')
{
return;
}
row.category.split(',').forEach((thisCategory) => {
thisCategory = thisCategory.trim();
var existingCategory = categorizedList.filter(e => e.category === thisCategory);
if(existingCategory.length == 0){
var newCategory = {};
newCategory.category = thisCategory;
var newItemsArray = [];
newItemsArray.push(row);
newCategory.items = newItemsArray;
categorizedList.push(newCategory);
console.group('new');
console.log(newCategory);
console.groupEnd('new');
}else{
existingCategory[0].items.push(row);
console.group('exist');
console.log(existingCategory);
console.groupEnd('exist');
}
});
});
console.log(categorizedList);
fetch('item.mustache.txt')
.then((response) => response.text())
.then((template) => {
var rendered = Mustache.render(template, { categories: categorizedList } );
document.getElementById('target').innerHTML = rendered;
});
});
}