Class: Decidim::Votings::PollingOfficers::PollingOfficersPickerCell
- Inherits:
-
Decidim::ViewModel
- Object
- Cell::ViewModel
- Decidim::ViewModel
- Decidim::Votings::PollingOfficers::PollingOfficersPickerCell
show all
- Defined in:
- decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb
Overview
This cell renders a polling officers picker.
Constant Summary
collapse
- MAX_POLLING_OFFICERS =
1000
Instance Method Summary
collapse
#call, #current_user, #view_context
#_icon_classes, #apple_favicon, #application_path, #current_user_unread_data, #extended_navigation_bar, #external_icon, #favicon, #icon, #legacy_favicon, #organization_colors, #role
#with_tooltip
#decidim_modal
#element_id
#button_to, #submit_tag
#action_authorized_button_to, #action_authorized_link_to, #logged_button_to, #logged_link_to
#has_visible_scopes?, #scope_name_for_picker, #scopes_picker_field, #scopes_picker_filter, #scopes_select_field, #scopes_select_tag
#default_locale?
#areas_for_select, #base_error_messages, #decidim_form_for, #decidim_form_slug_url, #editor_field_tag, #form_field_has_error?, #form_required_explanation, #name_with_locale, #ordered_scopes_descendants, #ordered_scopes_descendants_for_select, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
#linked_classes_filter_values_for, #linked_classes_for, #resource_locator, #resource_title
Instance Method Details
#decorated_polling_officers ⇒ Object
58
59
60
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 58
def decorated_polling_officers
filtered_polling_officers.limit(MAX_POLLING_OFFICERS)
end
|
#field ⇒ Object
18
19
20
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 18
def field
options[:field]
end
|
#filtered? ⇒ Boolean
34
35
36
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 34
def filtered?
!search_text.nil?
end
|
#filtered_polling_officers ⇒ Object
62
63
64
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 62
def filtered_polling_officers
@filtered_polling_officers ||= polling_officers
end
|
14
15
16
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 14
def form
options[:form]
end
|
22
23
24
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 22
def form_name
"#{form.object_name}[#{method_name}]"
end
|
#method_name ⇒ Object
26
27
28
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 26
def method_name
field.to_s.sub(/s$/, "_ids")
end
|
#more_polling_officers? ⇒ Boolean
46
47
48
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 46
def more_polling_officers?
@more_polling_officers ||= more_polling_officers_count.positive?
end
|
#more_polling_officers_count ⇒ Object
50
51
52
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 50
def more_polling_officers_count
@more_polling_officers_count ||= polling_officers_count - MAX_POLLING_OFFICERS
end
|
#picker_path ⇒ Object
38
39
40
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 38
def picker_path
request.path
end
|
#polling_officers ⇒ Object
66
67
68
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 66
def polling_officers
@polling_officers ||= model.available_polling_officers
end
|
#polling_officers_collection_name ⇒ Object
70
71
72
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 70
def polling_officers_collection_name
Decidim::Votings::PollingOfficer.model_name.human(count: 2)
end
|
#polling_officers_count ⇒ Object
54
55
56
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 54
def polling_officers_count
@polling_officers_count ||= filtered_polling_officers.count
end
|
#search_text ⇒ Object
42
43
44
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 42
def search_text
params[:q]
end
|
#selected_ids ⇒ Object
30
31
32
|
# File 'decidim-elections/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb', line 30
def selected_ids
form.object.send(method_name)
end
|