[OpenLayers-Commits] r5144 - sandbox/ahocevar/sldRenderer/lib/OpenLayers
commits at openlayers.org
commits at openlayers.org
Wed Nov 7 13:04:56 EST 2007
Author: ahocevar
Date: 2007-11-07 13:04:55 -0500 (Wed, 07 Nov 2007)
New Revision: 5144
Modified:
sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
Log:
use andreas' method 3 in createLiteral
Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js 2007-11-07 17:49:26 UTC (rev 5143)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js 2007-11-07 18:04:55 UTC (rev 5144)
@@ -226,15 +226,15 @@
OpenLayers.Style.createLiteral = function(value, feature) {
if (typeof value == "string" && value.indexOf("${") != -1) {
var attributes = feature.attributes || feature.data;
- //TBD: try which one is faster
- //for (var i in attributes) {
- // value = value.replace("${"+i+"}", attributes[i]);
- //}
- var re = /\$\{(\w+)\}/g;
- var a;
- while (a = re.exec(value)) {
- value = value.replace(a[0], attributes[a[1]]);
+ var tokens = value.split("${");
+ for (var i=0; i<tokens.length; i++) {
+ var close = tokens[i].indexOf("}");
+ if (close != -1) {
+ tokens[i] = attributes[tokens[i].substring(0, close)] +
+ tokens[i].substring(++close);
+ }
}
+ value = tokens.join("");
value = isNaN(value) ? value : parseFloat(value);
}
return value;
More information about the Commits
mailing list