Menu enhancements and added find feature
This commit is contained in:
		@@ -1,14 +1,58 @@
 | 
			
		||||
$(document).ready(function() {
 | 
			
		||||
                // Controls menu hide/show
 | 
			
		||||
		$('#hotdog').click(function(){
 | 
			
		||||
                        $('#controls').toggleClass("active");
 | 
			
		||||
                        });	
 | 
			
		||||
		
 | 
			
		||||
		// Reset view 
 | 
			
		||||
                $('.reset-container').click(function(){ reset_view(); }); 
 | 
			
		||||
		$('#submitfindbyname').click( function() {   
 | 
			
		||||
		      var selected = $('#findbyselect option:selected').text();
 | 
			
		||||
		      zoomfocus(selected);
 | 
			
		||||
		});
 | 
			
		||||
  
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function populateUserFields() {
 | 
			
		||||
	//Populate find by select dropdown
 | 
			
		||||
         var types = []; 
 | 
			
		||||
	 var checkboxes = document.getElementsByName("objtype"); 
 | 
			
		||||
	 for (var type in checkboxes) {
 | 
			
		||||
		if(checkboxes[type].checked) {
 | 
			
		||||
			types[type] = checkboxes[type].value; 
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
	 } 	
 | 
			
		||||
	 var option = '';
 | 
			
		||||
	 for (var type in types){
 | 
			
		||||
        	 for ( var key in listobjects(types[type]) ){
 | 
			
		||||
    	    		 option += '<option value="'+ escapeHTML(key) + '">' + escapeHTML(key) + '</option>';
 | 
			
		||||
   		 }
 | 
			
		||||
	}
 | 
			
		||||
         
 | 
			
		||||
	$('#findbyselect').html(option);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function openTab(evt,tabName) {
 | 
			
		||||
    var i, x, tablinks;
 | 
			
		||||
    x = document.getElementsByClassName("tools");
 | 
			
		||||
    x = document.getElementsByClassName("wvg-tools");
 | 
			
		||||
    for (i = 0; i < x.length; i++) {
 | 
			
		||||
        x[i].style.display = "none";
 | 
			
		||||
    }
 | 
			
		||||
    tablinks = document.getElementsByClassName("tablink");
 | 
			
		||||
    tablinks = document.getElementsByClassName("wvg-tablink");
 | 
			
		||||
    for (i = 0; i < x.length; i++) {
 | 
			
		||||
        tablinks[i].className = tablinks[i].className.replace(" tab-active", "");
 | 
			
		||||
        tablinks[i].className = tablinks[i].className.replace(" wvg-tab-active", "");
 | 
			
		||||
    }
 | 
			
		||||
    document.getElementById(tabName).style.display = "block";
 | 
			
		||||
    evt.currentTarget.className += " tab-active";
 | 
			
		||||
    evt.currentTarget.className += " wvg-tab-active";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function escapeHTML(text)
 | 
			
		||||
    {
 | 
			
		||||
       var chr = { '"': '"', '&': '&', '<': '[', '>': ']' };
 | 
			
		||||
       function abc(a)
 | 
			
		||||
       {
 | 
			
		||||
          return chr[a];
 | 
			
		||||
       }
 | 
			
		||||
       return text.replace(/[\"&<>]/g, abc);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -176,4 +176,41 @@ function render () {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function listobjects(type) {
 | 
			
		||||
	var objects = {};
 | 
			
		||||
	
 | 
			
		||||
	for (var key in jsonEmpire) {
 | 
			
		||||
		area=jsonEmpire[key];
 | 
			
		||||
		for (var key2 in area[type]) {
 | 
			
		||||
			object = area[type][key2];
 | 
			
		||||
			objectname = object.name;
 | 
			
		||||
			objects[object.name] = object;
 | 
			
		||||
				
 | 
			
		||||
		}
 | 
			
		||||
	}	
 | 
			
		||||
	return objects;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function zoomfocus(name) {
 | 
			
		||||
	
 | 
			
		||||
	var types = ['planets','stations'];
 | 
			
		||||
	for (var type in types){
 | 
			
		||||
		var objects = listobjects(types[type]); 
 | 
			
		||||
        	for ( var key in objects ) {
 | 
			
		||||
			if (escapeHTML(key) == name) {
 | 
			
		||||
				var object = objects[key]; 
 | 
			
		||||
				controls.target.x = object.x;
 | 
			
		||||
			    	controls.target.y = object.y;
 | 
			
		||||
			      	controls.target.z = object.z;
 | 
			
		||||
				var focus = new THREE.Vector3( object.x, object.y, object.z );
 | 
			
		||||
				var vantage = new THREE.Vector3( 5, 60 , 150 ); 
 | 
			
		||||
				focus.add(vantage); 
 | 
			
		||||
				camera.position.set(focus.x,focus.y,focus.z);
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
    	    		 
 | 
			
		||||
	} 	
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user