Class: DrgcmsFormField::Elfinder

Inherits:
DrgcmsField
  • Object
show all
Defined in:
lib/patch_drgcms_form_field.rb

Overview

Class for creating ElFinder file manager enabled form field.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.file_manager_url(parent) ⇒ Object

Return html url code required for FileManager icon on CMS menu.



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/patch_drgcms_form_field.rb', line 68

def self.file_manager_url(parent)
  url = "/assets/drg_default_html_editor/elfinder/elfinder.html?CKEditorFuncNum=1&langCode=#{I18n.locale}"
        
  parent.link_to( parent.image_tag('drg_cms/file_manager.png', 
                                    class: 'dc-link-img', 
                                    title: parent.t('drgcms.file_manager')),
                                    '#',
                                    { onclick: "window.open('#{url}',
                                               '#{parent.t('drgcms.file_manager')}',
                                               'width=700,height=500')"} ) 
end

Instance Method Details

#renderObject

Return code required to render elfinder DRG CMS form field.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/patch_drgcms_form_field.rb', line 35

def render
  return ro_standard if @readonly
  set_initial_value
#
 record = record_text_for(@yaml['name'])
 @js << "\n$('#\#{record}_\#{@yaml['name']}').dblclick(function(){\n   $('#\#{record}_div_\#{@yaml['name']}').show();\n   var f = $('#\#{record}_div_\#{@yaml['name']}').elfinder({\n           url : '/elfinder',\n           transport : new elFinderSupportVer1(),\n           height: 490,\n           docked: false,\n           dialog: { width: 400, modal: true },\n           lang: '\#{I18n.locale}',\n           getFileCallback : function(file) {\n             file = file.replace('//','/');\n             $('#\#{record}_\#{@yaml['name']}').val(file);\n             $('#\#{record}_div_\#{@yaml['name']}').hide();\n           },\n   });\n});\n"

  @html << @parent.text_field(record, @yaml['name'], @yaml['html']) +
           "<div id='#{record}_div_#{@yaml['name']}'></div>".html_safe
  self
end