Browse Source

Add subgroup filtering to xs view

Maarten van den Berg 7 years ago
parent
commit
a386c65bd2
2 changed files with 14 additions and 8 deletions
  1. 1 1
      app/assets/javascripts/activities.coffee
  2. 13 7
      app/views/activities/show.html.haml

+ 1 - 1
app/assets/javascripts/activities.coffee

@@ -2,7 +2,7 @@ $(document).on 'turbolinks:load', ->
2 2
   clipboard = new Clipboard('.copy-reactions', {
3 3
     'text': clipreactions
4 4
   })
5
-  $('#subgroup_filter').on('change', (e) -> filterparticipants(e))
5
+  $('.subgroup-filter').on('change', (e) -> filterparticipants(e))
6 6
 
7 7
 @clipreactions = (trigger) ->
8 8
   id = trigger.dataset['activity']

+ 13 - 7
app/views/activities/show.html.haml

@@ -94,7 +94,7 @@
94 94
         = t 'activities.participant.plural'
95 95
         = render partial: "state_counts", locals: {counts: @counts}
96 96
     .col-md-6
97
-      = select_tag(:subgroup_filter, options_for_select(@subgroup_ids), class: 'form-control')
97
+      = select_tag(:subgroup_filter, options_for_select(@subgroup_ids), class: 'form-control subgroup-filter')
98 98
 
99 99
   %table.table.table-bordered
100 100
     - @participants.each do |p|
@@ -112,6 +112,12 @@
112 112
             = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
113 113
 
114 114
 .hidden-sm.hidden-md.hidden-lg
115
+  .panel.panel-default
116
+    .panel-heading
117
+      = t 'activerecord.attrs.activities.subgroups'
118
+    .panel-body
119
+      = select_tag(:subgroup_filter, options_for_select(@subgroup_ids), class: 'form-control subgroup-filter')
120
+
115 121
   .panel.panel-default.panel-success
116 122
     .panel-heading
117 123
       %a{role: 'button', href: '#present-collapse', data: {toggle: 'collapse'}, 'aria-expanded': 'false'}
@@ -129,7 +135,7 @@
129 135
     %table.table.collapse#present-collapse
130 136
       %tbody
131 137
         - @participants.where(attending: true).each do |p|
132
-          %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
138
+          %tr.participant-row{data: {person_id: p.person.id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
133 139
             %td
134 140
               = p.person.full_name
135 141
               - if p.is_organizer
@@ -139,7 +145,7 @@
139 145
               - if p.person.id == current_person.id || all_buttons
140 146
                 = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
141 147
 
142
-          %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
148
+          %tr.participant-row{data: {person_id: p.person_id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
143 149
             %td{colspan: "2"}
144 150
               = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"
145 151
 
@@ -162,7 +168,7 @@
162 168
     %table.table.collapse#unknown-collapse
163 169
       %tbody
164 170
         - @participants.where(attending: nil).each do |p|
165
-          %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
171
+          %tr.participant-row{data: {person_id: p.person.id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
166 172
             %td
167 173
               = p.person.full_name
168 174
               - if p.is_organizer
@@ -172,7 +178,7 @@
172 178
               - if p.person.id == current_person.id || all_buttons
173 179
                 = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
174 180
 
175
-          %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
181
+          %tr.participant-row{data: {person_id: p.person_id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
176 182
             %td{colspan: "2"}
177 183
               = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"
178 184
 
@@ -194,7 +200,7 @@
194 200
     %table.table.collapse#absent-collapse
195 201
       %tbody
196 202
         - @participants.where(attending: false).each do |p|
197
-          %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
203
+          %tr.participant-row{data: {person_id: p.person.id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
198 204
             %td
199 205
               = p.person.full_name
200 206
               - if p.is_organizer
@@ -204,6 +210,6 @@
204 210
               - if p.person.id == current_person.id || all_buttons
205 211
                 = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
206 212
 
207
-          %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
213
+          %tr.participant-row{data: {person_id: p.person_id, activity_id: @activity.id, subgroup_id: p.subgroup_id}}
208 214
             %td{colspan: "2"}
209 215
               = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"