Files

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