@@ -33,6 +33,7 @@ import {
3333 SelectValue ,
3434 TagCollection ,
3535} from 'sentry/types' ;
36+ import { defined } from 'sentry/utils' ;
3637import trackAdvancedAnalyticsEvent from 'sentry/utils/analytics/trackAdvancedAnalyticsEvent' ;
3738import { getColumnsAndAggregates } from 'sentry/utils/discover/fields' ;
3839import Measurements from 'sentry/utils/measurements/measurements' ;
@@ -159,17 +160,13 @@ class AddDashboardWidgetModal extends React.Component<Props, State> {
159160 constructor ( props : Props ) {
160161 super ( props ) ;
161162
162- const { widget, defaultTitle, displayType} = props ;
163+ const { widget, defaultTitle, displayType, defaultWidgetQuery } = props ;
163164 if ( ! widget ) {
164165 this . state = {
165166 title : defaultTitle ?? '' ,
166167 displayType : displayType ?? DisplayType . TABLE ,
167168 interval : '5m' ,
168- queries : [
169- this . defaultWidgetQueries
170- ? { ...this . defaultWidgetQueries }
171- : { ...newDiscoverQuery } ,
172- ] ,
169+ queries : [ defaultWidgetQuery ? { ...defaultWidgetQuery } : { ...newDiscoverQuery } ] ,
173170 errors : undefined ,
174171 loading : ! ! this . omitDashboardProp ,
175172 dashboards : [ ] ,
@@ -201,16 +198,6 @@ class AddDashboardWidgetModal extends React.Component<Props, State> {
201198 }
202199 }
203200
204- get defaultWidgetQueries ( ) {
205- const { defaultWidgetQuery} = this . props ;
206- if ( defaultWidgetQuery ) {
207- const { columns, aggregates} = getColumnsAndAggregates ( defaultWidgetQuery . fields ) ;
208- defaultWidgetQuery . aggregates = aggregates ;
209- defaultWidgetQuery . columns = columns ;
210- }
211- return defaultWidgetQuery ;
212- }
213-
214201 get omitDashboardProp ( ) {
215202 // when opening from discover or issues page, the user selects the dashboard in the widget UI
216203 return [
@@ -315,7 +302,10 @@ class AddDashboardWidgetModal extends React.Component<Props, State> {
315302 } = {
316303 queryNames : [ ] ,
317304 queryConditions : [ ] ,
318- queryFields : widgetData . queries [ 0 ] . fields ,
305+ queryFields : [
306+ ...widgetData . queries [ 0 ] . columns ,
307+ ...widgetData . queries [ 0 ] . aggregates ,
308+ ] ,
319309 queryOrderby : widgetData . queries [ 0 ] . orderby ,
320310 } ;
321311 widgetData . queries . forEach ( query => {
@@ -428,12 +418,11 @@ class AddDashboardWidgetModal extends React.Component<Props, State> {
428418 } else if ( newDisplayType === displayType ) {
429419 // When switching back to original display type, default fields back to the fields provided from the discover query
430420 normalized . forEach ( query => {
431- query . fields = [ ...defaultWidgetQuery . fields ] ;
432- const { columns, aggregates} = getColumnsAndAggregates ( [
433- ...defaultWidgetQuery . fields ,
434- ] ) ;
435- query . aggregates = aggregates ;
436- query . columns = columns ;
421+ query . aggregates = [ ...defaultWidgetQuery . aggregates ] ;
422+ query . columns = [ ...defaultWidgetQuery . columns ] ;
423+ query . fields = defined ( defaultWidgetQuery . fields )
424+ ? [ ...defaultWidgetQuery . fields ]
425+ : [ ...defaultWidgetQuery . columns , ...defaultWidgetQuery . aggregates ] ;
437426 query . orderby = defaultWidgetQuery . orderby ;
438427 } ) ;
439428 }
0 commit comments