module Playbook::PbFormsHelper
def pb_form_with(data: {}, validate: false, loading: false, **kwargs, &block)
- See: [#form_with] - for other options
Parameters:
-
validate
(Boolean
) -- whether validation should be triggered or not -
data
(Hash
) -- hash of data attributes
def pb_form_with(data: {}, validate: false, loading: false, **kwargs, &block) global_props, form_options = extract_all_props(kwargs) classnames = ["pb-form"] classnames << form_options[:class] if form_options[:class].present? classnames << "pb_form_loading" if loading classnames.concat(generate_prop_classes(global_props)) data = data.merge("pb-form-validation" => validate) options = form_options.merge( class: classnames.compact.join(" "), data: data, builder: ::Playbook::Forms::Builder ) content_for(:pb_js, javascript_tag(<<~JS)) window.addEventListener("DOMContentLoaded", function() { PbFormValidation.start() }) window.addEventListener("DOMContentLoaded", () => formHelper()) JS form_with(**options, &block) end