From: phasefx Date: Tue, 12 Jul 2005 15:02:08 +0000 (+0000) Subject: refactor X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=dadbda0ba08d5a876e903282559926f6804c16f5;p=Evergreen.git refactor git-svn-id: svn://svn.open-ils.org/ILS/trunk@1144 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/fm_utils.js b/Evergreen/staff_client/chrome/content/evergreen/util/fm_utils.js index 98470e948d..5f83d817c6 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/fm_utils.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/fm_utils.js @@ -101,25 +101,21 @@ function render_fm(d,obj) { 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); diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/util.js b/Evergreen/staff_client/chrome/content/evergreen/util/util.js index 48ad81effe..f0e5f46cfa 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/util.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/util.js @@ -3,6 +3,15 @@ sdump('D_TRACE','Loading util.js\n'); 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');