FCLT#63646 Graphics 2022 savepoint

svn path=/Website/trunk/; revision=53195
This commit is contained in:
Peter Feij
2021-09-29 11:46:32 +00:00
parent b37fc37a7b
commit cf6b846669
4 changed files with 149 additions and 50 deletions

View File

@@ -6,7 +6,7 @@
File: CAD/default.asp
Description: Hoofdscherm voor Facilitor Graphics II
Parameters:
mode optional: [MODE_IN] or [MODE_OUT]. Default via fg_startBuiten
mode optional: default 0=binnen[MODE_IN], 1=buiten[MODE_OUT].
loc_key optional locatie key (default eigen werkplek)
scenario_key optional: dan zitten we in PRJ-mode (en impliciet binnen)
floor_key optional (als in scenario_mode)
@@ -26,7 +26,7 @@ FCLTHeader.Requires({ js: ["jquery-ui.js", "./main.js", "./draganddrop.js", "dat
css: ["../slnkdwf/slnkdwf.css"]
});
var inoutMode = getQParamInt("mode", S("fg_startBuiten")? MODE_OUT : MODE_IN);
var inoutMode = getQParamInt("mode", MODE_IN);
var loc_key = getQParamInt("loc_key", user.alg_locatie_key());
var scenario_key = getQParamInt("scenario_key", 0); // current scenario, 0 voor geen
var concept = getQParamInt("concept", 0) == 1; // concept er naast?
@@ -115,7 +115,7 @@ if (scenario_key != 0)
{
<% if (scenario_key == 0)
{ %>
$("#rooms").load("../Shared/loadRuimteOptions.asp?floor_key=" + floor_key + "&ruimte_key=" + forceRoom, myRefresh);
$("#rooms").load("../cad/loadRuimteOptions.asp?floor_key=" + floor_key + "&ruimte_key=" + forceRoom, myRefresh);
<% }
else
{ %>
@@ -243,26 +243,15 @@ if (scenario_key != 0)
}
}
// Gets called by Shared/load_rooms.asp when rooms-listbox has been
// dynamically filled with all rooms on the current floor
function onRoomsLoaded()
{
myRefresh(); // Gaf stack overflow in IE7? Niet meer nodig sinds TUDE#12139 te grote rooms list
}
/************************************************************\
*
\************************************************************/
function MMap_onIMGRefresh()
{
$('#MinMaxBtn').hide(); // Zodat busy.gif zichtbaar
}
function MMap_onMapperLoad(pSLNKEvent)
{
var ob = $('#MinMaxBtn').show(); // Zodat weer zichtbaar
ob.css('left', ($("#mapCell").offset().left + $("#mapCell").width() - ob.outerWidth() -2) + "px");
ob.css('top', ($("#mapCell").offset().top + 32) + "px");
<% if (concept)
{ %>
if (pSLNKEvent.success)
@@ -352,12 +341,12 @@ if (scenario_key != 0)
{
if (typeof angle == "undefined")
{
angle = prompt('Geef hoek (0-359)', '0');
angle = prompt(L("lcl_cad_enterangle"), '0'); // default de huidige rotatie is vriendelijker dan 0, maar niet zomaar bekend
if (angle && !isNaN(parseInt(angle)))
ChangeSymbol(symbolKey, "&rot=" + parseInt(angle));
}
else
ChangeSymbol(symbolKey, "&deltarot=" + parseInt(angle));
ChangeSymbol(symbolKey, "&deltarot=" + parseFloat(angle)); // CHECK, angle kan hier blijkbaar ook undefined zijn (kies 2 symbolen)
}
function ScaleSymbol(angle)
@@ -477,7 +466,7 @@ if (scenario_key != 0)
else
{
var sl = document.getElementById("<%=inoutMode == MODE_IN? "rooms" : "terr"%>");
if (!SlnkEvent.event.ctrlKey) // Allow Ctrl key for Multi-select
if (!SlnkEvent.event.ctrlKey) // Allow Ctrl key for Multi-select, Jos opperde nog forceren naar Multiselect mocht dat niet zo zijn
sl.selectedIndex = -1;
var ob = sl.options;
@@ -807,16 +796,43 @@ if (scenario_key != 0)
tabRefresh();
}
function toInfobord()
{
FcltMgr.stopPropagation(evt);
var url = "../cad/InfoBord.asp?floor_key=" + floor_key + getCustomParameters();
FcltMgr.windowopen(url,'FG3DShow',
"directories=no,location=no,menubar=no,"
+ "resizable=yes,status=no,titlebar=yes,toolbar=no");
}
function onFullScreen(evt)
{
FcltMgr.stopPropagation(evt);
if (evt.ctrlKey)
var url = "../cad/InfoBord.asp?floor_key=" + floor_key+getCustomParameters();
else
var url = "../cad/maximize.asp?x=x" + getCustomParameters();
FcltMgr.windowopen(url,'FGShow',
"directories=no,location=no,menubar=no,"
+ "resizable=yes,status=no,titlebar=yes,toolbar=no");
}
function gotoEditmode(evt)
{
FcltMgr.stopPropagation(evt);
alert ("TODO: reload the map with allowmove=1");
}
function togglePanes(evt)
{
FcltMgr.stopPropagation(evt);
var tabpane = $("#fgtabtoggler");
toggleTabLayout (tabpane);
var navpane = $("#fgmenutoggler");
toggleLayout (navpane);
globalpanesdown = !globalpanesdown;
if (globalpanesdown)
MMap.$("#ImgTogglePanes").html("<%=I("fa-chevron-double-up")%>");
else
MMap.$("#ImgTogglePanes").html("<%=I("fa-chevron-double-down")%>");
}
function scrollview($elm)
@@ -932,17 +948,35 @@ if (scenario_key != 0)
if(main)
{
<% if (!allowmove) { %>
MMap.addButtonAfter("ImgZoomExtents",
{ id:"ImgEdit",
alt:"Edit",
label: L("lcl_slnk_editmode"),
onClick: function () { alert("todo: editmode") },
label: L("lcl_cad_editmode"),
onClick: gotoEditmode,
icon: "fa-fclt-edit"
});
MMap.addButtonAfter("ImgPrint",
<% } %>
MMap.addButtonAfter("ImgRefresh",
{ id:"ImgTogglePanes",
alt:"Toggle panes",
label: L("lcl_cad_togglepanes"),
onClick: togglePanes,
icon: "fa-chevron-double-down"
});
globalpanesdown = false;
MMap.addButtonAfter("ImgTogglePanes",
{ id:"ImgInfoBoard",
alt:"As Infobord",
label: L("lcl_cad_infoboard"),
onClick: toInfobord,
icon: "fa-cube"
});
MMap.addButtonAfter("ImgInfoBoard",
{ id:"ImgMaximize",
alt:"Maximize",
label: L("lcl_slnk_maximize"),
label: L("lcl_cad_maximize"),
onClick: onFullScreen,
icon: "fa-external-link"
});
@@ -1323,7 +1357,7 @@ if (scenario_key != 0)
FCLTselector("rooms",
sql,
{ initKey: -1,
emptyOption: "", // hier zou ik "Geen ruimte gekozen" voorstellen, maar dat werkt niet
emptyOption: "", // loadRuimteOptions bepaalt deze pas echt na verdiepingskeuze
initEmpty: true,
size: 6,
multi: true,

View File

@@ -0,0 +1,35 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: cad/loadRuimteOptions.asp
Description: Aanmaken van de options voor een listbox met (meerdere) ruimtes
Context: Vanuit CAD als een verdieping is gekozen.
Note:
*/
DOCTYPE_Disable = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<%
var floor_key = getQParamInt("floor_key");
var ruimte_key = getQParamInt("ruimte_key", -1); // optionele default
var sql = "SELECT alg_ruimte_key"
+ ", alg_ruimte_nr || ' (' || alg_ruimte_omschrijving || ')' oms"
+ " FROM ALG_v_aanwezigRUIMTE R"
+ " WHERE alg_verdieping_key = " + floor_key
+ " ORDER BY 2";
FCLTselectorOptions(
sql,
{ initKey: ruimte_key,
emptyOption: L("lcl_fg_norooms"),
initEmpty: true
});
ASPPAGE_END();
%>

View File

@@ -0,0 +1,34 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: cad/loadTerreinOptions.asp
Description: Aanmaken van de options voor een listbox met (meerdere) terreinen
Context: Vanuit CAD als een locatie is gekozen.
Note:
*/
DOCTYPE_Disable = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<%
var loc_key = getQParamInt("loc_key");
sql = " SELECT alg_terreinsector_key,"
+ " alg_terreinsector_naam"
+ " FROM alg_v_aanwezigterreinsector t"
+ " WHERE alg_locatie_key = " + loc_key
+ " ORDER BY alg_terreinsector_naam";
FCLTselectorOptions(
sql,
{ initKey: -1,
emptyOption: L("lcl_fg_noterrains"),
initEmpty: true
});
ASPPAGE_END();
%>

View File

@@ -274,7 +274,7 @@ function myContourProcessor(cHandle)
if ((labelType & 0x18) == 0x08 || (themaType & 0x18) == 0x08)
pWerkplek = 1;
cHandle.SetLabelFont("Tahoma", (inoutMode==MODE_IN?S("fg_inLabelSize"):S("fg_outLabelSize")));
cHandle.SetLabelFont("Tahoma", (inoutMode==MODE_IN?S("fg_inlabelsize"):S("fg_outlabelsize")));
// Dit gaat langs alle ruimtes ongeacht of ze in de database zijn gevonden
var labelRot = getQParamInt("labelrot", 0);
@@ -284,21 +284,19 @@ function myContourProcessor(cHandle)
cont.setcolor(0x00ff00); // grijs randjes
if (labelRot != 0) // Voor als nog niet DLL versie 3.01
cont.LabelRotation = labelRot;
if (cont.area < S("fg_areaThreshold"))
// contouren kleiner dan een bepaalde oppervlakte geven we een pro forma 10% label
if (cont.area < S("fg_areathreshold")*1000000) //setting im m2, area im mm2
{
cont.lineweight = S("fg_contourWeight") / 2;
cont.Setoutlinecolor(0xC0C0C0,255); // lichter
cont.Label = "[s25]" + cont.Label;
cont.Label = "[s10]" + cont.Label;
}
else
cont.lineweight = S("fg_contourWeight");
cont.lineweight = S("fg_contourweight");
if (noLabel)
cont.Label = "";
if (concept == 0 || cont.Key.match(/^R:/))
cont.SetColor(S("fg_contourColor"), S("fg_contourAlpha")); // Alle herkende ruimtes initieel transparant
cont.SetColor(S("fg_contourcolor"), S("fg_contouralpha")); // Alle herkende ruimtes initieel transparant
else if (concept == 1)
cont.SetColor(S("fg_contourColorCpt"), 255); // Concept kleur niet herkende ruimtes
cont.SetColor(S("fg_contourcolorcpt"), 255); // Concept kleur niet herkende ruimtes
}
/************************************************************\
@@ -310,10 +308,9 @@ function myContourProcessor(cHandle)
var cnt = cHandle.Contour("R:" + highlight_arr[r]);
if (cnt)
{
//cnt.Label = "[s200]" + cnt.Label;
cnt.SetColor(getQParamInt("highlightcolor", 0x800000), 255); // Matig rood, door 255 onderliggend
cnt.SetColor(getQParamInt("highlightcolor", S("fg_hilitefillcolor")), 255); // door 255 onderliggend
cnt.Lineweight = Math.min(250, 5 * getQParamFloat("hintScale", 100)); // Constant 5 pixel width maar niet te dik
cnt.SetoutlineColor(getQParamInt("highlightbordercolor", 0x800000), 255);
cnt.SetoutlineColor(getQParamInt("highlightbordercolor", S("fg_hilitebordercolor")), 255);
cnt.Hatch = getQParamInt("highlighthatch", 3); // Diagonal Cross
cnt.MoveTop();
}
@@ -334,7 +331,6 @@ function myContourProcessor(cHandle)
+ " AND ar." + syncParent + "=" + pvKey
+ (datumfilter && hasColumn(viewName, 'fclt_f_datum', 'DATE') ? " AND THEMA.fclt_f_datum = " + datumfilter.toSQL():"")
+ scenFilter
//+ " ORDER BY isd.ins_srtdeel_key"
}
}
)
@@ -357,7 +353,7 @@ function myContourProcessor(cHandle)
var viewName = oRs("cad_label_view").value;
var zichtbaar = oRs("cad_label_visible").value;
var ls = oRs("cad_label_size").value; // negatief als we default label niet willen hebben
var lh = (ls * 100 / S("fg_inLabelSize") ).toFixed(0);
var lh = (ls * 100 / S("fg_inlabelsize") ).toFixed(0);
var lhs = "[s" + lh + "]";
oRs.Close();
if (!zichtbaar) // dan de default teksten wissen
@@ -489,7 +485,7 @@ function myContourProcessor(cHandle)
}
// PRJ Aantekeningen
if (scenario_key>0)
if (scenario_key > 0)
{
sql = "SELECT prj_scenario_note_nr, prj_scenario_note_nr || ': ' || prj_scenario_note_omschrijving oms,"
+ " prj_scenario_note_dwgx dwgx, prj_scenario_note_dwgy dwgy"
@@ -501,7 +497,7 @@ function myContourProcessor(cHandle)
var oRs = Oracle.Execute(sql);
while (!oRs.EOF)
{
var symbol = cHandle.AddSymbol(oRs("dwgX").Value, oRs("dwgY").Value,"*STAR");
var symbol = cHandle.AddSymbol(oRs("dwgX").Value, oRs("dwgY").Value,"*STAR"); // liever *DIAMOND, bestaat die?
symbol.Contour.Key = oRs("prj_scenario_note_nr").Value;
symbol.Contour.Label = "[c000000]" + oRs("oms").Value;
oRs.MoveNext();
@@ -680,7 +676,7 @@ if (dwfPath)
fndProcessor : myFindKeys,
contourLayers: lCont,
labelLayers : lLabel,
minArea : S("fg_contour_minArea"),
minArea : S("fg_contour_minarea"),
minmergedistance: S("fg_minmergedistance"),
maximize : S("fg_maximize"),
tempFolder : shared.tempFolder(),