FCLT#56221 Conditonele kenmerken - Als het veld readonly is dan werkt het niet goed.
svn path=/Website/branches/v2018.2/; revision=40657
This commit is contained in:
@@ -350,7 +350,7 @@ function kenmerk_regel(kv_params)
|
||||
if (!kv_params.nolabel && !kv_params.ishidden)
|
||||
kvhtml += ((kv_params.formobile && kv_params.ktype == 'l'? '<div data-role="collapsible" data-theme="c" data-content-theme="c"><h3 id="collLabel'+kv_params.clabelCounter+'">' : '')
|
||||
+ '\n <label for="' + kv_params.nameprefix + kv_params.idCounter + 'val" class="' + (kv_params.ktype == 'L' || kv_params.ktype == 'l'? ' flexlabellabel' : '')
|
||||
+ (kv_params.isExpression ? ' expression' + kv_params.expressionClass : '') + '">' + '<span title="' + safe.htmlattr(kv_params.hint) + '">'
|
||||
+ (kv_params.isExpression ? ' expression ' + kv_params.expressionClass : '') + '">' + '<span title="' + safe.htmlattr(kv_params.hint) + '">'
|
||||
+ kv_params.flexkenmerklabel + (kv_params.label_ext ? " "+kv_params.label_ext : "")
|
||||
+ ( (kv_params.kdim != null && kv_params.kdim != "xxx")
|
||||
? " [" + kv_params.kdim + "]"
|
||||
@@ -564,6 +564,7 @@ function listKenmerk(sql, module, key, props)
|
||||
|
||||
// Zitten er expressie kenmerken tussen?
|
||||
var flexExprIncluded = false;
|
||||
var forceFlexExprInclusion = false;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
@@ -571,6 +572,7 @@ function listKenmerk(sql, module, key, props)
|
||||
if (kdefault && (kdefault.match('##EXPR##') != null || kdefault.match('##SHOW##') != null))
|
||||
{
|
||||
flexExprIncluded = true;
|
||||
forceFlexExprInclusion = true;
|
||||
break;
|
||||
}
|
||||
oRs.MoveNext();
|
||||
@@ -846,7 +848,7 @@ function listKenmerk(sql, module, key, props)
|
||||
// ==========================================================================================
|
||||
if (ktype == 'C')
|
||||
{
|
||||
if (flexExprIncluded && !isExpression)
|
||||
if (flexExprIncluded && (!isExpression || forceFlexExprInclusion))
|
||||
{
|
||||
onchangeExp = ";if (fvalid) calculateFlexExpressions(this"
|
||||
+ ", \"" + module + "\""
|
||||
@@ -1161,7 +1163,7 @@ function listKenmerk(sql, module, key, props)
|
||||
else
|
||||
{
|
||||
// is dus impliciet ook type R
|
||||
if (flexExprIncluded && !isExpression)
|
||||
if (flexExprIncluded && (!isExpression || forceFlexExprInclusion))
|
||||
{
|
||||
onchangeExp = "calculateFlexExpressions(this"
|
||||
+ ", \"" + module + "\""
|
||||
@@ -1186,7 +1188,7 @@ function listKenmerk(sql, module, key, props)
|
||||
+ (required ? " required='required' " : "")
|
||||
+ (required > 1
|
||||
? " onChange='checkRequiredGroup(\"" + required_group + "\");" + onchangeExp + "'"
|
||||
: (flexExprIncluded && !isExpression? " onChange='" + onchangeExp + "'" : ""))
|
||||
: (flexExprIncluded && (!isExpression || forceFlexExprInclusion)? " onChange='" + onchangeExp + "'" : ""))
|
||||
+ ">"
|
||||
+ "<option value='-1' " + (required? " class='" + required_class + "'" : "") + "><!--lege waarde--></option>"
|
||||
+ kvv
|
||||
@@ -1559,7 +1561,7 @@ function listKenmerk(sql, module, key, props)
|
||||
if (kv == "" && ktype != "M" && ktype != "F" && ktype != "E" && !makeCheckbox)
|
||||
{ // Ook lege folders met bestanden en een enkele bestandsnaam krijgen we via de query mee. Maar deze niet tonen.
|
||||
// Ooit meer HTML-types toepassen (number, float)
|
||||
if (flexExprIncluded && (ktype == "N" || ktype == "D" || ktype == "S") && !isExpression)
|
||||
if (flexExprIncluded && (ktype == "N" || ktype == "D" || ktype == "S") && (!isExpression || forceFlexExprInclusion))
|
||||
{
|
||||
onchangeExp = ";if (fvalid) calculateFlexExpressions(this"
|
||||
+ ", \"" + module + "\""
|
||||
@@ -1665,7 +1667,7 @@ function listKenmerk(sql, module, key, props)
|
||||
// ==========================================================================================
|
||||
if (ktype == 'D')
|
||||
{
|
||||
if (flexExprIncluded && !isExpression)
|
||||
if (flexExprIncluded && (!isExpression || forceFlexExprInclusion))
|
||||
{
|
||||
onchangeExp = ";if (fvalid) calculateFlexExpressions(this"
|
||||
+ ", \"" + module + "\""
|
||||
@@ -1684,6 +1686,7 @@ function listKenmerk(sql, module, key, props)
|
||||
+ "'"
|
||||
+ (required ? " required='required' " : "")
|
||||
+ (isReadonly ? " readonly " : "")
|
||||
+ " onChange='" + onchangeExp + "' "
|
||||
+ " value='" + safe.htmlattr(flexkenmerkwaarde) + "'"
|
||||
+ ">";
|
||||
|
||||
@@ -1933,6 +1936,12 @@ function listKenmerk(sql, module, key, props)
|
||||
var kdefault = oRs("kenmerk_default").Value;
|
||||
var ishidden = (props.fnIsHidden && props.fnIsHidden(kvolgnr, kdefault));
|
||||
|
||||
// reset forceFlexExprInclusion when flexExpr is included
|
||||
if (kv && kv.indexOf('calculateFlexExpressions') > -1)
|
||||
{
|
||||
forceFlexExprInclusion = false;
|
||||
}
|
||||
|
||||
kv_arr.push({label: "", waarde: kv});
|
||||
for(kv_i=0; kv_i< kv_arr.length; kv_i++)
|
||||
{
|
||||
|
||||
@@ -324,7 +324,7 @@ function callback_flex_expr_info(json)
|
||||
{
|
||||
for (var kenmerk=0; kenmerk < json.length; kenmerk++)
|
||||
{
|
||||
if ($("#" + json[kenmerk].kfieldid + "val").hasClass("flexshow") || $("#Suggest" + json[kenmerk].kfieldid + "_show"))
|
||||
if ($("#" + json[kenmerk].kfieldid + "val").hasClass("flexshow") || $("#Suggest" + json[kenmerk].kfieldid + "_show").hasClass("flexshow"))
|
||||
{
|
||||
var $td = $("#" + json[kenmerk].kfieldid + "val").parent("td");
|
||||
$td.add($td.prev(".label")).toggle(json[kenmerk].waarde != 0 && json[kenmerk].waarde != null);
|
||||
|
||||
Reference in New Issue
Block a user