📄 file_manager_general_revised.js
字号:
};
function doEnableFolderBrowsable(elem, num)
{
$(elem).click(function()
{
{
searchRequired = false;
var typeNum = typeof(num);
if(typeNum.toUpperCase() == 'STRING')
{
var fpath = (num.indexOf(urls.view) >=0?num:files[num].path);
}else
{
var fpath = files[num].path;
}
var url = appendQueryString(getUrl('view', true, true), 'path=' + fpath, ['path']);
$('#rightCol').empty();
ajaxStart('#rightCol');
$('#rightCol').load(url,
{},
function(){
urls.present = appendQueryString(getUrl('home', true, true), 'path=' + fpath, ['path']);
ajaxStop('#rightCol img.ajaxLoadingImg');
initAfterListingLoaded();
});
};
return false;
}
);
};
/**
* @param mixed destinationSelector where the animation image will be append to
* @param mixed selectorOfAnimation the jquery selector of the animation
*/
function ajaxStart(destinationSelector, id, selectorOfAnimation)
{
if(typeof(selectorOfAnimation) == 'undefined')
{//set defaullt animation
selectorOfAnimation = '#ajaxLoading img';
}
if(typeof(id) != 'undefined')
{
$(selectorOfAnimation).clone().attr('id', id).appendTo(destinationSelector);
}else
{
$(selectorOfAnimation).clone(true).appendTo(destinationSelector);
}
};
/**
* remove the ajax animation
* @param mixed selectorOfAnimation the jquery selector of the animation
*/
function ajaxStop(selectorOfAnimation)
{
$(selectorOfAnimation).remove();
};
/**
* change pagination limit
*/
function changePaginationLimit(elem)
{
var url = getUrl('view', true, true, true);
$('#rightCol').empty();
ajaxStart('#rightCol');
$('#rightCol').load(url,
{},
function(){
urls.present = appendQueryString(getUrl('home', true, true), 'path=' + parentFolder.path , ['path'])
ajaxStop('#rightCol img.ajaxLoadingImg');
initAfterListingLoaded();
});
};
/**
* get a query string variable value from an url
* @param string index
* @param string url
*/
function getUrlVarValue(url, index)
{
if(url != '' && index != '')
{
var urlParts = url.split("?");
baseUrl = urlParts[0];
var count = 1;
if(typeof(urlParts[1]) != 'undefined' && urlParts[1] != '')
{//this is the query string parts
var queryStrParts = urlParts[1].split("&");
for(var i=0; i < queryStrParts.length; i++)
{
//split into query string variable name & value
var queryStrVariables = queryStrParts[i].split('=');
if(queryStrVariables[0] == index)
{
return queryStrVariables[1];
}
}
}
}
return '';
};
/**
* parse current folder
*/
function parseCurrentFolder()
{
var folders = currentFolder.friendly_path.split('/');
var str = '';
var url = getUrl('view', true, true);
var parentPath = '';
for(var i = 0; i < folders.length; i++)
{
if(i == 0)
{
parentPath += paths.root;
str += '/<a href="' + appendQueryString(url, 'path='+ parentPath, ['path']) + '"><span class="folderRoot">' + paths.root_title + '</span></a>'
}else
{
if(folders[i] != '')
{
parentPath += folders[i] + '/';
str += '/<a href="' + appendQueryString(url, 'path='+ parentPath , ['path']) + '"><span class="folderSub">' + folders[i] + '</span></a>';
}
}
}
$('#currentFolderPath').empty().append(str);
$('#currentFolderPath a').each(
function()
{
doEnableFolderBrowsable(this, $(this).attr('href'));
}
);
};
/**
* enable pagination as ajax function call
*/
function parsePagination()
{
$('p.pagination a[id!=pagination_parent_link]').each(function ()
{
$(this).click(
function()
{
var page = getUrlVarValue($(this).attr('href'), 'page');
var url = appendQueryString(getUrl('view', true, true, true),'page=' + page, ['page']);
$('#rightCol').empty();
ajaxStart('#rightCol');
$('#rightCol').load(url,
{},
function(){
urls.present = appendQueryString(getUrl('home', true, true, true),'page=' + page, ['page']);
ajaxStop('#rightCol img.ajaxLoadingImg');
initAfterListingLoaded();
});
return false;
}
);
}
);
};
/**
* get current view
*/
function getView()
{
var view = $('input[@name=view][@checked]').get(0);
if(typeof(view) != 'undefined')
{
return view.value;
}else
{
return '';
}
};
function getNum(elemId)
{
if(typeof(elemId) != 'undefined' && elemId != '')
{
var r = elemId.match(/[\d\.]+/g);
if(typeof(r) != 'undefined' && r && typeof(r[0]) != 'undefined')
{
return r[0];
}
}
return 0;
};
function enableContextMenu(jquerySelectors)
{
$(jquerySelectors).contextMenu('contextMenu',
{
bindings:
{
'menuSelect':function(t)
{
var num = (getNum($(t).attr('id')));
selectFile(files[num].url);
},
'menuPlay':function(t)
{
var num = (getNum($(t).attr('id')));
$('#playGround').html('<a id="playGround' + num + '" href="' + files[num].path + '"><div id="player"> this is mine</div></a> ');
$('#playGround' + num).html('');
$('#playGround' + num).media({ width: 255, height: 210, autoplay: true });
//alert($('#playGround' + num).html());
showThickBox($('#a' + num).get(0), appendQueryString('#TB_inline', 'height=250' + '&width=258' + '&inlineId=winPlay&modal=true'));
},
'menuPreview':function(t)
{
var num = (getNum($(t).attr('id')));
$('#a' + num).click();
},
'menuDownload':function(t)
{
var num = (getNum($(t).attr('id')));
generateDownloadIframe(appendQueryString(getUrl('download', false, false), 'path=' + files[num].path, ['path']));
},
'menuRename':function(t)
{
var num = (getNum($(t).attr('id')));
$('#renameName').val(files[num].name);
$('#original_path').val(files[num].path);
$('#renameNum').val(num);
showThickBox($('#a' + num).get(0), appendQueryString('#TB_inline', 'height=100' + '&width=250' + '&inlineId=winRename&modal=true'));
},
'menuEdit':function(t)
{
var num = (getNum($(t).attr('id')));
var url = '';
switch(files[num].cssClass)
{
case 'filePicture':
url = getUrl('image_editor');
break;
default:
url = getUrl('text_editor');
}
var param = "status=yes,menubar=no,resizable=yes,scrollbars=yes,location=no,toolbar=no";
param += ",height=" + screen.height + ",width=" + screen.width;
if(typeof(window.screenX) != 'undefined')
{
param += ",screenX = 0,screenY=0";
}else if(typeof(window.screenTop) != 'undefined' )
{
param += ",left = 0,top=0" ;
}
var newWindow = window.open(url + ((url.lastIndexOf("?") > - 1)?"&":"?") + "path=" + files[num].path,'', param);
newWindow.focus( );
},
'menuCut':function(t)
{
},
'menuCopy':function(t)
{
},
'menuPaste':function(t)
{
},
'menuDelete':function(t)
{
var num = (getNum($(t).attr('id')));
if(window.confirm(warningDelete))
{
$.getJSON(appendQueryString(getUrl('delete', false,false), 'delete=' + files[num].path, ['delete']),
function(data)
{
if(typeof(data.error) == 'undefined')
{
alert('Unexpected Error.');
}
else if(data.error != '')
{
alert(data.error);
}else
{//remove deleted files
switch(getView())
{
case 'thumbnail': $('#dl' + num ).remove();
break;
case 'detail':
default:
$('#row' + num).remove();
}
files[num] = null;
}
}
);
}
}
},
onContextMenu:function(events)
{
return true;
},
onShowMenu:function(events, menu)
{
num = 1;
switch(getView())
{
case 'thumbnail':
var num = getNum(events.target.id);
break;
case 'detail':
default:
switch(events.target.tagName.toLowerCase())
{
case 'span':
if($(events.target).parent().get(0).tagName.toLowerCase() == 'a')
{
var num = getNum($(events.target).parent().parent().parent().attr('id'));
}else
{
var num = getNum($(events.target).parent().parent().parent().parent().attr('id'));
}
break;
case 'td':
var num = getNum($(events.target).parent().attr('id'));
break;
case 'a':
case 'input':
var num = getNum($(events.target).parent().parent().attr('id'));
break;
}
}
var menusToRemove = new Array;
if(typeof(selectFile) == 'undefined')
{
menusToRemove[menusToRemove.length] = '#menuSelect';
}
if(!permits.edit)
{
menusToRemove[menusToRemove.length] = '#menuEdit';
}
menusToRemove[menusToRemove.length] = '#menuCut';
menusToRemove[menusToRemove.length] = '#menuCopy';
menusToRemove[menusToRemove.length] = '#menuPaste';
switch(files[num].type)
{
case 'folder':
if(numFiles < 1)
{
menusToRemove[menusToRemove.length] = '#menuPaste';
}
menusToRemove[menusToRemove.length] = '#menuPreview';
menusToRemove[menusToRemove.length] = '#menuDownload';
menusToRemove[menusToRemove.length] = '#menuEdit';
menusToRemove[menusToRemove.length] = '#menuPlay';
menusToRemove[menusToRemove.length] = '#menuDownload';
break;
default:
var isSupportedExt = false;
if(!permits.edit)
{
var ext = getFileExtension(files[num].path);
var supportedExts = supporedPreviewExts.split(",");
for(var i = 0; i < supportedExts.length; i++)
{
if(typeof(supportedExts[i]) != 'undefined' && typeof(supportedExts[i]).toLowerCase() == 'string' && supportedExts[i].toLowerCase() == ext.toLowerCase())
{
isSupportedExt = true;
break;
}
}
}
if(!isSupportedExt)
{
menusToRemove[menusToRemove.length] = '#menuEdit';
}
switch(files[num].cssClass)
{
case 'filePicture':
menusToRemove[menusToRemove.length] = '#menuPlay';
break;
case 'fileCode':
menusToRemove[menusToRemove.length] = '#menuPlay';
break;
case 'fileVideo':
case 'fileFlash':
case 'fileMusic':
menusToRemove[menusToRemove.length] = '#menuPreview'; menusToRemove[menusToRemove.length] = '#menuEdit';
break;
default:
menusToRemove[menusToRemove.length] = '#menuPreview';
menusToRemove[menusToRemove.length] = '#menuPlay';
}
menusToRemove[menusToRemove.length] = '#menuPaste';
}
if(!permits.del)
{
menusToRemove[menusToRemove.length] = '#menuDelete';
}
if(!permits.cut)
{
menusToRemove[menusToRemove.length] = '#menuCut';
}
if(!permits.copy)
{
menusToRemove[menusToRemove.length] = '#menuCopy';
}
if(!permits.cut && !permits.copy)
{
menusToRemove[menusToRemove.length] = '#menuPaste';
}
if(permits.rename)
{
menusToRemove[menusToRemove.length] = '#menuRename';
}
$(menusToRemove.join(','), menu).parent().remove();
return menu;
}
}
);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -