diff --git a/frontend/src/_helpers/appUtils.js b/frontend/src/_helpers/appUtils.js index 59838316dd..98e4486e8f 100644 --- a/frontend/src/_helpers/appUtils.js +++ b/frontend/src/_helpers/appUtils.js @@ -72,13 +72,24 @@ export function getDataFromLocalStorage(key) { export function runTransformation(_ref, rawData, transformation, query) { const data = rawData; - const evalFunction = Function(['data', 'moment', '_', 'components', 'queries', 'globals'], transformation); + const evalFunction = Function( + ['data', 'moment', '_', 'components', 'queries', 'globals', 'variables'], + transformation + ); let result = []; const currentState = _ref.state.currentState || {}; try { - result = evalFunction(data, moment, _, currentState.components, currentState.queries, currentState.globals); + result = evalFunction( + data, + moment, + _, + currentState.components, + currentState.queries, + currentState.globals, + currentState.variables + ); } catch (err) { console.log('Transformation failed for query: ', query.name, err); result = { message: err.stack.split('\n')[0], status: 'failed', data: data }; diff --git a/frontend/src/_helpers/utils.js b/frontend/src/_helpers/utils.js index d033718419..0bb696c657 100644 --- a/frontend/src/_helpers/utils.js +++ b/frontend/src/_helpers/utils.js @@ -274,10 +274,18 @@ export async function executeMultilineJS(currentState, code) { try { const AsyncFunction = new Function(`return Object.getPrototypeOf(async function(){}).constructor`)(); - var evalFn = new AsyncFunction('moment', '_', 'components', 'queries', 'globals', 'axios', code); + var evalFn = new AsyncFunction('moment', '_', 'components', 'queries', 'globals', 'axios', 'variables', code); result = { status: 'ok', - data: await evalFn(moment, _, currentState.components, currentState.queries, currentState.globals, axios), + data: await evalFn( + moment, + _, + currentState.components, + currentState.queries, + currentState.globals, + axios, + currentState.variables + ), }; } catch (err) { console.log('JS execution failed: ', err);