⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file_manager_general.js

📁 jquery+prototype+插件+源码+资料 非常的东西
💻 JS
📖 第 1 页 / 共 4 页
字号:
																					break;
																				default:
																					menusToRemove[menusToRemove.length] = '#menuPreview';
																					menusToRemove[menusToRemove.length] = '#menuPlay';
																					
																					
																					
																			}
																			menusToRemove[menusToRemove.length] = '#menuPaste';
																		}
																		
																		if(!permits.del || permits.view_only)
																		{
																			menusToRemove[menusToRemove.length] = '#menuDelete';
																		}  
																		if(!permits.cut || permits.view_only)
																		{
																			menusToRemove[menusToRemove.length] = '#menuCut';
																		} 
																		if(!permits.copy || permits.view_only)
																		{
																			menusToRemove[menusToRemove.length] = '#menuCopy';
																		} 
																		if((!permits.cut  && !permits.copy) || permits.view_only)
																		{
																			menusToRemove[menusToRemove.length] = '#menuPaste';
																		} 
																		if(permits.rename || permits.view_only)
																		{
																			menusToRemove[menusToRemove.length] = '#menuRename';
																		} 
																																																																						
																		
																		$(menusToRemove.join(','), menu).parent().remove();																		
																		
																
																		return menu;
																	}
																 }
																 );	
};


var fileUploadElemIds = new Array(); //keep track of the file element ids
/**
*	add more file type of input file for multiple uploads
*/
function addMoreFile()
{
	var newFileUpload = $($('#fileUploadBody  tr').get(0)).clone();
	
	do
	{
		var elementId = 'upload' + generateUniqueId(10);
	}while(fileUploadElemIds.inArray(elementId));
	
	fileUploadElemIds[fileUploadElemIds.length] = elementId;	

	
	$(newFileUpload).appendTo('#fileUploadBody');
	$('input[@type=file]', newFileUpload).attr('id', elementId);
	$('span.uploadProcessing', newFileUpload).attr('id', 'ajax' + elementId);
	$('input[@type=button]', newFileUpload).click(
		function()
		{
			uploadFile(elementId);
		}
	);
	$('a', newFileUpload).show().click(
		function()
		{
			cancelFileUpload(elementId);
		}
	);


	$(newFileUpload).show();
	
	return false;
};
/**
*	cancel uploading file
*   remove hidden upload frame
*   remove hidden upload form
*/
function cancelFileUpload(elementId)
{
	$('#' + elementId).parent().parent().remove();

	//ensure there is at least one visible upload element
	while($('#fileUploadBody tr').length < 2)
	{
		addMoreFile();
	}
	return false;	
};
/**
*	upload file
*/
function uploadFile(elementId)
{

		var ext = getFileExtension($('#' + elementId).val());
		if(ext == '')
		{
			alert(noFileSelected );
			return false;
		}
		var supportedExts = supportedUploadExts.split(",");
		var isSupportedExt = false;
		
		for (i in supportedExts)
		{
			//alert(typeof(supportedExts[i]));
			if(typeof(supportedExts[i]) == 'string')
			{
				isSupportedExt = true;
				break;				
			}
		}	
		
		if(!isSupportedExt)
		{
			alert(msgInvalidExt);
			return false;
		}
	
		$('#ajax' + elementId).hide();
		$('#ajax' + elementId).show();
		$.ajaxFileUpload
		(
			{
				url:appendQueryString(getUrl('upload', false, false), 'folder=' + currentFolder.path, ['folder']),
				secureuri:false,
				fileElementId:elementId,
				dataType: 'json',
				success: function (data, status)
				{
					
					if(typeof(data.error) != 'undefined')
					{
						if(data.error != '')
						{
							alert(data.error);
							$('#ajax' + elementId).hide();
						}else
						{
							//remove the file type of input
							cancelFileUpload(elementId);
							numRows++;
							files[numRows] = {};

							for(var i in data)
							{
								if(i != 'error')
								{
									files[numRows][i] =  data[i];
								}
							}
							addDocumentHtml(numRows);
						}
					}
					
				},
				error: function (data, status, e)
				{
					$('#ajax' + elementId).hide();
					alert(e);
				}
			}
		)	
	
	return false;
};
/**
*	 generate unique id
*/
function generateUniqueId(leng)
{
   var idLength = leng || 32;
   var chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";
   var id = '';
   for(var i = 0; i <= idLength; i++)
   {
      id += chars.substr( Math.floor(Math.random() * 62), 1 );
   }
   
   return (id );   
   
};

/**
*	generate a hidden iframe and force to download the specified file 
*/
function generateDownloadIframe(url)
{
				var frameId = 'ajaxDownloadIframe';		
				$('#' + frameId).remove();
				if(window.ActiveXObject) {
						var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
						
						
				}
				else {
						var io = document.createElement('iframe');
						io.id = frameId;
						io.name = frameId;
				}
				io.style.position = 'absolute';
				io.style.top = '-1000px';
				io.style.left = '-1000px';
				io.src = url; 
				document.body.appendChild(io);		
};


