16
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
|
# File 'app/helpers/wilday_ui/components/button/features/dropdown.rb', line 16
def setup_dropdown_options(options, additional_classes, dropdown, dropdown_items, wrapper_data)
additional_classes = "#{additional_classes} w-button-dropdown"
options[:data][:dropdown_target] = "button"
wrapper_data.merge!(
controller: FEATURE_CONFIG[:stimulus_controller],
dropdown_id: "dropdown-#{SecureRandom.hex(4)}"
)
if dropdown.is_a?(Hash)
wrapper_data.merge!(
dropdown_position_value: dropdown[:position]&.to_s || "bottom",
dropdown_align_value: dropdown[:align]&.to_s || "start",
dropdown_trigger_value: dropdown[:trigger]&.to_s || "click"
)
else
wrapper_data.merge!(
dropdown_position_value: "bottom",
dropdown_align_value: "start",
dropdown_trigger_value: "click"
)
end
normalize_dropdown_items(dropdown_items)
end
|