sdump('D_FM_UTILS',"We're in:\n\trender_value = " + render_value + "\n\trender_css_style = " + render_css_style + "\n\trender_css_class = " + render_css_class + "\n");
var result = '';
if (render_value) {
- if (render_value.slice(0,1) == '.') {
- var cmd = 'obj[ fm_class ]' + render_value;
- } else {
- var cmd = render_value.replace( /\$\$/g, 'obj[ fm_class ]' );
- }
+ var cmd = parse_render_string( 'obj[ fm_class ]', render_value );
result = eval( cmd );
sdump('D_FM_UTILS','<'+cmd+'> renders <'+result+'>\n');
set_widget_value_for_display( node, result );
}
if (render_css_style) {
- var cmd = render_css_style.replace( /\$\$/g, 'obj[ fm_class ]' );
- var cmd = cmd.replace( /\%\%/g, 'result' );
+ var cmd = parse_render_string( 'obj[ fm_class ]', render_css_style );
+ cmd = parse_render_string( 'result', cmd, /\%\%/g );
var result = eval(cmd);
sdump('D_FM_UTILS','\t<'+cmd+'> renders <'+result+'>\n');
node.setAttribute('style',result);
}
if (render_css_class) {
- var cmd = render_css_class.replace( /\$\$/g, 'obj[ fm_class ]' );
- var cmd = cmd.replace( /\%\%/g, 'result' );
+ var cmd = parse_render_string( 'obj[ fm_class ]', render_css_class );
+ cmd = cmd.replace( /\%\%/g, 'result' );
var result = eval(cmd);
sdump('D_FM_UTILS','\t<'+cmd+'> renders <'+result+'>\n');
node.setAttribute('class',result);
var timer = {};
var counter = {};
+function parse_render_string( obj_string, render_string, regexp ) {
+ if (!regexp) regexp = /\$\$/g;
+ if (string.slice(0,1) == '.') {
+ return obj_string + render_string;
+ } else {
+ return render_string.replace( regexp, obj_string );
+ }
+}
+
function getString( key ) {
var s = '';
var bundles = document.getElementById('string_bundles');