FSN#39816 meer mogelijkheden met plattegronden (themakeuze, legenda, resolutie)
svn path=/Website/trunk/; revision=33117
This commit is contained in:
93
APPL/PDA/cad_thema_select.asp
Normal file
93
APPL/PDA/cad_thema_select.asp
Normal file
@@ -0,0 +1,93 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: cad_thema-select.asp
|
||||
Description: Kies een theme voor een plattegrond
|
||||
ins_key
|
||||
ruimte_key
|
||||
-
|
||||
rest optioneel
|
||||
|
||||
Note: We kiezen hier puur alleen het theme. De rest
|
||||
wordt gewoon via plattegrond.asp gedaan
|
||||
|
||||
*/ %>
|
||||
|
||||
<% REGISTERMENU_Disable = true; %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./resultset_table.inc" -->
|
||||
<!-- #include file="./mobile.inc" -->
|
||||
<!-- #include file="./iface.inc" -->
|
||||
<%
|
||||
var qrc = getQParamInt("qrc", 0) != 0;
|
||||
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent:true})); // transitonly
|
||||
var thema_key = getQParamInt("thema_key", -1);
|
||||
|
||||
var transitParam = buildTransitParam(["verdieping_key"] );
|
||||
|
||||
if (thema_key > -1) // Dan hebben we al een thema en valt hier niks toe te voegen
|
||||
{
|
||||
Server.Transfer("plattegrond.asp");
|
||||
}
|
||||
|
||||
var scenario_key=0;
|
||||
var bitcode = 0x01; // binnen
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTMHeader.Generate({title: L("lcl_kies_thema") }); %>
|
||||
</head>
|
||||
<body>
|
||||
<%
|
||||
var header_title = L("lcl_fg_thema") ;
|
||||
|
||||
PAGE_START({id: "page-1-"+verdieping_key});
|
||||
HEADER({title: header_title, back:!qrc, home: !qrc });
|
||||
CONTENT_START();
|
||||
|
||||
function fncolLink(oRs)
|
||||
{
|
||||
var nurl = "plattegrond.asp?thema_key=" + oRs("cad_thema_key").Value + transitParam;
|
||||
return nurl;
|
||||
};
|
||||
|
||||
if (thema_key < 0)
|
||||
{
|
||||
sql = "SELECT CAD_THEMA_KEY, "
|
||||
+ lcl.xsqla('cad_thema_omschrijving', 'cad_thema_key')
|
||||
+ " FROM CAD_THEMA "
|
||||
+ " WHERE BITAND(CAD_THEMA_TYPE, " + bitcode + ") = " + bitcode
|
||||
+ " AND BITAND(CAD_THEMA_TYPE, 4) = 0" // actueel, niet project
|
||||
+ " AND BITAND(CAD_THEMA_TYPE, 128) = 0" // de draggables maar niet
|
||||
+ " AND (FAC_FUNCTIE_KEY IS NULL"
|
||||
+ " OR FAC_FUNCTIE_KEY IN "
|
||||
+ " (SELECT FAC_FUNCTIE_KEY FROM fac_v_webgebruiker"
|
||||
+ " WHERE prs_perslid_key = " + user_key + "))"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
|
||||
var rst = new ResultsetTable({ sql: sql
|
||||
, keyColumn: "CAD_THEMA_KEY"
|
||||
, linkColumn: fncolLink
|
||||
, headerColumn: "cad_thema_omschrijving"
|
||||
, ID: "thematable"
|
||||
, showAll: true
|
||||
, noSearch: true
|
||||
, emptySetString: L("lcl_empty")
|
||||
});
|
||||
var cnt = rst.processResultset();
|
||||
if (cnt == 0)
|
||||
{
|
||||
%><script>alert(L("lcl_mobile_no_stdmelding"));window.history.back(1)</script><%
|
||||
}
|
||||
}
|
||||
|
||||
CONTENT_END();
|
||||
FOOTER();
|
||||
PAGE_END()
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
@@ -472,3 +472,12 @@ div.suggestklikker, i.dateklikker, i.timeklikker {
|
||||
input[type="file"] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.mlegendatitel {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.mlegendaregel {
|
||||
font-size: 0.8em;
|
||||
line-height: 1.8em;
|
||||
padding-left: 8px;
|
||||
}
|
||||
@@ -3,10 +3,11 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File:
|
||||
Description:
|
||||
Description: Select a CAD-theme to display
|
||||
Parameters:
|
||||
Note:
|
||||
Note: You should set S("fg_mobile_thema") to -1
|
||||
and not use parameter thema_key
|
||||
to get this page. Else it will be bypassed
|
||||
|
||||
*/ %>
|
||||
|
||||
@@ -16,8 +17,13 @@
|
||||
<%
|
||||
var qrc = getQParamInt("qrc", 0) != 0;
|
||||
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent:true}));
|
||||
%>
|
||||
var thema_key = getQParamInt("thema_key", S("fg_mobile_thema"));
|
||||
|
||||
if (thema_key == -1) // Dan vragen we een thema
|
||||
{
|
||||
Server.Transfer("cad_thema_select.asp");
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTMHeader.Generate({}); %>
|
||||
@@ -32,8 +38,6 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit
|
||||
var verdieping_naam = oRs("verdieping_naam").value;
|
||||
// Welke disciplines mag ik (default) zien?
|
||||
|
||||
|
||||
|
||||
sql = "SELECT DISTINCT d.ins_discipline_key"
|
||||
+ " FROM fac_v_my_disciplines m, ins_v_aanwezigdiscipline d, ins_disc_params dp "
|
||||
+ " WHERE d.ins_discipline_key=m.ins_discipline_key(+)" // outer join voor S("fg_publiclayers")
|
||||
@@ -58,30 +62,95 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit
|
||||
%>
|
||||
<body>
|
||||
<%
|
||||
PAGE_START();
|
||||
HEADER({title: L("lcl_prs_wp_fgraph")+" "+ safe.html(verdieping_naam), back:!qrc, home: !qrc});
|
||||
PAGE_START({id: "page-2-"+verdieping_key});
|
||||
HEADER({title: safe.html(verdieping_naam), back:!qrc, home: !qrc});
|
||||
CONTENT_START();
|
||||
// toon verdieping user.alg_verdieping_key({withcurrent:true})
|
||||
|
||||
var imgurl = "../cad/mySlnk2IMG.asp?mode=0";
|
||||
imgurl += "&scenario_key=0&vkey=" + verdieping_key
|
||||
imgurl += "&paperColor="+S("fg_paperColor")+"&labelpos=2";
|
||||
imgurl += "&discs=" + discs.join(',');
|
||||
if (S("fg_mobile_thema") != -1) {
|
||||
imgurl += "&thema=" + S("fg_mobile_thema");
|
||||
if (thema_key != -1) {
|
||||
imgurl += "&thema=" + thema_key;
|
||||
}
|
||||
if (S("fg_mobile_label") != -1) {
|
||||
imgurl += "&label=" + S("fg_mobile_label");
|
||||
}
|
||||
var sizeX = 640;
|
||||
var sizeY = 480;
|
||||
imgurl += "&sizeX=" + (2*sizeX); // dubbele resolutie, kun je nog een beetje inzoomen
|
||||
imgurl += "&sizeY=" + (2*sizeY);
|
||||
// iphone7 resolution as reference
|
||||
var sizeX = 1334;
|
||||
var sizeY = 750;
|
||||
sizeX = 1920;
|
||||
sizeY = 1080;
|
||||
imgurl += "&sizeX=" + (1*sizeX);
|
||||
imgurl += "&sizeY=" + (1*sizeY);
|
||||
%><div id="mobplan"><img width="100%" src="<%=safe.htmlattr(imgurl)%>"></div><%
|
||||
|
||||
if (false && S("fg_mobile_thema") != -1) { // todo tzt: niet zomaar kopieren en dit werkt niet vanzelf
|
||||
CONTROLGROUP_START()
|
||||
BUTTON(L("lcl_fg_legenda"), {linkid: "../cad/legenda.asp?thema="+S("fg_mobile_thema")+"&parentkey="+verdieping_key+"&mode=0&scenario_key=0" , dataicon: "check"});
|
||||
CONTROLGROUP_END()
|
||||
if (thema_key != -1) {
|
||||
|
||||
// vrij nauwkeurig gestript uit cad/legenda.asp
|
||||
|
||||
sql = "SELECT ts.cad_legenda_key,"
|
||||
+ lcl.xsqla('ts.cad_legenda_omschrijving','ts.cad_legenda_key')+","
|
||||
+ " ts.cad_legenda_discreet, "
|
||||
+ " tt.cad_thema_view, tt.cad_thema_type, tt.fac_functie_key"
|
||||
+ " FROM cad_legenda ts, cad_thema tt"
|
||||
+ " WHERE tt.cad_thema_key = " + thema_key
|
||||
+ " AND tt.cad_legenda_key = ts.cad_legenda_key";
|
||||
oRs = Oracle.Execute(sql)
|
||||
|
||||
if (!oRs.Eof) { // Is wel heel vreemd, een lege legenda
|
||||
var themaType = oRs("cad_thema_type").Value;
|
||||
var legendaOmschrijving=oRs("cad_legenda_omschrijving").value;
|
||||
var discreet=oRs("cad_legenda_discreet").value==1;
|
||||
var legenda_key=oRs("cad_legenda_key").value;
|
||||
var viewName = oRs("cad_thema_view").value;
|
||||
oRs.close();
|
||||
|
||||
var wkveld = "null waarde_key";
|
||||
|
||||
var waardenSQL = "select waarde, "+wkveld
|
||||
+ " from " + viewName + " th, alg_ruimte ar "
|
||||
+ " where th.alg_ruimte_key = ar.alg_ruimte_key"
|
||||
+ " and alg_verdieping_key = " + verdieping_key;
|
||||
|
||||
if (discreet)
|
||||
sql = "SELECT "+ lcl.xsqla('ti.CAD_LEGENDAWAARDE_OMSCHR','ti.cad_legendawaarde_key')
|
||||
+ ", ti.CAD_LEGENDAWAARDE_RGB, TH2.WAARDE_KEY, COUNT(*) aantal"
|
||||
+ " FROM CAD_LEGENDAWAARDE ti, (" + waardenSQL + ") TH2 "
|
||||
+ " WHERE TI.CAD_LEGENDAWAARDE_VALUE = TH2.WAARDE "
|
||||
+ " AND ti.CAD_LEGENDA_KEY = " + legenda_key
|
||||
+ " GROUP BY "+lcl.xsql('ti.CAD_LEGENDAWAARDE_OMSCHR','ti.cad_legendawaarde_key')+", ti.CAD_LEGENDAWAARDE_RGB, TH2.WAARDE_KEY"
|
||||
+ " ORDER BY CAD_LEGENDAWAARDE_OMSCHR";
|
||||
else // Niet discreet-->alle waarden ongeacht voorkomen
|
||||
sql = "SELECT DISTINCT "+ lcl.xsqla('ti.CAD_LEGENDAWAARDE_OMSCHR','ti.cad_legendawaarde_key')
|
||||
+ ", ti.CAD_LEGENDAWAARDE_RGB, "
|
||||
+ " fac.safe_to_number(CAD_LEGENDAWAARDE_VALUE)"
|
||||
+ " FROM CAD_LEGENDAWAARDE ti"
|
||||
+ " WHERE ti.CAD_LEGENDA_KEY = " + legenda_key
|
||||
+ " ORDER BY fac.safe_to_number(CAD_LEGENDAWAARDE_VALUE)" // Numeriek sorteren!
|
||||
oRs = Oracle.Execute(sql)
|
||||
%>
|
||||
<div class='mlegendatitel'><%=legendaOmschrijving%></div>
|
||||
<%
|
||||
v_count = "";
|
||||
while (!oRs.EOF)
|
||||
{
|
||||
v_waarde_key = null;
|
||||
v_waarde = oRs.Fields("CAD_LEGENDAWAARDE_OMSCHR").value;
|
||||
v_kleur = oRs.Fields("CAD_LEGENDAWAARDE_RGB").value.replace(/ /g,'');
|
||||
if (discreet) {
|
||||
v_count = " (" + oRs.Fields("aantal").value + "x)";
|
||||
v_waarde_key = oRs.Fields("waarde_key").value;
|
||||
}
|
||||
%>
|
||||
<div class='mlegendaregel'><span style="background-color: #<%=v_kleur%>; padding: 0 10px;"> </span> <%=safe.html(v_waarde)%> <%=v_count%></div>
|
||||
<%
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
CONTENT_END();
|
||||
FOOTER();
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
var locatie_key = getQParamInt("locatie_key", user.alg_locatie_key({withcurrent:true})); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", user.alg_gebouw_key({withcurrent:true})); // Gebouw, kan -1 zijn, dan niet gebruiken
|
||||
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent:true}));
|
||||
//var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent:true}));
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1); // biedt toch meer vrijheid om bv boven te kijken naar beschikbaarheid
|
||||
|
||||
authparams = user.checkAutorisation("WEB_CADUSE");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user