require 'polygallery'
module Polygallery
module SimpleFormHelper
def self.simple_fields_for_polygallery(fb, title=:gallery, *args, &block)
( '
' <<
fb.simple_fields_for(title, *args, &block) << '
' ).html_safe
end
def simple_fields_for_polygallery(fb, title=:gallery, *args, &block)
defaults = {
label: nil,
add_btn: {
text: 'Add Photo',
partial: 'polygallery/photos/simple_fields_for',
class: 'btn btn-default btn-sm pull-right',
data: { association_insertion_method: 'append',
association_insertion_node: "##{fb.object.send(title).polygallery_settings[:association_names][:photos]} .photo-receptacle" }},
remove_btn: { class: 'btn btn-default btn-sm' },
file_input: {}}
settings = if (options = args.find{|a| a.is_a? Hash }).nil? then defaults
else defaults.deep_merge options end
new_block = block_given? ? block : ->(fb2) {
render partial: 'polygallery/galleries/simple_fields_for',
locals: { f: fb2, settings: settings } }
SimpleFormHelper.simple_fields_for_polygallery(
fb, title, *args, &new_block)
end
end
end