Class: Impulse::AutocompleteComponent
- Inherits:
-
ApplicationComponent
- Object
- ViewComponent::Base
- ApplicationComponent
- Impulse::AutocompleteComponent
- Defined in:
- app/components/impulse/autocomplete_component.rb
Constant Summary collapse
- DEFAULT_SIZE =
:md- SIZE_MAPPINGS =
{ :sm => "awc-autocomplete--sm", DEFAULT_SIZE => "", :lg => "awc-autocomplete--lg" }.freeze
Instance Method Summary collapse
-
#initialize(object_name, method_name, selected: nil, size: DEFAULT_SIZE, name: nil, input_id: nil, placeholder: nil, include_hidden: true, disabled: false, clearable: true, namespace: nil, skip_default_ids: false, allow_method_names_outside_object: true, **system_args) ⇒ AutocompleteComponent
constructor
A new instance of AutocompleteComponent.
Methods inherited from ApplicationComponent
Methods included from Helpers::AttributesHelper
Constructor Details
#initialize(object_name, method_name, selected: nil, size: DEFAULT_SIZE, name: nil, input_id: nil, placeholder: nil, include_hidden: true, disabled: false, clearable: true, namespace: nil, skip_default_ids: false, allow_method_names_outside_object: true, **system_args) ⇒ AutocompleteComponent
Returns a new instance of AutocompleteComponent.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/components/impulse/autocomplete_component.rb', line 17 def initialize( object_name, method_name, selected: nil, size: DEFAULT_SIZE, name: nil, input_id: nil, placeholder: nil, include_hidden: true, disabled: false, clearable: true, namespace: nil, skip_default_ids: false, allow_method_names_outside_object: true, **system_args ) @object_name = object_name @method_name = method_name @selected = selected @size = size.to_s @name = name @input_id = input_id @placeholder = placeholder @include_hidden = include_hidden @disabled = disabled @clearable = clearable @namespace = namespace @skip_default_ids = skip_default_ids @allow_method_names_outside_object = allow_method_names_outside_object @system_args = system_args @system_args[:tag] = :"awc-autocomplete" @system_args[:disabled] = disabled @system_args[:class] = class_names( system_args[:class], SIZE_MAPPINGS[fetch_or_fallback(SIZE_MAPPINGS.keys, size, DEFAULT_SIZE)], "awc-autocomplete", "awc-autocomplete--selected": @selected.present?, "awc-autocomplete--clearable": @clearable ) @system_args[:"data-loosely-focusable"] = "true" @system_args[:data] = merge_attributes( system_args[:data], action: "mousedown->awc-autocomplete#handleMousedown click->awc-autocomplete#handleClick combobox:commit->awc-autocomplete#handleCommit" ) end |