File tree Expand file tree Collapse file tree 6 files changed +16
-3
lines changed
packages/superset-ui-core/src/query
plugins/plugin-chart-table/src Expand file tree Collapse file tree 6 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ export const EXTRA_FORM_DATA_OVERRIDE_REGULAR_MAPPINGS: Record<
48
48
time_column : 'time_column' ,
49
49
time_grain : 'time_grain' ,
50
50
time_range : 'time_range' ,
51
+ time_compare : 'time_compare' ,
51
52
} ;
52
53
53
54
export const EXTRA_FORM_DATA_OVERRIDE_REGULAR_KEYS = Object . keys (
Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ type ExtraFilterQueryField = {
31
31
granularity_sqla ?: string ;
32
32
time_grain_sqla ?: TimeGranularity ;
33
33
granularity ?: string ;
34
+ time_compare ?: string ;
34
35
} ;
35
36
36
37
type ExtractedExtra = ExtraFilterQueryField & {
@@ -57,6 +58,7 @@ export default function extractExtras(formData: QueryFormData): ExtractedExtra {
57
58
__time_col : 'granularity_sqla' ,
58
59
__time_grain : 'time_grain_sqla' ,
59
60
__granularity : 'granularity' ,
61
+ __time_compare : 'time_compare' ,
60
62
} ;
61
63
62
64
( formData . extra_filters || [ ] ) . forEach ( filter => {
Original file line number Diff line number Diff line change @@ -71,6 +71,8 @@ export type QueryObjectExtras = Partial<{
71
71
where ?: string ;
72
72
/** Instant Time Comparison */
73
73
instant_time_comparison_range ?: string ;
74
+
75
+ time_compare ?: string ;
74
76
} > ;
75
77
76
78
export type ResidualQueryObjectData = {
Original file line number Diff line number Diff line change @@ -122,7 +122,7 @@ export type ExtraFormDataAppend = {
122
122
* filter clauses can't be overridden */
123
123
export type ExtraFormDataOverrideExtras = Pick <
124
124
QueryObjectExtras ,
125
- 'relative_start' | 'relative_end' | 'time_grain_sqla'
125
+ 'relative_start' | 'relative_end' | 'time_grain_sqla' | 'time_compare'
126
126
> ;
127
127
128
128
/** These parameters override those already present in the form data/query object */
@@ -131,7 +131,7 @@ export type ExtraFormDataOverrideRegular = Partial<
131
131
> &
132
132
Partial < Pick < SqlaFormData , 'granularity' > > &
133
133
Partial < Pick < BaseFormData , 'time_range' > > &
134
- Partial < Pick < QueryObject , 'time_column' | 'time_grain' > > ;
134
+ Partial < Pick < QueryObject , 'time_column' | 'time_grain' | 'time_compare' > > ;
135
135
136
136
/** These parameters override those already present in the form data/query object */
137
137
export type ExtraFormDataOverride = ExtraFormDataOverrideRegular &
Original file line number Diff line number Diff line change @@ -30,7 +30,8 @@ export type TimeColumnConfigKey =
30
30
| '__time_col'
31
31
| '__time_grain'
32
32
| '__time_range'
33
- | '__granularity' ;
33
+ | '__granularity'
34
+ | '__time_compare' ;
34
35
35
36
export type AppliedTimeExtras = Partial <
36
37
Record < TimeColumnConfigKey , keyof QueryObject >
Original file line number Diff line number Diff line change @@ -115,6 +115,13 @@ const buildQuery: BuildQuery<TableChartFormData> = (
115
115
}
116
116
}
117
117
118
+ if (
119
+ extra_form_data ?. time_compare &&
120
+ ! timeOffsets . includes ( extra_form_data . time_compare )
121
+ ) {
122
+ timeOffsets = [ extra_form_data . time_compare ] ;
123
+ }
124
+
118
125
let temporalColumnAdded = false ;
119
126
let temporalColumn = null ;
120
127
You can’t perform that action at this time.
0 commit comments