501 lines
23 KiB
JavaScript
501 lines
23 KiB
JavaScript
"use strict";
|
|
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
Clientside functions for shared/plaatsselector.inc
|
|
|
|
Zou nog kunnen worden verfijnd, maar dan gaan we al zeuren:
|
|
MGE DONE: - naar boven toe terug-escaleren of terug-invalideren indien de bovenste zichtbare waarde wijzigt
|
|
- automatisch keuze maken indien er maar eentje is.
|
|
- verfijndere focus-handling
|
|
*/
|
|
|
|
var plaatsselector =
|
|
{
|
|
fillLowerLevels: function(json, textStatus)
|
|
{
|
|
if (textStatus == "success")
|
|
{
|
|
//if (json.level) FcltMgr.alert(json.level);
|
|
var sgRoom = psObject[json.idadd].sgRoom;
|
|
var sgFlr = psObject[json.idadd].sgFlr;
|
|
var sgBld = psObject[json.idadd].sgBld;
|
|
var sgLoc = psObject[json.idadd].sgLoc;
|
|
var sgDis = psObject[json.idadd].sgDis;
|
|
var sgReg = psObject[json.idadd].sgReg;
|
|
var escalateOnChUp = psObject[json.idadd].escalateOnChUp;
|
|
var onRegChange = psObject[json.idadd].onRegChange;
|
|
var onDisChange = psObject[json.idadd].onDisChange;
|
|
var onLocChange = psObject[json.idadd].onLocChange;
|
|
var onGebChange = psObject[json.idadd].onGebChange;
|
|
var onVerChange = psObject[json.idadd].onVerChange;
|
|
var onRuiChange = psObject[json.idadd].onRuiChange;
|
|
switch(json.level)
|
|
{ // Naar boven toe terug-escaleren:
|
|
// Levels: werkplek (6), ruimte (5), verdieping (4), gebouw/terrein (3), locatie (2), district (1), regio (0).
|
|
// Waarde zetten met de functie setValue(key, txt, doonChange, checkExist, extraParam, lastTry).
|
|
// Geen onChange (doonChange) uitvoeren met de functie setValue(). Dan worden de functies plaatsselector.xxxChanged uitgevoerd en lagere velden weer leeggemaakt.
|
|
// Als escalateOnChUp is gezet moet alleen de params.onLocChange functies worden uitgevoerd, maar niet de plaatsselector.xxxChanged functies.
|
|
// Let op, er is geen break aan het eind van elke case
|
|
case 6: if (typeof(sgRoom) != "undefined" && $("#ruimtekey").val() == -1)
|
|
{
|
|
sgRoom.setValue(json.ruimte_key, json.ruimte_oms);
|
|
if (escalateOnChUp) eval(onRuiChange);
|
|
}
|
|
case 5: if (typeof(sgFlr) != "undefined" && $("#verdiepingkey").val() == -1)
|
|
{
|
|
sgFlr.setValue(json.verdieping_key, json.verdieping_oms);
|
|
if (escalateOnChUp) eval(onVerChange);
|
|
}
|
|
case 4: if (typeof(sgBld) != "undefined" && $("#gebouwkey").val() == -1)
|
|
{
|
|
// Als level 4 is dan heeft of gebouw_key of terrein_key een geldige waarde
|
|
if (json.gebouw_key > 0)
|
|
sgBld.setValue(json.gebouw_key, json.gebouw_oms, false, false, 'B');
|
|
else
|
|
sgBld.setValue(json.terrein_key, json.terrein_oms, false, false, 'T');
|
|
if (escalateOnChUp) eval(onGebChange);
|
|
}
|
|
case 3: if (typeof(sgLoc) != "undefined" && $("#locatiekey").val() == -1)
|
|
{
|
|
sgLoc.setValue(json.locatie_key, json.locatie_oms);
|
|
if (escalateOnChUp) eval(onLocChange);
|
|
}
|
|
case 2: if (typeof(sgDis) != "undefined" && $("#districtkey").val() == -1)
|
|
{
|
|
sgDis.setValue(json.district_key, json.district_oms);
|
|
if (escalateOnChUp) eval(onDisChange);
|
|
}
|
|
case 1: if (typeof(sgReg) != "undefined" && $("#regiokey").val() == -1)
|
|
{
|
|
sgReg.setValue(json.regio_key, json.regio_oms);
|
|
if (escalateOnChUp) eval(onRegChange);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
FcltMgr.alert("fillLowerLevels: " + textStatus);
|
|
},
|
|
|
|
checkLowerLevels: function(suggestlevel, alg_key, idadd)
|
|
{
|
|
// Levels: werkplek (6), ruimte (5), verdieping (4), gebouw/terrein (3), locatie (2), district (1), regio (0).
|
|
if ((suggestlevel == 6 && $("#ruimtekey").val() <= 0) ||
|
|
(suggestlevel == 5 && $("#verdiepingkey").val() <= 0) ||
|
|
(suggestlevel == 4 && $("#gebouwkey").val() <= 0) ||
|
|
(suggestlevel == 3 && $("#locatiekey").val() <= 0) ||
|
|
(suggestlevel == 2 && $("#districtkey").val() <= 0) ||
|
|
(suggestlevel == 1 && $("#regiokey").val() <= 0))
|
|
{ // Onderliggende level heeft geen ingevulde waarde
|
|
// Haal alle plaats keys op. De callback functie fillLowerLevels moet dan de waarden invullen voor onderliggende levels.
|
|
// Alleen gegevens ophalen. Dus hier get gebruiken. (Dan wordt er ook gecached, wat ten goede komt in de performance)
|
|
// Synchroon zodat verdere code (Cascade functies) er vanuit kan gaan dat de onderliggende waarden zijn ingevuld.
|
|
var returndata = FcltSyncgetJSON("../Shared/get_alg_info.asp",
|
|
{ level: suggestlevel,
|
|
alg_key: alg_key,
|
|
idadd: idadd
|
|
});
|
|
plaatsselector.fillLowerLevels(returndata, returndata.textStatus)
|
|
}
|
|
},
|
|
|
|
regChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgDis) != "undefined")
|
|
{
|
|
var sgDis = psObject[idadd].sgDis;
|
|
if (!sgDis.isMulti()) sgDis.setValue(-1, "");
|
|
plaatsselector.disChanged(-1);
|
|
if (key > 0 && $("#district" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgDis.CheckJustOne();
|
|
}
|
|
if (key > 0 && (typeof(psObject[idadd].sgDis) == "undefined" || $("#districtkey" + (idadd? idadd : "")).val() < 0))
|
|
eval(onRegCascade[idadd]);
|
|
},
|
|
|
|
disChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgLoc) != "undefined")
|
|
{
|
|
var sgLoc = psObject[idadd].sgLoc;
|
|
if (!sgLoc.isMulti()) sgLoc.setValue(-1, "");
|
|
plaatsselector.locChanged(-1);
|
|
if (key > 0) plaatsselector.checkLowerLevels(1, key, idadd);
|
|
if (key > 0 && $("#locatie" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgLoc.CheckJustOne();
|
|
}
|
|
if (typeof(psObject[idadd].sgReg) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(1, key, idadd);
|
|
if (key > 0 && (typeof(psObject[idadd].sgLoc) == "undefined" || $("#locatiekey" + (idadd? idadd : "")).val() < 0))
|
|
eval(onDisCascade[idadd]);
|
|
},
|
|
|
|
locChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgBld) != "undefined")
|
|
{
|
|
var sgBld = psObject[idadd].sgBld;
|
|
var autosel = plaatsselector._autoSelect("alg_locatie_key", key, "alg_gebouw_key", "alg_gebouw_naam", "alg_gebouw_code");
|
|
if (!sgBld.isMulti()) sgBld.setValue(autosel.key, autosel.desc);
|
|
if (autosel.key > 0)
|
|
$("#bttype" + (idadd? idadd : "")).val("B"); // De functie _autoSelect heeft een gebouw gevonden. Werkplekken zitten altijd in een gebouw en niet op een terrein.
|
|
else
|
|
$("#bttype" + (idadd? idadd : "")).val("");
|
|
plaatsselector.gebChanged(autosel.key);
|
|
if (key > 0 && autosel.key < 0 && $("#gebouw" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgBld.CheckJustOne();
|
|
}
|
|
if (typeof(psObject[idadd].sgDis) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(2, key, idadd);
|
|
if (key > 0 && (typeof(psObject[idadd].sgBld) == "undefined" || $("#gebouwkey" + (idadd? idadd : "")).val() < 0))
|
|
eval(onLocCascade[idadd]);
|
|
},
|
|
|
|
gebChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgFlr) != "undefined")
|
|
{
|
|
var sgFlr = psObject[idadd].sgFlr;
|
|
var autosel = plaatsselector._autoSelect("alg_gebouw_key", key, "alg_verdieping_key", "alg_verdieping_naam", "alg_verdieping_code");
|
|
if (!sgFlr.isMulti()) sgFlr.setValue(autosel.key, autosel.desc);
|
|
plaatsselector.verChanged(autosel.key);
|
|
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
|
|
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
|
|
if (requiredlevel >= 4) // Verplichtheid eraf halen indien required.
|
|
$("#verdieping" + (idadd? idadd : "")).removeClass("required");
|
|
sgFlr.makeReadOnly();
|
|
if (typeof(psObject[idadd].sgRoom) != "undefined")
|
|
{
|
|
if (requiredlevel >= 5) // Verplichtheid eraf halen indien required.
|
|
$("#ruimte" + (idadd? idadd : "")).removeClass("required");
|
|
psObject[idadd].sgRoom.makeReadOnly();
|
|
}
|
|
if (typeof(psObject[idadd].sgWpl) != "undefined")
|
|
{
|
|
if (requiredlevel >= 6) // Verplichtheid eraf halen indien required.
|
|
$("#werkplek" + (idadd? idadd : "")).removeClass("required");
|
|
psObject[idadd].sgWpl.makeReadOnly();
|
|
}
|
|
}
|
|
else // ($("#bttype" + (idadd? idadd : "")).val() == 'B')
|
|
{ // Indien een gebouw gekozen is, maak dan onderstaande velden "weer" wijzigbaar
|
|
if (requiredlevel >= 4) // Verplichtheid er weer opzetten indien required.
|
|
$("#verdieping" + (idadd? idadd : "")).addClass("required");
|
|
sgFlr.undoReadOnly();
|
|
if (typeof(psObject[idadd].sgRoom) != "undefined")
|
|
{
|
|
if (requiredlevel >= 5) // Verplichtheid er weer opzetten indien required.
|
|
$("#ruimte" + (idadd? idadd : "")).addClass("required");
|
|
psObject[idadd].sgRoom.undoReadOnly();
|
|
}
|
|
if (typeof(psObject[idadd].sgWpl) != "undefined")
|
|
{
|
|
if (requiredlevel >= 6) // Verplichtheid er weer opzetten indien required.
|
|
$("#werkplek" + (idadd? idadd : "")).addClass("required");
|
|
psObject[idadd].sgWpl.undoReadOnly();
|
|
}
|
|
}
|
|
if (key > 0 && autosel.key < 0 && $("#verdieping" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgFlr.CheckJustOne();
|
|
}
|
|
if (typeof(psObject[idadd].sgLoc) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(3, key, idadd);
|
|
if (key > 0 && (typeof(psObject[idadd].sgFlr) == "undefined" || $("#verdiepingkey" + (idadd? idadd : "")).val() < 0))
|
|
eval(onGebCascade[idadd]);
|
|
var pbttype
|
|
if ($("#gebouw" + (idadd? idadd : "")).prop("tagName") == "SELECT")
|
|
{
|
|
for (var i = 0; i < $("#gebouw").find(":selected").length; i++)
|
|
{
|
|
if (i == 0)
|
|
{
|
|
pbttype = $("#gebouw").find(":selected")[i].getAttribute("extra");
|
|
}
|
|
else if (pbttype != $("#gebouw").find(":selected")[i].getAttribute("extra"))
|
|
{
|
|
pbttype = "BT"
|
|
break;
|
|
}
|
|
}
|
|
$("#bttype").val(pbttype);
|
|
}
|
|
},
|
|
|
|
verChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgRoom) != "undefined")
|
|
{
|
|
var sgRoom = psObject[idadd].sgRoom;
|
|
var autosel = plaatsselector._autoSelect("alg_verdieping_key", key, "alg_ruimte_key", "alg_ruimte_naam");
|
|
if (!sgRoom.isMulti()) sgRoom.setValue(autosel.key, autosel.desc);
|
|
plaatsselector.ruiChanged(autosel.key);
|
|
if (key > 0 && autosel.key < 0 && $("#ruimte" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgRoom.CheckJustOne();
|
|
}
|
|
if (typeof(psObject[idadd].sgBld) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(4, key, idadd);
|
|
if (key > 0 && (typeof(psObject[idadd].sgRoom) == "undefined" || $("#ruimtekey" + (idadd? idadd : "")).val() < 0))
|
|
eval(onVerCascade[idadd]);
|
|
},
|
|
|
|
ruiChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgWpl) != "undefined")
|
|
{
|
|
var sgWpl = psObject[idadd].sgWpl;
|
|
//plaatsselector._autoSelect("alg_ruimte_key", key);
|
|
if (!sgWpl.isMulti()) sgWpl.setValue(-1, "");
|
|
plaatsselector.werChanged(-1);
|
|
if (key > 0 && $("#werkplek" + (idadd? idadd : "")).is(".required,.autoselect")) // Required moet ook gelden voor CheckJustOne
|
|
await sgWpl.CheckJustOne();
|
|
}
|
|
if (typeof(psObject[idadd].sgFlr) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(5, key, idadd);
|
|
if (key > 0)
|
|
eval(onRuiCascade[idadd]);
|
|
},
|
|
|
|
werChanged: async function(key, idadd = 0)
|
|
{
|
|
if (typeof(psObject[idadd].sgRoom) != "undefined")
|
|
if (key > 0) plaatsselector.checkLowerLevels(6, key, idadd);
|
|
},
|
|
|
|
checkReadonlyVer: function (idadd)
|
|
{
|
|
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
|
|
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
|
|
if (requiredlevel >= 4) // Verplichtheid eraf halen indien required.
|
|
$("#verdieping" + (idadd? idadd : "")).removeClass("required");
|
|
var sgFlr = psObject[idadd? idadd : 0].sgFlr;
|
|
sgFlr.makeReadOnly();
|
|
$("#verdieping" + (idadd? idadd : "")).val("");
|
|
}
|
|
},
|
|
|
|
checkReadonlyRui: function (idadd)
|
|
{
|
|
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
|
|
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
|
|
if (requiredlevel >= 5) // Verplichtheid eraf halen indien required.
|
|
$("#ruimte" + (idadd? idadd : "")).removeClass("required");
|
|
var sgRoom = psObject[idadd? idadd : 0].sgRoom;
|
|
sgRoom.makeReadOnly();
|
|
$("#ruimte" + (idadd? idadd : "")).val("");
|
|
}
|
|
},
|
|
|
|
checkReadonlyWer: function (idadd)
|
|
{
|
|
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
|
|
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
|
|
if (requiredlevel >= 6) // Verplichtheid eraf halen indien required.
|
|
$("#werkplek" + (idadd? idadd : "")).removeClass("required");
|
|
var sgWpl = psObject[idadd? idadd : 0].sgWpl;
|
|
sgWpl.makeReadOnly();
|
|
$("#werkplek" + (idadd? idadd : "")).val("");
|
|
}
|
|
},
|
|
|
|
_werkplekken: [], // Deze proberen we te autoselecten. Komen uit prs_info.werkplekken
|
|
_werklocatie: {}, // Deze word gebruikt worden om preciezer te autoselecten (op welke plaats zit ik nu/vandaag ?)
|
|
_werkplaats: {}, // Hier wordt het beste van beiden opgeslagen, zoals in _setWerkplaats ge-evalueerd
|
|
// Deze functie vult plaatsselector._werkplaats in en returned (boolean) of dat gelukt is of niet
|
|
_setWerkplaats: function(werkplekken, werklocatie)
|
|
{
|
|
plaatsselector._resetWerkplaats();
|
|
if (!plaatsselector._setWerkplaatsByWL(werklocatie)) {
|
|
plaatsselector._setWerkplaatsByWP(werkplekken);
|
|
}
|
|
|
|
if (plaatsselector._werkplaats.alg_ruimte_naam && plaatsselector._werkplaats.alg_ruimte_naam.charAt(0) == '_')
|
|
{
|
|
plaatsselector._werkplaats.alg_ruimte_key = -1;
|
|
plaatsselector._werkplaats.alg_ruimte_naam = "";
|
|
}
|
|
},
|
|
_resetWerkplaats: function ()
|
|
{
|
|
plaatsselector._werkplaats = {
|
|
alg_locatie_key: -1,
|
|
alg_locatie_naam: "",
|
|
alg_gebouw_key: -1,
|
|
alg_gebouw_naam: "",
|
|
alg_verdieping_key: -1,
|
|
alg_verdieping_naam: "",
|
|
alg_ruimte_key: -1,
|
|
alg_ruimte_naam: ""
|
|
}
|
|
},
|
|
// Bepaal plaatsselector._werkplaats met inachtneming van de werklocatie
|
|
_setWerkplaatsByWL: function(werklocatie)
|
|
{
|
|
var hasWerklocatie;
|
|
for (var i = 0; i < Object.values(werklocatie).length && !hasWerklocatie; i++) {
|
|
hasWerklocatie |= Object.values(werklocatie)[i] > 0;
|
|
}
|
|
if (hasWerklocatie) {
|
|
plaatsselector._werkplaats = werklocatie;
|
|
}
|
|
return hasWerklocatie;
|
|
},
|
|
// Bepaal plaatsselector._werkplaats alleen op basis van de werkplekken; zoek de specifiekste common denominator tussen de werkplekken
|
|
_setWerkplaatsByWP: function(werkplekken)
|
|
{
|
|
var result = JSON.parse(JSON.stringify(plaatsselector._werkplaats)); // Copy
|
|
if (!werkplekken || werkplekken.length == 0)
|
|
return false;
|
|
var commonL = 1;
|
|
var commonG = 1;
|
|
var commonV = 1;
|
|
var commonR = 1;
|
|
|
|
var locKey = plaatsselector._werkplekken[0].alg_locatie_key;
|
|
var bldKey = plaatsselector._werkplekken[0].alg_gebouw_key;
|
|
var flrKey = plaatsselector._werkplekken[0].alg_verdieping_key;
|
|
var roomKey = plaatsselector._werkplekken[0].alg_ruimte_key;
|
|
|
|
for (var i = 1; i < werkplekken.length; i++)
|
|
{
|
|
if (locKey == werkplekken[i].alg_locatie_key)
|
|
commonL++;
|
|
if (bldKey == werkplekken[i].alg_gebouw_key)
|
|
commonG++;
|
|
if (flrKey == werkplekken[i].alg_verdieping_key)
|
|
commonV++;
|
|
if (roomKey == werkplekken[i].alg_ruimte_key)
|
|
commonR++;
|
|
}
|
|
|
|
var niveauFound = -1;
|
|
if (commonR == werkplekken.length) // Alle werkplekken hebben dezelfde Ruimte
|
|
niveauFound = 5;
|
|
else if (commonV == werkplekken.length) // Alle werkplekken hebben dezelfde Verdieping
|
|
niveauFound = 4;
|
|
else if (commonG == werkplekken.length) // Alle werkplekken hebben hetzelfde Gebouw
|
|
niveauFound = 3;
|
|
else if (commonL == werkplekken.length) // Alle werkplekken hebben dezelfde Locatie
|
|
niveauFound = 2;
|
|
|
|
switch (niveauFound)
|
|
{ // Geen break's
|
|
case 5: result.alg_ruimte_key = plaatsselector._werkplekken[0].alg_ruimte_key;
|
|
result.alg_ruimte_naam = plaatsselector._werkplekken[0].alg_ruimte_naam;
|
|
case 4: result.alg_verdieping_key = plaatsselector._werkplekken[0].alg_verdieping_key;
|
|
result.alg_verdieping_naam = plaatsselector._werkplekken[0].alg_verdieping_naam;
|
|
case 3: result.alg_gebouw_key = plaatsselector._werkplekken[0].alg_gebouw_key;
|
|
result.alg_gebouw_naam = plaatsselector._werkplekken[0].alg_gebouw_naam;
|
|
case 2: result.alg_locatie_key = plaatsselector._werkplekken[0].alg_locatie_key;
|
|
result.alg_locatie_naam = plaatsselector._werkplekken[0].alg_locatie_naam;
|
|
break;
|
|
default: return false;
|
|
}
|
|
plaatsselector._werkplaats = result;
|
|
return true;
|
|
},
|
|
hasWerkplaats: function()
|
|
{
|
|
var hasWerkplaats = false;
|
|
for (var i = 0; i < Object.values(plaatsselector._werkplaats).length && !hasWerkplaats; i++) {
|
|
hasWerkplaats |= Object.values(plaatsselector._werkplaats)[i] > 0; // Werkt ook voor String (naam)
|
|
}
|
|
return hasWerkplaats;
|
|
},
|
|
// Vind een goede default plaats op basis van werkplek/locatie en vul die in
|
|
preferWerkplekken: function(werkplekken, werklocatie, idadd = 0)
|
|
{
|
|
plaatsselector._werkplekken = werkplekken;
|
|
plaatsselector._werklocatie = werklocatie || {};
|
|
|
|
var sgLoc = psObject[idadd].sgLoc;
|
|
var sgBld = psObject[idadd].sgBld;
|
|
var sgFlr = psObject[idadd].sgFlr;
|
|
var sgRoom = psObject[idadd].sgRoom;
|
|
|
|
// Bepaal beste default op basis van werkplek(ken) en werklocatie, en sla die op in plaatsselector._werkplaats
|
|
plaatsselector._setWerkplaats(werkplekken, werklocatie);
|
|
|
|
// Nu dan ook invullen, 1 niveau is voldoende, de rest cascadeert wel middels _autoSelect
|
|
if (plaatsselector.hasWerkplaats()) { // Alleen verrijken, niet leegmaken
|
|
if (!sgLoc.isReadOnly()) {
|
|
sgLoc.setValue(plaatsselector._werkplaats.alg_locatie_key, plaatsselector._werkplaats.alg_locatie_naam, true, true);
|
|
} else if (!sgBld.isReadOnly()) {
|
|
sgBld.setValue(plaatsselector._werkplaats.alg_gebouw_key, plaatsselector._werkplaats.alg_gebouw_naam, true, true);
|
|
} else if (!sgFlr.isReadOnly()) {
|
|
sgFlr.setValue(plaatsselector._werkplaats.alg_verdieping_key, plaatsselector._werkplaats.alg_verdieping_naam, true, true);
|
|
} else if (!sgRoom.isReadOnly()) {
|
|
sgRoom.setValue(plaatsselector._werkplaats.alg_ruimte_key, plaatsselector._werkplaats.alg_ruimte_naam, true, true);
|
|
}
|
|
}
|
|
|
|
return plaatsselector.hasWerkplaats();
|
|
},
|
|
|
|
// Vul de plaatsselector in op basis van de bepaalde _werkplaats
|
|
_autoSelect: function(level, key, childKey, childDesc, childCode)
|
|
{
|
|
// De huidige level is dezelfde als mijn werklocatie en mijn werklocatie kent de child
|
|
if (plaatsselector._werkplaats[level] == key && plaatsselector._werkplaats[childKey] > 0)
|
|
return { key: plaatsselector._werkplaats[childKey], desc: plaatsselector._werkplaats[childDesc] };
|
|
return { key: -1, desc: "" };
|
|
},
|
|
|
|
locatiedetails: function (fieldName)
|
|
{
|
|
var pkey=$(fieldName)[0].value;
|
|
if (pkey != -1) {
|
|
FcltMgr.openDetail("appl/alg/alg_locatie.asp?key=" + pkey);
|
|
}
|
|
},
|
|
gebouwdetails: function (fieldName, bttypefield)
|
|
{
|
|
var pkey=$(fieldName)[0].value;
|
|
if (pkey != -1) {
|
|
if ($(bttypefield)[0].value == "B")
|
|
FcltMgr.openDetail("appl/alg/alg_gebouw.asp?key=" + pkey);
|
|
else if ($(bttypefield)[0].value == "T")
|
|
FcltMgr.openDetail("appl/alg/alg_terreinsector.asp?ter_key=" + pkey);
|
|
}
|
|
},
|
|
verdiepingdetails: function (fieldName)
|
|
{
|
|
var pkey=$(fieldName)[0].value;
|
|
if (pkey != -1) {
|
|
FcltMgr.openDetail("appl/alg/alg_verdieping.asp?key=" + pkey);
|
|
}
|
|
},
|
|
ruimtedetails: function (fieldName)
|
|
{
|
|
var pkey=$(fieldName)[0].value;
|
|
if (pkey != -1) {
|
|
FcltMgr.openDetail("appl/alg/alg_ruimte.asp?key=" + pkey);
|
|
}
|
|
},
|
|
showmap: function (idadd, params)
|
|
{
|
|
var rkey = $("#ruimtekey" + idadd)[0].value;
|
|
var vkey = $("#verdiepingkey" + idadd)[0].value;
|
|
var url = "../cad/showroom.asp?vKey=" + vkey + "&rKey=" + rkey
|
|
+ "&caddwgx=" + params.caddwgx + "&caddwgy=" + params.caddwgy
|
|
+ (params.mld_key_dwgxy
|
|
? "&mld_key_dwgxy=" + params.mld_key_dwgxy
|
|
: "")
|
|
+ (has_cadShowdiscfn
|
|
? "&discs=" + cadShowdiscfn()
|
|
: "")
|
|
+ (has_cadShowthemafn
|
|
? "&thema=" + cadShowthemafn()
|
|
: "");
|
|
FcltMgr.openModalDetail(url,
|
|
L("lcl_select_ruimte"),
|
|
{
|
|
callback: function (data)
|
|
{
|
|
// var a = 1;
|
|
}
|
|
});
|
|
}
|
|
}
|