Update custom.html
parent
556b7838ce
commit
137b9feaaa
|
|
@ -3,36 +3,30 @@
|
|||
<link rel="stylesheet" href="../../css/spectre.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<p>Data Tesst 2</p>
|
||||
<p>Data Test 2</p>
|
||||
<script src="../../core/lib/customize.js"></script>
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<div id="storageInfo"></div>
|
||||
<div id="piechart" style="width: 900px; height: 500px;"></div>
|
||||
|
||||
<script>
|
||||
let globalApps = [];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Called when we know what device we're using
|
||||
function onInit(device) {
|
||||
Util.showModal("Reading Storage...");
|
||||
Puck.eval(`require("Storage").list(/\\.info$/).map(appInfoName => {
|
||||
let appInfo = require("Storage").readJSON(appInfoName,1)||{};
|
||||
//print(appInfoName, appInfo);
|
||||
var fileSize = 0, dataSize = 0;
|
||||
appInfo.files.split(",").forEach(f => fileSize += require("Storage").read(f).length);
|
||||
var data = (appInfo.data||"").split(";");
|
||||
function wildcardToRegexp(wc) {
|
||||
return new RegExp("^"+wc.replaceAll(".","\\\\.").replaceAll("?",".*")+"$");
|
||||
}
|
||||
// normal files
|
||||
if (data[0]) data[0].split(",").forEach(wc => {
|
||||
require("Storage").list(wildcardToRegexp(wc), {sf:false}).forEach(f => {
|
||||
dataSize += require("Storage").read(f).length
|
||||
});
|
||||
});
|
||||
// storage files
|
||||
if (data[1]) data[1].split(",").forEach(wc => {
|
||||
require("Storage").list(wildcardToRegexp(wc), {sf:true}).forEach(f => {
|
||||
dataSize += require("Storage").open(f,"r").getLength();
|
||||
|
|
@ -40,10 +34,13 @@
|
|||
});
|
||||
return [appInfo.id, fileSize, dataSize];
|
||||
})`, function(apps) {
|
||||
apps.sort((a,b) => (b[1]+b[2]) - (a[1]+a[2]));
|
||||
Util.hideModal();
|
||||
console.log(apps);
|
||||
globalApps = apps.sort((a,b) => (b[1]+b[2]) - (a[1]+a[2]));
|
||||
|
||||
if (apps.length === 0) {
|
||||
document.getElementById("storageInfo").innerHTML = "<p>No apps found</p>";
|
||||
return;
|
||||
}
|
||||
|
||||
document.getElementById("storageInfo").innerHTML = `
|
||||
<table class="table table-striped">
|
||||
|
|
@ -65,33 +62,33 @@
|
|||
</tr>`).join("")}
|
||||
</tbody>
|
||||
</table>`;
|
||||
if (apps.length === 0) {
|
||||
document.getElementById("storageInfo").innerHTML = "<p>No apps found</p>";
|
||||
}
|
||||
|
||||
drawChart(); // Now safe to call
|
||||
});
|
||||
}
|
||||
|
||||
function drawChart() {
|
||||
if (globalApps.length === 0) return;
|
||||
|
||||
var data = google.visualization.arrayToDataTable([
|
||||
${apps.map(app => `
|
||||
[${app[0]},${app[1]+app[2]}],
|
||||
).join("")}
|
||||
const chartData = [
|
||||
['App', 'Total Size']
|
||||
].concat(globalApps.map(app => [app[0], app[1] + app[2]]));
|
||||
|
||||
]);
|
||||
const data = google.visualization.arrayToDataTable(chartData);
|
||||
|
||||
var options = {
|
||||
title: 'App Storage'
|
||||
const options = {
|
||||
title: 'App Storage Breakdown',
|
||||
is3D: true
|
||||
};
|
||||
|
||||
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
|
||||
|
||||
const chart = new google.visualization.PieChart(document.getElementById('piechart'));
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
}
|
||||
google.charts.load('current', {'packages':['corechart']});
|
||||
google.charts.setOnLoadCallback(drawChart);
|
||||
|
||||
google.charts.setOnLoadCallback(() => {
|
||||
drawChart();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in New Issue