mirror of
https://github.com/manyfold3d/manyfold.git
synced 2026-10-21 19:22:18 -05:00
26 lines
868 B
Ruby
26 lines
868 B
Ruby
class Components::SelectInputRow < Components::InputRow
|
|
def initialize(form:, attribute:, label:, select_options:, help: nil, options: {})
|
|
@select_options = select_options
|
|
super(form: form, attribute: attribute, label: label, help: help, group: options[:button].present?, options: options)
|
|
end
|
|
|
|
def input_element
|
|
raw @form.select( # rubocop:disable Rails/OutputSafety
|
|
@attribute,
|
|
@select_options,
|
|
@options.compact,
|
|
{
|
|
data: {
|
|
controller: "searchable-select"
|
|
},
|
|
class: "form-control form-select #{"is-invalid" if @form.object&.errors&.include?(@attribute_without_id) && !@form.object.errors[@attribute_without_id].empty?}"
|
|
}
|
|
)
|
|
if @options[:button]
|
|
a href: @options[:button][:path], class: "btn btn-secondary" do
|
|
@options[:button][:label]
|
|
end
|
|
end
|
|
end
|
|
end
|