diff --git a/index.html b/index.html index d2b99d004372b0019dd73d9247391cf2435b372f..ca715fc8747c1cdb7b236e1c67012027a9a06764 100644 --- a/index.html +++ b/index.html @@ -134,14 +134,6 @@ <table id="instancesTable" class="display" style="width:100%"> <thead> <tr> - <th> - <span lang="es">Medición</span> - <span lang="de">Test</span> - <span lang="en">Test</span> - <span lang="fr">Test</span> - <span lang="ca">Test</span> - <span lang="it">Test</span> - </th> <th> <span lang="es">Dirección web</span> <span lang="de">Webseite</span> @@ -151,20 +143,20 @@ <span lang="it">Indirizzo web</span> </th> <th> - <span lang="es">Velocidad, kbps</span> - <span lang="de">Geschwindigkeit, kbps</span> - <span lang="en">Speed, kbps</span> - <span lang="fr">Vitesse, kbps</span> - <span lang="ca">Velocitat, kbps</span> - <span lang="it">Velocità, kbps</span> + <span lang="es">Velocidad</span> + <span lang="de">Geschwindigkeit</span> + <span lang="en">Speed</span> + <span lang="fr">Vitesse</span> + <span lang="ca">Velocitat</span> + <span lang="it">Velocità</span> </th> <th> - <span lang="es">Respuesta, ms</span> - <span lang="de">Antwort, ms</span> - <span lang="en">Response, ms</span> - <span lang="fr">Réponse, ms</span> - <span lang="ca">Resposta, ms</span> - <span lang="it">Risposta, ms</span> + <span lang="es">Respuesta</span> + <span lang="de">Antwort</span> + <span lang="en">Response</span> + <span lang="fr">Réponse</span> + <span lang="ca">Resposta</span> + <span lang="it">Risposta</span> </th> <th> <span lang="es">País</span> diff --git a/jitsimeter.js b/jitsimeter.js index 1bf567e0aabd12d3bf0ff1fdd9c83d64ba1181b2..b4b76de91aaf9e29e4116604ef6a926c9554dcda 100644 --- a/jitsimeter.js +++ b/jitsimeter.js @@ -25,15 +25,14 @@ $(document).ready(function() { "ajax": instancesURL, stateSave: true, info: false, - order: 3, + order: 2, scrollX: true, fixedHeader: true, "paging": false, "columns": [ - { "data": "tested", className: "dt-body-center", defaultContent: "-", render: function(value) { return (value === true) ? "✔" : (value === window.undefined) ? "-" : (value === "progress") ? "⟳" : "✖"; } }, { "data": "domain", render: function(value, a, data) { return "<a href='https://"+value+"' class='openMeetingDialog'>"+value+"</a>"+ (data.authEnabled ? " 🔒" : ""); } }, - { "data": "download", type: "num", defaultContent: "-", className: "dt-body-right", render: function(value) { return (value === false) ? "✖" : value; }}, - { "data": "rtt", type: "num-fmt", defaultContent: "-", className: "dt-body-right", render: function(value) { return (value === false) ? "✖" : value; } }, + { "data": "download", type: "num", defaultContent: "...", className: "dt-body-right", render: $.fn.dataTable.render.jitsimeterNumber("kbps")}, + { "data": "rtt", type: "num-fmt", defaultContent: "...", className: "dt-body-right", render: $.fn.dataTable.render.jitsimeterNumber("ms") }, { "data": "countryCode", className: "dt-body-center" }, { "data": "bad", className: "dt-body-center", render: function(value) { return (value === true) ? "✖" : "✔"; } }, { "data": "hosterBad", className: "dt-body-center", render: function(value) { return (value === true) ? "✖" : "✔"; } }, @@ -91,6 +90,63 @@ $(document).ready(function() { // // }) +$.fn.dataTable.render.jitsimeterNumber = function ( unit ) { + return function ( value, type, row ) { + if (typeof value == "undefined") return; + switch (value) { + case false: + if (type === "display" || type === "filter") { + return "✖"; // cross + } else { + return 0; + } + break; + case "progress": + if (type === "display" || type === "filter") { + return "⟳"; // reload + } else { + return 0; + } + break; + default: + if (type === "display" || type === "filter") { + if (value) { + return Number(value).toLocaleString() + " " + unit; + } + } else { + return value; + } + } + } +} + +function jitsimeterRenderer(value,type,row) { + switch (value) { + case false: + if (type === "display" || type === "filter") { + return "✖"; // cross + } else { + return 0; + } + break; + case "progress": + if (type === "display" || type === "filter") { + return "⟳"; // reload + } else { + return 0; + } + break; + default: + if (type === "display" || type === "filter") { + if (value) { + return Number(value).toLocaleString(); + } + } else { + return value; + } + } +} + function restoreData(table) { if (!window.jitsimeterResults) return false; @@ -102,8 +158,8 @@ function restoreData(table) { if (index) { let row = table.row(index.row); - let downloadCell = table.cell({row: index.row, column: 2}); - let rttCell = table.cell({row: index.row, column: 3}); + let downloadCell = table.cell({row: index.row, column: 1}); + let rttCell = table.cell({row: index.row, column: 2}); downloadCell.data(storedResults[1][i]); rttCell.data(storedResults[2][i]); @@ -129,9 +185,8 @@ async function startTest() { let index = instance.table.cell($cell).index(); instance.row = instance.table.row(index.row); - instance.testedCell = instance.table.cell({row: index.row, column: 0}); - instance.downloadCell = instance.table.cell({row: index.row, column: 2}); - instance.rttCell = instance.table.cell({row: index.row, column: 3}); + instance.downloadCell = instance.table.cell({row: index.row, column: 1}); + instance.rttCell = instance.table.cell({row: index.row, column: 2}); if (instance.available == false) { failed(instance); @@ -156,18 +211,19 @@ function updateProgress() { if (instanceCounts.total == (instanceCounts.failed+instanceCounts.tested)) { endTest() } - $('#instancesTable').DataTable().order(2).draw(); + $('#instancesTable').DataTable().order(1).draw(); } function endTest() { $("#notice-progress").hide(); $("#notice-finish").show() - window.jitsimeterResults = JSON.stringify($("#instancesTable").DataTable().columns([1,2,3]).data().toArray()); + window.jitsimeterResults = JSON.stringify($("#instancesTable").DataTable().columns([0,1,2]).data().toArray()); } function jitsi_test(table,rowNumber, instance) { - instance.testedCell.data("progress"); + instance.downloadCell.data("progress"); + instance.rttCell.data("progress"); updateProgress(); let testURL = "https://"+instance.domain+"/sounds/outgoingStart.wav"; @@ -180,7 +236,6 @@ function jitsi_test(table,rowNumber, instance) { TestDownload(testURL, function(kbps) { // console.log("jitsi_download_test success", kbps) instance.downloadCell.data(kbps); - instance.testedCell.data(true); instanceCounts.tested+=1; updateProgress(); } ) @@ -196,7 +251,7 @@ function jitsi_test(table,rowNumber, instance) { function failed(instance) { instanceCounts.failed+=1; instance.rttCell.data(false); - instance.testedCell.data(false); + instance.downloadCell.data(false); updateProgress(); }