Files
Facilitor/APPL/CAD/main.js

95 lines
3.2 KiB
JavaScript

/*
$Revision$
$Id$
*/
// This file is used both on terrain and on room-level
// In some functions 'Rooms' is used as a synonym for 'Terreinsector'
// Result: comma-separated list of room-keys as selected in the list-box
// where is terr or rooms
function selectedRoomsList(where) {
var sl1s = document.getElementById(where)
var dt1s = "";
var op1s = sl1s.options;
for( i1s=0; i1s<op1s.length; i1s++ ) {
if( op1s[i1s].selected && op1s[i1s].value != "-1")
dt1s = dt1s + op1s[i1s].value + ", ";
}
if( dt1s != "" ) // Laatste komma er af
{
dt1s = dt1s.substring( 0, dt1s.length - 2 );
}
return dt1s;
}
// Ga naar (highlight) een specifiele ruimte.
// Als daar een andere tekening voor nodig is wordt die automatisch voorgehaald.
// data heeft { rui_key, floor_key, floor_oms etc. }
// disc is een optionele discipline_key die in de listbox aangezet wordt
// data
function gotoRoom( data, disc )
{
var i;
if (disc != null)
{
var opts = document.getElementById("sDiscsIn").options;
for(i=0;i<opts.length;i++)
{
if( opts[i].value == disc )
opts[i].selected = true;
}
}
if (floor_key != data.flr_key)
{
sgLoc.setValue(data.loc_key, data.loc_oms, false/*doonChange*/);
sgBld.setValue(data.bld_key, data.bld_oms, false/*doonChange*/);
// Let wel: mogelijk zijn de goede ruimtes nog niet geladen.
// Uiteindelijk komt dat allemaal wel goed doordat we forceRoom zetten
forceRoom = data.rui_key;
sgFlr.setValue(data.flr_key, data.flr_oms, true/*doonChange*/);
}
else
{
sl = document.getElementById("rooms");
if( sl.selectedIndex == -1 || sl.options[sl.selectedIndex].value != data.rui_key )
{
for( i=0; i<sl.length; i++ ) {
if( sl.options[i].value == data.rui_key ) {
sl.selectedIndex = i;
myRefresh();
}
}
}
}
return;
}
// Laad de project ruimtes. Als er nog geen scenario was dan wordt die nu aangemaakt
function updatePRJRooms(floor_key, scenario_key)
{
var loadUrl = "../prj/loadPRJRuimteOptions.asp?floor_key="+floor_key+'&scenario_key='+scenario_key;
$("#rooms").load(loadUrl, // eerste poging
function(data)
{
if ($("#rooms")[0].options.length==1) // alleen de lege is er nog maar
{
FcltMgr.confirm(L("lcl_prj_addfloor"), function() {
$.getJSON("../prj/scenario_init.asp?scenario_key=" + scenario_key + "&floor_key=" + floor_key,
function(data) // Tweede poging
{
if (data.warning)
FcltMgr.alert(data.warning)
if (data.success)
$("#rooms").load(loadUrl, myRefresh);
});
});
}
else
{
myRefresh();
}
});
}