From 7c97b9d03fc386b8bc886b548180c0839121e429 Mon Sep 17 00:00:00 2001 From: Ashley Harrison Date: Wed, 25 Aug 2021 10:19:02 +0100 Subject: [PATCH] QueryEditor: Don't use _.defaults as it mutates the query prop directly (#37965) * QueryEditor: Don't use _.defaults as it mutates the query prop directly * QueryEditor: Update the query type on mount if none exists * QueryEditor: Mutate in the constructor instead of render * Apply defaults immutably in render --- .../plugins/datasource/grafana/components/QueryEditor.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/grafana/components/QueryEditor.tsx b/public/app/plugins/datasource/grafana/components/QueryEditor.tsx index 74e3229010a..84252aafae7 100644 --- a/public/app/plugins/datasource/grafana/components/QueryEditor.tsx +++ b/public/app/plugins/datasource/grafana/components/QueryEditor.tsx @@ -1,5 +1,3 @@ -import { defaults } from 'lodash'; - import React, { PureComponent } from 'react'; import { InlineField, Select, Alert, Input } from '@grafana/ui'; import { QueryEditorProps, SelectableValue, dataFrameFromJSON, rangeUtil } from '@grafana/data'; @@ -245,7 +243,11 @@ export class QueryEditor extends PureComponent { } render() { - const query = defaults(this.props.query, defaultQuery); + const query = { + ...defaultQuery, + ...this.props.query, + }; + return ( <>