32 lines
842 B
Ruby
32 lines
842 B
Ruby
module FormsHelper
|
|
def auto_submit_form_with(**attributes, &)
|
|
data = attributes.delete(:data) || {}
|
|
data[:controller] = "auto-submit #{data[:controller]}".strip
|
|
|
|
if block_given?
|
|
form_with **attributes, data: data, &
|
|
else
|
|
form_with(**attributes, data: data) { }
|
|
end
|
|
end
|
|
|
|
def bridged_form_with(**attributes, &)
|
|
data = attributes.delete(:data) || {}
|
|
controllers = [ data[:controller], "bridge--form" ].compact.join(" ").strip
|
|
actions = [
|
|
data[:action],
|
|
"turbo:submit-start->bridge--form#submitStart",
|
|
"turbo:submit-end->bridge--form#submitEnd"
|
|
].compact.join(" ").strip
|
|
|
|
data[:controller] = controllers
|
|
data[:action] = actions
|
|
|
|
if block_given?
|
|
form_with **attributes, data: data, &
|
|
else
|
|
form_with(**attributes, data: data) { }
|
|
end
|
|
end
|
|
end
|