Repository URL to install this package:
|
Version:
0.9.0 ▾
|
- assets_mapper route(:assets), suffix: ASSETS_EXT do
== js_tag 'api'
== css_tag 'ui'
== css_tag 'colorbox/colorbox'
== css_tag 'jquery-ui/css/ui-lightness/jquery-ui'
== css_tag 'jQuery-File-Upload/css/jquery.fileupload-ui'
javascript:
var ELFinderLoader = new ELFinderAPI(), ELFinderColorboxes = [];
ELFinderLoader.loadScript(
'#{asset_url('jquery.js')}',
function () { return typeof window.jQuery == "function"; },
function () {
ELFinderLoader.loadScript(
'#{ asset_url "jquery-ui/js/jquery-ui.js" }',
function () { return jQuery.ui == "function" },
function () { ELFinderLoader.loadScript('#{ asset_url "ui.js" }'); }
);
ELFinderLoader.loadScript(
'#{ asset_url "jQuery-File-Upload/js/vendor/jquery.ui.widget.js" }', null,
function () {
ELFinderLoader.loadScript(
'#{ asset_url "jQuery-File-Upload/js/jquery.fileupload.js" }',
function () { return typeof $().fileupload == "function"; },
function () { ELFinderLoader.loadScript('#{ asset_url "fileupload.js" }'); }
);
}
);
ELFinderLoader.loadScript(
'#{ asset_url "noty/jquery.noty.js" }',
function () { return typeof window.noty == "function"; },
function () {
ELFinderLoader.loadScript('#{ asset_url "noty/layouts/top.js" }');
ELFinderLoader.loadScript('#{ asset_url "noty/layouts/topRight.js" }');
ELFinderLoader.loadScript('#{ asset_url "noty/themes/default.js" }');
}
);
ELFinderLoader.loadScript(
'#{ asset_url "colorbox/jquery.colorbox-min.js" }',
function () { return typeof $().colorbox == "function"; },
function () {
$(function() {
jQuery.each(ELFinderColorboxes, function(i, callback) { callback() });
});
}
);
ELFinderLoader.loadScript(
'#{ asset_url "bootstrap/js/bootstrap.min.js" }',
function() { return typeof $().dropdown == "function"; },
function() { $('.dropdown-toggle').dropdown() }
);
ELFinderLoader.loadStylesheet(
'#{{ asset_url "bootstrap/css/bootstrap.min.css" }}',
'.span12'
);
}
);
- given = [:location, :file].inject({}) do |units,unit|
- url, units[unit] = params[unit], nil
- if url || unit == :location
- url = EUtils.normalize_path(url.to_s.gsub(/\/+Z/, ''))
- units[unit] = {}
- units[unit][:URL ] = url
- units[unit][:name] = name = File.basename(url)
- units[unit][:path] = File.dirname(url)
- units[unit][:fullpath ] = File.join(root, url)
- units[unit][:path_array] = url.split('/')
- units[unit][:path_array].unshift('') unless units[unit][:path_array].first == ''
- units
- given = Struct.new(*given.keys).new(*given.values)
- editor_opts = Hash[env[:EDITOR_OPTS]||{}]
- editor = editor_opts.delete(:editor)
.container-fluid
.row-fluid
.span
ul.breadcrumb
li
a href=parent_route
i.icon-home
|
= File.basename(root)
- path_array = given.file ? given.file[:path_array] : given.location[:path_array]
- path_array.inject([]) do |path,unit|
- path << unit
- active = path == path_array
li class=('active' if active)
- if active
= unit
- else
a href=parent_route(location: File.join(*path))
= unit
span.divider
| /
- path
.form-inline
- if given.location[:path_array].size > 1 || given.file
- value = given.file ? given.file[:name] : given.location[:name]
.input-append
input.input-rename#input-rename type="text" value=value
button.btn type="button" onclick=="ELFinder.rename();"
| rename
i.icon-pencil
|
- if given.file
- editable = editable?(given.file[:fullpath]) || params[:force_edit]
javascript:
var ELFinder = new ELFinderAPI('#{parent_route}', {
location: {
path: '#{given.location[:path]}',
name: '#{given.location[:name]}',
URL: '#{given.location[:URL]}'
},
file: {
path: '#{given.file[:path]}',
name: '#{given.file[:name]}',
URL: '#{given.file[:URL]}'
}
});
.btn-group
button.btn type="button" onclick=="ELFinder.download();"
i.icon-download-alt
| download
- if editable
button.btn.btn-info.input-medium.saveButton type="button" onclick=="ELFinder.save_file();"
i.icon-edit
| SAVE
.btn-group
button.btn.btn-warning type="button" onclick=="ELFinder.delete('file');"
i.icon-trash
| delete
a.btn href=parent_route(location: given.location[:URL])
| close
i.icon-remove
p
- if image?(given.file[:name])
ul.thumbnails
li.span12
.thumbnail
== img_tag src: parent_route(:image, image: given.file[:URL])
- elsif editable
p
textarea.text_editor.input-block-level#ELFinderEditor = File.read(given.file[:fullpath])
- if editor == :ace
== ace('ELFinderEditor', editor_opts.merge(file: given.file[:name]))
- elsif editor == :ckeditor
== ckeditor('ELFinderEditor', editor_opts)
- else
ul.thumbnails
li.span12
.thumbnail
h4
| Was unable to find a suitable editor for this type of file.
a href=parent_route(location: given.location[:URL], file: given.file[:URL], force_edit: 'true')
| Open it as a text file.
- else
javascript:
var ELFinder = new ELFinderAPI('#{parent_route}', {
location: {
path: '#{given.location[:path]}',
name: '#{given.location[:name]}',
URL: '#{given.location[:URL]}'
}
});
.input-append
input.input-mini#input-create type="text" onfocus=="$(this).removeClass('input-mini');"
button.btn type="button" onclick=="ELFinder.create('file');"
i.icon-file
| new file
button.btn type="button" onclick=="ELFinder.create('folder');"
i.icon-folder-close
| new folder
|
span.btn.fileinput-button
input#fileupload type="file" name="files[]" multiple=true data-url=parent_route(:upload, path: given.location[:URL])
i.icon-upload
| upload
- if given.location[:path_array].size > 1
.btn-group
button.btn.btn-warning type="button" onclick=="ELFinder.delete('folder');"
i.icon-trash
| delete
a.btn href=parent_route(location: given.location[:path])
| close
i.icon-remove
hr
table
tr
- given.location[:path_array].inject([]) do |path_array,dir|
- fullpath = File.join(root, *path_array, dir)
- if File.directory?(fullpath)
- path_array << dir
td.column
- context = {path_array: path_array, fullpath: fullpath, given: given}
== render_p :column, context
javascript:
ELFinderColorboxes.push(function() {
$('.slider-#{fullpath.hash}').colorbox({
rel: 'slider-#{fullpath.hash}',
width: '80%',
height: '80%'
});
});
- path_array
td#right_edge
#progress_modal.modal.hide
.modal-header Uploading file(s), please wait ...
.modal-body
#progress_bar.progress.progress-striped.active
.bar style="width: 0%;"
iframe#ELFinderDownloadIframe