Class: ActiveAdmin::Views::ActiveAdminForm
- Inherits:
-
FormtasticProxy
- Object
- Arbo::Rails::Forms::FormBuilderProxy
- FormtasticProxy
- ActiveAdmin::Views::ActiveAdminForm
show all
- Defined in:
- lib/active_admin/views/components/active_admin_form.rb
Instance Method Summary
collapse
#closing_tag, #opening_tag, #render_in, #split_string_on, #to_s
Instance Method Details
#actions(*args, &block) ⇒ Object
82
83
84
85
86
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 82
def actions(*args, &block)
block_given? ?
insert_tag(SemanticActionsProxy, form_builder, *args, &block) :
actions(*args) { commit_action_with_cancel_link }
end
|
#add_create_another_checkbox ⇒ Object
94
95
96
97
98
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 94
def add_create_another_checkbox
if %w(new create).include?(helpers.action_name) && active_admin_config && active_admin_config.create_another
current_arbo_element.add_child(create_another_checkbox)
end
end
|
#build(resource, options = {}, &block) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 34
def build(resource, options = {}, &block)
@resource = resource
options = options.deep_dup
options[:builder] ||= ActiveAdmin::FormBuilder
form_string = helpers.semantic_form_for(resource, options) do |f|
@form_builder = f
end
@opening_tag, @closing_tag = split_string_on(form_string, "</form>")
instance_eval(&block) if block_given?
if multipart? && @opening_tag !~ /multipart/
@opening_tag.sub!(/<form/, '<form enctype="multipart/form-data"')
end
end
|
#commit_action_with_cancel_link ⇒ Object
88
89
90
91
92
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 88
def commit_action_with_cancel_link
add_create_another_checkbox
action(:submit)
cancel_link
end
|
112
113
114
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 112
def form_buffers
raise "'form_buffers' has been removed from ActiveAdmin::FormBuilder, please read https://github.com/varyonic/activeadmin/blob/main/docs/5-forms.md for details."
end
|
#has_many(*args, &block) ⇒ Object
100
101
102
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 100
def has_many(*args, &block)
insert_tag(HasManyProxy, form_builder, *args, &block)
end
|
78
79
80
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 78
def input(*args)
proxy_call_to_form :input, *args
end
|
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 52
def inputs(*args, &block)
if block_given?
form_builder.template.assigns[:has_many_block] = true
end
if block_given? && block.arity == 0
wrapped_block = proc do
wrap_it = form_builder.already_in_an_inputs_block ? true : false
form_builder.already_in_an_inputs_block = true
content = form_builder.template.capture do
block.call
end
form_builder.already_in_an_inputs_block = wrap_it
content
end
insert_tag(SemanticInputsProxy, form_builder, *args, &wrapped_block)
else
opts = args.
opts[:except] ||= []
ActiveAdmin.application.filter_attributes.each { |e| opts[:except] << e }
args << opts
proxy_call_to_form(:inputs, *args, &block)
end
end
|
#multipart? ⇒ Boolean
104
105
106
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 104
def multipart?
form_builder && form_builder.multipart?
end
|
#object ⇒ Object
108
109
110
|
# File 'lib/active_admin/views/components/active_admin_form.rb', line 108
def object
form_builder.object
end
|