Menu enhancements and added find feature

This commit is contained in:
Rob L
2016-07-12 15:52:58 -04:00
parent f59191b770
commit 4d33d22e91
3 changed files with 184 additions and 29 deletions

View File

@ -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);
}

View File

@ -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);
}
}
}
}