Class: DrgcmsFormFields::Embedded
- Inherits:
-
DrgcmsField
- Object
- DrgcmsField
- DrgcmsFormFields::Embedded
- Defined in:
- app/models/drgcms_form_fields.rb
Overview
Implementation of embedded DRG CMS form field.
Creates html required to paint embedded object on form.
Form options:
-
name:field name (required) -
type:embedded (required) -
formname:name of form which will be used for editing -
html:html options (optional)-
height:height of embedded object in pixels (1000) -
width:width of embedded object in pixels (500)
-
Form example:
10:
name: dc_parts
type:
formname: dc_part
html:
height: 1000
Instance Attribute Summary
Attributes inherited from DrgcmsField
Instance Method Summary collapse
-
#render ⇒ Object
Render embedded field html code.
Methods inherited from DrgcmsField
get_data, #hash_to_options, #initialize, #record_text_for, #ro_standard, #set_initial_value, #t
Constructor Details
This class inherits a constructor from DrgcmsFormFields::DrgcmsField
Instance Method Details
#render ⇒ Object
Render embedded field html code
287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 |
# File 'app/models/drgcms_form_fields.rb', line 287 def render return self if @record.new_record? # would be in error otherwise # HTML defaults. Some must be set @yaml['html'] ||= {} @yaml['html']['height'] ||= 300 @yaml['html']['width'] ||= '99%' # defaults both way @yaml['table'] ||= @yaml['formname'] if @yaml['formname'] @yaml['formname'] ||= @yaml['table'] if @yaml['table'] # html = '' @yaml['html'].each {|k,v| html << "#{k}=\"#{v}\" "} # tables = @parent.tables.inject('') { |r,v| r << "#{v[1]};" } + @yaml['table'] ids = @parent.ids.inject('') { |r,v| r << "#{v};" } + @record._id opts = { controller: 'cmsedit', action: 'index', ids: ids, table: tables, formname: @yaml['formname'], field_name: @yaml['name'], iframe: "if_#{@yaml['name']}", readonly: @readonly } @html << "<iframe class='iframe_embedded' id='if_#{@yaml['name']}' name='if_#{@yaml['name']}' #{html}></iframe>" @js = "$(document).ready( function() {\n $('#if_\#{@yaml['name']}').attr('src', '\#{@parent.url_for(opts)}');\n});\n" self end |