diff --git a/lib/cartodb/template_maps.js b/lib/cartodb/template_maps.js index 6b76f9d9..04cac79e 100644 --- a/lib/cartodb/template_maps.js +++ b/lib/cartodb/template_maps.js @@ -531,10 +531,11 @@ o.getTemplate = function(owner, tpl_id, callback) { // // @throws Error on malformed template or parameter // -o._reNumber = /^([-+]?[\d\.]?\d+([eE][+-]?\d+)?)$/; -o._reCSSColorName = /^[a-zA-Z]+$/; -o._reCSSColorVal = /^#[0-9a-fA-F]{3,6}$/; -o._replaceVars = function(str, params) { +var _reNumber = /^([-+]?[\d\.]?\d+([eE][+-]?\d+)?)$/, + _reCSSColorName = /^[a-zA-Z]+$/, + _reCSSColorVal = /^#[0-9a-fA-F]{3,6}$/; + +_replaceVars = function(str, params) { //return _.template(str, params); // lazy way, possibly dangerous // Construct regular expressions for each param Object.keys(params).forEach(function(k) { @@ -559,7 +560,7 @@ o.instance = function(template, params) { } else if ( type === 'number' ) { // check it's a number - if ( typeof(val) !== 'number' && ! val.match(this._reNumber) ) { + if ( typeof(val) !== 'number' && ! val.match(_reNumber) ) { throw new Error("Invalid number value for template parameter '" + k + "': " + val); } @@ -567,7 +568,7 @@ o.instance = function(template, params) { else if ( type === 'css_color' ) { // check it only contains letters or // starts with # and only contains hexdigits - if ( ! val.match(this._reCSSColorName) && ! val.match(this._reCSSColorVal) ) { + if ( ! val.match(_reCSSColorName) && ! val.match(_reCSSColorVal) ) { throw new Error("Invalid css_color value for template parameter '" + k + "': " + val); } @@ -583,8 +584,8 @@ o.instance = function(template, params) { var layergroup = JSON.parse(JSON.stringify(template.layergroup)); for (var i=0; i