/**
*	show the url content in thickbox
*/
function showThickBox(linkElem, url)
{
	$(linkElem).attr('href', url);
	var t = linkElem.title || linkElem.name || null;
	var a = linkElem.href || linkElem.alt;
	var g = linkElem.rel || false;
	tb_show(t,a,g);
	linkElem.blur();	
	return false;
};
/**
*	bring up a file upload window
*/
function uploadFileWin(linkElem)
{
	showThickBox(linkElem, appendQueryString('#TB_inline', 'height=200' + '&width=450' + '&inlineId=winUpload&modal=true'));

};
/**
*	bring up a new folder window
*/
function newFolderWin(linkElem)
{
	showThickBox(linkElem, appendQueryString('#TB_inline', 'height=100'  + '&width=250' + '&inlineId=winNewFolder&modal=true'));
	return false;
}
/**
*	ajax call to create a folder
*/
function doCreateFolder()
{
	$('#currentNewfolderPath').val(currentFolder.path);
	var pattern=/^[A-Za-z0-9_ \-]+$/i;
	
	var folder = $('#new_folder');
	
	if(!pattern.test($(folder).val()))
	{
		alert(msgInvalidFolderName);	
	}else
	{	
			var options = 
			{ 
				dataType: 'json',
				url:getUrl('create_folder'),
				error: function (data, status, e) 
				{

					alert(e);
				},				
				success:   function(data) 
				{ 
					//remove those selected items
					if(data.error != '')
					{
						alert(data.error);
					}else
					{
						
							numRows++;
							files[numRows] = {};
							for(var i in data)
							{
								if(i != 'error')
								{
									files[numRows][i] =  data[i];
								}
							}
						addDocumentHtml(numRows);

						tb_remove();
						
																

					}
										
					


				} 
			}; 
			$('#formNewFolder').ajaxSubmit(options); 	
						 				
				
	}
	return false;	
	
};
/**
* selecte documents and fire an ajax call to delete them
*/
function deleteDocuments(msgNoDocSelected, msgUnableToDelete, msgWarning, elements)
{
	if(!window.confirm(warningDel))
	{
		return false;
	}
	switch(getView())
	{
		case 'thumbnail':
			var selectedDoc = $('#rightCol dl.thumbnailListing input[@type=checkbox][@checked]');
			break;
		case 'detail':
			
		default:
			var selectedDoc = $('#fileList input[@type=checkbox][@checked]');
	}
	
	var hiddenSelectedDoc = document.getElementById('selectedDoc');
	var selectedOptions;
	var isSelected = false;
	
	//remove all options
	$(hiddenSelectedDoc).removeOption(/./);
	$(selectedDoc).each(function(i){
										
										$(hiddenSelectedDoc).addOption($(this).val(), getNum($(this).attr('id')), true);
										isSelected = true;
										 });		
	if(!isSelected)
	{
		alert(msgNoDocSelected);
	}
	else
	{//remove them via ajax call
			var options = 
			{ 
				dataType: 'json',
				url:getUrl('delete'),
				error: function (data, status, e) 
				{

					alert(e);
				},				
				success:   function(data) 
				{ 
					if(typeof(data.error) == 'undefined')
					{
						alert('Unexpected error.');
					}else if(data.error != '')
					{
						alert(data.error);
					}else
					{
						
						//remove all files
						for(var i =0; i < hiddenSelectedDoc.options.length; i++)
						{
							switch(getView())
							{
								case 'thumbnail':
									$('#dl' + hiddenSelectedDoc.options[i].text).remove();
									break;
								case 'detail':
								default:
									$('#row' + hiddenSelectedDoc.options[i].text).remove();
							}
						}											

					}
				} 
			}; 
			$('#formAction').ajaxSubmit(options); 			

			
		
	}
	
	return false;	
};
/**
*	renmae the specific file/folder
*/
function doRename()
{
	
	var num = $('#renameNum').val();
	if(files[num].fileType == 'folder')
	{
		var pattern=/^[A-Za-z0-9_ \-]+$/i;
	}else
	{
		var pattern=/^[A-Za-z0-9_ \-\.]+$/i;
	}	
	
	if(!pattern.test($('#renameName').val()))
	{
		if(files[num].fileType == 'folder')
		{
			alert(msgInvalidFolderName);
		}else
		{
			alert(msgInvalidFileName);
		}	
			
	}else
	{	
			var options = 
			{ 
				dataType: 'json',
				url:getUrl('rename'),
				error: function (data, status, e) 
				{

					alert(e);
				},				
				success:   function(data) 
				{ 
					//remove those selected items
					if(data.error != '')
					{
						alert(data.error);
					}else
					{
						
						var info = '';
						for(var i in data)
						{
							if(i != 'error')
							{
								files[num][i] = data[i];
							}
							
						}						
						switch(getView())
						{
							case 'thumbnail':
							 	$('#thumbUrl' + num).attr('href', files[num].path);
							 	$('#thumbImg' + num).attr('src', appendQueryString(getUrl('thumbnail'), 'path=' + files[num].path, ['path']));
							 	$('#cb' + num).val(files[num].path);
							 	$('#a' + num).attr('href', files[num].path).text(files[num].name);
								break;
	
							case 'detail':

							default:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -