diff --git a/app/assets/javascripts/admin/filemanager.js b/app/assets/javascripts/admin/filemanager.js
index 1e2e9e8..f005317 100644
--- a/app/assets/javascripts/admin/filemanager.js
+++ b/app/assets/javascripts/admin/filemanager.js
@@ -1,3 +1,5 @@
+var insertBtn, deleteBtn, language, funcNum, url = null;
+
!function ($) {
$.fn.checkListLength = function (param){
_defaultSettings = {
@@ -30,41 +32,27 @@ $(function () {
});
});
$(document).ready(function(){
- var insertBtn = $("#insert_btn"),
- deleteBtn = $("#delete_btn"),
- url = null;
+ insertBtn = $("#insert_btn");
+ deleteBtn = $("#delete_btn");
- 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.");
- }
- }
+ initAssets();
+ funcNum = getUrlParam( 'CKEditorFuncNum' ),
+ t = getUrlParam('CKEditor').split("_"),
+ language = t[t.length-1];
+
+ language = (language == "tw" ? "zh_tw" : language);
+
+})
+
+function getUrlParam( paramName ) {
+ var reParam = new RegExp( '(?:[\?&]|&)' + paramName + '=([^&]+)', 'i' );
+ var match = window.location.search.match(reParam);
+
+ return ( match && match.length > 1 ) ? match[ 1 ] : null;
+}
+
+var initAssets = function(){
$("#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();
@@ -86,7 +74,7 @@ $(document).ready(function(){
if(url){
window.opener.CKEDITOR.tools.callFunction( funcNum, url, function() {
var element,
- dialog = this.getDialog();
+ dialog = this.getDialog();
if ( dialog.getName() == 'image' ) {
element = dialog.getContentElement( 'info', 'txtAlt' );
if ( element )
@@ -98,7 +86,10 @@ $(document).ready(function(){
})
deleteBtn.bind( clickEvent,function(){
var items_to_delete = [],
- type = getUrlParam("type");
+ type = getUrlParam("type");
+
+ $( ".preview-area" ).empty();
+
$("input[type=checkbox]:checked").each(function(){
items_to_delete.push($(this).val());
})
@@ -109,7 +100,8 @@ $(document).ready(function(){
var currentEdit = null;
$(document).on("ajax:success","form[data-remote=true]",function(evt, data, xhr){
if(currentEdit){
- currentEdit.replaceWith($(data));
+ $('#assets_content').html($(data));
+ initAssets();
$("#editform").modal("hide");
}
})
@@ -125,17 +117,35 @@ $(document).ready(function(){
$("#editform").on("hidden",function(){
currentEdit = null;
})
+}
- function getUrlParam( paramName ) {
- var reParam = new RegExp( '(?:[\?&]|&)' + paramName + '=([^&]+)', 'i' ) ;
- var match = window.location.search.match(reParam) ;
-
- return ( match && match.length > 1 ) ? match[ 1 ] : 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.");
}
- var funcNum = getUrlParam( 'CKEditorFuncNum' ),
- t = getUrlParam('CKEditor').split("_"),
- language = t[t.length-1];
-
- language = (language == "tw" ? "zh_tw" : language);
-
-})
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/app/controllers/admin/assets_controller.rb b/app/controllers/admin/assets_controller.rb
index 7b3f632..950391c 100644
--- a/app/controllers/admin/assets_controller.rb
+++ b/app/controllers/admin/assets_controller.rb
@@ -2,7 +2,7 @@ class Admin::AssetsController < OrbitAdminController
def index
@assets = current_user.assets
- @assets = @assets.page(params[:page]).per(10)
+ @assets = @assets.order_by(:created_at=>'desc').page(params[:page]).per(10)
render :layout => "assets"
end
@@ -22,6 +22,10 @@ class Admin::AssetsController < OrbitAdminController
def update
@asset = Asset.find(params[:id])
@asset.update_attributes(asset_params)
+
+ @assets = current_user.assets
+ @assets = @assets.order_by(:created_at=>'desc').page(params[:page]).per(10)
+
if asset_params['data'].blank?
render layout: false
else
@@ -39,7 +43,8 @@ class Admin::AssetsController < OrbitAdminController
def delete_files
Asset.where(:id.in=>params[:files]).destroy
- @assets = current_user.assets.page(params[:page]).per(10)
+ @assets = current_user.assets
+ @assets = @assets.order_by(:created_at=>'desc').page(params[:page]).per(10)
end
def file_upload
diff --git a/app/views/admin/assets/_asset.html.erb b/app/views/admin/assets/_asset.html.erb
index 57bddb9..1351656 100644
--- a/app/views/admin/assets/_asset.html.erb
+++ b/app/views/admin/assets/_asset.html.erb
@@ -1,17 +1,35 @@
-
-
- <%= check_box_tag 'files[]', asset.id, false, :class => "checkbox_in_list" %>
-
- <% @site_in_use_locales.each_with_index do |locale, i| %>
-
-
+
+
+
+
+ <%= t(:filename) %>
+ <%= t(:size) %>
+ <%= t(:description) %>
+
+
+
+
+ <% @assets.each do |asset| %>
+
+
+ <%= check_box_tag 'files[]', asset.id, false, :class => "checkbox_in_list" %>
+
+ <% @site_in_use_locales.each_with_index do |locale, i| %>
+
+
+ <% end %>
+
+
+ <%= asset.title_translations[I18n.locale.to_s] rescue nil %>
+ <%= number_to_human_size(asset.data.file.size) rescue nil %>
+ <%= asset.description rescue nil %>
+
+ <%= t(:edit) %>
+
+
<% end %>
-
-
- <%= asset.title_translations[I18n.locale.to_s] rescue nil %>
- <%= number_to_human_size(asset.data.file.size) rescue nil %>
- <%= asset.description rescue nil %>
-
- <%= t(:edit) %>
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/app/views/admin/assets/delete_files.js.erb b/app/views/admin/assets/delete_files.js.erb
index 2be7f19..b53f4cd 100644
--- a/app/views/admin/assets/delete_files.js.erb
+++ b/app/views/admin/assets/delete_files.js.erb
@@ -1,2 +1,2 @@
-$("#tbody_assets").html("<%= j render :partial => 'asset', :collection => @assets %>");
-$("#asset_pagination").html("<%= j paginate @assets, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>");
\ No newline at end of file
+$("#assets_content").html("<%= j render :partial => 'asset' %>");
+initAssets();
\ No newline at end of file
diff --git a/app/views/admin/assets/index.html.erb b/app/views/admin/assets/index.html.erb
index e63423e..b584ec8 100644
--- a/app/views/admin/assets/index.html.erb
+++ b/app/views/admin/assets/index.html.erb
@@ -231,22 +231,8 @@
-
-
-
-
- <%= t(:filename) %>
- <%= t(:size) %>
- <%= t(:description) %>
-
-
-
-
- <%= render :partial => 'asset', :collection => @assets %>
-
-
-
diff --git a/app/views/admin/assets/index.js.erb b/app/views/admin/assets/index.js.erb
new file mode 100644
index 0000000..8043fd4
--- /dev/null
+++ b/app/views/admin/assets/index.js.erb
@@ -0,0 +1,2 @@
+$('#assets_content').html("<%= j render partial: 'asset' %>");
+initAssets();
\ No newline at end of file
diff --git a/app/views/admin/assets/update.html.erb b/app/views/admin/assets/update.html.erb
index 9154b69..d85a02b 100644
--- a/app/views/admin/assets/update.html.erb
+++ b/app/views/admin/assets/update.html.erb
@@ -1 +1 @@
-<%= render :partial => 'asset', :object => @asset %>
\ No newline at end of file
+<%= render partial: 'asset' %>
\ No newline at end of file