refactor
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 12 Jul 2005 15:02:08 +0000 (15:02 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 12 Jul 2005 15:02:08 +0000 (15:02 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1144 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/util/fm_utils.js
Evergreen/staff_client/chrome/content/evergreen/util/util.js

index 98470e9..5f83d81 100644 (file)
@@ -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);
index 48ad81e..f0e5f46 100644 (file)
@@ -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');