From 2dd05fb91acff74f236681620e553ae8fc545ed2 Mon Sep 17 00:00:00 2001 From: strentini <none@none> Date: Wed, 1 Feb 2012 14:46:46 +0100 Subject: [PATCH] OO-98 : fixed a bug in ext-js code ( setflexiformdirty) was introduced with changes to selectionboxes in formuiFactory --- .../components/form/flexible/impl/FormJSHelper.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java index 1714afab3e9..a82a15ae371 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java @@ -143,10 +143,14 @@ public class FormJSHelper { // Execute code within an anonymous function (closure) to not leak // variables to global scope (OLAT-5755) sb.append("(function() {"); - sb.append("var ").append(id).append(" = Ext.get('").append(id).append("'); "); + sb.append("var ").append(secureJSVarName(id)).append(" = Ext.get('").append(id).append("'); "); return sb.toString(); } + public static String secureJSVarName(String id){ + return id.replace(".", "_"); + } + public static String getJSStart(){ // Execute code within an anonymous function (closure) to not leak // variables to global scope (OLAT-5755) @@ -159,12 +163,12 @@ public class FormJSHelper { } public static String getExtJSVarDeclaration(String id){ - return "var "+id+" = Ext.get('"+id+"'); "; + return "var "+secureJSVarName(id)+" = Ext.get('"+id+"'); "; } public static String getSetFlexiFormDirty(Form form, String id){ String result; - String prefix = id + ".on('"; + String prefix = secureJSVarName(id) + ".on('"; // examples: // o_fi400.on({'click',setFormDirty,this,{formId:"ofo_100"}}); // o_fi400.on({'change',setFormDirty,this,{formId:"ofo_100"}}); @@ -177,7 +181,7 @@ public class FormJSHelper { public static String getSetFlexiFormDirtyForCheckbox(Form form, String id){ String result; - String prefix = id + ".on('"; + String prefix = secureJSVarName(id) + ".on('"; // examples: // o_fi400.on({'click',setFormDirty,this,{formId:"ofo_100"}}); // o_fi400.on({'change',setFormDirty,this,{formId:"ofo_100"}}); -- GitLab