diff --git a/app/assets/javascripts/admin/filemanager.js b/app/assets/javascripts/admin/filemanager.js
new file mode 100644
index 000000000..2aea26b8d
--- /dev/null
+++ b/app/assets/javascripts/admin/filemanager.js
@@ -0,0 +1,102 @@
+!function ($) {
+ $.fn.checkListLength = function (param){
+ _defaultSettings = {
+ onlyOne: null,
+ };
+ _set = $.extend(_defaultSettings, param);
+ $this = this;
+ $li = this.children('li');
+ $dropzone = $('#dropzone');
+ if(($li.length - _set.onlyOne) == 0) {
+ $('#dropzone').fadeIn(300);
+ } else {
+ $('#dropzone').fadeOut(300);
+ };
+ $('#file-list').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
+ }
+}(window.jQuery);
+$(function () {
+ 'use strict';
+ // Initialize the jQuery File Upload widget:
+ $('#fileupload').fileupload({
+ maxFileSize: 5000000,
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png|pdf|doc|docx|ppt|pptx|xls|xlsx)$/i,
+ dropZone: $('#dropzone'),
+ headers:{
+ 'X-CSRF-Token': $('meta[name="csrf-token"]').attr("content")
+ }
+ }).bind('fileuploadstop', function (e, data) {
+ window.location.reload();
+ });
+});
+$(document).ready(function(){
+ var insertBtn = $("#insert_btn"),
+ deleteBtn = $("#delete_btn"),
+ url = null;
+
+ $("#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();
+ }else{
+ insertBtn.hide();
+ url = null;
+ }
+ if($("#asset_sort_list input[type=checkbox]:checked").length)
+ deleteBtn.show();
+ else
+ deleteBtn.hide();
+ })
+ insertBtn.bind(clickEvent,function(){
+ var alt_text = $("#"+language+"_desc_"+$("input[type=checkbox]:checked").val()).val();
+ alt_text = (alt_text ? alt_text : "This is alt text");
+ if(url){
+ window.opener.CKEDITOR.tools.callFunction( funcNum, url, function() {
+ var element,
+ dialog = this.getDialog();
+ if ( dialog.getName() == 'image' ) {
+ element = dialog.getContentElement( 'info', 'txtAlt' );
+ if ( element )
+ element.setValue( alt_text );
+ }
+ });
+ window.close();
+ }
+ })
+ deleteBtn.bind( clickEvent,function(){
+ var items_to_delete = [],
+ type = getUrlParam("type");
+ $("input[type=checkbox]:checked").each(function(){
+ items_to_delete.push($(this).val());
+ })
+ $.post("<%= delete_files_admin_assets_path %>",{"files":items_to_delete,"type":type},function(){
+ deleteBtn.hide();
+ })
+ })
+ var currentEdit = null;
+ $(document).on("ajax:success","form[data-remote=true]",function(evt, data, xhr){
+ currentEdit.replaceWith($(data));
+ $("#editform").modal("hide");
+ })
+
+ $("#asset_sort_list").on(clickEvent,".editform",function(){
+ currentEdit = $(this).parent().parent();
+ $.get($(this).attr("href"),function(data){
+ $("#editform").html(data).modal("show");
+ })
+ return false;
+ })
+
+ 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 funcNum = getUrlParam( 'CKEditorFuncNum' ),
+ t = getUrlParam('CKEditor').split("_"),
+ language = t[t.length-1];
+
+ language = (language == "tw" ? "zh_tw" : language);
+
+})
\ 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 fc373d2e0..a2956fbe5 100644
--- a/app/views/admin/assets/index.html.erb
+++ b/app/views/admin/assets/index.html.erb
@@ -317,111 +317,9 @@
<%= javascript_include_tag "file-upload/jquery.fileupload-fp.js" %>
<%= javascript_include_tag "file-upload/jquery.fileupload-ui.js" %>
<%= javascript_include_tag "file-upload/drop-zone.js" %>
+ <%= javascript_include_tag "admin/filemanager.js" %>
<% end %>
-