diff --git a/APPL/Shared/kenmerk_common.inc b/APPL/Shared/kenmerk_common.inc
index 37b1176d42..213e2967b9 100644
--- a/APPL/Shared/kenmerk_common.inc
+++ b/APPL/Shared/kenmerk_common.inc
@@ -11,12 +11,11 @@
fetches all kenmerk-information
The structure of tha SQL should match the predefined structure (column names)
- TODO: HTML5-achtige zaken toevoegen
- - required is ook een attribute met functionaliteit. Tot dusverre zetten we alleen reuired_class
- moeten we behalve adt attr toevoegen ook iets met toggle en zo?
+ TODO: HTML5-achtige types toevoegen wanneer alle browsers het daar over eens zijn
- FlexFiles.inc functie bepaalNiveau is altijd nodig dus FlexFiles.inc erbij
*/
+
+// FlexFiles.inc functie bepaalNiveau is altijd nodig dus FlexFiles.inc erbij
%>
<%
@@ -24,7 +23,7 @@
// meestal is die er toch al wel in het hoofdscherm dus voor het gemak doen
// we het hier ook maar voor overige schermen.
if (!this.JSON_Result)
- FCLTHeader.Requires({plugins:["jQuery", "kenmerk"], js: ["jquery-ui.js", "date.js"]})
+ FCLTHeader.Requires({plugins:["jQuery", "kenmerk"], js: ["jquery-ui.js", "date.js"]})
var requiredGroupUsed = new Array(); // Array zorgt voor eenmalige initiele aanroep van checkRequiredGroup(groep) per groep
@@ -52,7 +51,7 @@ function parseDocumentPath(kenmerk_val)
function kenmerk_write(s)
{
- Response.Write(s);
+ Response.Write(s);
}
// Tel/ zoek de bijlagen in een folder
@@ -74,15 +73,15 @@ function BijlagenList(pModule, pNiveau, pKey, pKenmerk_key, otherKenmerk_path)
__Log("Tellen in folder: " + vAttachPath);
if (vAttachPath && fso.FolderExists(vAttachPath))
{
- var fso, f, f1, fc, s;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- f = fso.GetFolder(vAttachPath);
- fc = new Enumerator(f.files);
+ var fso, f, f1, fc, s;
+ fso = new ActiveXObject("Scripting.FileSystemObject");
+ f = fso.GetFolder(vAttachPath);
+ fc = new Enumerator(f.files);
- for (; !fc.atEnd(); fc.moveNext())
- {
- lijst.push(fc.item().Name);
- }
+ for (; !fc.atEnd(); fc.moveNext())
+ {
+ lijst.push(fc.item().Name);
+ }
}
return lijst;
}
@@ -126,34 +125,33 @@ function BijlagenButton(pModule, pNiveau, pKey, tmpfolder, pKenmerk_key,
}
else
{
- if (otherKenmerk_path && lijst.length > 0)
- var res = L("lcl_flex_autocopy");
- else // pf: op 1 regel tbv mijn syntaxhiliting
- {
- var res =" 0)
+ var res = L("lcl_flex_autocopy");
+ else // pf: op 1 regel tbv mijn syntaxhiliting
{
- url += "&tmpfolder=" + tmpfolder;
+ var res ="";
+ res += "";
}
-
- if (pReadonly) url += "&reado=1";
- url += "&multi=1";
- if (kdim) url += "&extFilter=" + escape(kdim);
- if (pregexp) url += "&pregexp=" + escape(pregexp); // P800x600 voor foto van 800x600
- var blg = "onBijlagen('" + safe.jsstring(protectQS.create(url)) + "'"
- + ",''" // geen saveUrl
- + ", true" // multi
- + ", this)"
- res += " onClick='" + safe.htmlattr(blg) + "'"
- + (!pReadonly ? " onChange='checkKenmerk(this, false,\"M\",0,0,0,0)'" : "")
- res += ">";
- res += "";
- }
}
return {html: res, count: lijst.length};
}
@@ -163,22 +161,22 @@ function BijlagenButton(pModule, pNiveau, pKey, tmpfolder, pKenmerk_key,
// contentdp: "attachment"
function OpenFlexFile(Module, Niveau, Key, Kenmerk_key, fname, params)
{
- params = params || {}
- // Lever code op voor tonen van een bepaalde flexfile streaming
- var s = rooturl + "/appl/shared/BijlagenStream.asp"
- s += "?module=" + Module
- + "&key=" + Key
- + (Niveau? "&niveau=" + Niveau : "")
- + "&kenmerk_key=" + Kenmerk_key
- + "&filename=" + Server.URLencode(fname);
- if (params.mime_type)
- s += "&mime=" + params.mime_type;
- if (params.contentdp)
- s += "&contentdp=" + params.contentdp;
- return s;
+ params = params || {}
+ // Lever code op voor tonen van een bepaalde flexfile streaming
+ var s = rooturl + "/appl/shared/BijlagenStream.asp"
+ s += "?module=" + Module
+ + "&key=" + Key
+ + (Niveau ? "&niveau=" + Niveau : "")
+ + "&kenmerk_key=" + Kenmerk_key
+ + "&filename=" + Server.URLencode(fname);
+ if (params.mime_type)
+ s += "&mime=" + params.mime_type;
+ if (params.contentdp)
+ s += "&contentdp=" + params.contentdp;
+ return s;
}
-function Operand( n)
+function Operand(n)
{
ret_str = "";
+ }
+
+ if (!readonlyfield && parentkenmerkid != "" && !maskeren)
{ %>
-<% }
+ <%
+ }
}
+ // ==========================================================================================
+ // ===================================================================
// KENMERKTYPE F/E (File) ===================================================================
+ // ===================================================================
+ // ==========================================================================================
var lijst = [];
// mobile doen we heel anders, tenzij het signature is. Die doen we nog old-school
if (formobile && kdim != 'xxx' && (ktype == 'F' || ktype == 'E' || ktype == 'M'))
@@ -996,9 +1015,9 @@ function listKenmerk(sql, module, key, props)
var fld = nameprefix + idCounter + "val";
// Er is redundantie: de bestandsnaam zit in de database en staat in de folder
// door bijvoorbeeld niet op Ok te drukken na vervanging van het bestand
- // kan er inconstistentie ontstaan. Lastig tegen te gaan dus maar detecteren en melden.
+ // kan er inconsistentie ontstaan. Lastig tegen te gaan dus maar detecteren en melden.
var missing = false;
- if (val && ktype != 'M')
+ if (flexkenmerkwaarde && ktype != 'M')
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (otherPath)
@@ -1008,9 +1027,9 @@ function listKenmerk(sql, module, key, props)
// JGL: Zou dit niet moeten/ kunnen via bijvoorbeeld iets als flexProps(module, key, String(kkey), niveau).AttachPath + "/";
var vAttachPath = S("flexFilesPath") + "/" + module + "/" + subfolderKey(bepaalNiveau(module, niveau), key) + "/" + kkey;
}
- missing = !fso.FileExists(vAttachPath + "/" + val);
+ missing = !fso.FileExists(vAttachPath + "/" + flexkenmerkwaarde);
if (missing)
- __Log(vAttachPath + "/" + val + " is missing");
+ __Log(vAttachPath + "/" + flexkenmerkwaarde + " is missing");
}
// Mobile heeft een compleet eigen BijlagenForm.asp
@@ -1060,7 +1079,7 @@ function listKenmerk(sql, module, key, props)
+ ", $('#" + fld + "')[0]"
+ ")";
- if (!readonlyfield || val)
+ if (!readonlyfield || flexkenmerkwaarde)
{
kv = " 1
? " onChange='checkRequiredGroup(\"" + required_group + "\")'"
: "")
- //+ " placeholder='"+val_label+"'"
- + " value='" + safe.htmlattr(val) + "' "
- + (!val?" style=display:none":"");
+ //+ " placeholder='"+flexkenmerklabel+"'"
+ + " value='" + safe.htmlattr(flexkenmerkwaarde) + "' "
+ + (!flexkenmerkwaarde?" style=display:none":"");
// + ">"; //komt later
var kvClick="";
if (otherPath) // Even niet klikbaar
kvClick = " title='" + L("lcl_flex_autocopy") +"' ";
- else if (readonlyfield && val && !missing) // rechtstreeks openen
+ else if (readonlyfield && flexkenmerkwaarde && !missing && !maskeren) // rechtstreeks openen
{
if (kdim == 'xxx')
- var fnclick = "parent.FcltMgr.windowopen('" + protectQS.create(OpenFlexFile(module, niveau, key, kkey, val, { mime_type: "image/png", contentdp: "inline" })) + "')";
+ var fnclick = "parent.FcltMgr.windowopen('" + protectQS.create(OpenFlexFile(module, niveau, key, kkey, flexkenmerkwaarde, { mime_type: "image/png", contentdp: "inline" })) + "')";
else
- var fnclick = "parent.FcltMgr.windowopen('" + protectQS.create(OpenFlexFile(module, niveau, key, kkey, val)) + "', 'File')";
+ var fnclick = "parent.FcltMgr.windowopen('" + protectQS.create(OpenFlexFile(module, niveau, key, kkey, flexkenmerkwaarde)) + "', 'File')";
kvClick = " onclick='" + safe.htmlattr(fnclick) + "'";
}
- else if (readonlyfield && val && missing) // Waarschuwen
+ else if (readonlyfield && flexkenmerkwaarde && missing) // Waarschuwen
kvClick = " title='" + safe.htmlattr(L("lcl_flex_filenotfoundRO")) + "'";
else
{
@@ -1112,22 +1131,26 @@ function listKenmerk(sql, module, key, props)
{
kv += "";
}
if (kdim == 'xxx')
{
- if (!missing && val)
- kv += "";
+ if (!missing && flexkenmerkwaarde)
+ kv += "
";
else
kv += "";
}
}
+ // ==========================================================================================
+ // ======================================================================
// KENMERKTYPE M (Map) ======================================================================
+ // ======================================================================
+ // ==========================================================================================
else if (ktype == 'M') // Map met bestanden is altijd heel simpel
{
var requiredfield = (required ? required_class : "");
@@ -1187,84 +1210,91 @@ function listKenmerk(sql, module, key, props)
+ "' "
: "")
+ (!readonlyfield ? " onBlur='checkKenmerk(this, true,\"" + ktype + "\"," + klen + "," + kdec + "," + kmin + "," + kmax + ")' " : "")
- + (readonlyfield? " readonly tabindex=-1 "
- : " id='" + nameprefix + idCounter + "val' name='" + nameprefix + idCounter + "val' ");
+ + (readonlyfield || maskeren
+ ? " readonly tabindex=-1 "
+ : " id='" + nameprefix + idCounter + "val' name='" + nameprefix + idCounter + "val' ");
}
//
// LET OP: kv is nu een "OPEN" variabele, die nog minstens een sluithaak nodig heeft!
//
+ // ==========================================================================================
+ // ===============================================
// KENMERKTYPE N (Numeriek) of B (Berekening) ===============================================
- if (ktype == 'N' || ktype == 'B')
- { // Checkbox of numeriek/berekening input veld.
+ // ===============================================
+ // ==========================================================================================
+ if (ktype == "N" || ktype == "B")
+ {
+ // Checkbox of numeriek/berekening input veld.
if (makeCheckbox) // deze doen we compleet hier
{
- if (readonlyfield || ktype == 'B') // Berekening input veld is altijd readonly.
+ if (readonlyfield || ktype == "B" || maskeren) // Berekening input veld is altijd readonly.
{
- if (formobile)
- {
- kv = "";
- }
- else
- {
- kv = "" + (val == 1? L("lcl_check_1") : L("lcl_check_0")) + "";
- }
+ if (formobile)
+ {
+ kv = "";
+ }
+ else
+ {
+ kv = "" + (flexkenmerkwaarde == 1? L("lcl_check_1") : L("lcl_check_0")) + "";
+ }
}
else
- kv = ""
- + "";
+ {
+ kv = ""
+ + "";
+ }
}
else
- kv += " class='"
- + (kenmerk_search
- ? "fldSflexN "
- : "fldflexN ")
+ {
+ // geen checkbox (noot PF: de readonly hiervan wordt kennelijk elders behandeld)
+ kv += " class='"
+ + (kenmerk_search ? "fldSflexN " : "fldflexN ")
+ (required ? required_class : "")
+ (kdec > 0 ? " float " : " number ")
+ (isExpression? " expression " : "")
+ "'"
- + (required ? " required='required' " : "")
- + (isExpression ? " readonly " : "")
- //+ " placeholder='"+val_label+"'"
- + " value='" + (kdec > 0 && val? safe.displayfloat(parseFloat(val), kdec) : safe.html(val)) + "'"
- + " maxlength='" + ((kmin >= 0? 0 : 1) + (kdec > 0? 1 : 0) + klen) + "'"
- + ">";
+ + (required ? " required='required' " : "")
+ + (isExpression ? " readonly " : "")
+ + " value='" + (kdec > 0 && flexkenmerkwaarde? safe.displayfloat(parseFloat(flexkenmerkwaarde), kdec) : safe.html(flexkenmerkwaarde)) + "'"
+ + " maxlength='" + ((kmin >= 0? 0 : 1) + (kdec > 0? 1 : 0) + klen) + "'"
+ + ">";
+ }
}
- // KENMERKTYPE D (Date) =================================================================
+ // ==========================================================================================
+ // =====================================================================
+ // KENMERKTYPE D (Date) =====================================================================
+ // =====================================================================
+ // ==========================================================================================
if (ktype == 'D')
{
- kv += " class='"
- + (kenmerk_search
- ? "fldSflexD "
- : "fldflexD ")
- + (required ? required_class : "")
- + (isExpression? " expression " : "")
- + "'"
- + (required ? " required='required' " : "")
- + (isExpression? " readonly " : "")
- + " value='" + safe.htmlattr(val) + "'"
- + ">";
+ kv += " class='"
+ + (kenmerk_search ? "fldSflexD " : "fldflexD ")
+ + (required ? required_class : "")
+ + (isExpression? " expression " : "")
+ + "'"
+ + (required ? " required='required' " : "")
+ + (isExpression? " readonly " : "")
+ + " value='" + safe.htmlattr(flexkenmerkwaarde) + "'"
+ + ">";
- if (!readonlyfield && !isExpression)
- kv += "";
+ if (!readonlyfield && !isExpression && !maskeren)
+ kv += "";
// Als er voor een datumveld geen kmin en kmax is ingevuld dan is de yearRange default -10 tot +10 jaar vanaf geselecteerd jaar.
// Is een van beiden ingevuld dan wordt de andere op 10 jaar vanaf geselecteerde jaar gezet (deze verschuift met selectie).
// Een opgegeven waarde is het aantal jaren voor of na het huidige jaar (waarde < 1000), of een jaartal (waarde > 1000).
@@ -1279,28 +1309,33 @@ function listKenmerk(sql, module, key, props)
}
+ // ==========================================================================================
+ // =========================================================
// KENMERKTYPE X (Bestandsnaam/url) =========================================================
+ // =========================================================
+ // ==========================================================================================
if (ktype == 'X')
{
+ var viewpath;
if (S("flex_X_is_URL")==0)
- var viewpath = S("image_path_virtual") + val;
+ viewpath = S("image_path_virtual") + flexkenmerkwaarde;
else
- var viewpath = val;
+ viewpath = flexkenmerkwaarde;
- if (readonlyfield) // Je mag er wel op klikken
- if (val)
- kv = '';
+ if (readonlyfield || maskeren) // Je mag er wel op klikken
+ if (flexkenmerkwaarde)
+ kv = '';
else
kv = "";
- else if (val) // Tekstveld met 'view' button er achter plakken
+ else if (flexkenmerkwaarde) // Tekstveld met 'view' button er achter plakken
kv += " class='fldflexX"
+ (required ? required_class : "")
+ "'"
- + " value='" + safe.htmlattr(val) + "'"
+ + " value='" + safe.htmlattr(flexkenmerkwaarde) + "'"
+ (required ? " required='required' " : "")
+ ">";
- else if (!kenmerk_search) // !val // Browse button for new er achter plakken
+ else if (!kenmerk_search) // !flexkenmerkwaarde // Browse button for new er achter plakken
kv = "";
else
kv += ">";
}
+ // ==========================================================================================
+ // ==================================================================
// KENMERKTYPE S (Suggest) ==================================================================
- // readonlyfield is bij "R" al meegenomen
- if (ktype == 'S' && !readonlyfield) // Referentie naar andere tabel (suggest box)
+ // ==================================================================
+ // ==========================================================================================
+ // readonlyfield/maskeren is bij "R" al meegenomen
+ if (ktype == "S" && !readonlyfield && !maskeren) // Referentie naar andere tabel (suggest box)
{
// Huidige waarde opzoeken
var dsql = "SELECT fac_kenmerkdomein_objectnaam "
@@ -1339,7 +1378,7 @@ function listKenmerk(sql, module, key, props)
var oRs_d = Oracle.Execute(dsql);
var vervalkolom = oRs_d("fac_kenmerkdomein_verval").Value;
- var suggestval = getDatatypeValue(oRs_d("fac_kenmerkdomein_objectnaam").value, oRs_d("fac_kenmerkdomein_kolomnaam").value, val);
+ var suggestval = getDatatypeValue(oRs_d("fac_kenmerkdomein_objectnaam").value, oRs_d("fac_kenmerkdomein_kolomnaam").value, flexkenmerkwaarde);
if (oRs_d("fac_kenmerkdomein_objectnaam").value == "FAC_USRDATA" && oRs_d("fac_usrtab_key").value)
{
var fsql = "SELECT fac_usrdata_key"
@@ -1412,7 +1451,7 @@ function listKenmerk(sql, module, key, props)
Suggest<%=nameprefix + idCounter%> = new Suggest({objectName: "Suggest<%=nameprefix + idCounter%>",
queryField: $("#Suggest<%=nameprefix + idCounter%>_show")[0],
queryUrl: rooturl + "/appl/shared/Suggest/SuggestKenmerkDomein.asp?kenmerkdomein_key=<%=kdomein_key%>",
- initKey: '<%=val%>',
+ initKey: '<%=flexkenmerkwaarde%>',
keyField: $("#<%=nameprefix + idCounter%>val")[0],
fieldReadonly: <%=readonlyfield? "true" : "false"%>
<% if (parentkenmerkid != "")
@@ -1447,13 +1486,17 @@ function listKenmerk(sql, module, key, props)
+ "";
}
+ // ==========================================================================================
+ // ====================================================================
// KENMERKTYPE L (Label) ====================================================================
- if (ktype == 'L' || ktype == 'l')
+ // ====================================================================
+ // ==========================================================================================
+ if (ktype == "L" || ktype == "l")
{ // Label line
- allCollapsable = (ktype == 'l'); // opnieuw beginnen met zoeken
- inMobileBlock = (formobile && ktype == 'l'); // op dit moment zitten we in een mobile-collapse-content-block
+ allCollapsable = (ktype == "l"); // opnieuw beginnen met zoeken
+ inMobileBlock = (formobile && ktype == "l"); // op dit moment zitten we in een mobile-collapse-content-block
- val_label = oRs("kenmerk_omschrijving").Value; // was: 1
+ flexkenmerklabel = oRs("kenmerk_omschrijving").Value; // was: 1
clabelCounter++;
val_seperator = '';
kv = def_val;
@@ -1461,7 +1504,7 @@ function listKenmerk(sql, module, key, props)
}
// ==========================================================================================
- // Alles bepaald, nu positioneren enzo
+ // Alles bepaald, te tonen waarde/veld in kv, nu positioneren enzo in kvhtml
// ==========================================================================================
if (!predone && props.fnpre && (kv || (ktype == 'L' || ktype == 'l')))
{
@@ -1484,102 +1527,111 @@ function listKenmerk(sql, module, key, props)
continue; // Teller is wel opgehoogd: volgende komt vanzelf op nieuwe regel
}
- if (kv != '')
- {
- // Schrijf eventueel een tabelregel begin
- if (((colCount&1) || forceNewLine || !kenmerk_2col) && !formobile && !notr)
- kenmerk_write('