|
|
|
|
@@ -266,18 +266,24 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
var hasfilter = props.hasfilter || false; // De kenmerken kunnen op naam gefilterd worden.
|
|
|
|
|
var tmpfolder = props.tmpfolder || "";
|
|
|
|
|
|
|
|
|
|
if (formobile)
|
|
|
|
|
if (formobile) // Ik moet de API2 name weten. TODO Hier nog iets beters voor verzinnen....
|
|
|
|
|
{
|
|
|
|
|
var api2name = { "ALG": { "L": "locations",
|
|
|
|
|
"G": "buildings",
|
|
|
|
|
"R": "rooms"
|
|
|
|
|
},
|
|
|
|
|
"BEZ": "visitors",
|
|
|
|
|
"MLD": "issues",
|
|
|
|
|
"INS": "objects",
|
|
|
|
|
"PRS": { "P": "persons"
|
|
|
|
|
},
|
|
|
|
|
"INS": { "I": "inspections",
|
|
|
|
|
"D": "objects"
|
|
|
|
|
// "S": "sleutels"?
|
|
|
|
|
},
|
|
|
|
|
"RES": "reservations"
|
|
|
|
|
}[module] // niveau
|
|
|
|
|
if (api2name && typeof api2name == 'object')
|
|
|
|
|
api2name = api2name[props.kenmerk_module];
|
|
|
|
|
api2name = api2name[props.kenmerk_module || props.niveau]; // kenmerk_module voor ALG, niveau voor INS
|
|
|
|
|
if (!api2name)
|
|
|
|
|
{
|
|
|
|
|
__DoLog(props);
|
|
|
|
|
@@ -1412,6 +1418,9 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
predone = true;
|
|
|
|
|
props.fnpre();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kenmerk_write("\n<!-- Kenmerk {0}:{1} -->\n".format(kkey, ktype));
|
|
|
|
|
|
|
|
|
|
// KENMERKTYPE Q (spacer) ===================================================================
|
|
|
|
|
// Alleen echt nuttig bij 2-koloms layout
|
|
|
|
|
if (ktype == 'Q')
|
|
|
|
|
@@ -1420,7 +1429,7 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
if (((colCount&1) || !kenmerk_2col) && !formobile && !notr)
|
|
|
|
|
kenmerk_write('<tr>');
|
|
|
|
|
else if (!((colCount&1) && kenmerk_2col) && !formobile && !notr)
|
|
|
|
|
kenmerk_write('</tr>');
|
|
|
|
|
kenmerk_write('\n</tr>');
|
|
|
|
|
oRs.MoveNext();
|
|
|
|
|
continue; // Teller is wel opgehoogd: volgende komt vanzelf op nieuwe regel
|
|
|
|
|
}
|
|
|
|
|
@@ -1445,18 +1454,18 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
kenmerk_write("<td>:flex{0}</td>".format(kkey));
|
|
|
|
|
|
|
|
|
|
if (!formobile && !nolabel)
|
|
|
|
|
kenmerk_write('<td class="label' + (ktype == 'L' || ktype == 'l'? ' flexlabel' : '')+ (kenmerk_search? ' flexsearch' : '') + '"'
|
|
|
|
|
kenmerk_write('\n <td class="label' + (ktype == 'L' || ktype == 'l'? ' flexlabel' : '')+ (kenmerk_search? ' flexsearch' : '') + '"'
|
|
|
|
|
+ (props.label_colspan? ' colspan=' + props.label_colspan : '') + '>');
|
|
|
|
|
|
|
|
|
|
if (!nolabel)
|
|
|
|
|
kenmerk_write((formobile && ktype == 'l'? '<div data-role="collapsible" data-theme="c" data-content-theme="c"><h3 id="collLabel'+clabelCounter+'">' : '')
|
|
|
|
|
+ '<label for="' + nameprefix + idCounter + 'val" class="' + (ktype == 'L' || ktype == 'l'? ' flexlabellabel' : '')
|
|
|
|
|
+ '\n <label for="' + nameprefix + idCounter + 'val" class="' + (ktype == 'L' || ktype == 'l'? ' flexlabellabel' : '')
|
|
|
|
|
+ (isExpression ? ' expression' : '') + '">' + '<span title="' + safe.htmlattr(hint) + '">'
|
|
|
|
|
+ val_label + ((kdim != null && kdim != "xxx")? ' [' + kdim + ']' : '') + val_seperator + '</span></label>'+(formobile && ktype == 'l' ? '</h3>' : ''));
|
|
|
|
|
|
|
|
|
|
// labelwaardes (vaak invulinstructie) in apart te stylen span
|
|
|
|
|
if (formobile && (ktype == 'L' || ktype == 'l') && kv) {
|
|
|
|
|
kv = '<span class="flexlabelvalue">' + kv + '</span>';
|
|
|
|
|
kv = '\n <span class="flexlabelvalue">' + kv + '</span>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Bij mobile willen we de checkbox en zijn label in dezelfde ene TD hebben met colspan=2.
|
|
|
|
|
@@ -1466,7 +1475,7 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
{
|
|
|
|
|
if (!nolabel)
|
|
|
|
|
kenmerk_write('</td>');
|
|
|
|
|
kenmerk_write('<td ' + (ktype == 'L' || ktype == 'l'? ' class="flexlabel lhint"' : (readonlyfield ? ' class="readonly flexvalue"' : ' class="flexvalue"')));
|
|
|
|
|
kenmerk_write('\n <td ' + (ktype == 'L' || ktype == 'l'? ' class="flexlabel lhint"' : (readonlyfield ? ' class="readonly flexvalue"' : ' class="flexvalue"')));
|
|
|
|
|
|
|
|
|
|
if (kenmerk_search && (ktype != 'L' && ktype != 'l'))
|
|
|
|
|
{
|
|
|
|
|
@@ -1485,7 +1494,7 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (nolabel)
|
|
|
|
|
kenmerk_write('<label for="' + nameprefix + idCounter + 'val">'
|
|
|
|
|
kenmerk_write('\n <label for="' + nameprefix + idCounter + 'val">'
|
|
|
|
|
+ '<span title="' + safe.htmlattr(hint) + '">'
|
|
|
|
|
+ '</span></label>');
|
|
|
|
|
}
|
|
|
|
|
@@ -1494,11 +1503,11 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
kenmerk_write(kv);
|
|
|
|
|
|
|
|
|
|
if (typeof kenmerk_extraTD != "undefined" && kenmerk_extraTD && !formobile)
|
|
|
|
|
kenmerk_write('</td><td>') // Extra leeg celletje voor layout MLD_OPDR
|
|
|
|
|
kenmerk_write('\n </td><td>') // Extra leeg celletje voor layout MLD_OPDR
|
|
|
|
|
|
|
|
|
|
if (val && forceReadonly && ktype != "M" && ktype != 'L' && ktype != 'l')
|
|
|
|
|
{ // hidden veld met de *echt* waardes zodat ze wel worden opgeslagen
|
|
|
|
|
kenmerk_write("<input type=hidden id='" + nameprefix + idCounter + "val' name='" + nameprefix + idCounter + "val' value='" + safe.htmlattr(val) + "'>")
|
|
|
|
|
kenmerk_write("\n <input type=hidden id='" + nameprefix + idCounter + "val' name='" + nameprefix + idCounter + "val' value='" + safe.htmlattr(val) + "'>")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((kenmerk_search || !readonlyfield || (val && forceReadonly)) && ktype != "M" && ktype != 'L' && ktype != 'l')
|
|
|
|
|
@@ -1516,7 +1525,7 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
{
|
|
|
|
|
kenmerk_write('</td>');
|
|
|
|
|
if (!((colCount&1) && kenmerk_2col) && !notr)
|
|
|
|
|
kenmerk_write('</tr>');
|
|
|
|
|
kenmerk_write('\n</tr>');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
oRs.MoveNext();
|
|
|
|
|
@@ -1563,7 +1572,7 @@ function listKenmerk(sql, module, key, props)
|
|
|
|
|
{
|
|
|
|
|
kenmerk_write('</td>');
|
|
|
|
|
if (!notr)
|
|
|
|
|
kenmerk_write('</tr>');
|
|
|
|
|
kenmerk_write('\n</tr>');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (predone && props.fnpost)
|
|
|
|
|
|