Module: Ckeditor::Utils
- Defined in:
- lib/ckeditor/utils.rb,
lib/ckeditor/utils/javascript_code.rb
Defined Under Namespace
Classes: JavascriptCode
Class Method Summary collapse
- .assets_pipeline_enabled? ⇒ Boolean
- .escape_single_quotes(str) ⇒ Object
- .filethumb(filename) ⇒ Object
- .js_fileuploader(uploader_type, options = {}) ⇒ Object
- .js_init_ckeditor(dom_id, replace) ⇒ Object
- .js_replace(dom_id, options = nil) ⇒ Object
- .select_assets(path, relative_path) ⇒ Object
Class Method Details
.assets_pipeline_enabled? ⇒ Boolean
65 66 67 68 69 70 71 72 73 |
# File 'lib/ckeditor/utils.rb', line 65 def assets_pipeline_enabled? if Gem::Version.new(::Rails.version.to_s) >= Gem::Version.new('4.0.0') defined?(Sprockets::Rails) elsif Gem::Version.new(::Rails.version.to_s) >= Gem::Version.new('3.0.0') Rails.application.config.assets.enabled else false end end |
.escape_single_quotes(str) ⇒ Object
10 11 12 |
# File 'lib/ckeditor/utils.rb', line 10 def escape_single_quotes(str) str.gsub('\\', '\0\0').gsub('</', '<\/').gsub(/\r\n|\n|\r/, "\\n").gsub(/["']/) { |m| "\\#{m}" } end |
.filethumb(filename) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/ckeditor/utils.rb', line 55 def filethumb(filename) extname = filename.blank? ? 'unknown' : File.extname(filename).gsub(/^\./, '') image = "#{extname}.gif" source = Ckeditor.root_path.join('app/assets/images/ckeditor/filebrowser/thumbs') image = 'unknown.gif' unless File.exist?(File.join(source, image)) File.join(Ckeditor.relative_path, 'filebrowser/thumbs', image) end |
.js_fileuploader(uploader_type, options = {}) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ckeditor/utils.rb', line 34 def js_fileuploader(uploader_type, = {}) = { multiple: true, element: 'fileupload' }.merge!() case uploader_type.to_s.downcase when 'image' then [:action] = JavascriptCode.new('EDITOR.config.filebrowserImageUploadUrl') [:allowedExtensions] = Ckeditor.image_file_types when 'flash' then [:action] = JavascriptCode.new('EDITOR.config.filebrowserFlashUploadUrl') [:allowedExtensions] = Ckeditor.flash_file_types else [:action] = JavascriptCode.new('EDITOR.config.filebrowserUploadUrl') [:allowedExtensions] = Ckeditor. end = ActiveSupport::JSON.encode() .gsub!(/"(EDITOR\.config\.filebrowser(Image|Flash|)UploadUrl)"/, '\1') "(function() { new qq.FileUploaderInput(#{}); }).call(this);".html_safe end |
.js_init_ckeditor(dom_id, replace) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/ckeditor/utils.rb', line 25 def js_init_ckeditor(dom_id, replace) %((function() { if (typeof CKEDITOR != 'undefined') { if (CKEDITOR.instances['#{dom_id}']) { CKEDITOR.instances['#{dom_id}'].destroy(); } #{replace} } })();) end |
.js_replace(dom_id, options = nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ckeditor/utils.rb', line 14 def js_replace(dom_id, = nil) replace = if && !.keys.empty? = ActiveSupport::JSON.encode() "CKEDITOR.replace('#{dom_id}', #{});" else "CKEDITOR.replace('#{dom_id}');" end js_init_ckeditor(dom_id, replace) end |
.select_assets(path, relative_path) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/ckeditor/utils.rb', line 75 def select_assets(path, relative_path) relative_folder = Ckeditor.root_path.join(relative_path) folder = relative_folder.join(path) extensions = '*.{js,css,png,gif,jpg,html}' # Files at root files = Dir[folder.join(extensions)] files += Dir[folder.join('plugins', '**', extensions)] # Other folders Dir[folder.join('*/')].each do |subfolder| path = Pathname.new(subfolder) next if ['plugins'].include?(path.basename.to_s) files += Dir[path.join('**', extensions)] end files.inject([]) do |items, name| file = Pathname.new(name) base = file.basename('.*').to_s items << file.relative_path_from(relative_folder).to_s items end end |