mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-06 06:48:21 +00:00
adding transformation error logs to debugger (#938)
* adding transformation error logs to debugger * error data in debugger * remove console.logs * transformation error * refactored
This commit is contained in:
parent
efa858a291
commit
c96a6b4eea
2 changed files with 51 additions and 18 deletions
|
|
@ -46,6 +46,10 @@ export const LeftSidebarDebugger = ({ darkMode, errors }) => {
|
|||
variableNames.options = 'substitutedVariables';
|
||||
variableNames.response = 'response';
|
||||
break;
|
||||
|
||||
case 'transformations':
|
||||
variableNames.response = 'data';
|
||||
break;
|
||||
default:
|
||||
'options';
|
||||
}
|
||||
|
|
@ -168,27 +172,28 @@ function ErrorLogsComponent({ errorProps, idx, darkMode }) {
|
|||
height="16"
|
||||
/>
|
||||
[{_.capitalize(errorProps.type)} {errorProps.key}]
|
||||
<span className="text-red">
|
||||
{`Query Failed: ${errorProps.description}`} {errorProps.message}.
|
||||
</span>
|
||||
<span className="text-red">{`${_.startCase(errorProps.type)} Failed: ${errorProps.message}`} .</span>
|
||||
<br />
|
||||
<small className="text-muted px-1">{moment(errorProps.timestamp).fromNow()}</small>
|
||||
</p>
|
||||
|
||||
<div className={` queryData ${open ? 'open' : 'close'} py-0`}>
|
||||
<span>
|
||||
<ReactJson
|
||||
src={errorProps.options.data}
|
||||
theme={darkMode ? 'shapeshifter' : 'rjv-default'}
|
||||
name={errorProps.options.name}
|
||||
style={{ fontSize: '0.7rem', paddingLeft: '0.17rem' }}
|
||||
enableClipboard={false}
|
||||
displayDataTypes={false}
|
||||
collapsed={true}
|
||||
displayObjectSize={false}
|
||||
quotesOnKeys={false}
|
||||
sortKeys={false}
|
||||
/>
|
||||
</span>
|
||||
{errorProps.type === 'query' && (
|
||||
<span>
|
||||
<ReactJson
|
||||
src={errorProps.options.data}
|
||||
theme={darkMode ? 'shapeshifter' : 'rjv-default'}
|
||||
name={errorProps.options.name}
|
||||
style={{ fontSize: '0.7rem', paddingLeft: '0.17rem' }}
|
||||
enableClipboard={false}
|
||||
displayDataTypes={false}
|
||||
collapsed={true}
|
||||
displayObjectSize={false}
|
||||
quotesOnKeys={false}
|
||||
sortKeys={false}
|
||||
/>
|
||||
</span>
|
||||
)}
|
||||
<span>
|
||||
<ReactJson
|
||||
src={errorProps.response.data}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ export function runTransformation(_ref, rawData, transformation, query) {
|
|||
result = evalFunction(data, moment, _, currentState.components, currentState.queries, currentState.globals);
|
||||
} catch (err) {
|
||||
console.log('Transformation failed for query: ', query.name, err);
|
||||
toast.error(err.message, { hideProgressBar: true });
|
||||
result = { message: err.stack.split('\n')[0], status: 'failed', data: data };
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
@ -451,6 +451,34 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined) {
|
|||
|
||||
if (dataQuery.options.enableTransformation) {
|
||||
finalData = runTransformation(_self, rawData, dataQuery.options.transformation, dataQuery);
|
||||
if (finalData.status === 'failed') {
|
||||
return _self.setState(
|
||||
{
|
||||
currentState: {
|
||||
..._self.state.currentState,
|
||||
queries: {
|
||||
..._self.state.currentState.queries,
|
||||
[queryName]: {
|
||||
..._self.state.currentState.queries[queryName],
|
||||
isLoading: false,
|
||||
},
|
||||
},
|
||||
errors: {
|
||||
..._self.state.currentState.errors,
|
||||
[queryName]: {
|
||||
type: 'transformations',
|
||||
data: finalData,
|
||||
options: options,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
() => {
|
||||
resolve();
|
||||
onEvent(_self, 'onDataQueryFailure', { definition: { events: dataQuery.options.events } });
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (dataQuery.options.showSuccessNotification) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue