You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							78 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							78 lines
						
					
					
						
							1.6 KiB
						
					
					
				| /*
 | |
| function isInArray( array, value ){
 | |
| 	result = false
 | |
| 	for ( var i = 0 ; i < array.length ; i ++ ){
 | |
| 		if ( array[i] == value ){
 | |
| 			result = true
 | |
| 		}
 | |
| 	}
 | |
| 	return result
 | |
| }
 | |
| */
 | |
| 
 | |
| function getSelectedProjectItems (){
 | |
|     var items = [];
 | |
|     var p = app.project;
 | |
|     for ( var i = 1 ; i <= p.numItems ; i ++ ){
 | |
|         var item = p.item(i);
 | |
|         if ( item.selected ){
 | |
|             items.push(item);
 | |
|         }
 | |
|     }
 | |
|     return items;
 | |
| }
 | |
| function getAllItems( folderItem ){
 | |
| 	
 | |
| 	var items = [];
 | |
| 	var folders = [];
 | |
| 	
 | |
| 	for ( var i = 1 ; i <= folderItem.numItems ; i ++ ){
 | |
| 	var item = folderItem.item(i);
 | |
| 	
 | |
| 	if ( (item.typeName != "Folder") ){
 | |
| 			//if ( (isInArray( items ,item )) == false ){
 | |
| 				items.push( item );
 | |
| 			//}
 | |
| 		}else{
 | |
| 				var new_items = getAllItems(item);
 | |
| 				for ( var j = 0 ; j < new_items.length ; j ++ ){
 | |
| 					new_item = new_items[j];
 | |
| 					//if ( (isInArray ( new_item )) == false ){
 | |
| 						items.push ( new_item );
 | |
| 					//}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	return items
 | |
| }
 | |
| function flatten( items, root ){
 | |
| 	app.beginUndoGroup("Flatten Selected Folder Contents")
 | |
| 	for ( var i = 0; i < items.length ; i ++){
 | |
| 		item = items[i];
 | |
| 		item.parentFolder = root;
 | |
| 	}
 | |
| 	app.endUndoGroup()
 | |
| 	purgeEmptyFolders();
 | |
| 	return
 | |
| }
 | |
| function purgeEmptyFolders(){
 | |
| 	app.beginUndoGroup("Purge Empty Folders")
 | |
| 	var emptyFolders = [];
 | |
| 	
 | |
| 	var p = app.project;
 | |
| 	for ( var i = p.numItems ; i >= 1 ; i -- ){
 | |
| 		item = p.item(i);
 | |
| 		if ( item.typeName == "Folder" ){
 | |
| 			if ( item.numItems <= 0 ){
 | |
| 				item.remove();
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	app.endUndoGroup()
 | |
| }
 | |
| 
 | |
| 
 | |
| flatten( getAllItems( getSelectedProjectItems()[0] ) , getSelectedProjectItems()[0] );
 | |
| alert("You're welcome ;-) ");
 |