Module: Formily::Helpers::ViewHelper

Defined in:
lib/formily/helpers/view_helper.rb

Instance Method Summary collapse

Instance Method Details

#connect_form_btn_tag(obj, user_id, btn_text = 'Connect', html_attrs = {}) ⇒ Object



61
62
63
64
65
66
67
68
69
# File 'lib/formily/helpers/view_helper.rb', line 61

def connect_form_btn_tag(obj, user_id, btn_text = 'Connect', html_attrs = {})

  html_attrs['data-formily-iframe-url'] = formily_form_iframe_url(obj, user_id, '/new')

  attr_str = html_attrs.map{|k, v| "#{k}=\"#{v}\""}.join(' ')

  ('<button ' + attr_str + ' >' + btn_text + '</button>').html_safe

end

#formily_form_iframe_url(obj, user_id, url = '') ⇒ String

Generate iframe url

Parameters:

  • obj (ActiveRecord::Base)

Returns:

  • (String)


79
80
81
82
83
84
85
# File 'lib/formily/helpers/view_helper.rb', line 79

def formily_form_iframe_url(obj, user_id, url = '')
  url = '/formily/formilyable' + url + '?'
  url += 'iframe=true'
  url += '&user_id=' + user_id.to_s
  url += '&model_id=' + obj.id.to_s
  url + '&model_name=' + obj.class.to_s
end

#formily_modal_tagObject

Render <iframe> in popup



72
73
74
# File 'lib/formily/helpers/view_helper.rb', line 72

def formily_modal_tag
  render({partial: 'formily/helpers/iframe_formily_modal'})
end

def formily_form_tag(object, html_attrs = {})

if object.is_many_formily?
  if object.formily_forms.present?
    ids = object.formily_forms.pluck(:form_id)
    forms = Formily::Form.where(id: ids)
    render({partial: 'formily/many_forms', :locals => {:@forms => forms, :@obj_rel => object}})
  end
else
  if object.formily_form.present?
    form = object.formily_form.form
    render({partial: 'formily/form', :locals => {:@form => form, :@obj_rel => object}})
  end
end

end



104
105
106
# File 'lib/formily/helpers/view_helper.rb', line 104

def formily_related_form_for(title, obj, user_id, flag = false)
  render({partial: 'formily/helpers/related_forms', locals: {title: title, flag: flag, obj_rel: obj, user_id: user_id}})
end

# Create html table from submitted data # @param obj [ActiveRecord::Base] def formily_form_data_table(obj)

if obj.is_many_formily?
  if obj.formily_forms.present?
    ids = obj.formily_forms.pluck(:form_id)
    forms = Formily::Form.where(id: ids)
    render({partial: formily_partial_path('data/many_tables'), :locals => {:@forms => forms, :@res => obj}})
  end
else
  if obj.formily_form.present?
    form = obj.formily_form.form
    render({partial: formily_partial_path('data/table'), :locals => {:@form => form, :@res => obj}})
  end
end

end

def formily_form_list(obj)

if obj.is_many_formily?
  if obj.formily_forms.present?
    ids = obj.formily_forms.pluck(:form_id)
    forms = Formily::Form.where(id: ids)
    render({partial: formily_partial_path('data/forms_table'), :locals => {:@forms => forms, :@res => obj}})
  end
else
  if obj.formily_form.present?
  end
end

end

# Connect formily form to object # @param obj [ActiveRecord::Base] # @param formily_form_id [Integer] def connect_to_formily_url(obj, formily_form_id)

formily_forms_connect_form_path({form_id: formily_form_id, model_name: obj.class.to_s, model_id: obj.id})

end



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/formily/helpers/view_helper.rb', line 44

def show_formily_form_link_tag(form_id, obj, submit_id = 0, user_id = 0, btn_text = 'Connect', html_attrs = {})

  url_options = {
      id: form_id,
      model_id: obj.id,
      model_name: obj.class.name,
      submit_id: submit_id,
      user_id: user_id
  }

  html_attrs['data-formily-iframe-url'] = formily_iframe_form_path(url_options)

  attr_str = html_attrs.map{|k, v| "#{k}=\"#{v}\""}.join(' ')

  ('<a ' + attr_str + ' >' + btn_text + '</a>').html_safe
end