Files
openfoodnetwork/app/components/super_selector_component.rb
2022-12-07 15:08:52 +01:00

25 lines
637 B
Ruby

# frozen_string_literal: true
class SuperSelectorComponent < SelectorComponent
def initialize(title:, selected:, items:, data: {})
super(title: title, selected: selected, items: items, data: data)
@query = ""
@selected_items = items.select { |item| @selected.include?(item[:value]) }
filter_items
end
def search
@query = element.value
filter_items
end
def filter_items
@filtered_items = if @query.empty?
@items
else
@items.select { |item| item[:label].downcase.include?(@query.downcase) }
end
end
end