sort
This commit is contained in:
@@ -21,6 +21,8 @@ let serversData = [];
|
||||
let currentServerIdx = 0;
|
||||
let keysData = [];
|
||||
let crmRecords = [];
|
||||
let crmSortKey = null;
|
||||
let crmSortDir = 1;
|
||||
let currentSession = null;
|
||||
let currentEmail = null;
|
||||
|
||||
@@ -1418,7 +1420,7 @@ function crmRender() {
|
||||
document.getElementById("crm-search-category")?.value ?? ""
|
||||
).toLowerCase();
|
||||
|
||||
const filtered = crmRecords.filter((r) => {
|
||||
let filtered = crmRecords.filter((r) => {
|
||||
const name = (r.Name ?? "").toLowerCase();
|
||||
const company = (r.Company ?? "").toLowerCase();
|
||||
const email = (r.email ?? "").toLowerCase();
|
||||
@@ -1435,6 +1437,23 @@ function crmRender() {
|
||||
);
|
||||
});
|
||||
|
||||
// Sort
|
||||
if (crmSortKey) {
|
||||
filtered.sort((a, b) => {
|
||||
const va = (a[crmSortKey] ?? "").toString().toLowerCase();
|
||||
const vb = (b[crmSortKey] ?? "").toString().toLowerCase();
|
||||
if (va < vb) return -1 * crmSortDir;
|
||||
if (va > vb) return 1 * crmSortDir;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
// Update sort arrows
|
||||
document.querySelectorAll(".sort-arrow").forEach((el) => {
|
||||
el.textContent =
|
||||
el.dataset.sort === crmSortKey ? (crmSortDir === 1 ? " ▲" : " ▼") : "";
|
||||
});
|
||||
|
||||
const total = crmRecords.length;
|
||||
const countEl = document.getElementById("crm-record-count");
|
||||
countEl.textContent =
|
||||
@@ -1490,6 +1509,17 @@ function crmRender() {
|
||||
crmUpdateDeleteBtn();
|
||||
}
|
||||
|
||||
/* ─── CRM — Sort ───────────────────────────────────────────────── */
|
||||
function crmToggleSort(key) {
|
||||
if (crmSortKey === key) {
|
||||
crmSortDir *= -1;
|
||||
} else {
|
||||
crmSortKey = key;
|
||||
crmSortDir = 1;
|
||||
}
|
||||
crmRender();
|
||||
}
|
||||
|
||||
/* ─── CRM — Checkbox helpers ────────────────────────────────────── */
|
||||
function crmUpdateDeleteBtn() {
|
||||
const checked = document.querySelectorAll(".crm-select:checked").length;
|
||||
|
||||
Reference in New Issue
Block a user