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:
Arpit 2021-10-11 08:30:26 +05:30 committed by GitHub
parent efa858a291
commit c96a6b4eea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 18 deletions

View file

@ -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}

View file

@ -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) {