From 665f426011b17906cb9113254f0904f95d68d18a Mon Sep 17 00:00:00 2001 From: Aldarien Date: Wed, 5 Jan 2022 15:58:03 -0300 Subject: [PATCH] Sort cuentas in home --- api/src/Categoria.php | 5 +++++ ui/public/assets/scripts/home.js | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/api/src/Categoria.php b/api/src/Categoria.php index be3cd78..8680751 100644 --- a/api/src/Categoria.php +++ b/api/src/Categoria.php @@ -18,6 +18,11 @@ class Categoria extends Model { public function cuentas() { if ($this->cuentas === null) { $this->cuentas = $this->parentOf(Cuenta::class, [Model::CHILD_KEY => 'categoria_id']); + if ($this->cuentas !== null) { + usort($this->cuentas, function($a, $b) { + return strcmp($a->nombre, $b->nombre); + }); + } } return $this->cuentas; } diff --git a/ui/public/assets/scripts/home.js b/ui/public/assets/scripts/home.js index 382b948..6f23a51 100644 --- a/ui/public/assets/scripts/home.js +++ b/ui/public/assets/scripts/home.js @@ -39,7 +39,20 @@ class Cuenta { } tr.append(td) }) - $("[data-id='" + this.categoria_id + "'][data-class='categoria']").after(tr) + const prev = this.prev() + prev.after(tr) + } + prev() { + let prev = $("[data-id='" + this.categoria_id + "'][data-class='categoria']") + let n = 0 + while (prev.next().attr('data-class') === 'cuenta') { + prev = prev.next() + n ++; + if (n >= 100) { + return prev + } + } + return prev } remove() { $("[data-id='" + this.id + "'][data-class='cuenta']").remove()