Sort json data rather than index of table data
This commit is contained in:
parent
a87dcf201b
commit
c8a5149560
@ -8,10 +8,11 @@ var editable = undefined;
|
|||||||
async function refresh_list() {
|
async function refresh_list() {
|
||||||
|
|
||||||
function compareValues(a, b) {
|
function compareValues(a, b) {
|
||||||
if (a.value === b.value) {
|
if (a.directory == b.directory && a.name.toLowerCase() === b.name.toLowerCase()) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return a.value < b.value ? -1 : 1;
|
return a.directory.toString().substring(3,4)+a.name.toLowerCase() <
|
||||||
|
b.directory.toString().substring(3,4)+b.name.toLowerCase() ? -1 : 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,10 +53,6 @@ async function refresh_list() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var dirCells = [];
|
|
||||||
var dataCells = [];
|
|
||||||
var index = 0;
|
|
||||||
|
|
||||||
if (window.location.path != "/fs/") {
|
if (window.location.path != "/fs/") {
|
||||||
var clone = template.content.cloneNode(true);
|
var clone = template.content.cloneNode(true);
|
||||||
var td = clone.querySelectorAll("td");
|
var td = clone.querySelectorAll("td");
|
||||||
@ -66,16 +63,11 @@ async function refresh_list() {
|
|||||||
path.textContent = "..";
|
path.textContent = "..";
|
||||||
// Remove the delete button
|
// Remove the delete button
|
||||||
td[4].replaceChildren();
|
td[4].replaceChildren();
|
||||||
|
|
||||||
var sortdata = {};
|
|
||||||
sortdata.value = "..";
|
|
||||||
sortdata.index = index;
|
|
||||||
dirCells.push(sortdata);
|
|
||||||
index += 1;
|
|
||||||
|
|
||||||
new_children.push(clone);
|
new_children.push(clone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data.sort(compareValues);
|
||||||
|
|
||||||
for (const f of data) {
|
for (const f of data) {
|
||||||
// Clone the new row and insert it into the table
|
// Clone the new row and insert it into the table
|
||||||
var clone = template.content.cloneNode(true);
|
var clone = template.content.cloneNode(true);
|
||||||
@ -118,39 +110,10 @@ async function refresh_list() {
|
|||||||
edit_link.href = edit_url
|
edit_link.href = edit_url
|
||||||
}
|
}
|
||||||
|
|
||||||
var dataCell = td[2];
|
|
||||||
|
|
||||||
var sortdata = {};
|
|
||||||
sortdata.value = dataCell.textContent.toLowerCase().trim();
|
|
||||||
sortdata.index = index;
|
|
||||||
if (!f.directory) {
|
|
||||||
dataCells.push(sortdata);
|
|
||||||
index += 1;
|
|
||||||
} else {
|
|
||||||
dirCells.push(sortdata);
|
|
||||||
index += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
new_children.push(clone);
|
new_children.push(clone);
|
||||||
}
|
}
|
||||||
|
|
||||||
dirCells.sort(compareValues);
|
|
||||||
dataCells.sort(compareValues);
|
|
||||||
|
|
||||||
var tbody = document.querySelector("tbody");
|
var tbody = document.querySelector("tbody");
|
||||||
|
tbody.replaceChildren(...new_children);
|
||||||
// remove rows
|
|
||||||
while (tbody.firstChild) {
|
|
||||||
tbody.removeChild(tbody.lastChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
// add sorted rows
|
|
||||||
for (var i = 0; i < dirCells.length; i += 1) {
|
|
||||||
tbody.appendChild(new_children[dirCells[i].index]);
|
|
||||||
}
|
|
||||||
for (var i = 0; i < dataCells.length; i += 1) {
|
|
||||||
tbody.appendChild(new_children[dataCells[i].index]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function find_devices() {
|
async function find_devices() {
|
||||||
|
Loading…
Reference in New Issue
Block a user