96 lines
3.2 KiB
JavaScript
96 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
|
|
|
|
$(document).off("ajaxSend").off("ajaxComplete"); // ignore spinners in CAD module
|
|
|
|
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)
|
|
{
|
|
// 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();
|
|
}
|
|
});
|
|
}
|