@@ -182,6 +182,7 @@ export function replaceDashboardParameters(str, parameters) {
182
182
}
183
183
let rx = / ` .( [ ^ ` ] * ) ` / g;
184
184
let regexSquareBrackets = / \[ ( .* ?) \] / g;
185
+ let rxSimple = / \$ n e o d a s h _ \w * / g;
185
186
186
187
/**
187
188
* Define function to access elements in an array/object type dashboard parameter.
@@ -205,15 +206,15 @@ export function replaceDashboardParameters(str, parameters) {
205
206
return RenderSubValue ( val ) ;
206
207
} ;
207
208
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
+ } ;
209
216
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 ) ;
217
218
218
219
return newString ;
219
220
}
0 commit comments