@@ -182,6 +182,7 @@ export function replaceDashboardParameters(str, parameters) {
182182 }
183183 let rx = / ` .( [ ^ ` ] * ) ` / g;
184184 let regexSquareBrackets = / \[ ( .* ?) \] / g;
185+ let rxSimple = / \$ n e o d a s h _ \w * / g;
185186
186187 /**
187188 * Define function to access elements in an array/object type dashboard parameter.
@@ -205,15 +206,15 @@ export function replaceDashboardParameters(str, parameters) {
205206 return RenderSubValue ( val ) ;
206207 } ;
207208
208- let newString = str . replace ( rx , parameterElementReplacer ) ;
209+ const parameterSimpleReplacer = ( _ ) => {
210+ let param = _ . replace ( `$` , '' ) . trim ( ) ;
211+ let val = parameters ?. [ param ] || null ;
212+ let type = getRecordType ( val ) ;
213+ let valueRender = type === 'string' ? val : RenderSubValue ( val ) ;
214+ return valueRender ;
215+ } ;
209216
210- Object . keys ( parameters ) . forEach ( ( key ) => {
211- let valueRender = RenderSubValue ( parameters [ key ] ) ;
212- newString = newString . replaceAll ( `$${ key } ` , `${ valueRender } ` ) ;
213- newString = newString . replaceAll ( `$${ key } ,` , `${ valueRender } ,` ) ;
214- newString = newString . replaceAll ( `$${ key } .` , `${ valueRender } .` ) ;
215- newString = newString . replaceAll ( `$${ key } )` , `${ valueRender } )` ) ;
216- } ) ;
217+ let newString = str . replace ( rx , parameterElementReplacer ) . replace ( rxSimple , parameterSimpleReplacer ) ;
217218
218219 return newString ;
219220}
0 commit comments