From 8174957976253b818140d6c4fdb7a7c7a3b7be59 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Fri, 19 Jun 2026 06:28:52 +0000 Subject: [PATCH] clean up unused chart functions --- app.js | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/app.js b/app.js index 891de36..c1d096d 100644 --- a/app.js +++ b/app.js @@ -1,26 +1,4 @@ -var charts = {}; - -document.getElementById('uploadBtn').addEventListener('click', function() { - document.getElementById('excelFile').click(); -}); - -document.getElementById('excelFile').addEventListener('change', function(e) { - var file = e.target.files[0]; - if (!file) return; - document.getElementById('statusMsg').textContent = 'Загрузка: ' + file.name + '...'; - - var reader = new FileReader(); - reader.onload = function(ev) { - try { - var arr = new Uint8Array(ev.target.result); - var wb = XLSX.read(arr, {type: 'array'}); - var ws = wb.Sheets[wb.SheetNames[0]]; - var rows = XLSX.utils.sheet_to_json(ws, {defval: ''}); - if (!rows.length) { document.getElementById('statusMsg').textContent = 'Файл пуст'; return; } - build(rows); - } catch(err) { - document.getElementById('statusMsg').textContent = 'Ошибка: ' + err.message; - } +// Chart utility functions removed - using tables instead }; reader.readAsArrayBuffer(file); }); @@ -114,24 +92,6 @@ function build(raw) { document.querySelector('#tblAll tbody').innerHTML = d.map(function(r){ return ''+(r.name||'')+''+(r.division||'')+''+(r.course||'')+''+(r.status||'')+''+(r.score||'')+''+(r.trainer||'')+''; }).join(''); - - var cph = {}; - d.forEach(function(r){if(!cph[r.name])cph[r.name]={d:r.division||'',c:{} };if(r.course)cph[r.name].c[r.course]=true}); - var champs=Object.keys(cph).map(function(n){return{name:n,div:cph[n].d,cnt:Object.keys(cph[n].c).length}}) - .sort(function(a,b){return b.cnt-a.cnt}).slice(0,10); - document.querySelector('#tblChamp tbody').innerHTML = champs.map(function(c){ - return ''+c.name+''+c.div+''+c.cnt+''; - }).join(''); - - var noT=Object.keys(allN).filter(function(n){return !doneN[n]}); - document.querySelector('#tblNoTrain tbody').innerHTML = noT.slice(0,20).map(function(n){ - return ''+n+''+(cph[n]?cph[n].d:'')+''; - }).join(''); - - document.querySelector('#tblAll tbody').innerHTML = d.map(function(r){ - var cls=done(r.status)?'status-completed':'status-not-started'; - return ''+(r.name||'')+''+(r.division||'')+''+(r.course||'')+''+(r.status||'')+''+(r.score||'')+''+(r.trainer||'')+''; - }).join(''); } function barH(id, labels, ds) {