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:
Alex Tiehuis
2019-01-24 09:54:16 +00:00
parent 25085f1aad
commit 7942f549b3
2 changed files with 16 additions and 7 deletions

View File

@@ -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++)
{

View File

@@ -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);