mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-30 20:51:22 +00:00 
			
		
		
		
	add function formatFileSize()
This commit is contained in:
		
							parent
							
								
									154ec361ed
								
							
						
					
					
						commit
						2d721e542e
					
				|  | @ -38,6 +38,38 @@ function escapeHtml(text) { | ||||||
|   return text.replace(/[&<>"']/g, function(m) { return map[m]; }); |   return text.replace(/[&<>"']/g, function(m) { return map[m]; }); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * Format bytes as human-readable text. | ||||||
|  |  *  | ||||||
|  |  * @param bytes Number of bytes. | ||||||
|  |  * @param si True to use metric (SI) units, aka powers of 1000. False to use  | ||||||
|  |  *           binary (IEC), aka powers of 1024. | ||||||
|  |  * @param dp Number of decimal places to display. | ||||||
|  |  *  | ||||||
|  |  * @return Formatted string. | ||||||
|  |  */ | ||||||
|  | function formatFileSize(bytes, si=false, dp=1) { | ||||||
|  |   const thresh = si ? 1000 : 1024; | ||||||
|  | 
 | ||||||
|  |   if (Math.abs(bytes) < thresh) { | ||||||
|  |     return bytes + ' B'; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   const units = si  | ||||||
|  |     ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']  | ||||||
|  |     : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; | ||||||
|  |   let u = -1; | ||||||
|  |   const r = 10**dp; | ||||||
|  | 
 | ||||||
|  |   do { | ||||||
|  |     bytes /= thresh; | ||||||
|  |     ++u; | ||||||
|  |   } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   return bytes.toFixed(dp) + ' ' + units[u]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function treeFolderSelected(formid, nodeid, nodename) { | function treeFolderSelected(formid, nodeid, nodename) { | ||||||
| 	$('#'+formid).val(nodeid); | 	$('#'+formid).val(nodeid); | ||||||
| 	$('#choosefoldersearch'+formid).val(nodename); | 	$('#choosefoldersearch'+formid).val(nodename); | ||||||
|  |  | ||||||
|  | @ -38,6 +38,38 @@ function escapeHtml(text) { | ||||||
|   return text.replace(/[&<>"']/g, function(m) { return map[m]; }); |   return text.replace(/[&<>"']/g, function(m) { return map[m]; }); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * Format bytes as human-readable text. | ||||||
|  |  *  | ||||||
|  |  * @param bytes Number of bytes. | ||||||
|  |  * @param si True to use metric (SI) units, aka powers of 1000. False to use  | ||||||
|  |  *           binary (IEC), aka powers of 1024. | ||||||
|  |  * @param dp Number of decimal places to display. | ||||||
|  |  *  | ||||||
|  |  * @return Formatted string. | ||||||
|  |  */ | ||||||
|  | function formatFileSize(bytes, si=false, dp=1) { | ||||||
|  |   const thresh = si ? 1000 : 1024; | ||||||
|  | 
 | ||||||
|  |   if (Math.abs(bytes) < thresh) { | ||||||
|  |     return bytes + ' B'; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   const units = si  | ||||||
|  |     ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']  | ||||||
|  |     : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; | ||||||
|  |   let u = -1; | ||||||
|  |   const r = 10**dp; | ||||||
|  | 
 | ||||||
|  |   do { | ||||||
|  |     bytes /= thresh; | ||||||
|  |     ++u; | ||||||
|  |   } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   return bytes.toFixed(dp) + ' ' + units[u]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function treeFolderSelected(formid, nodeid, nodename) { | function treeFolderSelected(formid, nodeid, nodename) { | ||||||
| 	$('#'+formid).val(nodeid); | 	$('#'+formid).val(nodeid); | ||||||
| 	$('#choosefoldersearch'+formid).val(nodename); | 	$('#choosefoldersearch'+formid).val(nodename); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann