summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-08-06 04:17:29 +0200
committererdgeist <erdgeist@erdgeist.org>2026-08-06 04:17:29 +0200
commitcb16e35c5f9fc93a3382391de496153515cf05ca (patch)
tree4833c790deb177d93262ee4ac3f43899a48a44ca /app/models
parent0d91c5a4aa47fa34e0dfe6742b94aa23d59544bc (diff)
Preload page titles for the sitemap, and order containers before leaves
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/nested_tree.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/concerns/nested_tree.rb b/app/models/concerns/nested_tree.rb
index befcdb38..87a94d23 100644
--- a/app/models/concerns/nested_tree.rb
+++ b/app/models/concerns/nested_tree.rb
@@ -61,7 +61,9 @@ module NestedTree
61 def self_and_descendants_ordered_with_level 61 def self_and_descendants_ordered_with_level
62 nodes = [self] + descendants.to_a 62 nodes = [self] + descendants.to_a
63 children_by_parent = nodes.group_by(&:parent_id) 63 children_by_parent = nodes.group_by(&:parent_id)
64 children_by_parent.each_value { |list| list.sort_by!(&:id) } 64 children_by_parent.each_value do |list|
65 list.sort_by! { |n| [children_by_parent.key?(n.id) ? 0 : 1, n.slug.to_s] }
66 end
65 67
66 result = [] 68 result = []
67 visit = ->(node, level) do 69 visit = ->(node, level) do