Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
advanced_select (0.1.7)
advanced_select (0.1.8)
actionview (>= 7.1)
railties (>= 7.1)
stimulus-rails (>= 1.3)
Expand Down
2 changes: 1 addition & 1 deletion app/views/advanced_select/_select.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
<%= render partial: "advanced_select/options", locals: {
target_id: target_id,
selected_options: selected_options,
options: advanced_select_options_for_render(options, selected_options, searchable),
options: advanced_select_options_for_render(options, selected_options, searchable, options_url),
multiple: multiple,
add_mode: add_mode,
query: nil,
Expand Down
6 changes: 4 additions & 2 deletions lib/advanced_select/helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,10 @@ def advanced_select_default_option_content_tag(option, class_map)
tag.span(safe_join(content), class: advanced_select_class(class_map, :option_content))
end

def advanced_select_options_for_render(options, selected_options, searchable)
searchable ? selected_options.presence || options : options
def advanced_select_options_for_render(options, selected_options, searchable, options_url)
return options unless searchable

options_url.present? ? selected_options.presence || options : options
end

def advanced_select_add_option?(options, selected_options, add_mode, query)
Expand Down
2 changes: 1 addition & 1 deletion lib/advanced_select/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module AdvancedSelect
VERSION = "0.1.7"
VERSION = "0.1.8"
end
19 changes: 19 additions & 0 deletions test/helpers/advanced_select/helper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,25 @@ class AdvancedSelectHelperTest < ActionView::TestCase
assert_selector fragment, "#report_local_item_options button[data-advanced-select-value-param='item-1']", text: "Item one"
end

test "renders all local searchable options when one is selected" do
fragment = html_fragment(
advanced_select_tag(
"report[item]",
id: "report_local_selected_item",
selected: { id: "item-2", label: "Item two" },
options: [
{ id: "item-1", label: "Item one" },
{ id: "item-2", label: "Item two" }
],
placeholder: "Select"
)
)

assert_equal 2, fragment.css("#report_local_selected_item_options button").size
assert_selector fragment, "#report_local_selected_item_options button[data-advanced-select-value-param='item-1']", text: "Item one"
assert_selector fragment, "#report_local_selected_item_options button[data-advanced-select-value-param='item-2'][aria-selected='true']", text: "Item two"
end

test "enables auto select single by default and allows disabling it" do
enabled = html_fragment(
advanced_select_tag(
Expand Down
Loading