Skip to content

Commit 7b008d1

Browse files
committed
Merge branch 'fix/issue-462-group-by-prefecture'
2 parents 93b1be0 + cb71937 commit 7b008d1

File tree

5 files changed

+52
-22
lines changed

5 files changed

+52
-22
lines changed

app/controllers/home_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
class HomeController < ApplicationController
22
def show
3-
@dojo_count = Dojo.active_dojos_count
3+
@dojo_count = Dojo.active_dojos_count
44
@regions_and_dojos = Dojo.group_by_region_on_active
5+
@prefectures_and_dojos = Dojo.group_by_prefecture_on_active
56
end
67
end

app/helpers/dojo_helper.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module DojoHelper
2+
def dojo_count_label(count)
3+
if count == 1
4+
"#{count} Dojo"
5+
else
6+
"#{count} Dojos"
7+
end
8+
end
9+
10+
def total_dojos_count(dojos)
11+
dojos.sum(&:counter)
12+
end
13+
end

app/models/dojo.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ def group_by_region_on_active
4747
active.group_by_region
4848
end
4949

50+
def group_by_prefecture
51+
eager_load(:prefecture).default_order.group_by { |dojo| dojo.prefecture.name }
52+
end
53+
54+
def group_by_prefecture_on_active
55+
active.group_by_prefecture
56+
end
57+
5058
def aggregatable_annual_count(period)
5159
Hash[
5260
joins(:dojo_event_services)
Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,41 @@
11
<div id="accordion" class="panel-group" aria-multiselectable="true" role="tablist">
2-
<% regions_and_dojos.each_with_index do |(region, dojos), index| %>
3-
<div class="panel panel-default">
4-
<div class="panel-heading" id="heading<%= index %>" role="tab">
5-
<h4 class="panel-title">
6-
<a data-toggle="collapse"
7-
href="#collapse<%= index %>" role="button">
8-
<i class="fa fa-chevron-right" aria-hidden="true"></i>
9-
<%= region %>
10-
- <%= dojos.pluck(:counter).sum %> Dojos
11-
</a>
12-
</h4>
13-
</div>
14-
<div class="panel-collapse collapse" id="collapse<%= index %>" role="tabpanel">
15-
<div class="panel-body grayscale-bg dojo-flex">
16-
<%= render partial: 'shared/dojo', collection: dojos %>
2+
<% if @prefectures_and_dojos.present? %>
3+
<% @prefectures_and_dojos.each_with_index do |(prefecture, dojos), index| %>
4+
<% dojo_count = total_dojos_count(dojos) %>
5+
<div class="panel panel-default">
6+
<div class="panel-heading" id="heading<%= index %>" role="tab">
7+
<h4 class="panel-title">
8+
<a data-toggle="collapse" href="#collapse<%= index %>" role="button">
9+
<i class="fa fa-chevron-right" aria-hidden="true"></i>
10+
<%= prefecture %> - <%= dojo_count_label(dojo_count) %>
11+
</a>
12+
</h4>
13+
</div>
14+
<div class="panel-collapse collapse" id="collapse<%= index %>" role="tabpanel">
15+
<div class="panel-body grayscale-bg dojo-flex">
16+
<%= render partial: 'shared/dojo', collection: dojos %>
17+
</div>
1718
</div>
1819
</div>
19-
</div>
20+
<% end %>
2021
<% end %>
2122
</div>
2223

2324
<script>
2425
$(document).ready(function() {
2526
$('.collapse').on('shown.bs.collapse', function() {
26-
$(this).parent().find(".fa-chevron-right").removeClass("fa-chevron-right").addClass("fa-chevron-down");
27+
$(this)
28+
.parent()
29+
.find(".fa-chevron-right")
30+
.removeClass("fa-chevron-right")
31+
.addClass("fa-chevron-down");
2732
});
28-
2933
$('.collapse').on('hidden.bs.collapse', function() {
30-
$(this).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-right");
34+
$(this)
35+
.parent()
36+
.find(".fa-chevron-down")
37+
.removeClass("fa-chevron-down")
38+
.addClass("fa-chevron-right");
3139
});
3240
});
33-
</script>
41+
</script>

app/views/shared/_social_buttons_raw.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@
1818
</a>
1919
</li>
2020
<%# コメントアウトされたLINEのボタンは省略 %>
21-
</ol>
21+
</ol>

0 commit comments

Comments
 (0)