From 117903ac7ca333f8b5fa0d2917ad4a1efdff7533 Mon Sep 17 00:00:00 2001 From: tracer Date: Tue, 25 Oct 2022 15:46:06 +0200 Subject: [PATCH] finished descending sorting --- public/assets/js/functions.js | 62 ++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/public/assets/js/functions.js b/public/assets/js/functions.js index dcf161e..058fe5b 100644 --- a/public/assets/js/functions.js +++ b/public/assets/js/functions.js @@ -30,10 +30,9 @@ function editAddress(id) { }) }) .then( - response => response.text() // .json(), etc. - // same as function(response) {return response.text();} + response => response.text() ).then( - html => console.log(html) + html => console.log(html) ); document.getElementById('first_' + id).disabled = true @@ -58,5 +57,60 @@ function editAddress(id) { } } -function deleteAddress() { +function deleteAddress(id) { + console.log("del") + if (confirm('Are you sure?')) { + const url = "/address/delete"; + fetch(url, { + method: "POST", + body: JSON.stringify({ + id: id + }) + }) + .then( + response => response.text() + ).then( + html => console.log(html) + ); + let row = document.getElementById('row_' + id) + row.parentNode.removeChild(row) + } +} + +function sortBy(column) { + console.log("sortby: " + column) + + const table = document.getElementById('address_table'); + let dirty = true; + // loop until clean + while (dirty) { + console.log('dirty', dirty) + // assume we are finished + dirty = false + const rows = table.rows; + console.log(rows) + for (let i = 1; i < (rows.length - 2); i++) { + let x = rows[i] + let rowXId = x.id + let rowXNumber = rowXId.charAt(rowXId.length -1) + let valueX = document.getElementById(column + '_' + rowXNumber).value + + let y = rows[i + 1] + let rowYId = y.id + let rowYNumber = rowYId.charAt(rowYId.length -1) + let valueY = document.getElementById(column + '_' + rowYNumber).value + + console.log(valueX, valueY) + // mind asc & desc + let sortOrder = 1 + + console.log(valueX.localeCompare(valueY)) + if (valueX.localeCompare(valueY) === sortOrder) { + console.log('switch A') + // switch rows + x.parentNode.insertBefore(y, x); + dirty = true + } + } + } }