diff --git a/app/assets/javascripts/admin/filemanager.js b/app/assets/javascripts/admin/filemanager.js
index 2558cb46..9abd9d17 100644
--- a/app/assets/javascripts/admin/filemanager.js
+++ b/app/assets/javascripts/admin/filemanager.js
@@ -33,14 +33,47 @@ $(document).ready(function(){
var insertBtn = $("#insert_btn"),
deleteBtn = $("#delete_btn"),
url = null;
+
+ var showPreview = function(elem){
+ var type = $("#ext_" + elem.val()).val(),
+ imgexp = new RegExp(/(\.|\/)(gif|jpe?g|png)$/i),
+ otherexp = new RegExp(/(\.|\/)(pdf|doc|docx|ppt|pptx|xls|xlsx)$/i)
+ img = $(""),
+ preview = $( ".preview-area" );
+ preview.text("Preview is loading...");
+ if( imgexp.test(type) ){
+ var url = $("#url_" + elem.val()).val();
+ img.attr("src",url).load(function(){
+ var ratio = this.width / this.height,
+ targetWidth = targetHeight = 200;
+ if( ratio < 1 ){
+ targetWidth = targetHeight * ratio;
+ }else{
+ targetHeight = targetWidth / ratio;
+ }
+ img.height(targetHeight).width(targetWidth);
+ preview.html(img);
+ })
+ }else if( otherexp.test(type) ) {
+ var t = type.replace(".",""),
+ url = "/assets/ft-icons/" + t + "/" + t + "-128_32.png";
+ img.attr('src', url).load(function(){
+ preview.html(img);
+ });
+ }else{
+ preview.html("Preview not available.");
+ }
+ }
$("#asset_sort_list").on(clickEvent,"input[type=checkbox]",function(){
if($("#asset_sort_list input[type=checkbox]:checked").length == 1){
url = window.location.protocol + "//" + window.location.host + $("#url_" + $("input[type=checkbox]:checked").val()).val();
insertBtn.show();
+ showPreview($("input[type=checkbox]:checked"))
}else{
insertBtn.hide();
url = null;
+ $( ".preview-area" ).empty();
}
if($("#asset_sort_list input[type=checkbox]:checked").length)
deleteBtn.show();
diff --git a/app/assets/javascripts/ckeditor/config.js.erb b/app/assets/javascripts/ckeditor/config.js.erb
index a3a474fa..199ec326 100644
--- a/app/assets/javascripts/ckeditor/config.js.erb
+++ b/app/assets/javascripts/ckeditor/config.js.erb
@@ -26,8 +26,8 @@ CKEDITOR.editorConfig = function( config ) {
// config.filebrowserImageBrowseUrl = '/browser/browse.php?type=Images';
// config.filebrowserUploadUrl = '/uploader/upload.php';
- config.filebrowserBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path %>?module_app_id=<%= ModuleApp.first(conditions: {title: 'Asset'}).id.to_s %>";
- config.filebrowserImageBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path %>?type=images&module_app_id=<%= ModuleApp.first(conditions: {title: 'Asset'}).id.to_s %>";
+ config.filebrowserBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path(:module_app_id=>ModuleApp.where(:key=>'asset').first.id) %>";
+ config.filebrowserImageBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path(:type=>'image',:module_app_id=>ModuleApp.where(:key=>'asset').first.id) %>";
// config.filebrowserUploadUrl = "<%= Rails.application.routes.url_helpers.file_upload_admin_assets_path %>";
// config.contentsCss = '/orbit_4.0.1/assets/javascripts/lib/ckeditor/plugins/stylesheetparser/samples/assets/sample.css';
diff --git a/app/controllers/admin/assets_controller.rb b/app/controllers/admin/assets_controller.rb
index ef054a1d..f91be58a 100644
--- a/app/controllers/admin/assets_controller.rb
+++ b/app/controllers/admin/assets_controller.rb
@@ -3,8 +3,8 @@ class Admin::AssetsController < OrbitBackendController
before_filter :setup_vars
def index
- @assets = (params[:sort] || @filter) ? get_sorted_and_filtered("asset") : Asset.all.desc(:created_at).page(params[:page]).per(10)
- if params[:type] == "images"
+ @assets = (params[:sort] || @filter) ? get_sorted_and_filtered("asset") : Asset.all.desc(:created_at)
+ if params[:type] == "image"
@assets = @assets.where(:content_type => /^image/)
end
@tag = ModuleTag.new
@@ -12,6 +12,8 @@ class Admin::AssetsController < OrbitBackendController
@module_app = ModuleApp.find(params[:module_app_id]) rescue nil
raise ModuleAppError, 'Can not find ModuleApp' if @module_app.nil?
@module_app_id = @module_app.id rescue nil
+
+ @assets = @assets.page(params[:page]).per(10)
render :layout => "assets"
end
diff --git a/app/views/admin/assets/_asset.html.erb b/app/views/admin/assets/_asset.html.erb
index fd76be26..0a319c24 100644
--- a/app/views/admin/assets/_asset.html.erb
+++ b/app/views/admin/assets/_asset.html.erb
@@ -6,6 +6,7 @@
<% end %>
+