Class: AgileFormFields::FileSelect

Inherits:
AgileFormField show all
Defined in:
app/models/agile_form_fields/file_select.rb

Overview

Implementation of file_select AgileRails form field.

FileSelect like HtmlField implements redirection for calling document manager edit field code. This can be agile_rails_html_editor’s elfinder or any other code defined by ar_site.settings file_select setting.

Example of ar_site.setting used for agile_rails_html_editor gem.

html_editor: ckeditor
ckeditor:
  config_file: /files/ck_config.js
  css_file: /files/ck_css.css
file_select: elfinder

Form example:

60:
  name: picture
  type: file_select
  size: 50

Instance Attribute Summary

Attributes inherited from AgileFormField

#css, #js

Instance Method Summary collapse

Methods inherited from AgileFormField

get_data, #hash_to_options, #html, #initialize, #options_to_hash, #record_text_for, #ro_standard, #set_css_code, #set_default_value, #set_initial_value, #set_style, #t

Constructor Details

This class inherits a constructor from AgileFormFields::AgileFormField

Instance Method Details

#renderObject

Render file_select AgileRails form field code



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'app/models/agile_form_fields/file_select.rb', line 50

def render
  return ro_standard if @readonly  
  # retrieve file_select option from site settings
  file_select = @env.agile_get_site.params['file_select'] if @env.agile_get_site
  file_select ||= 'elfinder'
  klas_string = file_select.camelize

  if AgileFormFields.const_defined?(klas_string)
    klas = AgileFormFields::const_get(klas_string)
    o = klas.new(@env, @record, @yaml).render
    @js += o.js
    @html += o.html
  else
    @html += 'File select component not defined. Check site.settings or include agile_rails_html_editor gem.'
  end
  self
end