Class: Avo::Fields::CheckboxListField
Defined Under Namespace
Classes: EditComponent, ItemComponent
Instance Attribute Summary
Attributes inherited from BaseField
#action, #autocomplete, #block, #computable, #computed, #computed_value, #copyable, #default, #for_attribute, #for_presentation_only, #format_display_using, #format_edit_using, #format_form_using, #format_index_using, #format_new_using, #format_show_using, #format_using, #help, #id, #label_help, #null_values, #nullable, #panel_name, #readonly, #record, #required, #size, #sortable, #stacked, #summarizable, #user, #width
#disabled
#html
#show_on_edit, #show_on_index, #show_on_new, #show_on_preview, #show_on_show
#visible
#resource, #view
Instance Method Summary
collapse
Methods inherited from BaseField
#apply_update_using, #assign_value, #attribute_id, #custom?, #custom_name?, #database_id, #default_name, #execute_context, #form_field_label, #has_attribute?, #has_own_panel?, #hidden_in_reflection?, #meta, #name, #name_override, #options_for_filter, #parent, #placeholder, #plural_name, #record_errors, #resolve_attribute, #table_header_class, #table_header_label, #translated_name, #translated_plural_name, #translation_key, #type, #updatable, #value, #visible_in_reflection?, #width_class, #width_option
#model_name, #to_key
#component_for_view, #view_component_name, #view_component_namespace
#is_required?
#is_disabled?
#is_readonly?
#get_html
#computed_default_value
#helpers
#except_on, #hide_on, #initialize_views, #only_on, #post_initialize, #show_on, #show_on_create, #show_on_update, #visible_in_view?
#visible?
#is_card?, #is_collaboration?, #is_field?, #is_header?, #is_heading?, #is_panel?, #is_sidebar?, #is_tab?, #is_tab_group?, #is_tool?
#visible?
Constructor Details
Returns a new instance of CheckboxListField.
6
7
8
9
10
11
12
13
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 6
def initialize(id, **args, &block)
raise ArgumentError, "Missing required `options:` keyword for checkbox_list field" if !args.key?(:options) || args[:options].nil?
super
@options = args[:options]
@inline_search = args[:inline_search]
end
|
Instance Method Details
#fill_field(record, key, value, params) ⇒ Object
73
74
75
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 73
def fill_field(record, key, value, params)
super(record, key, Array(value).reject(&:blank?), params)
end
|
#hydrate ⇒ Object
15
16
17
18
19
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 15
def hydrate(...)
remove_instance_variable(:@memoized_options) if defined?(@memoized_options)
super
end
|
#inline_search? ⇒ Boolean
61
62
63
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 61
def inline_search?
execute_context(@inline_search) == true
end
|
#normalize_id(value) ⇒ Object
65
66
67
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 65
def normalize_id(value)
value&.to_s
end
|
#option_description(option) ⇒ Object
49
50
51
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 49
def option_description(option)
option[:description] || option["description"]
end
|
#option_hint?(option) ⇒ Boolean
53
54
55
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 53
def option_hint?(option)
option[:hint] || option["hint"]
end
|
#option_id(option) ⇒ Object
27
28
29
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 27
def option_id(option)
option[:id] || option["id"]
end
|
#option_image_alt(option) ⇒ Object
45
46
47
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 45
def option_image_alt(option)
option[:image_alt] || option["image_alt"] || option[:avatar_alt] || option["avatar_alt"]
end
|
41
42
43
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 41
def option_image_format(option)
option[:image_format] || option["image_format"]
end
|
#option_image_url(option) ⇒ Object
Also known as:
option_avatar_url
35
36
37
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 35
def option_image_url(option)
option[:avatar_url] || option["avatar_url"] || option[:image_url] || option["image_url"]
end
|
#option_title(option) ⇒ Object
31
32
33
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 31
def option_title(option)
option[:title] || option["title"]
end
|
#options ⇒ Object
21
22
23
24
25
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 21
def options
return @memoized_options if defined?(@memoized_options)
@memoized_options = execute_context(@options)
end
|
#selectable_options ⇒ Object
57
58
59
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 57
def selectable_options
options.reject { |option| option_hint?(option) }
end
|
#to_permitted_param ⇒ Object
69
70
71
|
# File 'lib/avo/fields/checkbox_list_field.rb', line 69
def to_permitted_param
["#{id}": []]
end
|